SingleFile CLI 2.1.0
Breaking changes
- Node.js 24+, Deno 2.2+ or Bun 1.2+ is now required
--browser-single-processis now enabled by default (#194 by @madcow). Pass--browser-single-process=falseto run the browser with multiple processes--embed-pdf,--embedded-pdf,--embed-screenshotand--embedded-imagenow fail with an error when--compress-contentis not set. These options were silently ignored before
Crawler fixes
- Fixed pages being skipped when they are linked both with and without a URL fragment
- Fixed
--crawl-replace-URLsignoring links containing a URL fragment - Fixed
--crawl-replace-URLsreplacing links with the wrong filename when filenames conflict, e.g. pages with the same title - Fixed
--crawl-replace-URLswhen used with--output-directory(#190 by @brasswood) - Fixed the detection of inner links when URLs contain a port number
mailto:,javascript:andtel:links are now ignored when crawling
Capture fixes
- Fixed pages being captured too early when they contain iframes
- Fixed the delay set with
--browser-wait-until-delay. It is now restarted when the page reaches a new lifecycle state - Fixed
--output-jsonwhen saving compressed pages with Node.js or Bun - Fixed
--embed-pdf(broken since 2.0.78) - Fixed a stack overflow when fetching large resources (#192 by @brasswood)
- Fixed the parsing of emulated media features (#200 by @FaFre)
- Fixed
--output-directorywhen used with--filename-conflict-action overwrite - Fixed fetching
file://URLs on Windows andfile://URLs containing a query or a fragment
Reliability fixes
- Fixed unhandled promise rejections when the browser crashes or cannot be found
- Fixed a deadlock when the browser writes too much data on stdout or stderr
- Fixed the CLI hanging when invalid page data is received from the browser
- Fixed temporary profile folders not being removed when launching the browser fails
- Fixed exit codes when the process is interrupted with Deno, e.g. Ctrl-C now exits with code 130
- Fixed error codes not being forwarded when fetching resources from the browser
Misc
- Added a test suite based on the Node.js test runner (
npm test) - Removed the
wsdependency - Updated SingleFile core
Co-authored by Claude (Claude Code)