All notable changes to this project are documented in this file.
- Removed root-level
--doctor; diagnostics must now be invoked viaagent-fetch doctor.
- Added
--formatfor fetch output selection:markdown(default) orjsonl. - Added token-efficient JSONL task payloads with
seq,url, optionalresolved_url,resolved_mode,content, optionalmeta, and per-task error rows. - Added tests for JSONL batch writing, metadata extraction behavior, and safeguards for unknown front matter fields.
- Changed metadata behavior in JSONL mode:
--metanow emits structuredmetafields instead of front matter injection incontent. - Changed CLI command routing to use an internal
webcommand for fetch flags while preserving shorthand (agent-fetch <url>), sodoctor --helpno longer shows fetch options as global flags. - Changed shorthand routing resolution to respect dynamically registered subcommands, preventing future command names from being misrouted to
web. - Changed root help output to include a dedicated "DEFAULT WEB OPTIONS" section for shorthand discoverability from
agent-fetch -h. - Updated README (EN/ZH) and
skills/agent-fetch/SKILL.mdfor--format jsonland the new doctor command shape.
- Added
--doctorto run environment diagnostics and report browser/runtime readiness forauto/browsermodes. - Added actionable remediation output for missing or non-working headless browser setups across Linux/macOS/Windows environments.
- Added
--browser-pathto explicitly configure the browser executable (useful for containers and custom installations). - Added unit tests for doctor-mode browser detection and probe behavior.
- Updated README (EN/ZH) with
--doctorusage and diagnostics guidance. - Updated
skills/agent-fetch/SKILL.mdwith--doctor/--browser-pathcommand patterns and browser troubleshooting guidance. - Unified browser executable resolution between
--doctorand runtimebrowsermode.
- Added concurrent multi-URL fetching with shared flags by accepting
agent-fetch [options] <url> [url ...]. - Added
--concurrencyto control maximum parallel fetch tasks for multi-URL runs. - Added LLM-friendly batch output markers with per-task URL mapping and per-task error markers for failed tasks.
- Added tests for batch output formatting and stable input-order output under concurrent execution.
- Updated exit code behavior for batch mode:
0when all tasks succeed,1when any task fails, and2for usage/argument errors. - Updated
--versionbehavior to resolve version from Go build info when release ldflags are absent, improvinggo install ...@vX.Y.Zexperience. - Updated README (EN/ZH) and skill docs to describe multi-URL behavior, batch output format, and concurrency controls.
- Added
--version/-voutput with build metadata (version,commit,date) and wired release-time injection via GoReleaser ldflags. - Added Agent Skills support files at
skills/agent-fetchwith installation guidance and usage instructions for agent-driven workflows.
- Added CI verification for the version flag to prevent regressions in release metadata output.
- Documented Chrome/Chromium runtime dependency for
browsermode andautofallback in README and skill docs.
- Added
rawmode for markdown-preferred single-pass output (--mode raw), returning the HTTP response body without extraction or fallback conversion. - Added metadata front matter injection (
title,description) for non-raw outputs, enabled by default with--metaand disabled via--meta=false. - Added metadata enrichment for direct markdown responses in
auto/staticmode by fetching HTML metadata when needed. - Added tests for MDX/markdown handling, metadata injection behavior, and front matter preservation.
- Migrated CLI argument parsing to
urfave/cli/v3. - Standardized CLI usage around
--long-flagstyle and more flexible flag/argument ordering.
- Honored
text/markdownresponses directly (including MDX-like content) to avoid dropping sections during fallback conversion. - Improved fallback behavior for HTTP status errors in
automode. - Tightened markdown detection and related review cleanups.