All releases
v3.14.0
July 8, 2026
Minor release
In this release
New3
Improved3
Fixed10
Internal56
Total72

Bug Fixes & Stability

This release includes 15 updates.

Highlights
add worker-scraper-lite service for T1-T3 HTTP workers

Adds the \ service config service — the final piece of the T1-T3/T4 worker split chain ( + already merged).

New Features

3

add worker-scraper-lite service for T1-T3 HTTP workers

Adds the \ service config service — the final piece of the T1-T3/T4 worker split chain ( + already merged).

social-proof candidate ranker — corporate signup analytics script

Adds — a self-contained, read-only analytics script that pulls corporate-domain signups from the production DB and ranks them as social-proof landing-page candidates.

add Public Identity / Customer Lists clause to ToS §16

Replaces the stub Marketing Rights paragraph in §16 (Miscellaneous) of the Terms of Service with a properly-scoped Public Identity / Customer Lists clause (§16.1).

Improvements

3

Fix(worker): drop unbounded job_id label from CAS-exhaustion monitoring counter

Removes the UUID label from counter, which was causing monitoring time-series cardinality blowup.

fix(worker): bound capped-probe fail-open burst with process-local memo

When encounters a cache SET exception (HGETALL healthy, SET fails — the partial-cache-failure scenario), it fails open and returns.

General bug fixes and improvements

Plus 56 internal improvements for better reliability and performance.

Bug Fixes

10

guard heartbeat done callback with task identity check

Guards the per-job heartbeat task's done callback with a task identity check to prevent it from evicting a replacement task's dict entry in the duplicate-invocation path.

add healthcheck to container-socket-proxy; use service_healthy

Adds a block to both socket-proxy sidecar services and updates autoheal's from to.

session-ingest HEALTHCHECK timeout 5s→10s to prevent spurious unhealthy state

The root cause is a Dockerfile that is too short for the health endpoint's DB round-trip under pool contention.

add worker-side unit tests for heartbeat lifecycle

Adds worker-side unit tests for the per-job liveness heartbeat write path introduced in .

add telemetry to reactive-T4 browser saturation signal path

Adds observability to in , which had no telemetry despite being on the dominant traffic path for the gate introduced in .

add regression tests for tier-cascade edge cases

Adds three regression tests guarding the two unconditional early-return branches added by the cascade fix in ( L1247: ).

add overlap-risk telemetry to recovery sweep loops

Adds wall-clock duration telemetry to the three periodic recovery sweep loops in \.

add NX idempotency guards to scrape-refund spend counter decrements

Five call sites in shared the refund idempotency key but had no corresponding NX guard on the counter decrement itself.

advance job-progress heartbeat unconditionally on terminal states (skip_metrics decoupling)

was called inside the gate, so circuit-breaker rejections and invalid-hostname fast-fails (both ) never touched.

block unnecessary T4 escalation for .au liquor sites + fix JSON skip_tiers guard

Stops the mass unnecessary T4 escalation burning 7k+ T4 jobs/day at 0% success for .au liquor retail sites and .ro news sites.

Plus 56 internal changes for stability and performance.