All releases
v4.1.2
July 28, 2026
Patch
In this release
Improved17
Internal37
Total54

Performance Improvements

This release includes 1 internal improvements for better reliability and performance.

Improvements

17

feat(infra): surface the ASN-remediation threshold gap in antibot census

investigation: the platform's ASN-remediation machinery.

feat(worker): aggregate per-vendor per-tier success-rate telemetry

Adds to : a read-only aggregation over (the live per-attempt vendor classification) answering "for vendor V, what's the success rate at tier N?" — the capability 's audit found missing.

fix(infra): close restore-database.sh host-TCP guard bypass

Closes the third addressing axis of 's production-target confirmation guard: /, used whenever doesn't resolve to a running local container (the host-TCP fallback path).

feat(content): restore 2 of ~11 blog posts as new forward content

Four blog-content migrations (, ) never ran on production and cannot be replayed — they hardcode an author user and blog category that don't exist on production, and executing them would FK-fail m.

fix(worker): real end-to-end antibot_hint fallback tests, fix kasada/shape telemetry monitoring syst

Batch fix for three review findings from /, all in and its tests.

fix(worker): don't blind-escalate tier on unclassified 429/5xx job retry

's job-level retry gate bumped a retried job's to 2 (proxy tier) for any non-terminal failure — including (429), (5xx), and a bare unclassified status (e.g.

fix(infra): harden decrypt-secrets.sh sibling config writes against symlink planting

The filed finding claimed at would write decrypted secrets through a pre-existing symlink at.

fix(billing): reject auto-recharge threshold a single recharge cannot clear

Batch fix for two review findings in / , on the same constant , batched per the parent issue's stated exception to the billing never-batch rule.

fix(api): announcement CTA model residue — userinfo threat model + PublicCTA length parity

Batch fix for two LOW/POSSIBLE review findings from , both on the announcement CTA models ( / ).

fix(worker): route cold-start antibot_hint fallback through shared vendor_engine

Batch (three members).

fix(api): resolve announcement CTA href residue from

Resolves the three review findings from (which fixed , the backend protocol-relative/backslash bypass).

fix(batch): unvalidated input and missing startup validation — 3 fail-loud-before-use gaps

Three fail-loud-before-use validation gaps, batched by concern per .

fix(ci): reclaim runner disk space and log df -h in backup-restore-drill

Fixes : the backup restore drill (run 30323945135) failed with — an ENOSPC on the CI runner mid-restore, **not** a corrupt backup.

fix(batch): comment and doc accuracy — four claims that no longer match the code

Four batched review findings where a comment, docstring, or message asserts something the code does not do.

fix(worker): per-domain concurrency gate is a third, unaccounted-for min_tier consumer

's PER-DOMAIN CONCURRENCY GATE was a third, unaccounted-for consumer (review finding on ): it read directly, bypassing the Python-registry precedence that and the API admission gate both hono.

General bug fixes and improvements

Plus 35 internal improvements for better reliability and performance.

fix(infra): stop deleting the local source backup after a verified off-site upload

deleted the local source after a verified upload.

Plus 37 internal changes for stability and performance.