Releases: vasylenko/markfetch
Releases · vasylenko/markfetch
v0.5.0
Added
- CLI mode —
markfetch <url>fetches a URL and prints clean markdown to stdout.-o, --output <path>writes to a file (absolute or relative; relative paths resolve against cwd) with a confirmation on stdout.--help/--versionwork as expected. Baremarkfetch(zero arguments) continues to start the MCP stdio server, so every existing MCP client config keeps working unchanged. commanderruntime dependency (v14.x, 0 transitive deps) — used by the CLI adapter for argv parsing, help, and version.
Changed
- Source restructured into
src/core.ts(pipeline + errors),src/mcp.ts(MCP adapter),src/cli.ts(CLI adapter), andsrc/index.ts(argv-discriminated dispatcher that lazy-imports the right adapter based onprocess.argv.length). No public-API change for MCP consumers — tool name, input schema, error codes, and output shape are byte-identical to 0.4.1. The lazy-import dispatcher makes the "stdout is reserved for MCP frames" invariant structural:cli.tsis never loaded in MCP mode, so no code that callsconsole.logis reachable from the MCP path. - 3 inline
return errorResult(...)sites in the MCP handler (extraction_failed, post-conversiontoo_large,save_failed) nowthrow MarkfetchErrorfrom core uniformly; both adapters catch and convert. Same observable error messages.
v0.4.1
Fixed
binentry inpackage.jsonusesdist/index.jsinstead of./dist/index.js— npm 10+ stricter validation considered the leading./invalid and warned about silently stripping the entry on publish.
Changed
- README rewritten for npm publication: bold subtitle, badge row (npm/CI/node/license), comparison table vs. alternative approaches (built-in agent fetch, Playwright,
mcp-server-fetch, CloudFlare/markdown), reference table for the 7 error codes, and a "What it is not" scope-boundary section. - PRD: forward-looking statements consolidated under §7 "Deferred / Open Questions" so the body reflects current state only.