Skip to content

chore(master): release 2.0.0 - #307

Open
github-actions[bot] wants to merge 2 commits into
masterfrom
release-please--branches--master
Open

github-actions[bot] wants to merge 2 commits into
masterfrom
release-please--branches--master

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

🤖 I have created a release beep boop

2.0.0 (2026-10-09)

⚠ BREAKING CHANGES

  • the --html-is-directory flag is removed. Use --website-mode instead to promote linked text/html resources into virtual directories. The internal CONFIG.html_is_directory field is renamed to CONFIG.website_mode.
  • config: --dl-seg-size 8 previously meant 8 MB and now means 8 bytes. Use --dl-seg-size 8M for the old behavior.
  • cache: --cache-location previously used the given path verbatim as the cache directory of the mounted server; it is now a root under which each server origin gets its own subdirectory. Caches written by the old verbatim layout are no longer recognized; remove them manually.
  • transfer: redirect following is now manual and restricted to same-origin targets by default, capped at 5 hops. 1.3.3 relied on libcurl's automatic following, which also allowed cross-origin redirects and up to 50 hops. Cross-origin redirects now fail the transfer unless --allow-external-origin is set.
  • parsing: the --external-links flag is removed; use --allow-external-origin to include cross-origin links from directory listings. The default parsing pipeline is also unified: directory entry naming now uses universal anchor-text extraction with collision-free progressive URL path escalation, so mounted entry names may differ from 1.3.3.
  • cache: the on-disk cache format changes from the multi-file layout (.LinkTable, .meta, .data) to a single container file per URL. Caches written by 1.3.3 are no longer recognized and are ignored on upgrade; remove them manually (e.g. --cache-clear) and expect a full re-download.

Features

  • add --ignore-anchors and fix relative links (a2fdf2a)
  • add .httpdirfs diagnostics directory (99dacd0)
  • cache: implement unified single-file cache architecture (87653b9)
  • cache: make --cache-location the cache location root (fa48b8c)
  • config: add K/M/G suffix support to size flags (092260c)
  • implement advanced parsing mode (5ec481a)
  • parser: gate media/asset resource extraction behind --website-mode (051fcc7)
  • parser: materialize media and asset references from HTML pages (5b94d27)
  • parsing: unify HTML link parsing, drop --external-links (9129063)
  • preload: add --progressive-directory-preload (bd7e465)
  • preload: load cached listings in the worker (192ef60)
  • rename --html-is-directory to --website-mode (4dd815e)

Bug Fixes

  • address PR #306 review findings (25e4067)
  • address PR review findings in util, cache, and transfer (0b55b02)
  • cache: make cache clearing order-independent and XDG-spec compliant (ec0b320)
  • cache: reject header_size larger than file in Cache_open (46954f8)
  • correct handle lifetime and cache write errors on HTTP failures (aefd895)
  • handle out-of-root URLs in cache path (6b2dbed)
  • link: retry root-table refresh after failed init (21994ec)
  • network: fail in-flight transfers on fatal multi error (8ad4cca)
  • network: handle requeue failure in filestat_on_complete (01f0d2f)
  • parser: prevent heap overflow in gumbo text (b933a5d), closes #308
  • preload: abort in-flight transfers on shutdown (72f1193)
  • resolve listing links against effective URL and handle refresh failures (15ca197)
  • resolve sonar findings in cache, util, and tests (7e0e56d)
  • statically init network mutexes and relax sparse-block assert on macOS (c9b6402)
  • tests: hold a single file handle in head-to-data promotion test (a5acbfe)
  • transfer: gate redirect hops on origin and stop short-response retry (08d268c)
  • transfer: reject cross-origin redirects when external origins disabled (dbbaf5d)
  • transfer: restrict manually followed redirects to http/https (e78289b)
  • transfer: return per-read error on rejected range-request redirect (5783b54)

Performance Improvements

  • track HEAD freshness separately from payload download time (dc523c6)

Documentation

  • add single-file cache architecture spec (9b7495c)
  • convert cache plan to architectural spec (830cbbd)
  • document advanced parsing mode and update help (6fb2f05)
  • document non-directory listing website mounting (866b297)
  • readme: add missing period to intro sentence (eef230e)
  • readme: fix typos and broken usage link (3b66eb3)
  • readme: move preloading section up, demote warning to tip (7b16f9e)
  • readme: relocate range-request note to Architecture section (7efd936)
  • readme: rename 'non-directory listing websites' to 'generic websites' (2a2a492)
  • reorganize documentation under docs directory (b5fcb5e)
  • restructure README/USAGE sections and add 1.4.x cache warning (f8d1119)
  • spec, usage, and README; unit + integration coverage. (bd7e465)
  • spec: align preload spec with the final implementation (b080ad4)
  • spec: clarify the deep direct-path access preload gap (36a5229)
  • spec: fix preload CLI option in cache table (9bd8db4)
  • spec: rewrite cache spec to match the implementation (e782fc4)
  • specs: add classification matrix and align spec with code (0f49a2a)
  • specs: rewrite cache formulae backslash-free for KaTeX on GitHub (10b2889)
  • specs: rewrite formulae backslash-free for KaTeX on GitHub (2ef5776)
  • sync README, USAGE, and cache spec with code (995054d)
  • synchronize cache docs with unified spec (c129a07)
  • trim architecture block from cache.c (3503edc)

Continuous Integration

  • codeql: allow manual runs and cover release-please branch (131318f)
  • configure Google Release Please action (24164c4)

Build System

  • consolidate on a single build/ Meson directory (1c774ee)
  • define VERSION in config.h instead of Meson macro injection (23f9e85)
  • stop ignoring docs/planning in .gitignore (bdfb994)

Code Refactoring

  • config: fold defaults into Config_init (c509779)
  • resolve remaining sonar findings in src (cc11d81)
  • transfer: hoist unknown-size classification above html-is-directory branch (08df8d7)

This PR was generated with Release Please. See documentation.

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a8841c20-5826-4a07-a7c7-4a9743491340

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions
github-actions Bot force-pushed the release-please--branches--master branch 3 times, most recently from f860497 to 1cb4c1c Compare October 9, 2026 10:31
@github-actions
github-actions Bot force-pushed the release-please--branches--master branch from 66a3da8 to afa355b Compare October 9, 2026 12:50
@sonarqubecloud

sonarqubecloud Bot commented Oct 9, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sera Finding #4

0 participants