Skip to content

v2.1.0

Choose a tag to compare

@gildas-lormeau gildas-lormeau released this 16 Aug 15:55
· 31 commits to master since this release

SingleFile CLI 2.1.0

Breaking changes

  • Node.js 24+, Deno 2.2+ or Bun 1.2+ is now required
  • --browser-single-process is now enabled by default (#194 by @madcow). Pass --browser-single-process=false to run the browser with multiple processes
  • --embed-pdf, --embedded-pdf, --embed-screenshot and --embedded-image now fail with an error when --compress-content is 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-URLs ignoring links containing a URL fragment
  • Fixed --crawl-replace-URLs replacing links with the wrong filename when filenames conflict, e.g. pages with the same title
  • Fixed --crawl-replace-URLs when used with --output-directory (#190 by @brasswood)
  • Fixed the detection of inner links when URLs contain a port number
  • mailto:, javascript: and tel: 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-json when 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-directory when used with --filename-conflict-action overwrite
  • Fixed fetching file:// URLs on Windows and file:// 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 ws dependency
  • Updated SingleFile core

Co-authored by Claude (Claude Code)