Skip to content

Bump the vendored engine to 3.50.4, so a crawl obeys Retry-After on a 429 or a 503 - #235

Merged
xroche merged 3 commits into
masterfrom
engine-3.50.4
Sep 25, 2026
Merged

xroche merged 3 commits into
masterfrom
engine-3.50.4

Conversation

@xroche

@xroche xroche commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

HTTRACK_VERSIONID moves from 3.50.2 to 3.50.4, so the versionName prefix follows it. versionCode stays 105, because this is not a release.

The engine now retries a 429 or a 503 and obeys Retry-After. Users here get it with no option wired: hts_create_opt() caps the hold at 60 seconds by default, and this front end calls it. The two new options, --mptcp and --max-retry-after, are not wired here.

No engine source was added, so Android.mk needs no entry. Six functions lost HTSEXT_API and left the export table of libhttrack.so. This front end calls none of them, and every engine symbol htslibjni.c does use is still exported.

xroche and others added 2 commits September 24, 2026 23:40
HTTRACK_VERSIONID moves 3.50.2 -> 3.50.4, so the versionName prefix is
realigned. versionCode stays 105, because this is not a release.

Verified against the pin rather than the release note: no .c or .h was
added under src/, so Android.mk needs no entry; the six calls that lost
HTSEXT_API are the complete de-export set and this front end calls none
of them; every engine symbol htslibjni.c uses is still exported.
Both ABIs build and the 526 unit tests pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Xavier Roche <xroche@gmail.com>
versionCode 105 was already tagged as v3.50.2.105 and shipped, so an
upload reusing it would be refused by Play. 106 is free.

The release notes still opened "HTTrack 3.50.2" in all 29 locales, which
would have gone out as this release's text. Rewritten for 3.50.4 against
the engine delta: the Retry-After hold on a 429 or a 503, the JavaScript
module imports that are now followed, the robots.txt group fix, and the
crash fixes on the cache-repair and charset paths. Every locale validates
through tools/ci/play_track_admin.py load_notes() and stays under the
500-character cap.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Xavier Roche <xroche@gmail.com>
@xroche xroche changed the title Bump the vendored engine to 3.50.4, so a crawl obeys Retry-After on a 429 or a 503 Release 3.50.4.106, so a busy site no longer stops the copy Sep 25, 2026
The release is split out so this PR carries only the engine pin. The
versionCode bump and the rewritten release notes return in their own PR,
after the --max-retry-after field lands, so one release ships both.

This reverts commit d1ecf66.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Xavier Roche <xroche@gmail.com>
@xroche xroche changed the title Release 3.50.4.106, so a busy site no longer stops the copy Bump the vendored engine to 3.50.4, so a crawl obeys Retry-After on a 429 or a 503 Sep 25, 2026
@xroche
xroche enabled auto-merge (squash) September 25, 2026 01:20
@xroche
xroche merged commit c6bbe4e into master Sep 25, 2026
7 checks passed
@xroche
xroche deleted the engine-3.50.4 branch September 25, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant