Changelog

New features, improvements, and fixes shipped to AlterLab.

Latest

v2026-10-27

paging with ack and escalation independent of Discord

Oct 27, 2026
85 changes

paging with ack and escalation independent of Discord

paging with ack and escalation independent of Discord

shared error-tracking init with release/env tags for api, worker, herald, AI engine ( part 1)

shared error-tracking init with release/env tags for api, worker, herald, AI engine ( part 1)

unbounded scraper_domain_scrape_total domain cardinality OOM-loops the cloud provider Pushgateway (218 restarts, 44% scrape uptime)

unbounded scraper_domain_scrape_total domain cardinality OOM-loops the cloud provider Pushgateway (218 restarts, 44% scrape uptime)

vendor-class 'browser earns, T3 serves on the same exit' tier — T3 resolves 0% of every non-bot challenge class

vendor-class 'browser earns, T3 serves on the same exit' tier — T3 resolves 0% of every non-bot challenge class

root-run digest drain creates root:0600 .lock — internal tooling-bridge and internal service digest writes fail with EACCES since 2026-10-25

root-run digest drain creates root:0600 .lock — internal tooling-bridge and internal service digest writes fail with EACCES since 2026-10-25

traefik_4xx_flood pages on customer insufficient-balance 402s — not graded against the expected-class registry

traefik_4xx_flood pages on customer insufficient-balance 402s — not graded against the expected-class registry

escalation-aware tier outcome matrix

escalation-aware tier outcome matrix

AlterLab Agent Skills package + /.well-known/agent-skills index, snippets from the canonical manifest

AlterLab Agent Skills package + /.well-known/agent-skills index, snippets from the canonical manifest

versioned checksummed deploy bundle builder and atomic release installer

versioned checksummed deploy bundle builder and atomic release installer

follow-up: 2 deferred item(s) (deferred from )

follow-up: 2 deferred item(s) (deferred from )

replace personal GHCR_PAT on production hosts with scoped, short-lived pull credential

replace personal GHCR_PAT on production hosts with scoped, short-lived pull credential

capture browser errors and Core Web Vitals with release source maps

capture browser errors and Core Web Vitals with release source maps

agent-created accounts with human approval (device-flow style), scoped keys, Web Bot Auth, full fraud gating

agent-created accounts with human approval (device-flow style), scoped keys, Web Bot Auth, full fraud gating

OpenCode Zen as primary LLM provider (free zero-retention models), OpenRouter as fallback

OpenCode Zen as primary LLM provider (free zero-retention models), OpenRouter as fallback

pooled per-family blog CTA variant bandit driven by internal service reward job

pooled per-family blog CTA variant bandit driven by internal service reward job

suggest auto-recharge with per-recharge bonus and volume-tier step-up hint for depositors

suggest auto-recharge with per-recharge bonus and volume-tier step-up hint for depositors

follow-up: 2 deferred item(s) (deferred from )

follow-up: 2 deferred item(s) (deferred from )

agent-ready search output with one-call content and a competitor benchmark harness

agent-ready search output with one-call content and a competitor benchmark harness

insufficient-balance errors carry a top-up link and active welcome-offer deadline

insufficient-balance errors carry a top-up link and active welcome-offer deadline

follow-up: 2 deferred item(s) (deferred from )

follow-up: 2 deferred item(s) (deferred from )

verify AI crawler access weekly, track Common Crawl presence, publish a citable open dataset

verify AI crawler access weekly, track Common Crawl presence, publish a citable open dataset

per-host RFC 9728 OAuth protected-resource metadata (alterlab.io doc names mcp host → scan rejects it)

per-host RFC 9728 OAuth protected-resource metadata (alterlab.io doc names mcp host → scan rejects it)

weekly production agent-readiness probe + automated MCP post-deploy gate

weekly production agent-readiness probe + automated MCP post-deploy gate

follow-up: 2 deferred item(s) (deferred from )

follow-up: 2 deferred item(s) (deferred from )

investigate navigation-guard-redirect firing on /dashboard/billing (103 in 90d)

investigate navigation-guard-redirect firing on /dashboard/billing (103 in 90d)

long-term retention for SLI recording rules beyond 15 days

long-term retention for SLI recording rules beyond 15 days

T4 operation-deadline failures (~4.5% of T4 jobs) are not queue-driven; gate never triggers

T4 operation-deadline failures (~4.5% of T4 jobs) are not queue-driven; gate never triggers

stop promoting :latest image tags; pin mailpit (policy: never use latest)

stop promoting :latest image tags; pin mailpit (policy: never use latest)

WebMCP in-browser tools (estimate cost, docs search, try scrape, pricing)

WebMCP in-browser tools (estimate cost, docs search, try scrape, pricing)

production environment has no protection rules — add branch policy, document approval model

production environment has no protection rules — add branch policy, document approval model

DDG Lite still challenged on 23-41% of attempts after GET fix

DDG Lite still challenged on 23-41% of attempts after GET fix

add database, redis and cAdvisor exporters with baseline rules

add database, redis and cAdvisor exporters with baseline rules

Markdown for Agents at origin — Accept: text/markdown negotiation, rel=alternate links, marketing-page markdown, cache-safe

Markdown for Agents at origin — Accept: text/markdown negotiation, rel=alternate links, marketing-page markdown, cache-safe

bounded candidate egress countries for hintless identity_invariance fences from fleet recovery history

bounded candidate egress countries for hintless identity_invariance fences from fleet recovery history

snippet rewriter turns 'from alterlab.exceptions import X' into 'from exceptions import X' (6 posts held from backfill)

snippet rewriter turns 'from alterlab.exceptions import X' into 'from exceptions import X' (6 posts held from backfill)

A2A Agent Card and A2A endpoint generated from the shared tool registry

A2A Agent Card and A2A endpoint generated from the shared tool registry

per-family blog CTA copy and logged-out CTAs to a pre-filled playground instead of the signup modal

per-family blog CTA copy and logged-out CTAs to a pre-filled playground instead of the signup modal

agent discovery — content signals, api-catalog, Link headers, MCP server card, auth.md

agent discovery — content signals, api-catalog, Link headers, MCP server card, auth.md

usage-triggered in-product cross-sell (crawl/map/schedule/search/extract) + one product-tour email

usage-triggered in-product cross-sell (crawl/map/schedule/search/extract) + one product-tour email

robots.txt Content-Signal (search, ai-input, ai-train = yes), unblock Bytespider, add newer AI crawler groups

robots.txt Content-Signal (search, ai-input, ai-train = yes), unblock Bytespider, add newer AI crawler groups

experiment — card-on-file at onboarding doubles free balance, enabling one-click top-up

experiment — card-on-file at onboarding doubles free balance, enabling one-click top-up

remove the unbacked 'Powered by AlterLab' 20% top-up bonus claim

remove the unbacked 'Powered by AlterLab' 20% top-up bonus claim

conversion reward loop — Thompson-sampled post-family allocation on activation, replacing unmeasured '3-5x' prompt claims

conversion reward loop — Thompson-sampled post-family allocation on activation, replacing unmeasured '3-5x' prompt claims

email subject A/B never sends variant B; arms violate HERALD.md; add UTMs to all email links

email subject A/B never sends variant B; arms violate HERALD.md; add UTMs to all email links

Cloudflare Workers egress IP on the abuser blocklist blocks every Workers-hosted agent, crawler and SDK user

Cloudflare Workers egress IP on the abuser blocklist blocks every Workers-hosted agent, crawler and SDK user

appleboy ssh/scp deploy steps skip host-key verification (no browser compatibility:)

appleboy ssh/scp deploy steps skip host-key verification (no browser compatibility:)

IP-bound clearance reuse hits ~1% in every pool cohort because reserved exits rotate per job

IP-bound clearance reuse hits ~1% in every pool cohort because reserved exits rotate per job

claim-your-offer step after the first successful scrape, replacing the 2%-CTR deposit nudge

claim-your-offer step after the first successful scrape, replacing the 2%-CTR deposit nudge

blog playground embed pre-filled with the post's own target, moved up, extended to site-specific/pSEO posts

blog playground embed pre-filled with the post's own target, moved up, extended to site-specific/pSEO posts

blog conversion measurement — engaged denominator, code-copy/scroll events, fix internal service blog→signup join

blog conversion measurement — engaged denominator, code-copy/scroll events, fix internal service blog→signup join

welcome-offer countdown surfaces (dashboard bar, billing, playground) + truthful logged-out line

welcome-offer countdown surfaces (dashboard bar, billing, playground) + truthful logged-out line

'API version of this article' block near the top of DIY/bot-detection blog posts

'API version of this article' block near the top of DIY/bot-detection blog posts

vendor-script watch leaves bot protection system/kasada/anti-bot system unwatched and aws_waf/cloudflare unknown after key provisioning

vendor-script watch leaves bot protection system/kasada/anti-bot system unwatched and aws_waf/cloudflare unknown after key provisioning

monitoring Watchdog + provisioned off-host dead-man checks

monitoring Watchdog + provisioned off-host dead-man checks

welcome-offer deadline emails, HERALD.md real-deadline rule, launch window for never-paid users

welcome-offer deadline emails, HERALD.md real-deadline rule, launch window for never-paid users

internal service writes about and links to search, crawl, map, extract, monitor, schedule (0 posts link /search-api)

internal service writes about and links to search, crawl, map, extract, monitor, schedule (0 posts link /search-api)

funnel measurement — offer/claim events, deduped event names, bot filter, weekly cohort scorecard

funnel measurement — offer/claim events, deduped event names, bot filter, weekly cohort scorecard

unblock Cloudflare Workers egress and refuse Cloudflare-owned IPs in the blocklist

unblock Cloudflare Workers egress and refuse Cloudflare-owned IPs in the blocklist

quick deposits skip the first-deposit bonus the billing page promises; unify 'first deposit' and fix success-page bonus

quick deposits skip the first-deposit bonus the billing page promises; unify 'first deposit' and fix success-page bonus

server-side 48h welcome offer (100% first-deposit match, $25 cap) enforced at grant time

server-side 48h welcome offer (100% first-deposit match, $25 cap) enforced at grant time

abandoned-checkout recovery email + Stripe Checkout friction audit (52% of checkouts unpaid)

abandoned-checkout recovery email + Stripe Checkout friction audit (52% of checkouts unpaid)

support scrape_results on /v1/serp with per-page tier billing and refunds ( part 1)

support scrape_results on /v1/serp with per-page tier billing and refunds ( part 1)

GlitchTip secret key in internal tooling and optional error-tracking DSN

GlitchTip secret key in internal tooling and optional error-tracking DSN

Python and Node SDK expose engine, device, num, start for unified /v1/serp; web price copy pinned ( part 5)

Python and Node SDK expose engine, device, num, start for unified /v1/serp; web price copy pinned ( part 5)

follow-up: 1 deferred item(s) (deferred from )

follow-up: 1 deferred item(s) (deferred from )

follow-up: 1 deferred item(s) (deferred from )

follow-up: 1 deferred item(s) (deferred from )

post paid Stripe invoices (enterprise/subscription) to the Discord payments channel

post paid Stripe invoices (enterprise/subscription) to the Discord payments channel

unified batch mode with result-bearing webhooks on /v1/serp ( part 4)

unified batch mode with result-bearing webhooks on /v1/serp ( part 4)

quick deposits never post to the Discord payments channel

quick deposits never post to the Discord payments channel

/v1/search and /v1/search/batch become deprecated aliases onto the /v1/serp code path ( part 3)

/v1/search and /v1/search/batch become deprecated aliases onto the /v1/serp code path ( part 3)

export OTel spans from api and worker to a trace store

export OTel spans from api and worker to a trace store

every succeeded Stripe payment posts to the Discord payments channel exactly once

every succeeded Stripe payment posts to the Discord payments channel exactly once

move per-tier success alerts and decisions from final-tier counters to the outcome matrix

move per-tier success alerts and decisions from final-tier counters to the outcome matrix

carry overruled lower-tier successes across a T4 deferred resume

carry overruled lower-tier successes across a T4 deferred resume

Grafana admin password falls back to 'admin' when unset

Grafana admin password falls back to 'admin' when unset

unique validated request_id bound to every log line; return trace_id

unique validated request_id bound to every log line; return trace_id

docs, marketing and SDKs disagree with the Search API on price, engines and methods

docs, marketing and SDKs disagree with the Search API on price, engines and methods

/v1/serp accepts the union request contract and reports engine_used/served_from_cache ( part 2)

/v1/serp accepts the union request contract and reports engine_used/served_from_cache ( part 2)

off-infrastructure uptime and user-journey probes

off-infrastructure uptime and user-journey probes

activate incident ingest (0 events), real TTD/TTR, postmortems

activate incident ingest (0 events), real TTD/TTR, postmortems

central log store with 30-day retention and obs-logs query

central log store with 30-day retention and obs-logs query

follow-up: 6 deferred item(s) (deferred from )

follow-up: 6 deferred item(s) (deferred from )

self-hosted GlitchTip backend and internal tooling-provisioned SENTRY_DSN ( part 2)

self-hosted GlitchTip backend and internal tooling-provisioned SENTRY_DSN ( part 2)

weekly signal digest that turns unowned conditions into issues

weekly signal digest that turns unowned conditions into issues

alert-quality telemetry and weekly noise report per alertname

alert-quality telemetry and weekly noise report per alertname

Previous Releases

daily Stripe reconciliation snapshot and per-source freshness alert

daily Stripe reconciliation snapshot and per-source freshness alert

New

daily Stripe reconciliation snapshot and per-source freshness alert

typed Stripe ids on deposit ledger grants, idempotent backfill, deposit_refunded/deposit_disputed

New

typed Stripe ids on deposit ledger grants, idempotent backfill, deposit_refunded/deposit_disputed

bot_reasons persistence and fixed-screen / spoofed-Google fingerprints

New

bot_reasons persistence and fixed-screen / spoofed-Google fingerprints

durable analytics_identity_links, OAuth anonymous_id carry-through and enriched user_touches

New

durable analytics_identity_links, OAuth anonymous_id carry-through and enriched user_touches

GSC brand/non-brand split metrics and Bing brand snapshot

New

GSC brand/non-brand split metrics and Bing brand snapshot

enable B2B lead detection and deliver a weekly ranked prospect list

New

enable B2B lead detection and deliver a weekly ranked prospect list

gate Cloudflare deploy-token scope drift before traffic switch

New

gate Cloudflare deploy-token scope drift before traffic switch

tier intelligence never records T3.5 successes and skips to T4 on a single (false) T4 success

New

tier intelligence never records T3.5 successes and skips to T4 on a single (false) T4 success

follow-up: 1 deferred item(s) (deferred from )

New

follow-up: 1 deferred item(s) (deferred from )

stage shared registry entries, acquisition taxonomy and emit-failure metric for

New

stage shared registry entries, acquisition taxonomy and emit-failure metric for

day-35 outcome check for /best-web-scraping-api and /vs

New

day-35 outcome check for /best-web-scraping-api and /vs

server signup funnel events, visible emit failures and CF-IPCountry login country

New

server signup funnel events, visible emit failures and CF-IPCountry login country

Google/Bing parser coverage with golden fixtures and a parser-drift monitor

New

Google/Bing parser coverage with golden fixtures and a parser-drift monitor

evaluate action results are Python repr strings, not JSON

Fixed

evaluate action results are Python repr strings, not JSON

disambiguate the AlterLab entity markup to recover brand sitelinks

Fixed

disambiguate the AlterLab entity markup to recover brand sitelinks

follow-up: 4 deferred item(s) (deferred from )

Fixed

follow-up: 4 deferred item(s) (deferred from )

follow-up: 5 deferred item(s) (deferred from )

Fixed

follow-up: 5 deferred item(s) (deferred from )

zero signups since the Oct 25 passwordless deploy

Fixed

zero signups since the Oct 25 passwordless deploy

pre-capture consent hider blanks the page — CMP hide selectors injected as a stylesheet bypass the html/body guard (Hu-manity .hu-visible on <body>)

Fixed

pre-capture consent hider blanks the page — CMP hide selectors injected as a stylesheet bypass the html/body guard (Hu-manity .hu-visible on <body>)

Chrome header wire order from unautomated Chrome, per protocol and request kind

Fixed

Chrome header wire order from unautomated Chrome, per protocol and request kind

HTTP client 0.17.0 and a chrome152 TLS baseline

Fixed

HTTP client 0.17.0 and a chrome152 TLS baseline

Google/Bing search jobs are enqueued on the HTTP queue with no browser-tier routing

Fixed

Google/Bing search jobs are enqueued on the HTTP queue with no browser-tier routing

batch cache hits are charged and batch item credits_used is always 1000

Fixed

batch cache hits are charged and batch item credits_used is always 1000

page/num_results contract differs per engine; DDG pages 4-10 fetch and bill for zero results

Fixed

page/num_results contract differs per engine; DDG pages 4-10 fetch and bill for zero results

single-search spend-limit reservation is never reconciled or reversed

Fixed

single-search spend-limit reservation is never reconciled or reversed

response and billing report the requested engine, not the engine that served the result after failover ( fixed /v1/serp only)

Fixed

response and billing report the requested engine, not the engine that served the result after failover ( fixed /v1/serp only)

single search stays in 'scraping' forever when a scrape child fails

Fixed

single search stays in 'scraping' forever when a scrape child fails

sync 30 s timeout returns 504 without search_id; the late result is unreachable

Fixed

sync 30 s timeout returns 504 without search_id; the late result is unreachable

search engine search fails 32% over 7 days; worker_timeout bursts (10-24, 10-26) replace parse_error

Fixed

search engine search fails 32% over 7 days; worker_timeout bursts (10-24, 10-26) replace parse_error

result cache key ignores engine; cross-engine cache hits are refunded, so a Google request can be served search engine data for free

Fixed

result cache key ignores engine; cross-engine cache hits are refunded, so a Google request can be served search engine data for free

ASCII keyword relevance filter silently drops valid organic results

Fixed

ASCII keyword relevance filter silently drops valid organic results

browser-earned clearance is never reusable by T3 — persona unbound, exit not shared, CF solved ~22 s per job (0 store hits)

Fixed

browser-earned clearance is never reusable by T3 — persona unbound, exit not shared, CF solved ~22 s per job (0 store hits)

HTTP client 0.17.0 and an opt-in chrome152 wire profile that carries 0xCA34

Fixed

HTTP client 0.17.0 and an opt-in chrome152 wire profile that carries 0xCA34

pin the restore drill's trusted verifier to the v11 backup contract commit

Fixed

pin the restore drill's trusted verifier to the v11 backup contract commit

third round of staging→main deploy check fixes

Fixed

third round of staging→main deploy check fixes

second round of staging→main deploy check fixes

Fixed

second round of staging→main deploy check fixes

green the staging→main deploy checks

Fixed

green the staging→main deploy checks

GSC snapshot skips late-published days and never backfills gaps

Fixed

GSC snapshot skips late-published days and never backfills gaps

repin production-action host-key helper to the keyscan banner fix

branded enterprise client portal with per-client settings

New

branded enterprise client portal with per-client settings

repin production-action host-key helper to the keyscan banner fix

Fixed

repin production-action host-key helper to the keyscan banner fix

unblock deploy run 40181642888 (keyscan banner, openapi sync, two test flakes)

Fixed

unblock deploy run 40181642888 (keyscan banner, openapi sync, two test flakes)

atomic email-code verify, fixed-window analytics relay limit, batch actions_on_error (deploy review)

follow-up: 1 deferred item(s) (deferred from )

New

follow-up: 1 deferred item(s) (deferred from )

atomic email-code verify, fixed-window analytics relay limit, batch actions_on_error (deploy review)

Fixed

atomic email-code verify, fixed-window analytics relay limit, batch actions_on_error (deploy review)

scope T4 action results per attempt; JSONL-only daily_rollup deferral (deploy review)

Fixed

scope T4 action results per attempt; JSONL-only daily_rollup deferral (deploy review)

test-api/test-herald failures on deploy

Fixed

test-api/test-herald failures on deploy

test-web/test-worker failures on deploy

Fixed

test-web/test-worker failures on deploy

browser-actions docs suites from are unwired — check-test-suite-wiring fails on staging

Fixed

browser-actions docs suites from are unwired — check-test-suite-wiring fails on staging

volume-aware auto-promotion — rare-class auto_promote changes can never reach shadow_min_n=100 and sit in shadow forever

volume-aware auto-promotion — rare-class auto_promote changes can never reach shadow_min_n=100 and sit in shadow forever

New

volume-aware auto-promotion — rare-class auto_promote changes can never reach shadow_min_n=100 and sit in shadow forever

reconcile T4 by successful-attempt egress and report billing.egress ( part 5)

New

reconcile T4 by successful-attempt egress and report billing.egress ( part 5)

built-in consent dismissal that acts on the live page before screenshots

New

built-in consent dismissal that acts on the live page before screenshots

wire direct-first gate into the unified T4 path ( part 3)

New

wire direct-first gate into the unified T4 path ( part 3)

align dedicated browser route with the direct-first gate ( part 4)

New

align dedicated browser route with the direct-first gate ( part 4)

BROWSER_DIRECT_MICROCENTS and egress-aware browser cost helper ( part 1)

New

BROWSER_DIRECT_MICROCENTS and egress-aware browser cost helper ( part 1)

evidence-gated direct-first browser gate with shadow mode, egress caps and rollout guards ( part 2)

New

evidence-gated direct-first browser gate with shadow mode, egress caps and rollout guards ( part 2)

B2B enterprise provisioning UI and open-invoice pay link

New

B2B enterprise provisioning UI and open-invoice pay link

follow-up: 2 deferred item(s) (deferred from )

New

follow-up: 2 deferred item(s) (deferred from )

browser actions product page with use cases

New

browser actions product page with use cases

browser actions in batch, crawl, scheduler and monitors

New

browser actions in batch, crawl, scheduler and monitors

competitive actions pricing — included in browser tier, screenshot parity, pre-debit floor

New

competitive actions pricing — included in browser tier, screenshot parity, pre-debit floor

per-action timeout/optional/on_error and partial-result warnings for actions

New

per-action timeout/optional/on_error and partial-result warnings for actions

add select, hover, click_text, extract and wait_for state actions

New

add select, hover, click_text, extract and wait_for state actions

align dashboard actions builder with API action types and add Run on URL

New

align dashboard actions builder with API action types and add Run on URL

typed browser action models and action_results in Python and Node SDKs

New

typed browser action models and action_results in Python and Node SDKs

expose browser actions, screenshot and PDF options in MCP scrape tools

New

expose browser actions, screenshot and PDF options in MCP scrape tools

map competitor API actions in the competitor API-compat endpoint

New

map competitor API actions in the competitor API-compat endpoint

follow-up: 1 deferred item(s) (deferred from )

Fixed

follow-up: 1 deferred item(s) (deferred from )

proxy cost rate is 0.80/GB in config but real DataImpulse cost is 1.00/GB

Fixed

proxy cost rate is 0.80/GB in config but real DataImpulse cost is 1.00/GB

action_results never returned — dropped in scrape→structure handoff (0/155 jobs in 30d)

Fixed

action_results never returned — dropped in scrape→structure handoff (0/155 jobs in 30d)

browser actions silently dropped on dedicated JS consumer (screenshot/pdf/mode=js jobs)

Fixed

browser actions silently dropped on dedicated JS consumer (screenshot/pdf/mode=js jobs)

action executor ignores wait.selector, scroll default mismatch, no tests

Fixed

action executor ignores wait.selector, scroll default mismatch, no tests

enforce a cumulative time budget in the browser action loop

Fixed

enforce a cumulative time budget in the browser action loop

follow-up: 2 deferred item(s) (deferred from )

Fixed

follow-up: 2 deferred item(s) (deferred from )

Faster AI Integrations and Scrape Reliability

Guided Interactive First Scrape

New

The onboarding experience now guides you directly into a pre-configured sample request within the playground. You can execute a reliable initial scrape immediately upon signup without manual configuration.

Faster Timeouts for Unreachable Requests

Improved

Requests hitting irrecoverable block pages now terminate immediately without stalling through retry cascades. This reduces response latency and frees up request throughput when target sites are blocked.

Smarter Regional Route Selection

Improved

The request engine now remembers failure outcomes across geographic locations to bypass blocked paths automatically. This improves success rates for location-sensitive target sites while optimizing overall request performance.

Transparent Signup Credit Display

Improved

Signup grants and balance indicators now clearly display a $1 free credit alongside per-tier pricing details. This ensures predictable usage tracking across different scraping parameters and target complexities.

General bug fixes and improvements

Improved

Plus 14 internal improvements for better reliability and performance.

Reliable Zero-Result SERP Processing

Fixed

Fixed an issue where search engine API calls returned gateway timeout errors on pages with no organic search results. Search requests now complete successfully and return valid structured payloads regardless of result volume.

OAuth Authorization Redirect Handling

Fixed

Resolved a security policy conflict that blocked redirects during the OAuth consent step. External client applications can now authenticate and complete authorization flows without interruption.

Accurate Remote Proxy IP Attribution

Security

Requests routed through remote tool proxies now correctly forward the original end-user IP address. This ensures IP allowlists and geographic access policies are enforced accurately across proxy connections.

server-authoritative deposit_succeeded event keyed by Stripe event id; browser purchase deduplicated

server-authoritative deposit_succeeded event keyed by Stripe event id; browser purchase deduplicated

New

server-authoritative deposit_succeeded event keyed by Stripe event id; browser purchase deduplicated

identity stitching — analytics.identify and hashed analytics user_id after login

New

identity stitching — analytics.identify and hashed analytics user_id after login

temp-mail MX browser compatibility and per-domain signup velocity limits for non-mainstream domains

New

temp-mail MX browser compatibility and per-domain signup velocity limits for non-mainstream domains

passwordless email-code signup to replace the three-step password path

New

passwordless email-code signup to replace the three-step password path

one canonical alternative page each for competitor, competitor and competitor, built on unique data

New

one canonical alternative page each for competitor, competitor and competitor, built on unique data

first-party analytics relay with server-side bot filtering, replacing the static screen-size exclusion

New

first-party analytics relay with server-side bot filtering, replacing the static screen-size exclusion

shared event registry with generated TS/Python constants and analytics reserved-param guard

New

shared event registry with generated TS/Python constants and analytics reserved-param guard

direct-answer pages for Bing's zero-click LLM fan-out queries, pushed via IndexNow

New

direct-answer pages for Bing's zero-click LLM fan-out queries, pushed via IndexNow

shared signup email assessor on every signup path with daily-synced disposable domain lists

New

shared signup email assessor on every signup path with daily-synced disposable domain lists

reproducible public success-rate benchmark page with methodology and raw data

New

reproducible public success-rate benchmark page with methodology and raw data

server-side bot classifier and analytics_events.is_bot excluded from Pathfinder rollups

New

server-side bot classifier and analytics_events.is_bot excluded from Pathfinder rollups

daily analytics reconciliation guard and signup-burst monitoring system

New

daily analytics reconciliation guard and signup-burst monitoring system

anti-bot system device-check differential capture: real-browser vs. QuickJS plaintext signals on the same sticky exit

New

anti-bot system device-check differential capture: real-browser vs. QuickJS plaintext signals on the same sticky exit

metric-exclusion flags and one canonical definition each of signup, activated and paying

New

metric-exclusion flags and one canonical definition each of signup, activated and paying

Sync: Update SDKs — code, message (from )

New

Sync: Update SDKs — code, message (from )

Sync: Update SDKs — fallback_on_block (from )

New

Sync: Update SDKs — fallback_on_block (from )

forward visitor ASN (and entitled bot signals) to origin for analytics classification

New

forward visitor ASN (and entitled bot signals) to origin for analytics classification

follow-up: 2 deferred item(s) (deferred from )

New

follow-up: 2 deferred item(s) (deferred from )

follow-up: 2 deferred item(s) (deferred from )

New

follow-up: 2 deferred item(s) (deferred from )

OFAC geo-block middleware is not mounted in production (OFAC_ENABLED off) and GeoLite2-City.mmdb is absent, so makes the caller IP visible but sanctioned MCP callers are still not blocked until both are provisioned (pre-existing, deploy prerequisite) (review finding — )

New

OFAC geo-block middleware is not mounted in production (OFAC_ENABLED off) and GeoLite2-City.mmdb is absent, so makes the caller IP visible but sanctioned MCP callers are still not blocked until both are provisioned (pre-existing, deploy prerequisite) (review finding — )

/vs-style comparison CTAs and a playground embed on the top 20 blog posts

New

/vs-style comparison CTAs and a playground embed on the top 20 blog posts

rebuild /best-web-scraping-api to reach page 1 and rewrite /alternative-to/oxylabs title and meta

New

rebuild /best-web-scraping-api to reach page 1 and rewrite /alternative-to/oxylabs title and meta

follow-up: 1 deferred item(s) (deferred from )

New

follow-up: 1 deferred item(s) (deferred from )

weekly 60-prompt, 5-engine AI share-of-voice panel with competitor and cited-domain capture

New

weekly 60-prompt, 5-engine AI share-of-voice panel with competitor and cited-domain capture

expand /vs comparison pages — missing competitors, pricing and FAQ tables, blog internal links

New

expand /vs comparison pages — missing competitors, pricing and FAQ tables, blog internal links

activation sprint — onboarding that is hard to skip and pre-fills a first scrape known to succeed

New

activation sprint — onboarding that is hard to skip and pre-fills a first scrape known to succeed

publish LangChain, LlamaIndex and CrewAI integrations under discoverable package names

New

publish LangChain, LlamaIndex and CrewAI integrations under discoverable package names

15-min status reports carry the digest section; replay 2026-10-21 alert mix

New

15-min status reports carry the digest section; replay 2026-10-21 alert mix

route Alertmanager warnings to the status-report digest instead of Discord

New

route Alertmanager warnings to the status-report digest instead of Discord

page standing conditions once per state transition, not per cycle

New

page standing conditions once per state transition, not per cycle

expected-class registry with escalation guards (plan-limiter 429s, origin-side 5xx, DNS 503, customer-capped)

New

expected-class registry with escalation guards (plan-limiter 429s, origin-side 5xx, DNS 503, customer-capped)

execute the interstitial's wasm-bindgen module in the anti-bot system QuickJS device check (FeRLcb)

New

execute the interstitial's wasm-bindgen module in the anti-bot system QuickJS device check (FeRLcb)

Growth & Health owner page with weekly KPIs and the unused internal service analytics snapshots

New

Growth & Health owner page with weekly KPIs and the unused internal service analytics snapshots

wire error-trigger.sh and log-monitor.sh Discord sends through the alert router (hotspot wiring only)

New

wire error-trigger.sh and log-monitor.sh Discord sends through the alert router (hotspot wiring only)

analytics_daily rollup and v_user_ltv_by_source view as the single query surface

New

analytics_daily rollup and v_user_ltv_by_source view as the single query surface

route data-plane/backup senders through the alert router (pg-*, wal, amcheck, backup scripts, restore drills)

New

route data-plane/backup senders through the alert router (pg-*, wal, amcheck, backup scripts, restore drills)

referral prompt at first successful scrape, under the cluster grant cap

New

referral prompt at first successful scrape, under the cluster grant cap

route host/container/edge senders through the alert router (memory, redis, uptime, ssl, cloud provider-health, heartbeat, etc.)

New

route host/container/edge senders through the alert router (memory, redis, uptime, ssl, cloud provider-health, heartbeat, etc.)

full UTM capture, first- and last-touch attribution, and one ai_assistant channel

New

full UTM capture, first- and last-touch attribution, and one ai_assistant channel

retroactive temp-mail account sweep as an owner-approved production action

New

retroactive temp-mail account sweep as an owner-approved production action

shared Discord alert router and ALERT_ROUTING.md policy

New

shared Discord alert router and ALERT_ROUTING.md policy

route GitHub workflow Discord posts through the alert policy and widen the sender-classification guard

New

route GitHub workflow Discord posts through the alert policy and widen the sender-classification guard

route internal service Discord alerts through the page/digest/suppress policy

New

route internal service Discord alerts through the page/digest/suppress policy

cloud provider 15-min report shows paid success per tier via an cloud provider-published cache status key

New

cloud provider 15-min report shows paid success per tier via an cloud provider-published cache status key

derive the anti-bot system device-check environment from the shared persona, plus a parity test against the real-browser capture

Fixed

derive the anti-bot system device-check environment from the shared persona, plus a parity test against the real-browser capture

paid_success_slo per-tier and TierSuccessRateLow count dead-origin/404 outcomes as T3/T4 failures (T3 reads 21-38%, ~83% excluding origin-side)

Fixed

paid_success_slo per-tier and TierSuccessRateLow count dead-origin/404 outcomes as T3/T4 failures (T3 reads 21-38%, ~83% excluding origin-side)

base-backup.sh writes a new dated, ownerless P1 internal tooling every night and never closes it

Fixed

base-backup.sh writes a new dated, ownerless P1 internal tooling every night and never closes it

refresh growth materialized views daily, base activation on usage data, fix capped overview count

Fixed

refresh growth materialized views daily, base activation on usage data, fix capped overview count

storage trend alerts read nightly backup peaks and deploy pulls as growth (StorageCategoryDaysToBudgetLow, DiskGrowthWarning)

Fixed

storage trend alerts read nightly backup peaks and deploy pulls as growth (StorageCategoryDaysToBudgetLow, DiskGrowthWarning)

pg-error-monitor vacuum-stale prefers an old autovacuum over a newer manual VACUUM and never closes its internal tooling

Fixed

pg-error-monitor vacuum-stale prefers an old autovacuum over a newer manual VACUUM and never closes its internal tooling

anti-bot system rejects the QuickJS device-check payload 19/19 and each failed check burns the exit — shadow the check, then fix the persona by differential capture

Fixed

anti-bot system rejects the QuickJS device-check payload 19/19 and each failed check burns the exit — shadow the check, then fix the persona by differential capture

follow-up: 3 deferred item(s) (deferred from )

Fixed

follow-up: 3 deferred item(s) (deferred from )

follow-up: 5 deferred item(s) (deferred from )

Fixed

follow-up: 5 deferred item(s) (deferred from )

0 LLM successes since 6e90e2a — primary nemotron-3-super:free removed (404) and remaining free pool 429s; consecutive_failures=109

Fixed

0 LLM successes since 6e90e2a — primary nemotron-3-super:free removed (404) and remaining free pool 429s; consecutive_failures=109

follow-up: 1 deferred item(s) (deferred from )

Fixed

follow-up: 1 deferred item(s) (deferred from )

failed T4 browser runs record no proxy bytes (basis=unknown), keeping ValidResultEconomicsCoverageDegraded firing after

Fixed

failed T4 browser runs record no proxy bytes (basis=unknown), keeping ValidResultEconomicsCoverageDegraded firing after

deploy never delivers CF_WORKERS_ANALYTICS_TOKEN — new cf-workers-quota cron fails every 15 min after promotes

Fixed

deploy never delivers CF_WORKERS_ANALYTICS_TOKEN — new cf-workers-quota cron fails every 15 min after promotes

real lastmod dates in place of the build-date stamp, and a sitemap index split by page type

Fixed

real lastmod dates in place of the build-date stamp, and a sitemap index split by page type

DDG Lite challenged (202 anomaly) on 100% of attempts after proxy egress; every search falls back

Fixed

DDG Lite challenged (202 anomaly) on 100% of attempts after proxy egress; every search falls back

rotate CLOUDFLARE_API_TOKEN to the scope manifest

Fixed

rotate CLOUDFLARE_API_TOKEN to the scope manifest

cache pool 'Too many connections' fails structure handoff of completed scrapes; jobs hang ~20 min until stuck-recovery (since 2026-10-20)

Fixed

cache pool 'Too many connections' fails structure handoff of completed scrapes; jobs hang ~20 min until stuck-recovery (since 2026-10-20)

replace '5,000 free scrapes' with an honest '$1 free credit' offer and per-tier request counts

Fixed

replace '5,000 free scrapes' with an honest '$1 free credit' offer and per-tier request counts

zero-organic SERP pages fail as parse_error 504 with no escalation or logging (~15% of /v1/search)

Fixed

zero-organic SERP pages fail as parse_error 504 with no escalation or logging (~15% of /v1/search)

GEO citation monitor has never written a row in production

Fixed

GEO citation monitor has never written a row in production

honest "up to 5,000 free requests" copy in llms/agent/API/herald/email surfaces + repo-wide guard

Fixed

honest "up to 5,000 free requests" copy in llms/agent/API/herald/email surfaces + repo-wide guard

honest "up to 5,000 free requests" copy in guides, docs, app pages and root metadata

Fixed

honest "up to 5,000 free requests" copy in guides, docs, app pages and root metadata

honest "up to 5,000 free requests" copy in programmatic comparison/SEO data and pages

Fixed

honest "up to 5,000 free requests" copy in programmatic comparison/SEO data and pages

lead the free offer with "Up to 5,000 free requests" in shared CTAs and constants

Fixed

lead the free offer with "Up to 5,000 free requests" in shared CTAs and constants

derive the window-global presence bitmap per persona family in the anti-bot system QuickJS device check (oX2m3T)

Fixed

derive the window-global presence bitmap per persona family in the anti-bot system QuickJS device check (oX2m3T)

emulate Function.caller through hooked natives in the anti-bot system QuickJS device check (cyZ0R9, uwUbv3)

Fixed

emulate Function.caller through hooked natives in the anti-bot system QuickJS device check (cyZ0R9, uwUbv3)

answer the font-metric probe from persona text metrics in the anti-bot system QuickJS device check (jlHREb)

Fixed

answer the font-metric probe from persona text metrics in the anti-bot system QuickJS device check (jlHREb)

emulate the CSS animation timeline in the anti-bot system QuickJS device check (zi4P5h and second animation-frame samples)

Fixed

emulate the CSS animation timeline in the anti-bot system QuickJS device check (zi4P5h and second animation-frame samples)

populate document.fonts from the interstitial's linked font-face stylesheet in the anti-bot system QuickJS device check (i1Yjh2)

Fixed

populate document.fonts from the interstitial's linked font-face stylesheet in the anti-bot system QuickJS device check (i1Yjh2)

P1: backup restore drill failed (2026-10-22)

Fixed

P1: backup restore drill failed (2026-10-22)

daily_rollup delivery overwrites one S3 object per job; deliver one file per bulk submission

Fixed

daily_rollup delivery overwrites one S3 object per job; deliver one file per bulk submission

re-engagement bonus must check fraud, disposable and cluster eligibility before email and grant

Fixed

re-engagement bonus must check fraud, disposable and cluster eligibility before email and grant

cap welcome grants per signup cluster (email domain + IP /24 + device), not per IP alone

Fixed

cap welcome grants per signup cluster (email domain + IP /24 + device), not per IP alone

repin production-action executor past

Fixed

repin production-action executor past

cut routed pages in the 2026-10-21 replay toward ~10 without reclassifying genuine incidents

Fixed

cut routed pages in the 2026-10-21 replay toward ~10 without reclassifying genuine incidents

follow-up: 1 deferred item(s) (deferred from )

Fixed

follow-up: 1 deferred item(s) (deferred from )

T4 bills the bot protection system Edge deny page as success — nav-status tracker keeps an aborted 3xx reload status; edge-deny body gate can't read a marked-up reference ID

Fixed

T4 bills the bot protection system Edge deny page as success — nav-status tracker keeps an aborted 3xx reload status; edge-deny body gate can't read a marked-up reference ID

country fences without region wording never classify as geo_restricted — CF per-request beacon token breaks body fingerprints; invariance only runs inside the bot protection system/CF identity rotation

Fixed

country fences without region wording never classify as geo_restricted — CF per-request beacon token breaks body fingerprints; invariance only runs inside the bot protection system/CF identity rotation

OAuth authorize/consent redirect to the standalone bind origin http://[server]:3000 — browser OAuth flow broken in prod

Fixed

OAuth authorize/consent redirect to the standalone bind origin http://[server]:3000 — browser OAuth flow broken in prod

Performance Improvements

fix(AI engine): give learning-gate consumer fixture the state reads

Improved

The test fixture builds via and now sets the attributes provides, which 's deferral path reads.

fix(api): schedule auto-pause counts platform queue-full and stale-claim failures — capacity inciden

Improved

| File | Change | Requirements |.

perf(dashboard): detailed-logs crawl grouping via partial index and keyset pagination

Improved

The page query in mode does not bound its work by the page size:.

fix(backup): logical-generation selectors fail closed on an in-progress generation instead of skippi

Improved

Both workflow selectors (introduced in c203331a45, "make logical publication atomic") copied the writer's strict whole-namespace inventory validation instead of the reader semantics of th.

fix(monitoring): publish recovery outcomes for billing/payment error-trigger checks

Improved

These checks predate the fail-closed recovery contract (/).

feat(monitoring): stable check keys and fail-closed recovery closer for log-monitor eMemos, plus sta

Improved

log-monitor has no stable logical identity per issue class.

fix(stealth): worker image installs floating latest Chrome (155) while identity constants claim Chro

Improved

The Chrome binary install was written as a floating (introduced in b509d0ae8c, moved in c4a422b001/c320b45fc7 for root/su reasons) while the identity was later frozen at a HTTP client-verified major (#2.

fix(monitoring): stop labelling warning-threshold counts Critical in error-trigger eMemos and list u

Improved

Severity is a one-way ratchet: the filename and Severity line record the peak, never the current observation, and an age/cycle timer converts mere persistence into Critical.

decide: re-measure Cloudflare T4 after and set telemetry-gated policy for cloudflare_js and cloudfla

Improved

This is policy, not a code defect.

feat(monitoring): alert on Cloudflare Workers daily request quota before Error 1027

Improved

The Workers request quota was never instrumented.

General bug fixes and improvements

Improved

Plus 10 internal improvements for better reliability and performance.

short-expiry terminal-verdict memory per (host, vendor_class, exit_class) with per-host singleflight

short-expiry terminal-verdict memory per (host, vendor_class, exit_class) with per-host singleflight

New

short-expiry terminal-verdict memory per (host, vendor_class, exit_class) with per-host singleflight

fleet-shared host×country outcome memory, per-host exploration singleflight, all-countries-denied negative cache, fleet prior

New

fleet-shared host×country outcome memory, per-host exploration singleflight, all-countries-denied negative cache, fleet prior

fail fast on terminal vendor verdicts: skip redirect wait, nodriver and advanced browser; one gated alternative leg; coded unbilled failure (shadow-first)

New

fail fast on terminal vendor verdicts: skip redirect wait, nodriver and advanced browser; one gated alternative leg; coded unbilled failure (shadow-first)

record exit country and a bounded body browser compatibility on every tier attempt; geo_restricted failure category

New

record exit country and a bounded body browser compatibility on every tier attempt; geo_restricted failure category

T3 egress-country exploration on geo_restricted (RC_EGRESS_COUNTRY, ≤2 extra T3 legs, cohort rollout)

New

T3 egress-country exploration on geo_restricted (RC_EGRESS_COUNTRY, ≤2 extra T3 legs, cohort rollout)

count T4-deferral queue time against the T4 deadline; fail before browser/proxy acquisition when no useful attempt fits

New

count T4-deferral queue time against the T4 deadline; fail before browser/proxy acquisition when no useful attempt fits

per-(vendor_class, verdict, engine, exit_class) outcome/cost cells and Wilson-LB alternative-leg gate (record-only)

New

per-(vendor_class, verdict, engine, exit_class) outcome/cost cells and Wilson-LB alternative-leg gate (record-only)

geo_restricted recovery subtype (HTTP 451, CF 1009, regional-restriction text, identity-invariance signature), shadow only

New

geo_restricted recovery subtype (HTTP 451, CF 1009, regional-restriction text, identity-invariance signature), shadow only

first-class vendor verdicts — parse/persist anti-bot system rt/t/view and map verdicts to recovery classes

New

first-class vendor verdicts — parse/persist anti-bot system rt/t/view and map verdicts to recovery classes

replace hand-picked TLD_COUNTRY_MAP with a complete ISO 3166 ccTLD table

New

replace hand-picked TLD_COUNTRY_MAP with a complete ISO 3166 ccTLD table

Milestone: Remote MCP Server with OAuth → staging

New

Milestone: Remote MCP Server with OAuth → staging

bingoplus.com PH-exit residual: T4 cleared page rejected as semantic soft_block

Fixed

bingoplus.com PH-exit residual: T4 cleared page rejected as semantic soft_block

do not book IP/ASN reputation from geo_restricted outcomes; add exit country to the routing arm and outcome key

Fixed

do not book IP/ASN reputation from geo_restricted outcomes; add exit country to the routing arm and outcome key

identify the device signal anti-bot system rejects (exit vs payload vs persona) and bisect the skruvat.se 53/61→0/8 regression

Fixed

identify the device signal anti-bot system rejects (exit vs payload vs persona) and bisect the skruvat.se 53/61→0/8 regression

route CF headed-promote probe through UnifiedDetector — non-CF pages must never take the headed slot

Fixed

route CF headed-promote probe through UnifiedDetector — non-CF pages must never take the headed slot

keep the T3 stage outcome in tier_failures after a T4 deferral (tier4_pool_exhausted_requeued)

Fixed

keep the T3 stage outcome in tier_failures after a T4 deferral (tier4_pool_exhausted_requeued)

engine selection by active challenge vendor, not passive CDN marker; enable anti-bot system T4 engine A/B

Fixed

engine selection by active challenge vendor, not passive CDN marker; enable anti-bot system T4 engine A/B

ship log-monitor-internal tooling-keys.sh in the root cron runtime

Fixed

ship log-monitor-internal tooling-keys.sh in the root cron runtime

upgrade certifi to 2026.10.19 and Pillow to 13.0.0 (Trivy CRITICAL/HIGH)

Fixed

upgrade certifi to 2026.10.19 and Pillow to 13.0.0 (Trivy CRITICAL/HIGH)

close milestone 115 merge gaps found on deploy

Fixed

close milestone 115 merge gaps found on deploy

reconcile guards with intended staging changes (deploy )

Fixed

reconcile guards with intended staging changes (deploy )

omit CSP form-action on /oauth/consent so consent redirects reach the client

Fixed

omit CSP form-action on /oauth/consent so consent redirects reach the client

oauth_tokens classified bounded but every refresh inserts a row and nothing ever purges expired/rotated/revoked tokens or grants (review finding — )

Fixed

oauth_tokens classified bounded but every refresh inserts a row and nothing ever purges expired/rotated/revoked tokens or grants (review finding — )

mcp-remote forwards no end-user IP to the API so OFAC geo-block fails open and IP allowlist/attribution see the container IP (review finding — )

Fixed

mcp-remote forwards no end-user IP to the API so OFAC geo-block fails open and IP allowlist/attribution see the container IP (review finding — )

Singleflight lock keyed by host only while verdict keyed by host+vendor+exit_class; followers on a different cell wait for the holder with no possible hit (review finding — )

Fixed

Singleflight lock keyed by host only while verdict keyed by host+vendor+exit_class; followers on a different cell wait for the holder with no possible hit (review finding — )

correct OAuth2 guide step count, revocation timing and client registration

Fixed

correct OAuth2 guide step count, revocation timing and client registration

Smarter Failover, Auto-Pause, and Improved Reliability

Auto-pause for failing schedules

New

Scheduled jobs now track consecutive failures and automatically pause when targets remain broken. You will receive instant notifications so you can investigate before wasting API credits.

Automatic fallback on request challenges

New

You can now enable opt-in fallbacks for high-tier extraction requests. If a request encounters a challenge or timeout, the system automatically attempts secondary extraction modes.

Adaptive per-domain request pacing

Improved

Request pacing now dynamically adjusts based on real-time target domain responsiveness. This improves overall extraction throughput while minimizing blocks and strain on target servers.

Automatic back-off for URL failures

Improved

Consecutive failures on specific URLs now trigger automatic back-off delays. This halts repetitive retries against unreachable endpoints and conserves your API credit quota.

Bounded concurrency for sticky sessions

Improved

Sticky session connections now enforce concurrency limits across requests. This guarantees consistent session reuse and improves extraction success rates during multi-step web flows.

General bug fixes and improvements

Improved

Plus 58 internal improvements for better reliability and performance.

Accurate billing for challenge responses

Fixed

Resolved an issue where responses returning challenge pages were marked as successful extractions. Requests blocked by target site challenges are no longer charged full credits.

Correct batch job refund calculation

Fixed

Fixed a ledger calculation discrepancy for batch extractions. Failed individual jobs inside a batch now correctly receive credit refunds against the initial batch debit.

Real-time credit balance cache updates

Fixed

Fixed cache ordering gaps during credit balance updates. Account balances and API entitlement limits now update immediately in real time following any transaction.

Search endpoint request stability

Fixed

Fixed network egress timeouts occurring on search extraction calls. Search requests now experience consistent response times and higher overall completion rates.

add FailureBackoffErrorResponse to the published 429 contract test and docs (deploy blocker)

consecutive-failure tracking with notify and auto-pause for all schedule types ( option 4)

New

consecutive-failure tracking with notify and auto-pause for all schedule types ( option 4)

opt-in fallback from forced T4 to T3/T3.5 on challenge or timeout ( option 5)

New

opt-in fallback from forced T4 to T3/T3.5 on challenge or timeout ( option 5)

per-(user, URL) back-off after consecutive identical failures ( option 3)

New

per-(user, URL) back-off after consecutive identical failures ( option 3)

bound concurrency per sticky exit/session (clearance reuse, cookie-cohort, force_sticky)

New

bound concurrency per sticky exit/session (clearance reuse, cookie-cohort, force_sticky)

anti-bot system clearance-store replay (enforcement phase of ) after shadow metrics

New

anti-bot system clearance-store replay (enforcement phase of ) after shadow metrics

surface failure hints and steer examples to render_js="auto" ( options 1+2)

New

surface failure hints and steer examples to render_js="auto" ( options 1+2)

obs-pgstat top [n] wrapper for pg_stat_statements attribution

New

obs-pgstat top [n] wrapper for pg_stat_statements attribution

stable check keys and fail-closed recovery closer for log-monitor internal tooling, plus stale-memo dry-run report

New

stable check keys and fail-closed recovery closer for log-monitor internal tooling, plus stale-memo dry-run report

alert on Cloudflare Workers daily request quota before Error 1027

New

alert on Cloudflare Workers daily request quota before Error 1027

detailed-logs crawl grouping via partial index and keyset pagination

Improved

detailed-logs crawl grouping via partial index and keyset pagination

exhaustion-nurture scans read balances from credit_balance_cache instead of re-summing credit_ledger

Improved

exhaustion-nurture scans read balances from credit_balance_cache instead of re-summing credit_ledger

add FailureBackoffErrorResponse to the published 429 contract test and docs (deploy blocker)

Fixed

add FailureBackoffErrorResponse to the published 429 contract test and docs (deploy blocker)

drop per_domain_concurrent as a customer 429 source; bound per-domain by account max_in_flight

Fixed

drop per_domain_concurrent as a customer 429 source; bound per-domain by account max_in_flight

anti-bot system device-check HTTP client sessions bypass the egress guard — route via proxied, SSRF-checked egress (deploy )

Fixed

anti-bot system device-check HTTP client sessions bypass the egress guard — route via proxied, SSRF-checked egress (deploy )

follow-up: 2 deferred item(s) (deferred from )

Fixed

follow-up: 2 deferred item(s) (deferred from )

update DomainConcurrencyDeferralHigh promtool expectation after description change (deploy )

Fixed

update DomainConcurrencyDeferralHigh promtool expectation after description change (deploy )

expire_abandoned_drafts while-True batch loop hangs the internal service test suite (and is unbounded in prod); add pytest-timeout (deploy )

Fixed

expire_abandoned_drafts while-True batch loop hangs the internal service test suite (and is unbounded in prod); add pytest-timeout (deploy )

anti-bot system device-check HTTP client session sends impersonate without browser compatibility kwargs — Firefox TLS incoherence on T3 (deploy )

Fixed

anti-bot system device-check HTTP client session sends impersonate without browser compatibility kwargs — Firefox TLS incoherence on T3 (deploy )

api-changelog behaviour-change test must not assume the entry is in the top release block (deploy )

Fixed

api-changelog behaviour-change test must not assume the entry is in the top release block (deploy )

test-check-deploy-contracts.sh bundle helpers break on 's shared line in bootstrap-body.sh (deploy )

Fixed

test-check-deploy-contracts.sh bundle helpers break on 's shared line in bootstrap-body.sh (deploy )

test lists mandate-banned words as literals and trips the wording scanner (deploy )

Fixed

test lists mandate-banned words as literals and trips the wording scanner (deploy )

schedule auto-pause counts platform queue-full and stale-claim failures — capacity incident pauses customer schedules

Fixed

schedule auto-pause counts platform queue-full and stale-claim failures — capacity incident pauses customer schedules

follow-up: alterlab_api_worker_rss_bytes soak verification of api memory fix (deferred from )

Fixed

follow-up: alterlab_api_worker_rss_bytes soak verification of api memory fix (deferred from )

production-action executor crashes on first real dispatch — maintenance_windows FK target not loaded (NoReferencedTableError)

Fixed

production-action executor crashes on first real dispatch — maintenance_windows FK target not loaded (NoReferencedTableError)

T4 `page.route('**/*')` adds Pragma/Cache-Control no-cache to every request

Fixed

T4 `page.route('**/*')` adds Pragma/Cache-Control no-cache to every request

publish recovery outcomes for internal service, AI engine, LLM and log-analysis error-trigger checks

Fixed

publish recovery outcomes for internal service, AI engine, LLM and log-analysis error-trigger checks

logical-generation selectors fail closed on an in-progress generation instead of skipping it (shadow dry run raced the nightly upload)

Fixed

logical-generation selectors fail closed on an in-progress generation instead of skipping it (shadow dry run raced the nightly upload)

publish recovery outcomes for billing/payment error-trigger checks

Fixed

publish recovery outcomes for billing/payment error-trigger checks

pg cache-hit alert attributes misses to recurring statements and ignores calls=1 one-offs

Fixed

pg cache-hit alert attributes misses to recurring statements and ignores calls=1 one-offs

degrade gracefully and alert accurately when shared OpenRouter free-tier budget is exhausted

Fixed

degrade gracefully and alert accurately when shared OpenRouter free-tier budget is exhausted

CLOUDFLARE_API_TOKEN lacks Cache Settings Edit and Single Redirect Edit — edge cache and redirect rules not deployed

Fixed

CLOUDFLARE_API_TOKEN lacks Cache Settings Edit and Single Redirect Edit — edge cache and redirect rules not deployed

worker image installs floating latest Chrome (155) while identity constants claim Chrome 150 — pin and gate the binary version

Fixed

worker image installs floating latest Chrome (155) while identity constants claim Chrome 150 — pin and gate the binary version

stop labelling warning-threshold counts Critical in error-trigger internal tooling and list unlinked memos first in aging handoff

Fixed

stop labelling warning-threshold counts Critical in error-trigger internal tooling and list unlinked memos first in aging handoff

re-measure Cloudflare T4 after and set telemetry-gated policy for cloudflare_js and cloudflare_blocked

Fixed

re-measure Cloudflare T4 after and set telemetry-gated policy for cloudflare_js and cloudflare_blocked

cache recreate onto volatile-lru — OOM-on-write exposure, cloud provider reconnect gap, state-dependent rollback (review finding — )

Fixed

cache recreate onto volatile-lru — OOM-on-write exposure, cloud provider reconnect gap, state-dependent rollback (review finding — )

origin-lock installer self-probe always fails from the host — lock is effective (external probe 403), deploy goes red

Fixed

origin-lock installer self-probe always fails from the host — lock is effective (external probe 403), deploy goes red

publish recovery outcomes for container, edge and database error-trigger checks

Fixed

publish recovery outcomes for container, edge and database error-trigger checks

cache volatile-lru rollback runbook lost writer-fencing contract after — test_redis_backfill_job_ttl red on deploy

Fixed

cache volatile-lru rollback runbook lost writer-fencing contract after — test_redis_backfill_job_ttl red on deploy

RESERVED_HARD-promoted hosts bypass cohort sticky identity and share one rotating reserved session, breaking IP-bound clearance reuse (review finding — )

Breaking

RESERVED_HARD-promoted hosts bypass cohort sticky identity and share one rotating reserved session, breaking IP-bound clearance reuse (review finding — )

enforce vendor-class pool routing from exit_reputation — replace build-time RESERVED_HARD domain classification ( / enforcement phase)

enforce vendor-class pool routing from exit_reputation — replace build-time RESERVED_HARD domain classification ( / enforcement phase)

New

enforce vendor-class pool routing from exit_reputation — replace build-time RESERVED_HARD domain classification ( / enforcement phase)

Adaptive Unblocking Control Loop → staging

New

Adaptive Unblocking Control Loop → staging

require cross-egress consistency as positive evidence before delivering non-placeholder thin T4 pages

New

require cross-egress consistency as positive evidence before delivering non-placeholder thin T4 pages

spec + epic tracker — support@ inbound filtering and in-house CRM leads

New

spec + epic tracker — support@ inbound filtering and in-house CRM leads

Adaptive Unblocking Control Loop → staging

New

Adaptive Unblocking Control Loop → staging

merge post-auth, scrape-per-key and concurrency checks into one Lua call

New

merge post-auth, scrape-per-key and concurrency checks into one Lua call

win back the lapsed top-revenue accounts after reliability fixes

New

win back the lapsed top-revenue accounts after reliability fixes

activate cloud provider storage backup lane (relay account, keys, host-key pin, monitor, restore drill)

New

activate cloud provider storage backup lane (relay account, keys, host-key pin, monitor, restore drill)

monitor read access to all internal tooling, /var/log/monitoring, single-instance state and node-exporter textfiles on both hosts ( part 4)

New

monitor read access to all internal tooling, /var/log/monitoring, single-instance state and node-exporter textfiles on both hosts ( part 4)

earn anti-bot system clearance on cold T3 contact (in-house QuickJS device-check on the unified T3 path)

New

earn anti-bot system clearance on cold T3 contact (in-house QuickJS device-check on the unified T3 path)

adaptive per-domain backoff on target strain signals; replace static preemptive domain caps

New

adaptive per-domain backoff on target strain signals; replace static preemptive domain caps

hint render_js="auto" when a forced-render job fails on challenge or timeout ( option 1)

New

hint render_js="auto" when a forced-render job fails on challenge or timeout ( option 1)

obs-internal tooling close — the monitor account's single write (open→closed rename with lifecycle note) ( part 3)

New

obs-internal tooling close — the monitor account's single write (open→closed rename with lifecycle note) ( part 3)

follow-up: 1 deferred item(s) (deferred from )

New

follow-up: 1 deferred item(s) (deferred from )

Worker quota exhaustion must never take marketing pages offline

New

Worker quota exhaustion must never take marketing pages offline

Incident-ID issue-link cron that sets canonical_issue on open Critical/High internal tooling

New

Incident-ID issue-link cron that sets canonical_issue on open Critical/High internal tooling

obs-redis read-only allowlist wrapper (SLOWLOG/INFO/LATENCY/CLIENT LIST) absorbing obs-redis-keyspace ( part 2)

New

obs-redis read-only allowlist wrapper (SLOWLOG/INFO/LATENCY/CLIENT LIST) absorbing obs-redis-keyspace ( part 2)

make monitor_ro inherit pg_monitor/pg_read_all_stats so pg_stat_statements shows query text ( part 1)

New

make monitor_ro inherit pg_monitor/pg_read_all_stats so pg_stat_statements shows query text ( part 1)

bot protection system Bot Manager denies deep links without interaction telemetry — route to a T4 -warm session (vendor class, replaces identity rotation)

Fixed

bot protection system Bot Manager denies deep links without interaction telemetry — route to a T4 -warm session (vendor class, replaces identity rotation)

prevent cannibalizing blog posts with a durable intent registry enforced on every generator

Fixed

prevent cannibalizing blog posts with a durable intent registry enforced on every generator

consolidate existing cannibalizing blog posts — audit never runs in production

Fixed

consolidate existing cannibalizing blog posts — audit never runs in production

4h45m cloud provider host outage (2026-10-16 21:39–02:24Z) went undetected; no off-host availability probe

Fixed

4h45m cloud provider host outage (2026-10-16 21:39–02:24Z) went undetected; no off-host availability probe

cloud provider scraper-lite stuck in autoheal restart loop for ~6h (restarts never recovered; only recreate did)

Fixed

cloud provider scraper-lite stuck in autoheal restart loop for ~6h (restarts never recovered; only recreate did)

Phantom T4.5 returns bot protection system Edge deny page as a billed success — re-check drops T3 status/headers

Fixed

Phantom T4.5 returns bot protection system Edge deny page as a billed success — re-check drops T3 status/headers

Inline-path options snapshot hand-mirrors the worker payload and records has_* flags as false for headers/body/extraction/custom keys (review finding — )

Fixed

Inline-path options snapshot hand-mirrors the worker payload and records has_* flags as false for headers/body/extraction/custom keys (review finding — )

pre-T3 origin probe counts a stalled proxy CONNECT (tunnel_timeout) as dead-origin witness, fast-failing live sites (review finding — )

Fixed

pre-T3 origin probe counts a stalled proxy CONNECT (tunnel_timeout) as dead-origin witness, fast-failing live sites (review finding — )

paid-request failure rate regressed from ~5% (Apr) to 30-40% (Sep-Oct)

Fixed

paid-request failure rate regressed from ~5% (Apr) to 30-40% (Sep-Oct)

10x capacity headroom on existing hardware — 0.8 -> 8 jobs/sec with zero 5xx (supersedes , fitted to the retired 8 vCPU box)

Fixed

10x capacity headroom on existing hardware — 0.8 -> 8 jobs/sec with zero 5xx (supersedes , fitted to the retired 8 vCPU box)

bot protection system identity-rotation, stage-span and event-loop test failures on deploy

Fixed

bot protection system identity-rotation, stage-span and event-loop test failures on deploy

mandate-wording guard breaks after waf_block marker moved to (deploy )

Fixed

mandate-wording guard breaks after waf_block marker moved to (deploy )

map new cron jobs in the RSI periodic-job inventory (deploy )

Fixed

map new cron jobs in the RSI periodic-job inventory (deploy )

renumber duplicate 0451 rollout-cohorts migration blocking deploy

Fixed

renumber duplicate 0451 rollout-cohorts migration blocking deploy

worker pytest session dies at 95% with no summary on deploy

Fixed

worker pytest session dies at 95% with no summary on deploy

wire five unaccounted scripts/tests suites into CI jobs

Fixed

wire five unaccounted scripts/tests suites into CI jobs

Chrome upgrade safety gate cannot parse refactored

Fixed

Chrome upgrade safety gate cannot parse refactored

add external-availability-probe and storage-category-metrics to trusted-runtime closure

Fixed

add external-availability-probe and storage-category-metrics to trusted-runtime closure

classify status-0 T3 failures by cause and deny T4 only on a confirmed reputation reject

Fixed

classify status-0 T3 failures by cause and deny T4 only on a confirmed reputation reject

blog generation publishes nothing when the free LLM is rate-limited because exhausts the static topic pool

Fixed

blog generation publishes nothing when the free LLM is rate-limited because exhausts the static topic pool

DatabaseBudgetStatusUnavailable fires permanently because worker processes export alterlab_db_budget_status_ok=0

Fixed

DatabaseBudgetStatusUnavailable fires permanently because worker processes export alterlab_db_budget_status_ok=0

render_js browser-tier jobs run on WORKER_TYPE=http lite workers and OOM-kill them

Fixed

render_js browser-tier jobs run on WORKER_TYPE=http lite workers and OOM-kill them

internal tooling-bridge leaves memos open when an alert vanishes without a resolved webhook; reconcile against Alertmanager

Fixed

internal tooling-bridge leaves memos open when an alert vanishes without a resolved webhook; reconcile against Alertmanager

OpenRouterKeyLimitLow and openrouter_balance_low fire permanently against the deliberate $0.20 free-only key cap

Fixed

OpenRouterKeyLimitLow and openrouter_balance_low fire permanently against the deliberate $0.20 free-only key cap

cache stall cascades into cluster-wide DB budget exhaustion because failed lease releases leak slots until expiry

Fixed

cache stall cascades into cluster-wide DB budget exhaustion because failed lease releases leak slots until expiry

T4 content-validation rejections and time-budget stops are recorded as unknown failure_category

Fixed

T4 content-validation rejections and time-budget stops are recorded as unknown failure_category

job-failure alerts count origin 404 (not_found) and 5xx (target_server_error) as platform failures

Fixed

job-failure alerts count origin 404 (not_found) and 5xx (target_server_error) as platform failures

publish recovery outcomes for load balancer, scanner, security_rate_limit and api_cf_routing checks so memos auto-close

Fixed

publish recovery outcomes for load balancer, scanner, security_rate_limit and api_cf_routing checks so memos auto-close

treat per-account 429s and customer-input 400s as expected so traefik_4xx_flood and security_rate_limit can clear

Fixed

treat per-account 429s and customer-input 400s as expected so traefik_4xx_flood and security_rate_limit can clear

log-monitor titles every ERROR Critical Infrastructure Failure and re-pages every 15 min for a standing condition

Fixed

log-monitor titles every ERROR Critical Infrastructure Failure and re-pages every 15 min for a standing condition

web error scan pages Critical on Next.js server-action scanner probes; filter and classify them

Fixed

web error scan pages Critical on Next.js server-action scanner probes; filter and classify them

refund_retry_all_stores_failed log drops its extra payload, so the documented recovery can't be done from API logs

Fixed

refund_retry_all_stores_failed log drops its extra payload, so the documented recovery can't be done from API logs

apex DNS check alerts DNS Mismatch on every Cloudflare edge IP; port the proxied-path check from check_api_dns

Fixed

apex DNS check alerts DNS Mismatch on every Cloudflare edge IP; port the proxied-path check from check_api_dns

log-monitor.sh exits 1 when the LLM reply lacks ROOT_CAUSE, failing every ERROR cycle and the heartbeat

Fixed

log-monitor.sh exits 1 when the LLM reply lacks ROOT_CAUSE, failing every ERROR cycle and the heartbeat

LLM auth/connection failure alert fires on free-tier 429s; classify as degraded and auto-close on recovery

Fixed

LLM auth/connection failure alert fires on free-tier 429s; classify as degraded and auto-close on recovery

worker package manager.lock regenerated with package manager 2.4.3 breaks pinned 2.2.1 installs (deploy )

Fixed

worker package manager.lock regenerated with package manager 2.4.3 breaks pinned 2.2.1 installs (deploy )

wire 3 new scripts/tests suites and make the wiring guard runnable locally (deploy )

Fixed

wire 3 new scripts/tests suites and make the wiring guard runnable locally (deploy )

entitlement cache epoch ordering and invalidation gaps (review finding — )

Fixed

entitlement cache epoch ordering and invalidation gaps (review finding — )

remove DDG Lite direct-egress burst timeout regression

Fixed

remove DDG Lite direct-egress burst timeout regression

Cloudflare Worker route audit has never passed — token lacks Workers read scopes

Fixed

Cloudflare Worker route audit has never passed — token lacks Workers read scopes

event-loop isolation from hangs the worker suite and breaks asyncpg diagnostics tests

Fixed

event-loop isolation from hangs the worker suite and breaks asyncpg diagnostics tests

r2-evidence-lifecycle token recipe must use exact internal tooling YAML path (deploy )

Fixed

r2-evidence-lifecycle token recipe must use exact internal tooling YAML path (deploy )

auto-resolve cloud provider worker-only error-trigger memos

Fixed

auto-resolve cloud provider worker-only error-trigger memos

successes whose body is a classified challenge are billed in full and invisible to FalseSuccessRateHigh

Fixed

successes whose body is a classified challenge are billed in full and invisible to FalseSuccessRateHigh

provision internal service analytics/GSC/analytics credentials in prod secrets and fail loud instead of reporting "stale"

Fixed

provision internal service analytics/GSC/analytics credentials in prod secrets and fail loud instead of reporting "stale"

drop the per-IP rate-limit-global middleware from web-router so crawlers on public pages are never 429'd at origin

Fixed

drop the per-IP rate-limit-global middleware from web-router so crawlers on public pages are never 429'd at origin

dev.to syndication returns 401 and 4,100 legacy content drafts are never dispatched or expired

Fixed

dev.to syndication returns 401 and 4,100 legacy content drafts are never dispatched or expired

remove bm-verify from vendor-marker extras now derived from bot protection system provider (deploy )

Fixed

remove bm-verify from vendor-marker extras now derived from bot protection system provider (deploy )

refund all-stores test vs budget-exempt fallback; economics contract test vs refactor (deploy )

Fixed

refund all-stores test vs budget-exempt fallback; economics contract test vs refactor (deploy )

update deploy checkout-index and cutover-gate contract tests for and (deploy )

Fixed

update deploy checkout-index and cutover-gate contract tests for and (deploy )

map ovh-internal tooling-issue-link in rsi-coverage.json (deploy )

Fixed

map ovh-internal tooling-issue-link in rsi-coverage.json (deploy )

lost-data alerts (RefundRetryAllStoresFailed) must not auto-close their internal tooling on resolve

Fixed

lost-data alerts (RefundRetryAllStoresFailed) must not auto-close their internal tooling on resolve

cache public marketing HTML so crawl volume never reaches origin (keep crawlers unthrottled)

Fixed

cache public marketing HTML so crawl volume never reaches origin (keep crawlers unthrottled)

bot protection system bm_mi and vendor-script markers on complete real pages are classified as challenges

Fixed

bot protection system bm_mi and vendor-script markers on complete real pages are classified as challenges

register test-deploy-internal tooling-issue-link-token-contract.sh with the CI suite guard (deploy CI)

Fixed

register test-deploy-internal tooling-issue-link-token-contract.sh with the CI suite guard (deploy CI)

follow-up: /etc/server/sites-enabled/alterlab.conf (deferred from )

Fixed

follow-up: /etc/server/sites-enabled/alterlab.conf (deferred from )

register internal tooling-issue-link.sh in the trusted-runtime closure and make the closure check part of lane validation

Fixed

register internal tooling-issue-link.sh in the trusted-runtime closure and make the closure check part of lane validation

proxy cost provenance marks zero-byte metered attempts unknown, so ValidResultEconomicsCoverageDegraded fires permanently

Fixed

proxy cost provenance marks zero-byte metered attempts unknown, so ValidResultEconomicsCoverageDegraded fires permanently

heartbeat-watchdog and ssh-guard drift alerts never create internal tooling; deploy should re-install guard shims

Fixed

heartbeat-watchdog and ssh-guard drift alerts never create internal tooling; deploy should re-install guard shims

Web: SEO structured data, redirects and CLS

Fixed

Web: SEO structured data, redirects and CLS

log-monitor billed-5xx 'retained' check matches any customer's debit, keeping a standing Critical REVENUE IMPACT memo

Fixed

log-monitor billed-5xx 'retained' check matches any customer's debit, keeping a standing Critical REVENUE IMPACT memo

follow-up: Worker-scope WebGL/deviceMemory coherence (deferred from )

Fixed

follow-up: Worker-scope WebGL/deviceMemory coherence (deferred from )

log-monitor tier-stats Lua SCAN freezes cache 2-6s every 15 min — root cause of the 2026-10-19 06:00Z outage

Fixed

log-monitor tier-stats Lua SCAN freezes cache 2-6s every 15 min — root cause of the 2026-10-19 06:00Z outage

DB budget cap strands claimed jobs while database is idle

Fixed

DB budget cap strands claimed jobs while database is idle

node-exporter cannot read the textfile collector dir under 0700 /var/lib/alterlab, so all textfile metrics are invisible

Fixed

node-exporter cannot read the textfile collector dir under 0700 /var/lib/alterlab, so all textfile metrics are invisible

ChallengeCookieCacheZeroHitRate can't distinguish nothing-stored-to-reuse from a broken cache

Fixed

ChallengeCookieCacheZeroHitRate can't distinguish nothing-stored-to-reuse from a broken cache

Bing submit/verify ignores the 100-URL daily quota and ThrottleHost, so discovery reports 0 verified indexed

Fixed

Bing submit/verify ignores the 100-URL daily quota and ThrottleHost, so discovery reports 0 verified indexed

OPERATOR RUNBOOK: restore production recovery posture (ordered — backup, database, credential, cloud provider)

Fixed

OPERATOR RUNBOOK: restore production recovery posture (ordered — backup, database, credential, cloud provider)

obs-redis-keyspace reports "no running api/worker container" on cloud provider while obs-queues works

Fixed

obs-redis-keyspace reports "no running api/worker container" on cloud provider while obs-queues works

settlement checker flags failed batch jobs whose job-keyed refund covers the batch-keyed base debit

Fixed

settlement checker flags failed batch jobs whose job-keyed refund covers the batch-keyed base debit

test_force_t4_preserves_executed_penetrator_engine hangs on an unreaped child process (deploy )

Fixed

test_force_t4_preserves_executed_penetrator_engine hangs on an unreaped child process (deploy )

T3 reachable SLI buckets transport no-response failures as content, hiding the real T3 gap

Fixed

T3 reachable SLI buckets transport no-response failures as content, hiding the real T3 gap

cache 'Too many connections' ~55/h on stream trim and alert processing paths

Fixed

cache 'Too many connections' ~55/h on stream trim and alert processing paths

log-monitor runs an LLM agent with shell/write tools on the prod host, fed attacker-influenced log text

Fixed

log-monitor runs an LLM agent with shell/write tools on the prod host, fed attacker-influenced log text

refund compensation must persist when cache or the DB budget gate is unavailable (all-stores failure drops refunds)

Fixed

refund compensation must persist when cache or the DB budget gate is unavailable (all-stores failure drops refunds)

a single Reddit 401 trips a 7-day permanent circuit and the alert mislabels it as a ban

Fixed

a single Reddit 401 trips a 7-day permanent circuit and the alert mislabels it as a ban

Faster Browser Scraping and Page Accuracy

Subresource Caching for Faster Rendering

New

Browser-rendered requests now cache static assets like scripts and stylesheets. This significantly reduces response latency and accelerates page rendering.

Accurate Minimal Page Delivery

Improved

Single-page app shells, directory listings, and minimal landing pages are now recognized and delivered accurately. Content is returned immediately without being misclassified as blocked or triggering redundant processing.

Faster Processing for Sparse Content

Improved

Eliminated redundant retry loops when requests encounter pages with naturally minimal markup. Scrapes now complete much faster when pages contain limited body text or basic layouts.

General bug fixes and improvements

Improved

Plus 1 internal improvement for better reliability and performance.

Reduced False Detection Blocks

Fixed

Resolved an issue where lightweight tracking scripts injected by target site security systems were falsely flagged as challenges. Scraped pages now return their complete response body without false block errors.

Enhanced Browser Session Reliability

Fixed

Fixed an operational issue where browser rendering processes could fail on worker nodes without active virtual displays. Display environments are now verified prior to execution to guarantee seamless rendering.

shared RFC 9111 cache for T4 browser subresources behind an A/B

shared RFC 9111 cache for T4 browser subresources behind an A/B

New

shared RFC 9111 cache for T4 browser subresources behind an A/B

require a live X server before headed launches

Fixed

require a live X server before headed launches

stop classifying Cloudflare's bot-detection beacon as a challenge

Fixed

stop classifying Cloudflare's bot-detection beacon as a challenge

deliver and bill genuine thin origin pages

Fixed

deliver and bill genuine thin origin pages

stop T4 proxy re-rolls on sparse-page soft blocks

Fixed

stop T4 proxy re-rolls on sparse-page soft blocks

stop the analytics retry interval when window is gone (deploy-blocking test flake)

Fixed

stop the analytics retry interval when window is gone (deploy-blocking test flake)

linear noscript removal in rendered thin-page shape check

Fixed

linear noscript removal in rendered thin-page shape check

linear noscript text strip, id-anchored app-mount scan ( re-review pass 8)

Fixed

linear noscript text strip, id-anchored app-mount scan ( re-review pass 8)

linear empty app-root scan, bounded app-shell/noscript scans ( re-review pass 7)

Fixed

linear empty app-root scan, bounded app-shell/noscript scans ( re-review pass 7)

anchor server_default phrase, exempt short placeholders from empty-shell gate ( re-review pass 6)

Fixed

anchor server_default phrase, exempt short placeholders from empty-shell gate ( re-review pass 6)

placeholder delivery off app shells and Han denials, restore recall ( re-review pass 5)

Fixed

placeholder delivery off app shells and Han denials, restore recall ( re-review pass 5)

positive evidence for tiny and uncovered-script thin pages ( re-review pass 4)

Fixed

positive evidence for tiny and uncovered-script thin pages ( re-review pass 4)

asset cache off customer egress + tiny origin page delivery ( re-review pass 3)

Fixed

asset cache off customer egress + tiny origin page delivery ( re-review pass 3)

staging re-review findings for (asset-cache arm scope, sparse-deny retries)

Fixed

staging re-review findings for (asset-cache arm scope, sparse-deny retries)

address staging review findings on

Fixed

address staging review findings on

force-remove cloud provider slots restarted during drain

Fixed

force-remove cloud provider slots restarted during drain

Accurate Format-Specific Scrape Responses

General bug fixes and improvements

Improved

Plus 3 internal improvements for better reliability and performance.

Format-aware repeat detection caching

Fixed

Scraping requests for identical URLs using different output formats now correctly bypass cached data generated in other formats. This ensures you receive properly formatted scraped content every time you request a new output format for a previously scraped page.

key repeat-detection cache on requested formats

key repeat-detection cache on requested formats

Fixed

key repeat-detection cache on requested formats

Enhanced Request Diagnostics and API Stability

Job Request Option Snapshots

New

Scraper jobs now store a snapshot of submitted options like JavaScript rendering, timeouts, and cost caps. This allows you to easily audit and reproduce request behavior from your dashboard.

Fast Failures on Unreachable Target Sites

Improved

When target servers are unreachable, requests now fail fast instead of running extended retries. This reduces response times by up to 80 seconds on offline targets and avoids extra charges.

Accurate Target Health Monitoring

Improved

Domain health tracking now ignores user-level rate limits and skipped retry steps. This prevents false domain pauses and keeps your extraction pipelines running smoothly.

General bug fixes and improvements

Improved

Plus 11 internal improvements for better reliability and performance.

Modern Web App Content Validation

Fixed

Pages containing large inline hydration state are no longer incorrectly flagged as empty shells. This ensures complete content extraction on modern web applications.

Precise Target Error Classification

Fixed

Target site server errors and 5xx status codes are now accurately classified as origin errors rather than security blocks. This improves status reporting clarity and retry routing.

Reliable Target Connection Timeouts

Fixed

Connection timeouts during target site checks are now handled more accurately. Inconclusive proxy connections are distinguished from down targets for predictable request resolution.

Automatic Recharge Status Resolution

Fixed

Fixed an issue where automatic balance top-ups could stay stuck pending after payment gateway errors. Failed recharges now resolve cleanly so you can retry or update billing details.

API Key Authentication Stability

Security

High server load no longer triggers false unauthorized errors or IP security flags on valid API keys. When authentication capacity is briefly saturated, the API now returns 503 with error auth_unavailable and a Retry-After header instead of 401, and WebSocket connections close with code 1013 (Try Again Later) instead of 4001. Retry after the indicated delay; do not rotate the key. Newly created or regenerated API keys also authenticate immediately without lockouts.

render_js Requires a Tier 4 Cap

Breaking

Requests that set advanced.render_js to true with cost_controls.max_tier below "4" are now rejected with 422 at submission, before any charge, on /api/v1/scrape, /api/v1/batch items and /api/v1/crawl. Browser rendering runs on tier 4, so set max_tier to "4", omit it, or use render_js "auto".

deliver synthetic probe credentials to cloud provider monitoring config

deliver synthetic probe credentials to cloud provider monitoring config

Fixed

deliver synthetic probe credentials to cloud provider monitoring config

v6.0.0

MAJOR

Smarter Rate Limits and Detailed Analytics

Account-wide rate limits

New

Rate limits are now evaluated across your entire account rather than per individual API key. This ensures consistent capacity management when distributing API keys across multiple services.

Extraction cost analytics API

New

A new API endpoint provides detailed metrics on verified data extraction costs and coverage rates across your requests. Use these insights to optimize request parameters and monitor cost efficiency in real time.

Resource bounds for PDF parsing

Improved

PDF parsing and text extraction now include safety limits on document size and stream decompression. This prevents timeout errors when processing complex or highly compressed PDF documents.

Improved challenge page detection

Improved

Diagnostic responses now accurately identify verification challenges appearing on 4xx HTTP status pages. Scrapes on affected sites now properly report verification requirements rather than generic origin errors.

Enhanced anti-detection compatibility

Improved

Updated request execution profiles to better match standard browser behavior on protected target websites. This improves success rates on domains enforcing strict security checks.

General bug fixes and improvements

Improved

Plus 47 internal improvements for better reliability and performance.

Batch billing reconciliation fixes

Fixed

Fixed edge cases where add-on features like proxy routing and structured extraction were miscalculated during batch job execution. Billing reconciliations now accurately reflect actual job usage.

Dashboard deposit UI fixes

Fixed

Resolved issues in the web dashboard where payment authorization errors were collapsed into generic messages. You can now view structured error feedback and manage quick deposits seamlessly.

Authenticated request limit fix

Fixed

Fixed an issue where valid API key requests within your plan allowance were occasionally throttled by secondary rate limiters. Keyed requests now reliably receive their full plan throughput.

Preserved batch error details

Fixed

Error classification categories and failure diagnostics are now permanently retained for failed or cancelled batch jobs. This enables easier troubleshooting through the dashboard and API.

Dashboard support connection stability

Fixed

Fixed an issue where live support sessions in the dashboard could enter an unrecoverable state after transient disconnects. The widget now automatically reconnects and resumes your chat session.

Reliable SDK Batch Scraping

Fixed

Resolved an issue where batch scraping calls in the Python and Node SDKs returned request formatting errors. Batch jobs now serialize correctly and execute without failure.

Uninterrupted Authenticated API Traffic

Fixed

Fixed an issue that caused valid API requests using API keys to trigger unexpected rate limits. Authenticated traffic now bypasses global rate-limiting checks seamlessly.

Web session security hardening

Security

Hardened dashboard authentication proxies and session binding validations across administrative routes. This provides stronger access controls and protects user sessions against unauthorized proxying.

repair stale tests failing on deploy

T3 attempt-success SLI on a legal-reachable denominator — track the 90% T3 goal

New

T3 attempt-success SLI on a legal-reachable denominator — track the 90% T3 goal

vendor-class Chromium vs Firefox T4 engine A/B switch (anti-bot system class)

New

vendor-class Chromium vs Firefox T4 engine A/B switch (anti-bot system class)

persist a sanitized request-options snapshot per job (tier cap, render_js, timeout, BYOP flag, cost caps)

New

persist a sanitized request-options snapshot per job (tier cap, render_js, timeout, BYOP flag, cost caps)

repair stale tests failing on deploy

Fixed

repair stale tests failing on deploy

retain pre-debited use_proxy add-on in worker reconciliation

Fixed

retain pre-debited use_proxy add-on in worker reconciliation

block listed abuser IPs before the WAF skip rule and stop trusting crawler UAs

Fixed

block listed abuser IPs before the WAF skip rule and stop trusting crawler UAs

revert cloud provider workers when the cloud provider deploy tail fails after the overlapped rollout

Fixed

revert cloud provider workers when the cloud provider deploy tail fails after the overlapped rollout

avoid bare else under drone-ssh script_stop

Fixed

avoid bare else under drone-ssh script_stop

CF edge rate-limit exporter fails every poll — zone lacks access to GraphQL path

Fixed

CF edge rate-limit exporter fails every poll — zone lacks access to GraphQL path

SLA rules and SlaMeasurementAbsent select entrypoint=websecure; prod traffic is on web

Fixed

SLA rules and SlaMeasurementAbsent select entrypoint=websecure; prod traffic is on web

synthetic probe unverified since 10-08 — SYNTHETIC_PROBE_API_KEY not provisioned

Fixed

synthetic probe unverified since 10-08 — SYNTHETIC_PROBE_API_KEY not provisioned

pg-compose-drift can't read shared_preload_libraries as NOSUPERUSER alterlab

Fixed

pg-compose-drift can't read shared_preload_libraries as NOSUPERUSER alterlab

discovery verifier status write fails with AmbiguousParameterError on reused :status bind

Fixed

discovery verifier status write fails with AmbiguousParameterError on reused :status bind

deterministic sleep counts in T4 solver deadline tests

Fixed

deterministic sleep counts in T4 solver deadline tests

anti-bot system T4 Firefox-route clearance regressed with the Windows Firefox identity (allegro 5/5 to 0/6)

Fixed

anti-bot system T4 Firefox-route clearance regressed with the Windows Firefox identity (allegro 5/5 to 0/6)

validate impersonation bundles against real-browser captures; choose vendor engine/profile by telemetry (firefox135 23 majors stale, chrome150 JA4 skew)

Fixed

validate impersonation bundles against real-browser captures; choose vendor engine/profile by telemetry (firefox135 23 majors stale, chrome150 JA4 skew)

static cloudflare_blocked and bot protection system edge-deny are identity-specific — rotate identity before concluding IP reputation

Fixed

static cloudflare_blocked and bot protection system edge-deny are identity-specific — rotate identity before concluding IP reputation

capped/forced/breaker-skipped failures poison domain stats; fast-fail pauses domains for all customers without T4 evidence

Fixed

capped/forced/breaker-skipped failures poison domain stats; fast-fail pauses domains for all customers without T4 evidence

nodriver anti-bot system fallback cannot resolve Chrome in the multi-stage worker image (and drops proxy credentials)

Fixed

nodriver anti-bot system fallback cannot resolve Chrome in the multi-stage worker image (and drops proxy credentials)

origin errors, PHP fatals and bot challenges mislabelled soft_block / ip_rep / WAF

Fixed

origin errors, PHP fatals and bot challenges mislabelled soft_block / ip_rep / WAF

reject render_js=true with request controls.max_tier<4 at submission instead of dispatch-then-fail

Fixed

reject render_js=true with request controls.max_tier<4 at submission instead of dispatch-then-fail

CSR-shell heuristic rejects real pages with large inline hydration state

Fixed

CSR-shell heuristic rejects real pages with large inline hydration state

corroborated Cloudflare 521/522/523 origin-down still escalates to T4 (~80s/job, 0 recoveries)

Fixed

corroborated Cloudflare 521/522/523 origin-down still escalates to T4 (~80s/job, 0 recoveries)

Argon2 pool saturation returns 401 and records failed auth for the caller IP; legacy path has no per-key throttle (review finding — )

Fixed

Argon2 pool saturation returns 401 and records failed auth for the caller IP; legacy path has no per-key throttle (review finding — )

worker test suite hangs at test_solver_direct_turnstile_emits_event_without_double_count (CI runner killed)

Fixed

worker test suite hangs at test_solver_direct_turnstile_emits_event_without_double_count (CI runner killed)

key_id lock rejects a legitimate holder lacking a known-good marker (new, regenerated, dormant or post-flush keys) and gate rejections count as failed auth for the caller IP (review finding — )

Fixed

key_id lock rejects a legitimate holder lacking a known-good marker (new, regenerated, dormant or post-flush keys) and gate rejections count as failed auth for the caller IP (review finding — )

165 recharge_attempts stuck pending since 2026-07-03 on one paying account

Fixed

165 recharge_attempts stuck pending since 2026-07-03 on one paying account

cloud provider tail timeout or failed restore is reported as cloud provider restored and skips the cloud provider rollback leg

Fixed

cloud provider tail timeout or failed restore is reported as cloud provider restored and skips the cloud provider rollback leg

retire OpenTable's hardcoded T4 pin and Shape misclassification (telemetry contradicts it)

Fixed

retire OpenTable's hardcoded T4 pin and Shape misclassification (telemetry contradicts it)

Python SDK batch_scrape posts "requests" but API BatchRequest requires "urls" so every call returns 422; Node SDK fixed in same bundle (review finding — )

Fixed

Python SDK batch_scrape posts "requests" but API BatchRequest requires "urls" so every call returns 422; Node SDK fixed in same bundle (review finding — )

Faster Target Validation and Clearer Errors

Zero-cost short-circuiting for constraint limits

New

When request parameters set execution limits below what a target domain requires, requests now short-circuit immediately. These requests return instant diagnostic feedback without incurring billing charges.

Faster validation for unreachable target servers

Improved

Lightweight pre-checks now verify target web server availability before full execution. Requests targeting unreachable origins fail significantly faster, avoiding unnecessary waiting times.

General bug fixes and improvements

Improved

Plus 23 internal improvements for better reliability and performance.

Accurate messaging for target DNS errors

Fixed

Transient domain resolution failures on target URLs are no longer misclassified as security blocks. You now receive explicit error feedback whenever a target hostname fails to resolve.

Clearer diagnostic error and suggestion messages

Fixed

Error messages and troubleshooting tips returned during access blocks have been updated for clarity. Diagnostic responses now offer actionable guidance instead of suggesting sites are unscrapable.

Restored page context in script evaluation

Fixed

Custom JavaScript evaluation actions now execute in the main page window context as expected. Evaluated scripts maintain full access to DOM elements, window properties, and global objects.

Safe payment deposits during network dropouts

Fixed

Quick-deposit account funding calls now include idempotency keys and enhanced retry safety. Network connection dropouts during deposit processing no longer report false failure statuses.

Historical analytics for organization accounts

Fixed

Organization usage dashboards and breakdown charts now correctly include historical usage recorded before team setup. Account administrators can view complete usage trends across all billing periods.

Accurate organization refund attribution

Fixed

Automatic refunds for add-on services now strictly attribute credits to the organization funding principal. Credits are reliably returned to the primary team wallet in multi-user accounts.

pre-dispatch `customer_capped` short-circuit when vendor x tier telemetry shows every tier at or below the customer's max_tier is ~0% (bounded probe budget, no charge, bandwidth-avoided counter)

pre-dispatch `customer_capped` short-circuit when vendor x tier telemetry shows every tier at or below the customer's max_tier is ~0% (bounded probe budget, no charge, bandwidth-avoided counter)

New

pre-dispatch `customer_capped` short-circuit when vendor x tier telemetry shows every tier at or below the customer's max_tier is ~0% (bounded probe budget, no charge, bandwidth-avoided counter)

corroborate dead origins with a cheap TCP/TLS-SNI probe before T3 retries, with explicit-scheme-respecting HTTP fallback

New

corroborate dead origins with a cheap TCP/TLS-SNI probe before T3 retries, with explicit-scheme-respecting HTTP fallback

automatic lead sources — B2B detector, signup linking, filter intake

New

automatic lead sources — B2B detector, signup linking, filter intake

production-path A/B for Amazon T4 image blocking (replaces never-run gate)

New

production-path A/B for Amazon T4 image blocking (replaces never-run gate)

meter real proxy wire bytes per job and feed proxy_cost_daily from the unified pipeline

New

meter real proxy wire bytes per job and feed proxy_cost_daily from the unified pipeline

event-driven per-container cloud provider final health wait

New

event-driven per-container cloud provider final health wait

admin UI watch results and end-to-end regression-then-rollback test

New

admin UI watch results and end-to-end regression-then-rollback test

persist per-job content-validity verdict and cost provenance on scrape_diagnostics ( part 1)

New

persist per-job content-validity verdict and cost provenance on scrape_diagnostics ( part 1)

reuse images by retagging existing :<digest> instead of rebuilding

New

reuse images by retagging existing :<digest> instead of rebuilding

explicit cloud provider traffic-commit point and cloud provider rollout overlapped with the cloud provider tail

New

explicit cloud provider traffic-commit point and cloud provider rollout overlapped with the cloud provider tail

batched, per-service-concurrent cloud provider worker with live-capacity floor

New

batched, per-service-concurrent cloud provider worker with live-capacity floor

content-addressed per-service image input digest and :<digest> tagging (no behaviour change)

New

content-addressed per-service image input digest and :<digest> tagging (no behaviour change)

risk-tiered, evidence-based progression

New

risk-tiered, evidence-based progression

restructure job graph — build in parallel with tests, changelog off the critical path, single Next.js build

New

restructure job graph — build in parallel with tests, changelog off the critical path, single Next.js build

terminal-state issue write-back and bidirectional supersession links

New

terminal-state issue write-back and bidirectional supersession links

tiered load shedding (503 + Retry-After) and concurrency as the primary metered dimension

New

tiered load shedding (503 + Retry-After) and concurrency as the primary metered dimension

change-scoped rollout: skip cloud provider/cloud provider when runtime image digests are unchanged

New

change-scoped rollout: skip cloud provider/cloud provider when runtime image digests are unchanged

decide+feat(api): key rate limits by account (sum across keys) instead of per API key

New

decide+feat(api): key rate limits by account (sum across keys) instead of per API key

export valid-result economics and add coverage-aware dashboard panels and budget alerts ( part 3)

New

export valid-result economics and add coverage-aware dashboard panels and budget alerts ( part 3)

coverage-aware cost per verified valid result endpoint ( part 2)

New

coverage-aware cost per verified valid result endpoint ( part 2)

WorkerBrowserPoolSaturated reports the utilisation ratio as "sessions" and alerts on a cache that is full by design

Fixed

WorkerBrowserPoolSaturated reports the utilisation ratio as "sessions" and alerts on a cache that is full by design

classify user-capped failures as `customer_capped` (excluded from stealth/success SLI only when vendor x tier telemetry shows a higher tier succeeds) and tell the customer

Fixed

classify user-capped failures as `customer_capped` (excluded from stealth/success SLI only when vendor x tier telemetry shows a higher tier succeeds) and tell the customer

transient DNS resolver failures are reported to customers as SSRF blocks

Fixed

transient DNS resolver failures are reported to customers as SSRF blocks

cloud provider/cloud provider scraper and structurer expected counts disagree across three monitors

Fixed

cloud provider/cloud provider scraper and structurer expected counts disagree across three monitors

log-monitor 5xx scan tail ramp is below real log volume and the billing outcome is never verified

Fixed

log-monitor 5xx scan tail ramp is below real log volume and the billing outcome is never verified

replace customer-facing error and suggestion copy that implies a site cannot be scraped

Fixed

replace customer-facing error and suggestion copy that implies a site cannot be scraped

alert runbooks hardcode service so operators query a container that does not exist when green is active

Fixed

alert runbooks hardcode service so operators query a container that does not exist when green is active

tier-policy alerts mix connection-level denials into vendor_class and flag non-canonical detector strings

Fixed

tier-policy alerts mix connection-level denials into vendor_class and flag non-canonical detector strings

"Tier Health" in the DevOps report is a capped all-time per-attempt counter, not tier success

Fixed

"Tier Health" in the DevOps report is a capped all-time per-attempt counter, not tier success

proactive T4 clamp leaves T4 reachable without T3 when AI engine skips T3 (review finding — )

Fixed

proactive T4 clamp leaves T4 reachable without T3 when AI engine skips T3 (review finding — )

CPR bot protection system pages recorded as proxy/ASN IP-reputation failures via reputation_class (review finding — )

Fixed

CPR bot protection system pages recorded as proxy/ASN IP-reputation failures via reputation_class (review finding — )

failed job with pending refund retry classed settlement_mismatch instead of unknown (review finding — )

Fixed

failed job with pending refund retry classed settlement_mismatch instead of unknown (review finding — )

record CF circuit numerator and denominator at the same point (review finding — )

Fixed

record CF circuit numerator and denominator at the same point (review finding — )

Fix(api): 96 more stdlib-logger calls with structlog kwargs raise TypeError (21 files) — fix all + repo-wide guard

Fixed

Fix(api): 96 more stdlib-logger calls with structlog kwargs raise TypeError (21 files) — fix all + repo-wide guard

gross-or-net match on succeeded jobs hides post-success refunds (review finding — )

Fixed

gross-or-net match on succeeded jobs hides post-success refunds (review finding — )

disk alert overstates reclaimable images and docs claim journald is about 104MB when it is 4.0GB

Fixed

disk alert overstates reclaimable images and docs claim journald is about 104MB when it is 4.0GB

T4 synthetic screen sizes (viewport+130+taskbar) and 3-entry plugins list

Fixed

T4 synthetic screen sizes (viewport+130+taskbar) and 3-entry plugins list

Fix(worker): bot protection system rotation transport error denies T4 on sec-cpt evidence (, )

Fixed

Fix(worker): bot protection system rotation transport error denies T4 on sec-cpt evidence (, )

redacted_redis_target can leak password tail for unencoded @ and / (review finding — )

Fixed

redacted_redis_target can leak password tail for unencoded @ and / (review finding — )

T4 deadline neutrality masks earlier-tier antibot evidence (review finding — )

Fixed

T4 deadline neutrality masks earlier-tier antibot evidence (review finding — )

move embeddings to dedicated CORTEX_EMBEDDING_API_KEY with own balance check; drop text-embedding-3-small from chat allowlist

Fixed

move embeddings to dedicated CORTEX_EMBEDDING_API_KEY with own balance check; drop text-embedding-3-small from chat allowlist

tier attempts missing on 0.5/replay/T4-shortcut paths and Turnstile attempts marked success on failed jobs

Fixed

tier attempts missing on 0.5/replay/T4-shortcut paths and Turnstile attempts marked success on failed jobs

incident spool installer loosens /var/lib/alterlab state dirs to 755 (review finding — )

Fixed

incident spool installer loosens /var/lib/alterlab state dirs to 755 (review finding — )

freshness subnet probes not charged against re-roll budget (review finding - )

Fixed

freshness subnet probes not charged against re-roll budget (review finding - )

patchright page.evaluate isolated world changes evaluate-action semantics (review finding — )

Fixed

patchright page.evaluate isolated world changes evaluate-action semantics (review finding — )

Billing: Stripe webhook deposit settlement correctness

Fixed

Billing: Stripe webhook deposit settlement correctness

Worker: T4 breaker, deadline and evidence envelope follow-ups

Fixed

Worker: T4 breaker, deadline and evidence envelope follow-ups

API/SDK: proxy intent request contract

Fixed

API/SDK: proxy intent request contract

API: entitlement rate-limit reservation ordering and headroom headers

Fixed

API: entitlement rate-limit reservation ordering and headroom headers

Billing: organization usage attribution findings (PRs ///)

Fixed

Billing: organization usage attribution findings (PRs ///)

bound PDF decompression and extraction resource usage

Fixed

bound PDF decompression and extraction resource usage

DevOps report 429 counter reads a legacy log line; 4xx-flood alert cannot attribute client

Fixed

DevOps report 429 counter reads a legacy log line; 4xx-flood alert cannot attribute client

settlement checker raises false missing_debit for scheduled jobs (debit under reference_type=schedule)

Fixed

settlement checker raises false missing_debit for scheduled jobs (debit under reference_type=schedule)

job failure-rate alerts count dead-origin and origin-error-page outcomes as scraping failures

Fixed

job failure-rate alerts count dead-origin and origin-error-page outcomes as scraping failures

Fastly 403 hard-labelled as IP-reputation and T4 denied untested; api.sofascore.com still 0% after the UA fix (was ~70% until 2026-09-25)

Fixed

Fastly 403 hard-labelled as IP-reputation and T4 denied untested; api.sofascore.com still 0% after the UA fix (was ~70% until 2026-09-25)

first database-budget admission after boot always fails (lazyConnect with offline queue disabled)

Fixed

first database-budget admission after boot always fails (lazyConnect with offline queue disabled)

cloud provider load alert assumes 8 cores on a 12-vCPU host and fleet status excerpts truncate to 8 lines

Fixed

cloud provider load alert assumes 8 cores on a 12-vCPU host and fleet status excerpts truncate to 8 lines

settlement checker first-run failure is undiagnosable and blind until next interval after deploy

Fixed

settlement checker first-run failure is undiagnosable and blind until next interval after deploy

status-gated 4xx pages are reported as origin_unavailable "not a bot-detection block" even when the detector classified a vendor challenge (~130 of 371 failures/24h)

Fixed

status-gated 4xx pages are reported as origin_unavailable "not a bot-detection block" even when the detector classified a vendor challenge (~130 of 371 failures/24h)

Default T4 script still defines navigator/screen overrides as own instance properties after moved advanced browser to prototypes (review finding — )

Fixed

Default T4 script still defines navigator/screen overrides as own instance properties after moved advanced browser to prototypes (review finding — )

tier-capped requests consume the T4 breaker half-open probe slot, so the breaker is never re-tested (www.yelp.com anti-bot system: 541/682 failures in 24h)

Fixed

tier-capped requests consume the T4 breaker half-open probe slot, so the breaker is never re-tested (www.yelp.com anti-bot system: 541/682 failures in 24h)

delta baselines and cooldowns under per-deploy cron generation dir cause false cache eviction CRITICAL after every deploy

Fixed

delta baselines and cooldowns under per-deploy cron generation dir cause false cache eviction CRITICAL after every deploy

fix covers only auth call sites; support/submit, demo-security, proxy-passthrough, affiliates click still forward unverified CF-Connecting-IP/XFF (review finding — )

Fixed

fix covers only auth call sites; support/submit, demo-security, proxy-passthrough, affiliates click still forward unverified CF-Connecting-IP/XFF (review finding — )

auto TLS-verify bypass is job-wide, covers proxied legs and customer auth headers (review finding SEC-1 - )

Fixed

auto TLS-verify bypass is job-wide, covers proxied legs and customer auth headers (review finding SEC-1 - )

Cloudflare cache-hit-rate alert is zone-wide and counts uncacheable API traffic

Fixed

Cloudflare cache-hit-rate alert is zone-wide and counts uncacheable API traffic

follow-up: 3 deferred item(s) (deferred from )

Fixed

follow-up: 3 deferred item(s) (deferred from )

Uptime Guardian ignores in-progress blue/green deploys and posts literal backslash-n in Discord messages

Fixed

Uptime Guardian ignores in-progress blue/green deploys and posts literal backslash-n in Discord messages

Vacuum Staleness alert flags tables below autovacuum trigger, prints stray 0, and instructs container exec

Fixed

Vacuum Staleness alert flags tables below autovacuum trigger, prints stray 0, and instructs container exec

scrape cache and in-flight keys ignore skip_tls_verification (review finding API-1 - )

Fixed

scrape cache and in-flight keys ignore skip_tls_verification (review finding API-1 - )

Real scaled-laptop screen sizes (1536x864, 1280x720) drawn with device_scale_factor fixed at 1 contradicts advanced browser pairing (D.25/1.5) (review finding — )

Fixed

Real scaled-laptop screen sizes (1536x864, 1280x720) drawn with device_scale_factor fixed at 1 contradicts advanced browser pairing (D.25/1.5) (review finding — )

Keyed-API challenge exemption trusts any non-empty X-API-Key / "bearer " Authorization value, so a junk header skips WAF challenges 3/6/7 and /v1/* has no edge rate limit (review finding — )

Fixed

Keyed-API challenge exemption trusts any non-empty X-API-Key / "bearer " Authorization value, so a junk header skips WAF challenges 3/6/7 and /v1/* has no edge rate limit (review finding — )

unclosed <p hidden>/<li hidden> hides all later text from interstitial scan (review finding SCR-1 - )

Fixed

unclosed <p hidden>/<li hidden> hides all later text from interstitial scan (review finding SCR-1 - )

Firefox T4 attempts hit the 45 s deadline on ~40% of Cloudflare/anti-bot system challenges since 2026-10-08

Fixed

Firefox T4 attempts hit the 45 s deadline on ~40% of Cloudflare/anti-bot system challenges since 2026-10-08

internal tooling-bridge crashes refresh on non-numeric memo counters (review finding — )

Fixed

internal tooling-bridge crashes refresh on non-numeric memo counters (review finding — )

API: org billing error contract and payer resolution surface

Fixed

API: org billing error contract and payer resolution surface

SDK Drift: Missing SDK parameters — Node (8 items) [sdk-drift:missing_params:node]

Fixed

SDK Drift: Missing SDK parameters — Node (8 items) [sdk-drift:missing_params:node]

Billing: API contract, changelog and retry-helper polish

Fixed

Billing: API contract, changelog and retry-helper polish

Billing: org owner debit-fence behavior fixes

Fixed

Billing: org owner debit-fence behavior fixes

probe_error keys drop current-side detail and persist raw exception text (review finding — )

Fixed

probe_error keys drop current-side detail and persist raw exception text (review finding — )

bound the shadow dry run's rclone install so an apt hang can't consume the 50-minute job

Fixed

bound the shadow dry run's rclone install so an apt hang can't consume the 50-minute job

0364 allowlist superseded_by names unrelated migration 0388 (review finding — )

Fixed

0364 allowlist superseded_by names unrelated migration 0388 (review finding — )

guardian skips probes on 50:50 (review finding — )

Fixed

guardian skips probes on 50:50 (review finding — )

Scheduler: billing principal and dispatch-slot correctness at run time

Fixed

Scheduler: billing principal and dispatch-slot correctness at run time

Web: production-actions admin page UI fixes

Fixed

Web: production-actions admin page UI fixes

Billing: search child debit/enqueue compensation (/)

Fixed

Billing: search child debit/enqueue compensation (/)

CI: wire missing test suites and harden CI migration/test harness

Fixed

CI: wire missing test suites and harden CI migration/test harness

Billing: refund_pending usage-row reconcile correctness ( cohort)

Fixed

Billing: refund_pending usage-row reconcile correctness ( cohort)

release entitlement rate slot after failed scheduled debit (review finding — )

Fixed

release entitlement rate slot after failed scheduled debit (review finding — )

make periodic recovery sweeps run once per cadence across Uvicorn workers

Fixed

make periodic recovery sweeps run once per cadence across Uvicorn workers

P3 activate-demo findings from

Fixed

P3 activate-demo findings from

T4.5 never engages on challenge pages — gate requires _last_t3_html which challenge failures never set; Kasada V8 solver remains unwired

Fixed

T4.5 never engages on challenge pages — gate requires _last_t3_html which challenge failures never set; Kasada V8 solver remains unwired

resolve apex API health routing block and align the Cloudflare probe

Fixed

resolve apex API health routing block and align the Cloudflare probe

2 compatible issues —

Fixed

2 compatible issues —

import the 25-message support@ backlog before enabling live inbound polling

Fixed

import the 25-message support@ backlog before enabling live inbound polling

return 400 for malformed public JSON instead of 500 error storms

Fixed

return 400 for malformed public JSON instead of 500 error storms

pin the audited executor blob for the approved-dispatch executor

Fixed

pin the audited executor blob for the approved-dispatch executor

let crawlers fetch Next.js rendering assets in robots.txt

Fixed

let crawlers fetch Next.js rendering assets in robots.txt

parseable, Free-plan-sized WAF policy — discovery-first website, locked-down API

Fixed

parseable, Free-plan-sized WAF policy — discovery-first website, locked-down API

dispatch approved production actions via approved -> scheduled -> executing

Fixed

dispatch approved production actions via approved -> scheduled -> executing

data policy missing 0450 tier_attempt rollup tables; test-only ORM fixture leaks into table inventory

Fixed

data policy missing 0450 tier_attempt rollup tables; test-only ORM fixture leaks into table inventory

routers/ uses the fail-open org billing resolver on a request path

Fixed

routers/ uses the fail-open org billing resolver on a request path

OpenAPI contract tests fail — batch search documents 409, and latest archive mismatches current contract

Fixed

OpenAPI contract tests fail — batch search documents 409, and latest archive mismatches current contract

builds httpx.AsyncClient outside the egress allowlist (egress AST guard fails)

Fixed

builds httpx.AsyncClient outside the egress allowlist (egress AST guard fails)

Cloudflare Worker route check gates on removed step id pre-cloud provider-status (never runs)

Fixed

Cloudflare Worker route check gates on removed step id pre-cloud provider-status (never runs)

deploy-production test-api org-fence step drifted from (deploy/CI parity test fails)

Fixed

deploy-production test-api org-fence step drifted from (deploy/CI parity test fails)

backup/restore/migration-safety job has unaccounted test suites

Fixed

backup/restore/migration-safety job has unaccounted test suites

SDK sync check test_detect_drift_checks_actual_scrape_response_fields raises StopIteration

Fixed

SDK sync check test_detect_drift_checks_actual_scrape_response_fields raises StopIteration

config/sdk_manifest.json is stale vs SDK sources

Fixed

config/sdk_manifest.json is stale vs SDK sources

cloud provider rollback runner is not valid Bash — unterminated REMOTE_EOF here-doc

Fixed

cloud provider rollback runner is not valid Bash — unterminated REMOTE_EOF here-doc

deposit route test 'forwards structured definitive promo validation codes without backend details' fails

Fixed

deposit route test 'forwards structured definitive promo validation codes without backend details' fails

trusted-runtime bundle omits infra/monitoring/pg-compose-drift.sh (root cron install would fail)

Fixed

trusted-runtime bundle omits infra/monitoring/pg-compose-drift.sh (root cron install would fail)

Web: session-binding and auth proxy route hardening

Fixed

Web: session-binding and auth proxy route hardening

deploy step leaves staged index entry in production checkout (review finding — )

Fixed

deploy step leaves staged index entry in production checkout (review finding — )

API: job dispatch reservation and create_job robustness

Fixed

API: job dispatch reservation and create_job robustness

Web: DepositFunds and Quick Deposit UI fixes

Fixed

Web: DepositFunds and Quick Deposit UI fixes

persist failed crawl spend release as a durable retry record (review finding — )

Fixed

persist failed crawl spend release as a durable retry record (review finding — )

lost Stripe disputes never claw back disputed deposit credit

Fixed

lost Stripe disputes never claw back disputed deposit credit

wait_for around to_thread inventory scan leaves Stripe scan thread running (review finding — )

Fixed

wait_for around to_thread inventory scan leaves Stripe scan thread running (review finding — )

deployed-version verifier can report verified with a declared service down or replica on stale tag (review finding — )

Fixed

deployed-version verifier can report verified with a declared service down or replica on stale tag (review finding — )

count worker-side all-store refund retry failures and alert (review finding — )

Fixed

count worker-side all-store refund retry failures and alert (review finding — )

deposit fast path holds DB transaction open across Stripe retrieve (review finding — )

Fixed

deposit fast path holds DB transaction open across Stripe retrieve (review finding — )

log replay identifiers needed for artifact_recharge retry records (review finding — )

Fixed

log replay identifiers needed for artifact_recharge retry records (review finding — )

deployed-version verifier yields permanent UNKNOWN when checkout is ahead of running image tag (review finding — )

Fixed

deployed-version verifier yields permanent UNKNOWN when checkout is ahead of running image tag (review finding — )

rl2 must not meter authenticated API traffic below entitlement — exempt well-formed keyed requests, add volumetric backstop

Fixed

rl2 must not meter authenticated API traffic below entitlement — exempt well-formed keyed requests, add volumetric backstop

Worker: custom configuration cache isolation and identity pool safety

Fixed

Worker: custom configuration cache isolation and identity pool safety

Data: diagnostic and attempt-outcome retention

Fixed

Data: diagnostic and attempt-outcome retention

30fps frame cap removed for all FlowingParticles presets (review finding — )

Fixed

30fps frame cap removed for all FlowingParticles presets (review finding — )

SDK Drift: Missing SDK response fields — Node (5 items) [sdk-drift:missing_response_fields:node]

Fixed

SDK Drift: Missing SDK response fields — Node (5 items) [sdk-drift:missing_response_fields:node]

shared OpenAPI 429 body omits spend_limit_exceeded variant (review finding — )

Fixed

shared OpenAPI 429 body omits spend_limit_exceeded variant (review finding — )

pre-auth hardening before relaxing edge limits on keyed traffic

Fixed

pre-auth hardening before relaxing edge limits on keyed traffic

SDK Drift: Missing SDK parameters — Python (1 item) [sdk-drift:missing_params:python]

Fixed

SDK Drift: Missing SDK parameters — Python (1 item) [sdk-drift:missing_params:python]

promo reclaim candidate join accepts NULL promo_reserved_by_user_id across principals (review finding — )

Fixed

promo reclaim candidate join accepts NULL promo_reserved_by_user_id across principals (review finding — )

support WS client has unrecoverable terminal states (review finding — )

Fixed

support WS client has unrecoverable terminal states (review finding — )

deployed-version verifier counts non-healthy container states as healthy (review finding — )

Fixed

deployed-version verifier counts non-healthy container states as healthy (review finding — )

monitor-actor guard for deployed-verified is a literal denylist (review finding — )

Fixed

monitor-actor guard for deployed-verified is a literal denylist (review finding — )

ememo_link_issue races across sibling memos of one incident (review finding — )

Fixed

ememo_link_issue races across sibling memos of one incident (review finding — )

internal tooling claim marker never expires or is released (review finding — )

Fixed

internal tooling claim marker never expires or is released (review finding — )

egress re-roll loop ends early on non-reputation status-0 attempt (review finding - )

Fixed

egress re-roll loop ends early on non-reputation status-0 attempt (review finding - )

Edge: Cloudflare personalization Worker fixes

Fixed

Edge: Cloudflare personalization Worker fixes

Shared: penetrator in-place hold page evidence

Fixed

Shared: penetrator in-place hold page evidence

Performance Improvements

fail-closed target egress helper, origin-egress metric, AST CI guard

New

Adds (, ): SSRF and request-time DNS validation, system proxy only (no proxy means refusal, never a direct origin-IP fetch), one pinned UA/header set per call, manual redirect loop re-validating every.

give T1 a bounded grace after an early T2 win in the tier race

New

In the T1/T2 tier race, T1 gets a 1 s head start before T2 (HTTP client) also starts.

route the storage_shared backup lane to Netcup (netcup:storage policy scheme, sender + verifier)

New

Owner decision : publish the protected user-uploads lane to the Netcup relay namespace instead of .

storage namespace + backup-storage-relay account in the Netcup backup relay

New

Owner decision moves the protected user-uploads backup lane off Cloudflare onto Netcup.

LLM inbound filter for support@ routing ticket / crm / ignore

New

Every email to support@ currently becomes a ticket (34 of 98 email tickets on 2026-10-10 were noise, 6 were CRM/sales).

fix(ci): track restore-drill verifier pin a115befe in its contract test

Improved

(, merged via ) moved the immutable storage verifier pin in from to (object-data-policy V4).

fix(stealth): make advanced browser device classes coherent across identity, client hints and TLS

Improved

## Audit findings (why current behavior existed).

fix(worker): native Firefox identity on the T4 Firefox engine

Improved

## Audit (why it was this way).

fix(monitoring): alert on per-job thin-content false successes, not T4 selector misses

Improved

divided (per T4 browser *attempt*, includes retries and later-failed jobs, "miss" = generic article selectors absent in ~2s) by (per job, all tiers).

fix(monitoring): ensure jq on cloud provider from root cron setup; detect blind probe venv

Improved

- (run as root on every deploy by ) now ensures via apt-get.

General bug fixes and improvements

Improved

Plus 9 internal improvements for better reliability and performance.

prune-storage orders generations by caller-chosen filename stamp (review finding — )

Fixed

in ranked storage generations by the client-chosen filename stamp, so a holder of the key could commit far-future generations and make delete every real generation in a lane (review finding from .

remove origin-IP content-type HEAD and smart-render probe, delete dead egress code

Fixed

Stops the live origin-IP leak: the API sent unproxied requests to customer targets on extensionless scrape submissions ( HEAD) and a self-identifying GET for.

tier-learning attribution, evidence wiring, BYOP rotation counter (, )

Fixed

Accounting, wiring and telemetry only — no escalation or tier-selection change.

T3 pool lease setup and tier rejection log context (, )

Fixed

Members: , .

owner-lease fenced profile claim republish

Fixed

The stale-claim reaper republished a processing profile claim once its heartbeat score was older than 120s, with no proof the original handler had stopped.

dashboard shows the account's current tier, limits and recent 429s

dashboard shows the account's current tier, limits and recent 429s

New

dashboard shows the account's current tier, limits and recent 429s

port Payer Funnel Optimization activation work (////) to staging, resolving /

New

port Payer Funnel Optimization activation work (////) to staging, resolving /

production cloud provider base+database PITR restore drill

New

production cloud provider base+database PITR restore drill

leads core — crm_leads, activity log, admin + agent API, email intake

New

leads core — crm_leads, activity log, admin + agent API, email intake

both-host installed-generation/cadence/freshness activation observer

New

both-host installed-generation/cadence/freshness activation observer

persist per-job scheduler execution state and freshness

New

persist per-job scheduler execution state and freshness

report settlement discrepancies through existing incident plane

New

report settlement discrepancies through existing incident plane

extend settlement invariants to parent/child operations

New

extend settlement invariants to parent/child operations

visibility and alerting for Cloudflare 1015 on authenticated API traffic

New

visibility and alerting for Cloudflare 1015 on authenticated API traffic

record impersonation profile/engine per attempt and A/B Firefox-vs-Chrome vendor routing ( premise refuted)

New

record impersonation profile/engine per attempt and A/B Firefox-vs-Chrome vendor routing ( premise refuted)

per-model OpenRouter spend metrics and non-free spend alert — key exhaustion is only visible after the fact

New

per-model OpenRouter spend metrics and non-free spend alert — key exhaustion is only visible after the fact

sync mail provider Sent folder into lead/ticket timelines + overdue digest

New

sync mail provider Sent folder into lead/ticket timelines + overdue digest

CRM leads UI — list, stage board, lead activity timeline

New

CRM leads UI — list, stage board, lead activity timeline

follow-up: (deferred from )

New

follow-up: (deferred from )

DB-backed inbound review queue with ticket/lead/ignore actions

New

DB-backed inbound review queue with ticket/lead/ignore actions

wire internal service/AI engine inventory rows to execution freshness

New

wire internal service/AI engine inventory rows to execution freshness

remaining scheduled whole-ledger scans on credit_ledger (deferred from )

Improved

remaining scheduled whole-ledger scans on credit_ledger (deferred from )

backup-restore-drill trusted contract pin lacks backup contract v4 (from )

Fixed

backup-restore-drill trusted contract pin lacks backup contract v4 (from )

learning quality gate + quarantine — 19k learnings, 0 applied, 30% raw JSON, high-confidence claims contradicted by job data

Fixed

learning quality gate + quarantine — 19k learnings, 0 applied, 30% raw JSON, high-confidence claims contradicted by job data

follow-up: 7 deferred item(s) (deferred from )

Fixed

follow-up: 7 deferred item(s) (deferred from )

from-email 500 retry storm — reply guard never fires; thread lookup raises MultipleResultsFound

Fixed

from-email 500 retry storm — reply guard never fires; thread lookup raises MultipleResultsFound

domain-deferral alerts still page on single-customer failing-domain bursts ( follow-up)

Fixed

domain-deferral alerts still page on single-customer failing-domain bursts ( follow-up)

page and own local structure marker refresh and LIST recovery reads

Fixed

page and own local structure marker refresh and LIST recovery reads

classify dead-origin failures under their real error_code and keep them out of tier success/failure attribution

Fixed

classify dead-origin failures under their real error_code and keep them out of tier success/failure attribution

T1/T3 hash-selected stale chrome profiles still send sub-floor UA (review finding — )

Fixed

T1/T3 hash-selected stale chrome profiles still send sub-floor UA (review finding — )

multi-way clusters strand slug redirects (cluster winners + re-point on unpublish)

Fixed

multi-way clusters strand slug redirects (cluster winners + re-point on unpublish)

genuine HTTP 404s escalate to T4 since (92% of 404 failures, ~26s each) — no definitive-origin exit

Fixed

genuine HTTP 404s escalate to T4 since (92% of 404 failures, ~26s each) — no definitive-origin exit

follow-up: 3 deferred item(s) (deferred from )

Fixed

follow-up: 3 deferred item(s) (deferred from )

fail-closed required-monitoring readiness in deploy/hotfix status

Fixed

fail-closed required-monitoring readiness in deploy/hotfix status

Staging Review: Fastly envelope-only match classifies any generic Varnish 403 JSON as terminal FASTLY_IP_BLOCK (staging → main)

Fixed

Staging Review: Fastly envelope-only match classifies any generic Varnish 403 JSON as terminal FASTLY_IP_BLOCK (staging → main)

89% of published blog posts teach SDK/API code that does not exist

Fixed

89% of published blog posts teach SDK/API code that does not exist

repin production-action chain to budget_holder session fix (, )

Fixed

repin production-action chain to budget_holder session fix (, )

prod internal tooling llm_extraction.model overrides WORKER_LLM_MODEL default with no allowlist check (review finding — )

Fixed

prod internal tooling llm_extraction.model overrides WORKER_LLM_MODEL default with no allowlist check (review finding — )

Firefox own-property userAgent/vendor overrides removed; playwright_stealth 1.0.6 prototype getters then throw ReferenceError opts is not defined on Playwright 1.60 (review finding — )

Fixed

Firefox own-property userAgent/vendor overrides removed; playwright_stealth 1.0.6 prototype getters then throw ReferenceError opts is not defined on Playwright 1.60 (review finding — )

honour Retry-After with jitter and a max wait

Fixed

honour Retry-After with jitter and a max wait

dispatch job-creation rate must match the advertised RPM; separate write and read dimensions

Fixed

dispatch job-creation rate must match the advertised RPM; separate write and read dimensions

WAF deploy fails loudly, nightly live-vs-repo drift audit, contract test edge >= max entitlement

Fixed

WAF deploy fails loudly, nightly live-vs-repo drift audit, contract test edge >= max entitlement

demand-gated topic selection and an anti-detection content pillar (current generators mostly failing)

Fixed

demand-gated topic selection and an anti-detection content pillar (current generators mostly failing)

no managed/JS challenges on keyed API traffic; cover /v1/* in API expressions

Fixed

no managed/JS challenges on keyed API traffic; cover /v1/* in API expressions

T4 soft_block flags parked pages and real 404s, defaulting to ip_rep and triggering proxy rerolls

Fixed

T4 soft_block flags parked pages and real 404s, defaulting to ip_rep and triggering proxy rerolls

blog view counter counts ISR regenerations, not readers (shown publicly, drives popular posts)

Fixed

blog view counter counts ISR regenerations, not readers (shown publicly, drives popular posts)

negative-cache Amazon location-cookie failures and re-check cache under lock

Fixed

negative-cache Amazon location-cookie failures and re-check cache under lock

near-duplicate blog posts — paired pSEO generators, 20-title window, 0.85 similarity gate

Fixed

near-duplicate blog posts — paired pSEO generators, 20-title window, 0.85 similarity gate

advanced browser Firefox context user_agent overrides T4 engine-identity prefs: UA major 135 vs engine, Linux identity UA vs Windows oscpu/appVersion prefs (review finding — )

Fixed

advanced browser Firefox context user_agent overrides T4 engine-identity prefs: UA major 135 vs engine, Linux identity UA vs Windows oscpu/appVersion prefs (review finding — )

Deploy: hotfix-deploy parity and cloud provider deploy safety checks

Fixed

Deploy: hotfix-deploy parity and cloud provider deploy safety checks

Re-run attempts include carried-over attempt-1 jobs so critical path and stage durations are inflated (run 33847724058: 7526s vs 4332s actual) (review finding — )

Fixed

Re-run attempts include carried-over attempt-1 jobs so critical path and stage durations are inflated (run 33847724058: 7526s vs 4332s actual) (review finding — )

T4 non-advanced browser contexts send single-tag Accept-Language contradicting navigator.languages

Fixed

T4 non-advanced browser contexts send single-tag Accept-Language contradicting navigator.languages

UA pool refresh left 12 of 18 entries as 2023-24 Firefox/Safari/iOS UAs so about two thirds of draws are stale (review finding — )

Fixed

UA pool refresh left 12 of 18 entries as 2023-24 Firefox/Safari/iOS UAs so about two thirds of draws are stale (review finding — )

Roundup title month is taken from newest merge so a first-Monday run is mislabelled and can collide with the 30d key, skipping a month (review finding — )

Fixed

Roundup title month is taken from newest merge so a first-Monday run is mislabelled and can collide with the 30d key, skipping a month (review finding — )

T4 spoofed navigator/screen values are own properties (advanced browser L2 also non-configurable and deletes Navigator.prototype.webdriver)

Fixed

T4 spoofed navigator/screen values are own properties (advanced browser L2 also non-configurable and deletes Navigator.prototype.webdriver)

residual DB budget exhaustion 503s POST /scrape under 15-concurrent burst after

Fixed

residual DB budget exhaustion 503s POST /scrape under 15-concurrent burst after

small genuine JSON responses rejected as soft_block_waf_block

Fixed

small genuine JSON responses rejected as soft_block_waf_block

bare certificate marker routes TLS alert rejects to T4 without telemetry (review finding - )

Fixed

bare certificate marker routes TLS alert rejects to T4 without telemetry (review finding - )

Google organic referrals down 52% since July and analytics blind spots

Fixed

Google organic referrals down 52% since July and analytics blind spots

resource filter misses Amazon telemetry and ex.co hosts due to label-boundary matching

Fixed

resource filter misses Amazon telemetry and ex.co hosts due to label-boundary matching

transient resolver failures (EAI_AGAIN) treated as terminal dead origin (review finding - )

Fixed

transient resolver failures (EAI_AGAIN) treated as terminal dead origin (review finding - )

race-leg attempt bound to leg-1 proxy identity (review finding - )

Fixed

race-leg attempt bound to leg-1 proxy identity (review finding - )

scrape_search_sub job insert omits organization_id (review finding — )

Fixed

scrape_search_sub job insert omits organization_id (review finding — )

Edge UA pairs reduced Chrome/MAJOR.0.0.0 with full-build Edg/ token (review finding — )

Fixed

Edge UA pairs reduced Chrome/MAJOR.0.0.0 with full-build Edg/ token (review finding — )

paid-success SLO 24h probe uses 10s statement_timeout and aborts the whole check (review finding — )

Fixed

paid-success SLO 24h probe uses 10s statement_timeout and aborts the whole check (review finding — )

customer and monitoring system status paths can move merged tickets out of merged (review finding — )

Fixed

customer and monitoring system status paths can move merged tickets out of merged (review finding — )

cloud provider-health worker CPU outlier alert triggers on one container-stats sample against a 50% floor

Fixed

cloud provider-health worker CPU outlier alert triggers on one container-stats sample against a 50% floor

lease-budget gauges go stale silently when cache status is unavailable (review finding — )

Fixed

lease-budget gauges go stale silently when cache status is unavailable (review finding — )

owner-only entitlement SQL only substring-tested, never executed against database (review finding — )

Fixed

owner-only entitlement SQL only substring-tested, never executed against database (review finding — )

30d SLA availability and downtime-budget panels count unmeasured time as healthy

Fixed

30d SLA availability and downtime-budget panels count unmeasured time as healthy

pg cache-hit alert reports an all-time heap-only ratio and misattributes it to shared_buffers

Fixed

pg cache-hit alert reports an all-time heap-only ratio and misattributes it to shared_buffers

crawl depth-wave spend reservation leaks when coordinator task is cancelled (review finding — )

Fixed

crawl depth-wave spend reservation leaks when coordinator task is cancelled (review finding — )

skip resolve_proxy_ip live lookups only where the IP check cannot change the outcome

Fixed

skip resolve_proxy_ip live lookups only where the IP check cannot change the outcome

support inbound poll re-fetches the same 50 mail provider messages every 2 minutes

Fixed

support inbound poll re-fetches the same 50 mail provider messages every 2 minutes

cache AOF warning threshold of 512MB is below the steady-state AOF size of a healthy ~465MB dataset

Fixed

cache AOF warning threshold of 512MB is below the steady-state AOF size of a healthy ~465MB dataset

billing mail with model route=ignore is skipped for non-account senders (review finding — )

Fixed

billing mail with model route=ignore is skipped for non-account senders (review finding — )

container memory warning counts database page cache as usage and cannot distinguish growth from steady state

Fixed

container memory warning counts database page cache as usage and cannot distinguish growth from steady state

error-route landing asserted as non-bot without evidence and ahead of WAF detectors (review finding - )

Fixed

error-route landing asserted as non-bot without evidence and ahead of WAF detectors (review finding - )

obs-monitor shim and sudoers grant not installed or verified by delivery path (review finding — )

Fixed

obs-monitor shim and sudoers grant not installed or verified by delivery path (review finding — )

settlement checker reads jobs, ledger and usage in separate READ COMMITTED snapshots (review finding — )

Fixed

settlement checker reads jobs, ledger and usage in separate READ COMMITTED snapshots (review finding — )

V4-pinned restore drill rejects V3-produced lane generations until the first post-deploy backup (review finding — )

Fixed

V4-pinned restore drill rejects V3-produced lane generations until the first post-deploy backup (review finding — )

incident spool forwarder head-of-line blocks on a persistently failing oldest entry (review finding — )

Fixed

incident spool forwarder head-of-line blocks on a persistently failing oldest entry (review finding — )

aging-critical internal tooling handoff never persists on memos with a damaged lifecycle block, so @Staff is re-paged every 5 minutes

Fixed

aging-critical internal tooling handoff never persists on memos with a damaged lifecycle block, so @Staff is re-paged every 5 minutes

obs-monitor redaction misses credential-bearing non-http URIs and bare API keys (review finding — )

Fixed

obs-monitor redaction misses credential-bearing non-http URIs and bare API keys (review finding — )

degraded internal tooling auto-close silently no-ops on same-day closed memo (review finding — )

Fixed

degraded internal tooling auto-close silently no-ops on same-day closed memo (review finding — )

replacement drain in close_all can get zero budget and race the close loop (review finding — )

Fixed

replacement drain in close_all can get zero budget and race the close loop (review finding — )

classify_all swallows classifier exceptions as unknown and reports healthy (review finding — )

Fixed

classify_all swallows classifier exceptions as unknown and reports healthy (review finding — )

custom configuration isolated fallback context pairs identity UA/headers with hard-coded Win32 Chrome JS browser compatibility (review finding — )

Fixed

custom configuration isolated fallback context pairs identity UA/headers with hard-coded Win32 Chrome JS browser compatibility (review finding — )

heartbeat consumer flags in-flight `started` jobs and clock-skewed fresh jobs as failures

Fixed

heartbeat consumer flags in-flight `started` jobs and clock-skewed fresh jobs as failures

log-monitor internal service job metrics always report 0 ok / 0 failed and queue depth counts dead drafts

Fixed

log-monitor internal service job metrics always report 0 ok / 0 failed and queue depth counts dead drafts

phantom-bot protection system hybrid sends Chrome headers on a firefox135 TLS profile (review finding — )

Fixed

phantom-bot protection system hybrid sends Chrome headers on a firefox135 TLS profile (review finding — )

RSI validator accepts self-attested owner_approval for disablement (review finding — )

Fixed

RSI validator accepts self-attested owner_approval for disablement (review finding — )

cloud provider storage retention prunes without re-verifying the older kept generation (noticed in review of )

Fixed

cloud provider storage retention prunes without re-verifying the older kept generation (noticed in review of )

owner-lease cache GET in _db_update_build_result can drop the DB build-result write (review finding — )

Fixed

owner-lease cache GET in _db_update_build_result can drop the DB build-result write (review finding — )

auto-reply regex skips customer/compliance mail before compliance exemption and account guard (review finding — )

Fixed

auto-reply regex skips customer/compliance mail before compliance exemption and account guard (review finding — )

site error-route queue gate is tier-agnostic and skips T1-T3 escalation (review finding - )

Fixed

site error-route queue gate is tier-agnostic and skips T1-T3 escalation (review finding - )

db budget exhausted counter only visible for API; first rejection missed by rate (review finding — )

Fixed

db budget exhausted counter only visible for API; first rejection missed by rate (review finding — )

share Cloudflare managed-marker set across curl/browser challenge checks (review finding — )

Fixed

share Cloudflare managed-marker set across curl/browser challenge checks (review finding — )

TLS-cert and dead-origin terminal errors recorded as proxy infrastructure failures (review finding BUGA-1 - )

Fixed

TLS-cert and dead-origin terminal errors recorded as proxy infrastructure failures (review finding BUGA-1 - )

quick-deposit PaymentIntent has no idempotency key; connection errors reported as definitive failure (review finding BILL-1 - )

Fixed

quick-deposit PaymentIntent has no idempotency key; connection errors reported as definitive failure (review finding BILL-1 - )

mid-request re-admission failure can half-apply mutations (review finding — )

Fixed

mid-request re-admission failure can half-apply mutations (review finding — )

add-on persist-failure refund and recharge use bare user_id instead of the spend principal for keyless jobs (review finding — )

Fixed

add-on persist-failure refund and recharge use bare user_id instead of the spend principal for keyless jobs (review finding — )

budget errors swallowed by broad except in handlers (review finding — )

Fixed

budget errors swallowed by broad except in handlers (review finding — )

unbounded release_browser can block T4 deadline salvage (review finding — )

Fixed

unbounded release_browser can block T4 deadline salvage (review finding — )

hung SHOW POOLS leaks executor threads (wait_for does not stop the thread) (review finding — )

Fixed

hung SHOW POOLS leaks executor threads (wait_for does not stop the thread) (review finding — )

anchor bare chl_page managed-challenge marker (review finding — )

Fixed

anchor bare chl_page managed-challenge marker (review finding — )

rejected T4 salvage discards classified challenge evidence (review finding — )

Fixed

rejected T4 salvage discards classified challenge evidence (review finding — )

SDK-passive exemption skips bot protection system block-phrase guards (review finding - )

Fixed

SDK-passive exemption skips bot protection system block-phrase guards (review finding - )

worker duplicates the Site error route reason literal instead of importing it (review finding — )

Fixed

worker duplicates the Site error route reason literal instead of importing it (review finding — )

paid-success SLO counts unsettled in-flight jobs as successes (review finding — )

Fixed

paid-success SLO counts unsettled in-flight jobs as successes (review finding — )

duplicate SoftwareApplication JSON-LD on /pricing from root layout (review finding — )

Fixed

duplicate SoftwareApplication JSON-LD on /pricing from root layout (review finding — )

Fix(api): /health cache check never fails — sync ping on async client (, )

Fixed

Fix(api): /health cache check never fails — sync ping on async client (, )

same-day closed internal tooling not suppressed by future-skew guard (review finding — )

Fixed

same-day closed internal tooling not suppressed by future-skew guard (review finding — )

degraded concurrency fallback is per-process and not a hard cap (review finding — )

Fixed

degraded concurrency fallback is per-process and not a hard cap (review finding — )

hotfix lane hard-gated on single-shot production preflight with no bypass (review finding — )

Fixed

hotfix lane hard-gated on single-shot production preflight with no bypass (review finding — )

preflight read-only contract is enforced by a weak regex denylist (review finding — )

Fixed

preflight read-only contract is enforced by a weak regex denylist (review finding — )

follow-up: (deferred from )

Fixed

follow-up: (deferred from )

internal tooling writers bypass lifecycle lock and reset memos to 0600 (review findings — )

Fixed

internal tooling writers bypass lifecycle lock and reset memos to 0600 (review findings — )

org-scoped usage chart/breakdown drop legacy NULL-org rows (review finding — )

Fixed

org-scoped usage chart/breakdown drop legacy NULL-org rows (review finding — )

hotfix production-preflight job lacks protected-ref guard while holding prod SSH keys (review finding — )

Fixed

hotfix production-preflight job lacks protected-ref guard while holding prod SSH keys (review finding — )

follow-up: 1 deferred item(s) (deferred from )

Fixed

follow-up: 1 deferred item(s) (deferred from )

bound cache latency in entitlement cache and post-commit invalidation (review finding — )

Fixed

bound cache latency in entitlement cache and post-commit invalidation (review finding — )

drop phantom args/kwargs from analytics funnel docs (deploy )

Fixed

drop phantom args/kwargs from analytics funnel docs (deploy )

follow-up: 3 deferred item(s) (deferred from )

Fixed

follow-up: 3 deferred item(s) (deferred from )

ship internal tooling-external.sh in trusted logical runtime (review finding — )

Fixed

ship internal tooling-external.sh in trusted logical runtime (review finding — )

Fix(shared): ungated SQL and cancelled admission bypass DB budget accounting (, )

Fixed

Fix(shared): ungated SQL and cancelled admission bypass DB budget accounting (, )

sequential T3 retry loop ignores dead-origin and deterministic TLS causes between attempts

Fixed

sequential T3 retry loop ignores dead-origin and deterministic TLS causes between attempts

status-0 non-reputation T3 failures are given a fabricated 403 and labelled anti_bot_blocked

Fixed

status-0 non-reputation T3 failures are given a fabricated 403 and labelled anti_bot_blocked

b2b concurrency fail-open catches only RateLimiterUnavailableError while deps catches Exception (review finding — )

Fixed

b2b concurrency fail-open catches only RateLimiterUnavailableError while deps catches Exception (review finding — )

broaden evidence redaction or scope cross-producer reads on incident ingest (review finding — )

Fixed

broaden evidence redaction or scope cross-producer reads on incident ingest (review finding — )

scheduled scrape queue payload omits billing_user_id so credit refund and spend reversal can target different accounts (review finding — )

Fixed

scheduled scrape queue payload omits billing_user_id so credit refund and spend reversal can target different accounts (review finding — )

add retention/purge path and volume cap for append-only incident_events (review finding — )

Fixed

add retention/purge path and volume cap for append-only incident_events (review finding — )

API stuck-job reaper gates spend reversal on api_key_id so keyless scheduled jobs keep phantom reserved spend (review finding — )

Fixed

API stuck-job reaper gates spend reversal on api_key_id so keyless scheduled jobs keep phantom reserved spend (review finding — )

deploy-cloud provider.sh does not assert the heartbeat-watchdog OK marker (review finding — )

Fixed

deploy-cloud provider.sh does not assert the heartbeat-watchdog OK marker (review finding — )

sync SDK manifest to openapi v3.25.1 (deploy )

Fixed

sync SDK manifest to openapi v3.25.1 (deploy )

tier-intelligence failure counters treat DNS/TLS/cert/tunnel failures as tier failures

Fixed

tier-intelligence failure counters treat DNS/TLS/cert/tunnel failures as tier failures

enterprise-org non-owner members lose enterprise RPM/concurrency/tenant override under owner-only snapshot rule (review finding — )

Fixed

enterprise-org non-owner members lose enterprise RPM/concurrency/tenant override under owner-only snapshot rule (review finding — )

paid Groq fallback (llama-4-scout) still drains shared OpenRouter key — recurrence of ; FREE_ONLY defaults false

Fixed

paid Groq fallback (llama-4-scout) still drains shared OpenRouter key — recurrence of ; FREE_ONLY defaults false

T4 session lands on Imperva SPA /error route on deep pages (no network capture, challenge evidence lost across deferred T4)

Fixed

T4 session lands on Imperva SPA /error route on deep pages (no network capture, challenge evidence lost across deferred T4)

follow-up: (deferred from )

Fixed

follow-up: (deferred from )

unblock deploy (hotfix health contract wiring, 0445 migrations)

Fixed

unblock deploy (hotfix health contract wiring, 0445 migrations)

reports and crawl routers read raw CF-Connecting-IP, bypassing get_client_ip rate-limit keying

Fixed

reports and crawl routers read raw CF-Connecting-IP, bypassing get_client_ip rate-limit keying

Next.js middleware forwards client-supplied CF-Connecting-IP as trusted X-Forwarded-For

Fixed

Next.js middleware forwards client-supplied CF-Connecting-IP as trusted X-Forwarded-For

make internal service last-failure metric a scalar subquery

Fixed

make internal service last-failure metric a scalar subquery

keep connection pool server_idle_timeout below database idle_session_timeout

Fixed

keep connection pool server_idle_timeout below database idle_session_timeout

crawl depth-wave enqueue failure refunds the full wave after partial create_job enqueue (pre-existing, noticed in )

Fixed

crawl depth-wave enqueue failure refunds the full wave after partial create_job enqueue (pre-existing, noticed in )

deploy SLI finalizes ok from a partial unsettled post window (review finding - )

Fixed

deploy SLI finalizes ok from a partial unsettled post window (review finding - )

avoid phantom jobs on opt-in result-cache hits (deferred from )

Fixed

avoid phantom jobs on opt-in result-cache hits (deferred from )

Staging Review: backup data policy v4 is forward-only — post-deploy backups not strictly restorable by rolled-back restore tooling (staging → main)

Fixed

Staging Review: backup data policy v4 is forward-only — post-deploy backups not strictly restorable by rolled-back restore tooling (staging → main)

Check 2.5 matches .Status==exited, never true in real container (review finding — )

Fixed

Check 2.5 matches .Status==exited, never true in real container (review finding — )

follow-up: (deferred from )

Fixed

follow-up: (deferred from )

follow-up: (deferred from )

Fixed

follow-up: (deferred from )

consolidate duplicate proxy network comparison blog posts

Fixed

consolidate duplicate proxy network comparison blog posts

accept contrecord database segments in archive header check

Fixed

accept contrecord database segments in archive header check

hotfix-deploy health probe curls http://localhost/health, which load balancer always 404s

Fixed

hotfix-deploy health probe curls http://localhost/health, which load balancer always 404s

RetentionSweepZeroRowsCreditBalanceMutations fires permanently because no row can be older than the 400-day window

Fixed

RetentionSweepZeroRowsCreditBalanceMutations fires permanently because no row can be older than the 400-day window

T3 cookie-jar cookies bypass header order on HTTP/2: libcurl emits them first, before sec-ch-ua

Fixed

T3 cookie-jar cookies bypass header order on HTTP/2: libcurl emits them first, before sec-ch-ua

unblock deploy CI (root-trust bundle closure, 0444 migrations)

Fixed

unblock deploy CI (root-trust bundle closure, 0444 migrations)

fence structure LIST ack and claim release on cancellation

Fixed

fence structure LIST ack and claim release on cancellation

follow-up: Firefox bundle currency (deferred from )

Fixed

follow-up: Firefox bundle currency (deferred from )

follow-up: ZohoMailApiClient.list_messages unread window starvation past newest 200 messages (deferred from )

Fixed

follow-up: ZohoMailApiClient.list_messages unread window starvation past newest 200 messages (deferred from )

T4 Firefox route claims Windows but the Linux engine lacks Windows fonts (and other OS side channels)

Fixed

T4 Firefox route claims Windows but the Linux engine lacks Windows fonts (and other OS side channels)

shadow dry-run strict restore fails nondeterministically on the same backup, and its diagnostics are fully suppressed

Fixed

shadow dry-run strict restore fails nondeterministically on the same backup, and its diagnostics are fully suppressed

egress AST guard skips tests/scripts dirs at any depth (review finding - )

Fixed

egress AST guard skips tests/scripts dirs at any depth (review finding - )

discover_site byte caps turn large sitemap/robots into not-found (review finding - )

Fixed

discover_site byte caps turn large sitemap/robots into not-found (review finding - )

T4 runs without a proxy for ~20% of T4 jobs with half the success rate

Fixed

T4 runs without a proxy for ~20% of T4 jobs with half the success rate

Enhanced Scraper Reliability and Diagnostic Transparency

Isolated Custom Browser Sessions

New

Custom browser scraping requests now enforce state isolation between concurrent calls. Cookies and local storage are kept isolated per request, preventing cross-session data leaks.

Expanded Request Diagnostic Traces

New

Diagnostic endpoints now include full trace histories and metadata for automated retries. You can inspect exact request details to simplify debugging failed attempts.

Updated Modern Browser Signatures

Improved

Automated request headers now match current modern browser release versions and header standards. This resolves unexpected challenge blocks on target websites with strict browser checks.

Higher Challenge Resolution Reliability

Improved

Request routing and retry mechanisms have been refined for protected target websites. Requests now achieve significantly higher success rates and reduced challenge failure rates.

General bug fixes and improvements

Improved

Plus 12 internal improvements for better reliability and performance.

General improvements

Improved

This release includes general improvements and maintenance updates.

Billing Usage Chart Availability

Fixed

Fixed a server error that occurred when fetching usage charts without explicit parameters. Billing usage endpoints now reliably return historical consumption data.

Consistent Error Response Headers

Fixed

Cached error responses for missing or deleted pages now properly retain execution headers. Duplicate job tracking identifiers have also been removed from cached error responses.

Scraping Profile Update Integrity

Fixed

Resolved an issue where delayed requests could overwrite actively rebuilding scraping profiles. Profile configurations now accurately reflect only the latest requested build state.

Support Email Thread Matching

Fixed

Inbound support replies now accurately match existing ticket threads across merged conversations. This prevents duplicate tickets when responding from different email clients.

Accurate Client IP Evaluation

Security

Authentication rate-limiting guards now correctly identify real client IP addresses through proxy paths. This ensures fair rate limit enforcement and improved security.

read Worker metadata from the JSON services endpoint

read Worker metadata from the JSON services endpoint

Fixed

read Worker metadata from the JSON services endpoint

Fix: one failed refund aborts every stuck-job recovery sweep (greenlet_spawn after rollback)

Fixed

Fix: one failed refund aborts every stuck-job recovery sweep (greenlet_spawn after rollback)

clear staging deploy gate failures for

Fixed

clear staging deploy gate failures for

Fix: spend_limits error handlers raise TypeError (stdlib logger given structlog kwargs)

Fixed

Fix: spend_limits error handlers raise TypeError (stdlib logger given structlog kwargs)

Fix(deploy): pre-stop old PgBouncer with SIGINT/10s before a spec recreate

Fixed

Fix(deploy): pre-stop old PgBouncer with SIGINT/10s before a spec recreate

classify the production-action rehearsal bucket so off-site admission passes

Fixed

classify the production-action rehearsal bucket so off-site admission passes

tolerate multi-ticket email threads and replies on inbound mail

Fixed

tolerate multi-ticket email threads and replies on inbound mail

Fix: remove stale liquorland/firstchoiceliquor configuration entries

Fixed

Fix: remove stale liquorland/firstchoiceliquor configuration entries

deploy CI fixes (formatter , DATABASE_URL drift allowlist)

Fixed

deploy CI fixes (formatter , DATABASE_URL drift allowlist)

treat declared-off WAL archiving as intentional, not a failure

Fixed

treat declared-off WAL archiving as intentional, not a failure

executor session factory accepts budget_holder from app call sites

Fixed

executor session factory accepts budget_holder from app call sites

signup-to-paid conversion fell from ~12% to ~4% since June 2026

Fixed

signup-to-paid conversion fell from ~12% to ~4% since June 2026

Fix: TLS cert-verify errors hint the skip_tls_verification opt-in when unset

Fixed

Fix: TLS cert-verify errors hint the skip_tls_verification opt-in when unset

Fix: archive-imported email threads reopen as open tickets via the thread-reply path

Fixed

Fix: archive-imported email threads reopen as open tickets via the thread-reply path

Fix: Restore dispatch canonicalization tests and add dispatch-index cache test

Fixed

Fix: Restore dispatch canonicalization tests and add dispatch-index cache test

Fix: Auto-recharge PUT/DELETE use org wallet owner; assert search-batch debit owner

Fixed

Fix: Auto-recharge PUT/DELETE use org wallet owner; assert search-batch debit owner

Fix: T1/T2 parallel race per-leg attribution

Fixed

Fix: T1/T2 parallel race per-leg attribution

Fix: T3 streaming race winner, cancel and bytes follow-ups (, )

Fixed

Fix: T3 streaming race winner, cancel and bytes follow-ups (, )

drop undocumented mail provider status=0 unread filter

Fixed

drop undocumented mail provider status=0 unread filter

Fix: track deferred session replacement tasks and drain them in close_all

Fixed

Fix: track deferred session replacement tasks and drain them in close_all

Fix: survive cache ack/requeue failure and supervise profile-claim reaper

Fixed

Fix: survive cache ack/requeue failure and supervise profile-claim reaper

stream base backup archive into GPG to fit cloud provider disk

Fixed

stream base backup archive into GPG to fit cloud provider disk

remove accidentally committed uv.lock

Fixed

remove accidentally committed uv.lock

give scratch restore Postgres production's /dev/shm size

Fixed

give scratch restore Postgres production's /dev/shm size

Fix: advanced browser Chrome identities (UA 131-135) sent over chrome150 TLS — derive identity major from chrome_version

Fixed

Fix: advanced browser Chrome identities (UA 131-135) sent over chrome150 TLS — derive identity major from chrome_version

pack new root cron targets into the root-trust runtime bundle

Fixed

pack new root cron targets into the root-trust runtime bundle

Fix: restored reply draft drops internal-note flag (review finding — )

Fixed

Fix: restored reply draft drops internal-note flag (review finding — )

High-Throughput Scraping and Billing Accuracy

Protected Site Evasion Reliability

Improved

Upgraded browser execution engines significantly reduce false-positive responses on challenge-protected target sites. Over 50% fewer false successes ensure your scraping jobs reliably retrieve real page content instead of challenge pages.

High Concurrency Request Throughput

Improved

Optimized API endpoint handling eliminates temporary 503 Service Unavailable errors during high-volume scraping bursts. Requests now process with significantly reduced connection overhead under peak loads.

Upstream Rate Limits and Responses

Improved

Search, map, and crawl proxy endpoints now pass upstream rate limit headers directly to your applications. Upstream 204 No Content and 304 Not Modified responses are also handled without proxy errors.

General bug fixes and improvements

Improved

Plus 6 internal improvements for better reliability and performance.

Automatic Target Error Redirect Detection

Fixed

Scraping jobs now identify target site redirects to internal error pages or 404 routes as soft blocks rather than successful requests. The system automatically escalates request execution to ensure full page extraction.

Streaming Status and Error Precision

Fixed

Streaming scraper responses now accurately retain HTTP 4xx and 5xx status codes rather than returning error bodies as success pages. Cancellation states and byte metrics are also correctly recorded.

Stalled Retry Job Auto Recovery

Fixed

Jobs interrupted during deferral waits no longer remain stuck in a retrying state indefinitely. The API background monitor now identifies stalled retry jobs and automatically processes account credit refunds.

Organization Auto-Recharge Billing Management

Fixed

Updates to auto-recharge settings now correctly modify the organization's shared wallet instead of individual member accounts. Account administrators can reliably configure automated billing rules for their teams.

Scheduled and Crawl Refund Reconciliation

Fixed

Failed scheduled scraping jobs and multi-depth crawl children now accurately reconcile credit spend. Refunded usage is properly credited back to your balance upon job completion or cancellation.

Organization Usage Analytics Reporting

Fixed

Enterprise dashboard extraction metrics now correctly aggregate usage data across all organization members. Non-personal organization accounts now display full extraction activity in reporting views.

Feat: trusted-runtime install, docs and two-host activation for incident ingestion

Feat: trusted-runtime install, docs and two-host activation for incident ingestion

New

Feat: trusted-runtime install, docs and two-host activation for incident ingestion

Feat: Netcup durable incident spool and forwarder

New

Feat: Netcup durable incident spool and forwarder

Feat: off-host dead-man's switch for monitoring plane heartbeat watchdog

New

Feat: off-host dead-man's switch for monitoring plane heartbeat watchdog

Feat: expose fresh trusted monitoring evidence through read-only wrappers

New

Feat: expose fresh trusted monitoring evidence through read-only wrappers

Fix: sla-tracker reports explicit unknown/warming instead of 100% on missing, stale, skewed or under-covered samples

Fixed

Fix: sla-tracker reports explicit unknown/warming instead of 100% on missing, stale, skewed or under-covered samples

Fix: persist custom configuration max_tier cap-conflict diagnostics in final envelope (batch )

Fixed

Fix: persist custom configuration max_tier cap-conflict diagnostics in final envelope (batch )

Fix: T3/T4 Chrome identity strings diverge from real Chrome — fabricated UA build number and wrong sec-ch-ua GREASE brand

Fixed

Fix: T3/T4 Chrome identity strings diverge from real Chrome — fabricated UA build number and wrong sec-ch-ua GREASE brand

Fix: terminal 404/410 failure cache and headers

Fixed

Fix: terminal 404/410 failure cache and headers

Fix: proxy-auth (407) outage went unalerted — worker proxy faults never reach proxy metrics/reliability system

Fixed

Fix: proxy-auth (407) outage went unalerted — worker proxy faults never reach proxy metrics/reliability system

Fix: harden volatile-lru rollout runbook before execution (review findings — )

Fixed

Fix: harden volatile-lru rollout runbook before execution (review findings — )

Improved Request Efficiency and Proxy Reliability

Optimized Rate and Slot Enforcement

Improved

Request rate limiting and concurrent extraction slot checks now utilize streamlined entitlement snapshots. This minimizes redundant balance reads per request, accelerating overall API execution times while providing clearer retry guidance during system delays.

Enhanced Proxy Route Reliability

Improved

Proxy route selection and reputation routing have been upgraded to maintain higher connection success rates. Request routing now adapts automatically to target site verification challenges without requiring custom route configurations.

General bug fixes and improvements

Improved

Plus 8 internal improvements for better reliability and performance.

Spend Limit Exception Recovery

Fixed

Fixed an issue where transient database connectivity errors during spend limit checks resulted in 500 server errors. Account limit validation now handles brief storage interruptions gracefully without dropping valid API calls.

Fix: class-scoped ASN proxy route batch

Feat: central-store IncidentStateSource with completeness and staleness

New

Feat: central-store IncidentStateSource with completeness and staleness

Fix: class-scoped ASN proxy route batch

Fixed

Fix: class-scoped ASN proxy route batch

pin production-action caller to e75bd148d8 ( step 3)

Fixed

pin production-action caller to e75bd148d8 ( step 3)

Fix: install and schedule heartbeat watchdog with Discord alert, contract test and deploy verification

Fixed

Fix: install and schedule heartbeat watchdog with Discord alert, contract test and deploy verification

Fix: alert on stale off-site and physical backups

Fixed

Fix: alert on stale off-site and physical backups

Optimized Routing and Increased Scrape Success

Optimized routing on protected targets

Improved

We upgraded our routing intelligence to use ratio-based decisions when encountering challenges. This prevents healthy connections from being prematurely escalated, resulting in faster and more cost-effective requests.

Accurate success detection on secured sites

Improved

The API now distinguishes between active challenges and passive security scripts on successful pages. Successful responses are delivered to you immediately instead of triggering unnecessary retries or routing escalations.

Higher success rates on secured endpoints

Improved

We optimized our escalation logic on endpoints with strict security walls. This ensures our advanced bypass methods are reliably deployed when needed, leading to significantly higher success rates on difficult targets.

General bug fixes and improvements

Improved

Plus 8 internal improvements for better reliability and performance.

Faster API request processing

Improved

Scraping requests are now authorized much faster thanks to optimized caching of client tiers and usage limits. This eliminates redundant validation checks per request, directly lowering overall API response latency.

General improvements

Improved

This release includes general improvements and maintenance updates.

Reliable content delivery on late timeouts

Fixed

The API now preserves and delivers successfully captured page content even if a timeout occurs during the final cleanup phase. This prevents you from losing successfully retrieved data to late-stage timeout errors.

Structured errors during high concurrency

Fixed

During high-concurrency bursts, the API now returns a structured 503 status instead of a generic 500 error if limits are reached. Connection handling was also optimized to make these limits much harder to hit.

Accurate organization usage charts

Fixed

We fixed an issue where the billing dashboard did not display usage metrics for specific sub-organizations. Your charts and usage breakdowns now accurately reflect all team scraping activity.

Preserved proxy error details

Fixed

Upstream status codes and rate limit responses from scraping and batch proxies are now passed back to your client fully intact. This ensures you can inspect exact error bodies and headers for faster troubleshooting.

Robust Scraping and Standardized Limits

Interactive Homepage and Scrape Demo

New

Our redesigned homepage now features an interactive live scrape demo. This lets you visualize real-time web scraping capabilities and instantly see data extraction results in action.

Ignore invalid SSL certificates by default

New

You can now scrape pages with expired, self-signed, or mismatched SSL certificates successfully without any extra configuration. These requests succeed automatically, drastically reducing failure rates on misconfigured websites.

Standardized 429 rate-limit responses

New

Every rate limit across the platform now returns a standardized error envelope alongside exact rate-limit and retry headers. This allows your integrations to handle throttling elegantly and programmatically.

Burst allowance for rate limits

New

We transitioned our rate limits to a token-bucket model that supports temporary traffic spikes. You can now send brief bursts of requests beyond your steady-state limit without being instantly throttled.

Faster Diagnostic API Responses

Improved

Our API diagnostics endpoint now uses enhanced caching and stricter type validation. This delivers faster, more reliable response data when monitoring your routing efficiency.

General bug fixes and improvements

Improved

Plus 8 internal improvements for better reliability and performance.

Detailed error causes for failures

Improved

Failed requests now include a structured underlying cause in the error payload for rendering and retrieval issues. This makes diagnosing failed attempts and tracking refunds straightforward.

Smarter error classification

Improved

We now distinguish true proxy issues from target website connection failures like DNS or SSL errors. This stops wasteful proxy rotations when a target site is down, delivering failure responses much faster.

Faster processing of complex HTML

Improved

Our parser has been optimized to handle nested or malformed markup in linear time. This eliminates performance bottlenecks and prevents timeouts when processing complex or poorly formatted pages.

Consistent request browser compatibility

Improved

Requests now employ a highly consistent browser identity and header configuration rather than randomizing profiles. This increases request predictability and significantly reduces the risk of detection.

Higher throughput for batch submissions

Improved

We removed restrictive edge-level IP rate limits from our batch and B2B job routers. This allows you to submit large volumes of scraping jobs from a single IP without encountering early throttling.

Reliable Custom Action Validations

Fixed

Creating custom actions via the API now strictly enforces input validation. This catches malformed execution parameters early, ensuring your scrape configurations run reliably.

Accurate Metric Regression Alerts

Fixed

Failed metric probes no longer produce false-positive clean reports during regression monitoring. You will now receive accurate alerts if your baseline performance checks fail.

Automatic recovery for stalled jobs

Fixed

Jobs assigned to worker queues are now automatically recovered if the assigned worker becomes unresponsive. This prevents requests from hanging indefinitely and ensures high overall task reliability.

Stable dashboard sessions

Fixed

Temporary network drops or support widget disconnects will no longer log you out of your active dashboard session. Console sessions are now resilient to transient database and connection hiccups.

Accurate proxy error passthrough

Fixed

API proxies now correctly forward upstream non-2xx status codes, detailed error bodies, and rate-limiting headers. This ensures your integration behaves identically when connecting via our proxies.

Improved dashboard error display

Fixed

The developer console now robustly parses and displays all standard API error envelopes. This prevents page crashes and ensures you see clear, human-readable error messages instead of raw JSON.

Feat: safety-loop freshness and liveness metrics

Feat: safety-loop freshness and liveness metrics

New

Feat: safety-loop freshness and liveness metrics

Feat: consume trusted incident state in preconditions and document lifecycle

New

Feat: consume trusted incident state in preconditions and document lifecycle

expose skip_tls_verification in Python and Node SDKs

New

expose skip_tls_verification in Python and Node SDKs

per-request opt-out of TLS certificate verification

New

per-request opt-out of TLS certificate verification

Feat: deployed-version verifier for recurrence evidence

New

Feat: deployed-version verifier for recurrence evidence

Feat: enforce latency budgets in sla-tracker from probe timings

New

Feat: enforce latency budgets in sla-tracker from probe timings

Feat: separate recovery, fix and deploy states in incident lifecycle

New

Feat: separate recovery, fix and deploy states in incident lifecycle

Feat: production content-correctness synthetic probe cron

New

Feat: production content-correctness synthetic probe cron

Feat: add structured incident lifecycle record, claim and dedupe to eMemo helpers

New

Feat: add structured incident lifecycle record, claim and dedupe to eMemo helpers

canonical 429 body and Retry-After/RateLimit headers for every limiter

New

canonical 429 body and Retry-After/RateLimit headers for every limiter

token-bucket (GCRA) burst allowance for per-key rate limits

New

token-bucket (GCRA) burst allowance for per-key rate limits

log and count every 429 with limiter, scope and tier

New

log and count every 429 with limiter, scope and tier

fetch pages whose own TLS certificate is invalid by default

Fixed

fetch pages whose own TLS certificate is invalid by default

Fix: resolve pool metric collision disabling safety monitors

Fixed

Fix: resolve pool metric collision disabling safety monitors

persist a structured cause for generic terminal failures

Fixed

persist a structured cause for generic terminal failures

Fix: stop support socket failures from logging out active users

Fixed

Fix: stop support socket failures from logging out active users

Fix: split connection failures from IP-reputation signals

Fixed

Fix: split connection failures from IP-reputation signals

Fix: converge API Tier2HTTP onto single chrome136 profile constant

Fixed

Fix: converge API Tier2HTTP onto single chrome136 profile constant

Fix: drop dead tables behind evidence gate (jobs_archive, stg_cbc_1436)

Fixed

Fix: drop dead tables behind evidence gate (jobs_archive, stg_cbc_1436)

Fix: classify LLM failure cause (rate limit vs balance vs spend cap)

Fixed

Fix: classify LLM failure cause (rate limit vs balance vs spend cap)

Fix: memory-alert volume sizes for monitoring/redis and degraded status on skipped prune

Fixed

Fix: memory-alert volume sizes for monitoring/redis and degraded status on skipped prune

undefined names silently disabling billing and compliance guards

Fixed

undefined names silently disabling billing and compliance guards

Enhanced Concurrency and Payment Protection

Resilient Billing Checkout Recovery

New

The billing deposit process is now fully resilient, preserving your payment details if a connection error occurs. Retries are idempotent, ensuring you are never double-charged.

Reliable Website Challenge Solving

Improved

Standard workers have been upgraded to support sandboxed virtual displays for interactive verification challenges. This ensures higher success rates when scraping heavily protected websites.

Accurate Billing for Scrape Errors

Improved

Scrape classifications are now aligned with billing rules to ensure that requests returning error pages are handled as failures. This avoids confusing charges and saves you money.

Faster Job Status Failure Feedback

Improved

Status checks for jobs, batches, and crawls now fail immediately on non-retryable errors rather than waiting for the timeout. This speeds up your API integration feedback loops.

Richer Diagnostic Evidence for Retries

Improved

Diagnostic snapshots for retried scraping jobs now preserve the most complete terminal evidence instead of being overwritten by earlier attempts. This provides highly detailed info for debugging.

Optimized HTML Parsing Latency

Improved

We optimized the HTML parsing engine to process large or deeply nested markup elements in linear time. This dramatically reduces parsing overhead and eliminates processing hangs on complex pages.

Accurate Page Status Detection

Improved

Content validation algorithms now ignore hidden marker phrases nested within scripts or comments when evaluating page structures. This guarantees your status checks only match visible text.

General bug fixes and improvements

Improved

Plus 11 internal improvements for better reliability and performance.

Immediate capacity recovery

Improved

Your account and domain concurrency limits are now immediately freed up the moment a job finishes, rather than waiting for a rolling window to expire. This lets you run sequential scraping batches much faster without hitting artificial capacity caps.

Smarter challenge bypass

Improved

The scraper is now smart enough to ignore inert or hidden anti-bot challenge placeholders on genuine pages. This prevents false alarms and ensures your requests load successfully without being blocked by inactive detection systems.

Robust crawl scheduling

Improved

Crawling and scheduling routines are now significantly more resilient against transient connection or authorization issues. Instead of failing immediately, the system tolerates short-lived backend hiccups before declaring a crawl failed.

Accurate performance metrics

Improved

Scraping analytics and aggregate success metrics now automatically exclude incomplete or legacy diagnostic records. This ensures that your dashboard historical success rates and anti-bot census data are cleaner and more accurate.

Robust proxy rotation for BYOP

Improved

Custom proxy configurations now strictly enforce dynamic IP rotation capabilities. This ensures static or unmanaged proxy credentials no longer cause exit node duplication or connection failures during scraping.

Adaptive proxy tiering

Improved

Headless requests now feed validation failures directly into our routing engine. If a proxy path is rejected, the system dynamically swaps routes to maximize your request success rates.

Guaranteed credit refunds

Improved

We have redesigned our transaction rollback flow to guarantee partial credit refunds. If a crawl is cancelled or a batch search fails mid-loop, your credits are safely and instantly returned to your balance.

Predictable rendering timeouts

Improved

Advanced rendering tasks now enforce a strict, unified deadline across all internal retries. Headless browser capacity limits are handled cleanly, allowing requests to fail fast rather than hanging indefinitely.

fix(backup): verify local backups against their published contract version

Improved

Fixes , the deploy blocker that failed production deploy run 37634854383 at.

Improved Organization Billing Reliability

Fixed

Organization billing and usage statistics endpoints no longer crash when an active owner is not assigned. Additionally, sensitive owner details are safely restricted on standard endpoints.

Correct Default Checkout Payment Mode

Fixed

One-time checkout deposits now default to the correct payment-only mode rather than erroneously trying to establish recurring subscriptions. This ensures that account funding runs smoothly.

Smoother Checkout Form Recovery State

Fixed

The checkout interface now automatically resets and unlocks on payload or session errors during deposit preparation. This prevents payment screens from getting stuck and allows quick retries.

Sanitized Crawl Error Export Messages

Fixed

Error details in failed or rejected crawl status pages and export reports are now properly sanitized. This prevents internal scheduling details from being exposed in public exports.

No duplicate checkouts

Fixed

When completing a deposit checkout, the billing form now automatically resumes your existing payment session in the event of a conflict. This avoids forcing you to start a new session, preventing accidental duplicate charges.

Guaranteed deposit bonuses

Fixed

Delayed payment completions that settle after typical promotional periods are now automatically recovered and credited. You will no longer lose your promotional bonus if a payment takes longer than usual to process.

Fail-safe organization billing

Fixed

If the organization billing system encounters a temporary database error, requests will now cleanly fail closed with a 503 status instead of accidentally falling back to individual team members' wallets. This protects personal team accounts from unexpected charges.

Stable deep crawls

Fixed

Crawls with large discovery and URL expansion phases will no longer time out or fail with closed connection errors. Balance verification is now decoupled from URL discovery to ensure stable execution.

Reliable limit enforcement

Fixed

The system now eliminates race conditions where concurrent API requests could temporarily leak and bypass your domain dispatch limits. This prevents unexpected rate limiting or concurrent usage spikes during high-volume periods.

Consistent scraping diagnostics

Fixed

Diagnostic snapshot records now accurately prioritize your final successful scrape attempt over previous failed retries. This ensures that your diagnostic dashboard logs always reflect correct execution states.

Resilient diagnostics API

Fixed

The diagnostics API is now highly tolerant of malformed attempt metadata, dropping legacy invalid elements rather than raising 500 errors. This ensures your integration can always access diagnostics history without interruptions.

Accurate streaming challenge detection

Fixed

Our HTML stream parser has been optimized to prevent false-positive challenge detection on inert page templates. This ensures your scraping jobs do not prematurely abort active streaming responses.

Idempotent search child debits

Fixed

We resolved a potential double-billing bug by making child search enqueuing fully idempotent. Retrying a parent search job will no longer duplicate debits or enqueue duplicate child tasks.

Consistent rendering diagnostics

Fixed

Failed headless browser rendering tasks now carry a uniform, versioned diagnostic payload. This ensures you always receive structured, readable evidence files regardless of why a task failed.

Reliable connection racing

Fixed

Concurrent connection racing has been refined to fully validate streaming response content before choosing a winner. This avoids premature cancellation of active connections during verification screens.

Isolated Proxy Session Pooling

Security

Browser session pooling now isolates contexts strictly by their exact proxy URL and owner credentials. This prevents potential session leakage when sharing gateway hosts across scraper instances.

Enhanced API Key Redirection Security

Security

By disabling automatic redirect following in development verification checks, your sensitive API keys are prevented from being sent to external redirect targets. This enforces a secure boundary.

Hardened billing sessions

Security

Legacy, unvalidated payment checkout paths have been retired to enhance platform security. Checkout endpoints now strictly fail closed if payment sessions do not provide explicit metadata validation.

Secure deposit processing

Security

Deposits flagged for potential fraud are now completely terminated immediately upon refund. This ensures that associated promotional bonuses or automatic recharges do not execute for cancelled sessions.

Strict API key enforcement

Security

Deactivated or deleted users are now immediately rejected at the API authorization boundary. Service-account and personal keys will no longer permit access once a user is soft-deleted.

Secure billing boundaries during transfer

Security

Guards during organization ownership transfers prevent in-flight charges from being billed to the prior owner. Debits and ownership changes are now strictly isolated.

Fail-closed billing resolver

Security

Organizations lacking active owners or encountering undefined billing states now safely fail closed. This prevents accidental billing exposure and unauthorized credit consumption.

Fix: enforce one deadline and typed capacity outcomes across T4

Fix: enforce one deadline and typed capacity outcomes across T4

Fixed

Fix: enforce one deadline and typed capacity outcomes across T4

Stability & Performance

General bug fixes and improvements

Improved

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

Internal Improvements

General bug fixes and improvements

Improved

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

General improvements

Improved

This release includes general improvements and maintenance updates.

Performance Improvements

fix(ops): preserve legacy redaction placeholders

Improved

Ignore the exact legacy placeholder as well as canonical when counting generic credential candidates in scoped usage-tracking URLs.

fix(infra): verify trusted cron monitor freshness

Improved

The protected-source monitor digest is checked against the root-owned runtime bundle before and after the signed root-trust transaction.

fix(billing): contain non-deposit session-binding failures

Improved

Contain at the existing caller boundary across 34 non-deposit billing/support routes (38 token operations).

fix(auth): retry deferred session validation

Improved

Keep the session-validation success timestamp authoritative and separate from a bounded retry timestamp.

fix(api): return recoverable reauthentication on binding loss

Improved

Implements by wrapping all 79 strict session operations across the 58 admitted API routes in the shared typed session-binding boundary.

fix(auth): handle identity session-binding failures

Improved

Route typed session-binding failures through the existing controlled session-expiry boundary across the 25 assigned identity routes.

feat(ops): add scoped usage metadata credential redaction handler

Improved

- Add a fixed-scope, empty-schema irreversible handler that redacts credential-shaped values only from and in the fixed UTC window.

fix(backup): validate expected account pin

Improved

Fail early in the existing backup-restore-drill configuration preflight when the independently provisioned is missing or not 32 lowercase hexadecimal characters.

feat(auth): add typed session-binding caller boundary

Improved

Adds a typed reusable caller boundary that maps only to the canonical session-expiry response while preserving success values and rethrowing unrelated errors.

fix(backup): guard Netcup dual-restore cutover gate

Improved

Add an offline structural/source-contract regression test for the Netcup cutover runbook and actual encrypted base/WAL publisher and relay source paths.

General bug fixes and improvements

Improved

Plus 7 internal improvements for better reliability and performance.

cover percent-encoded usage tracking credentials

Fixed

Fix the fixed-scope usage-tracking credential cleanup false negative for percent-encoded credential parameters and encoded nested URLs, and align its classification/verification with the shared redact.

stop Cloudflare publication after TERM

Fixed

<!-- FORGE:BODY-INTEGRITY:34017_review-findings-20261001T145651Z-4156571 -->.

return controlled reauthentication from dashboard requests

Fixed

Handle session-binding failures consistently across the affected dashboard and data API routes so missing bindings return the existing controlled session-expiry response.

stop thin real pages with optional scripts escalating to T4

Fixed

Fix the platform-wide thin-page classifier that escalated real server-rendered responses to T4 merely because they contained an optional external script.

distinguish restricted login outcomes

Fixed

Return a stable, neutral outcome after password verification and map only allowlisted login failures to fixed UI messages.

More Reliable Scraping and Accurate Billing

Robust billing and settlement recovery

Improved

We improved our billing reconciliation process to handle ambiguous API transactions during background failovers. This guarantees accurate usage tracking even during transient network issues.

Accurate refunds for terminated jobs

Improved

API refunds and terminal settlements are now serialized to eliminate rare race conditions. This ensures refunds for failed requests are applied promptly and accurately to your account.

Reliable handling of paced requests

Improved

Jobs delayed due to target-site rate limits now remain fully active and recoverable. This prevents requests from timing out prematurely on sites requiring polite, low-concurrency pacing.

General bug fixes and improvements

Improved

Plus 14 internal improvements for better reliability and performance.

Preventing duplicate job execution

Fixed

The API now automatically filters out completed jobs during background recovery events. This prevents duplicate webhook deliveries and redundant scraping attempts, saving your API credits.

Robust multi-stage job preservation

Fixed

Scraping jobs requiring multiple stages are now fully preserved during recovery operations. This prevents active requests from being prematurely marked as timed out or failed.

Reliable browser initialization on retries

Fixed

We resolved an issue where incomplete extension downloads caused scraping retries to fail. The platform now automatically clears corrupted cache directories to ensure smooth page loads.

Improved browser engine discovery

Fixed

We added retry logic with backoff for the browser rendering engine's initialization and discovery. This eliminates transient startup errors when launching browser-based scraping jobs.

Resolved connection stream vulnerability

Security

We patched a vulnerability (CVE-2026-63374) in our connection streaming components to keep all API communication secure. This update prevents potential service disruptions.

bound ambiguous settlement reconciliation

bound ambiguous settlement reconciliation

Fixed

bound ambiguous settlement reconciliation

complete trusted root runtime rollout

Fixed

complete trusted root runtime rollout

repair Netcup relay candidate recovery

Fixed

repair Netcup relay candidate recovery

align protected storage capture and restore contracts

align protected storage capture and restore contracts

Fixed

align protected storage capture and restore contracts

restore jobs import ordering

restore jobs import ordering

Fixed

restore jobs import ordering

gate shared PX hold success on clean content

Fixed

gate shared PX hold success on clean content

preserve clean in-place hold challenge solves

Fixed

preserve clean in-place hold challenge solves

format promotion scraper changes

Fixed

format promotion scraper changes

repair promotion tests and OpenAPI archive

Fixed

repair promotion tests and OpenAPI archive

Fix: include proxy intent in successful scrape cache identity

Fixed

Fix: include proxy intent in successful scrape cache identity

Fix: cast dashboard organization parameters before asyncpg execution

Fixed

Fix: cast dashboard organization parameters before asyncpg execution

preserve terminal settlement when caching fails

Fixed

preserve terminal settlement when caching fails

remove GROUP BY alias from inactivity lifecycle query

Fixed

remove GROUP BY alias from inactivity lifecycle query

Fix: align admin CRM queries with production schema

Fixed

Fix: align admin CRM queries with production schema

Fix: type nullable organization parameters in dashboard SQL

Fixed

Fix: type nullable organization parameters in dashboard SQL

Fix: add fail-closed eMemo ownership contract

Fixed

Fix: add fail-closed eMemo ownership contract

Fix: preserve eMemo recovery identity on collision suffixes

Fixed

Fix: preserve eMemo recovery identity on collision suffixes

isolate lifecycle integration-test schemas

Fixed

isolate lifecycle integration-test schemas

block direct T4 when proxy-required rotation returns no URL

Fixed

block direct T4 when proxy-required rotation returns no URL

clear stale proxy outcome error type

Fixed

clear stale proxy outcome error type

preserve requested country during reactive proxy acquisition

Fixed

preserve requested country during reactive proxy acquisition

Fix CI Downloads classification test runtime

Fixed

Fix CI Downloads classification test runtime

persist reactive proxy requirement across T4 deferral

Fixed

persist reactive proxy requirement across T4 deferral

preserve BYOP type after reactive acquisition

Fixed

preserve BYOP type after reactive acquisition

retain credentials after canonical GET redirects

Fixed

retain credentials after canonical GET redirects

Fix: run production identity preflight tests in CI

Fixed

Fix: run production identity preflight tests in CI

Fix: run changelog watermark regression suite in CI

Fixed

Fix: run changelog watermark regression suite in CI

Fix: format API key identity helper

Fixed

Fix: format API key identity helper

Fix: complete API identity test settings

Fixed

Fix: complete API identity test settings

normalize CRM lifecycle event names

Fixed

normalize CRM lifecycle event names

normalize smoke identity organization monitoring system

Fixed

normalize smoke identity organization monitoring system

Fix: resolve promotion changelog conflict

Fixed

Fix: resolve promotion changelog conflict

Fix: run Marcode production preflight tests in CI

Fixed

Fix: run Marcode production preflight tests in CI

require HTTPS for production test identity

Fixed

require HTTPS for production test identity

require active PgBouncer waiters for maxwait alerts

Fixed

require active PgBouncer waiters for maxwait alerts

Fix: repair promotion CI checks

Fixed

Fix: repair promotion CI checks

Fix CI: include retained archive in backup fixture

Fixed

Fix CI: include retained archive in backup fixture

Fix CI: terminate backup fixture COPY blocks

Fixed

Fix CI: terminate backup fixture COPY blocks

Fix CI: model archive redaction in backup fixtures

Fixed

Fix CI: model archive redaction in backup fixtures

repair credential policy SQL query

Fixed

repair credential policy SQL query

enforce protected-volume destination boundaries

Fixed

enforce protected-volume destination boundaries

patch web image vulnerabilities

Fixed

patch web image vulnerabilities

preserve historical logical contracts

preserve historical logical contracts

Fixed

preserve historical logical contracts

classify retained production recovery tables

Fixed

classify retained production recovery tables

Secure Retries and Reliable Proxies

Preserve Custom Session Cookie Metadata

Improved

Your custom session cookies now retain their full security and scope attributes when requests are retried through browser rendering. This maintains session integrity and prevents unexpected logouts or session expiration during scraping.

Geotargeting Preserved on Proxy Rotation

Improved

Requests that automatically rotate proxies after encountering a block now strictly retain your requested country targeting. This prevents requests from falling back to default regions when a proxy swap occurs.

Persistent Clearance Sessions

Improved

Successfully solved clearance tokens from detection systems are now seamlessly carried over to subsequent request attempts. This reduces repeated challenges, resulting in faster load times and higher success rates.

General bug fixes and improvements

Improved

Plus 10 internal improvements for better reliability and performance.

Credentials Kept on Redirects

Fixed

Authenticated GET requests that undergo same-origin redirects now reliably retain their authorization credentials. This ensures you do not receive unexpected 401 errors or public fallbacks during redirection.

Accurate Bring-Your-Own-Proxy Billing

Fixed

Your custom proxies now maintain their correct classification during reactive proxy switches. This guarantees accurate pricing and prevents billing inaccuracies for requests using your own proxy pools.

Reliable Proxy Enforcement for Deferred Requests

Fixed

Delayed or queued scraping tasks now strictly preserve their proxy requirements when resumed. This ensures requests never bypass designated proxies and fail closed if the required proxy is unavailable.

Accurate Error Reporting for Retries

Fixed

When retrying requests through our browser rendering system, failed target website status codes are now correctly propagated. This prevents unsuccessful scrapes from being reported as successful.

Accurate Proxy Error Reporting

Fixed

The API now reports the exact, final error reason when a proxy connection fails, clearing out outdated intermediate exceptions. This simplifies debugging and helps you implement more precise error handling.

Reliable Organization Dashboard Analytics

Fixed

Resolved SQL data-type errors that caused organization-scoped analytics charts to fail on the developer dashboard. Your metrics and usage breakdowns will now load reliably.

Secure Header Delivery on Retries

Security

Your custom authentication, API, CSRF, and idempotency headers are now securely forwarded to target sites during retries. This ensures authenticated requests succeed without exposing headers globally.

Strict Leak Prevention on Proxy Failure

Security

Requests requiring proxies will now fail closed rather than falling back to unproxied connections if proxy rotation fails. This guarantees your actual IP address is never leaked or exposed to the target site.

reconcile active anti-bot system routing

reconcile active anti-bot system routing

Fixed

reconcile active anti-bot system routing

Fix: preserve Cloudflare solve identity through clearance replay

Fix: preserve Cloudflare solve identity through clearance replay

Fixed

Fix: preserve Cloudflare solve identity through clearance replay

Fix: preserve release history and generation watermark

Fixed

Fix: preserve release history and generation watermark

Smarter Routing and Proxy Safety

Smarter IP Network Routing

Improved

The platform now uses real-time network reputation data to select the cleanest connection routes. By avoiding failing network paths, your scrapers will experience higher reliability and fewer IP blocks.

In-Place Security Challenge Solving

Improved

The scraper now handles verification challenges that resolve in-place via dynamic page updates. This ensures successful data extraction from highly protected sites without requiring full-page reloads.

Smarter Scrape Result Caching

Improved

The cache engine now records your exact proxy choices when saving successful results. This prevents cached proxied responses from being mistakenly returned to subsequent direct requests.

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

Consistent Proxy Intent in SDKs

Fixed

The SDKs and batch endpoints now correctly distinguish between omitting proxy options and setting them to false. This restores full control, letting you safely utilize automatic system proxies.

Automatic Proxy Escalation Fixed

Fixed

We resolved a routing bug where omitting the proxy option was treated as a direct request. This allows the API to automatically escalate and route requests through system proxies when facing page blocks.

Forced JavaScript Rendering Preserved

Fixed

Explicit requests for JavaScript rendering are now strictly honored and will not be overridden. This guarantees that your dynamic pages are always fully rendered using a browser engine when specified.

Accurate Challenge Solving Metrics

Fixed

We resolved an issue where the API could occasionally report success while a verification challenge was still active. The system now verifies that the target content has fully loaded before returning success.

Proxy Safety for Dedicated Paths

Security

Geotargeting and sticky session settings are now strictly preserved across specialized rendering tasks. The API will also fail closed if a secure route lacks a configured proxy to prevent data leaks.

Enhanced Scraping and Streaming Reliability

General bug fixes and improvements

Improved

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

Reliable JavaScript Requests

Fixed

JavaScript-rendered scraping requests now experience significantly higher success rates. We optimized routing workflows to ensure consistent and reliable delivery of dynamic web content.

Resilient Redirect Recovery

Fixed

Scraping tasks involving web redirects are now more resilient to network fluctuations. The API recovers faster to ensure target pages are reached successfully without losing connection.

mark validation scripts executable

Staging Review: middleware accepts legacy unbound session cookies

New

Staging Review: middleware accepts legacy unbound session cookies

atomically persist ad-validation state and queue work

New

atomically persist ad-validation state and queue work

Staging Review: admin-proxy rejects but does not expire legacy cookies

New

Staging Review: admin-proxy rejects but does not expire legacy cookies

inspect queued cache work before stale scrape refund/retry

New

inspect queued cache work before stale scrape refund/retry

parse nested template literals in Node SDK signatures (review finding — )

New

parse nested template literals in Node SDK signatures (review finding — )

track n8n runtime base-URL fix for ALT-68

New

track n8n runtime base-URL fix for ALT-68

forced render_js ignores Cloudflare proxy routing and sends T4 direct (ALT-73)

New

forced render_js ignores Cloudflare proxy routing and sends T4 direct (ALT-73)

Investigate: determine ASN-level egress reputation for truepeoplesearch.com WAF class using new ip_reputation telemetry (ALT-40 follow-up)

New

Investigate: determine ASN-level egress reputation for truepeoplesearch.com WAF class using new ip_reputation telemetry (ALT-40 follow-up)

mark validation scripts executable

Fixed

mark validation scripts executable

Decode quoted production dotenv escapes

Fixed

Decode quoted production dotenv escapes

Fix deployment recovery CI contracts

Fixed

Fix deployment recovery CI contracts

Fix: wire Cloudflare origin regression suite

Fixed

Fix: wire Cloudflare origin regression suite

update ad handoff test fake

Fixed

update ad handoff test fake

repair staging CI contracts

Fixed

repair staging CI contracts

Fix: enforce dispatch entitlements for scrape fan-out

Fixed

Fix: enforce dispatch entitlements for scrape fan-out

Fix: fence stale organization billing-owner cache

Fixed

Fix: fence stale organization billing-owner cache

scope billing reads to organization principal

Fixed

scope billing reads to organization principal

Fix: scope usage reads by organization

Fixed

Fix: scope usage reads by organization

revoke removed organization member keys

Fixed

revoke removed organization member keys

repair organization API key cache coverage

Fixed

repair organization API key cache coverage

retire ad validation handoff marker

Fixed

retire ad validation handoff marker

use organization principal for deposits

Fixed

use organization principal for deposits

align dispatch 429 schema with runtime

Fixed

align dispatch 429 schema with runtime

preserve batch billing source contract

Fixed

preserve batch billing source contract

scope personal tier-cap insights

Fixed

scope personal tier-cap insights

Workspace Security and Unified Billing

Unified PAYG Balance Tiers

New

Funded Pay-As-You-Go accounts are now automatically scaled to their correct billing-tier benefits across all platforms. You can now access advanced limits and features instantly in Workflow Studio, usage reservations, and API dispatch based on your wallet's balance.

Synchronized SDK Usage Tracking

Improved

Both the Python and Node SDK client libraries have been fully synchronized with our latest OpenAPI specifications. This enables accurate auto-generated type definitions, updated documentation, and seamless local cost-estimation utilities.

Real-Time Parallel Crawling Safeguards

Improved

The platform now evaluates real-time available balances and limits before distributing massive parallel scrape jobs. This ensures predictable scaling behavior and protects your account from unexpected budget overages.

General improvements

Improved

This release includes general improvements and maintenance updates.

Multi-Workspace Billing Scoping

Fixed

Usage estimates, ledger summaries, auto-recharge rules, and billing charts are now strictly scoped to your selected workspace organization. This prevents aggregate billing data from mixing together across distinct workspaces or organizations.

Unified Organization Deposits

Fixed

Customer deposit checkouts are now correctly mapped to the organization's primary billing principal rather than individual members. This guarantees clean invoice records and correct checkout ownership attribution for corporate cards.

Restored Usage Log Visibility

Fixed

Dashboard statistics and detailed run logs now accurately show API consumption handled on behalf of the organization's billing owner. This restores real-time tracking transparency for developers monitoring active pipelines.

Instant Owner Role Resolution

Fixed

Ownership changes for organizations are now reflected immediately across authorization layers instead of relying on outdated caching. New billing administrators can immediately manage budgets and subscriptions.

Reliable JavaScript-Rendered Routing

Fixed

Fixed an issue where enabling JavaScript rendering could bypass optimal proxy configurations on specific target pages. Your interactive scrapes will now consistently route through high-success paths.

Node SDK Signature Parsing

Fixed

Resolves verification errors in the Node SDK when processing configurations containing nested template literals. You can now use dynamic values in your request schemas without encountering signature mismatches.

n8n Automation Flow Stability

Fixed

Corrected a credential-derived URL normalization bug that affected asynchronous polling inside the n8n runtime environment. Workflow nodes can now poll progress securely without facing unexpected authentication drops.

General Bug Fixes and Improvements

Fixed

Standardized error responses during crawl validation to match expected formats, ensuring more predictable debugging. Historical balance reconciliation records were also corrected to guarantee perfect account ledgers.

Instant Workspace Access Revocation

Security

Hardened security boundaries now immediately invalidate user-owned API keys when a member is removed from an organization. This prevents unauthorized calls by instantly flushing all active authorization cache layers.

Personal Workspace Privacy Controls

Security

Invited workspace members can no longer view the private billing tiers and usage analytics of a personal workspace owner. Enterprise-level organizational analytics remain fully functional and unaffected.

Smarter Scrapes and Precise Billing

Flexible sync deadlines

New

Configure your API calls to remain open until a specific deadline is met. This ensures you get scraped data in the initial response and eliminates unnecessary polling.

Smarter detection system bypasses

Improved

Scraping websites with advanced detection systems is now much more stable. The system preserves bypass strategies after resets, preventing unexpected failures on highly secured domains.

Passive security widget handling

Improved

Scraping pages with passive security widgets is now highly reliable. Our engine accurately distinguishes passive elements from active, blocking challenges to ensure smooth data extraction.

Granular browser error messages

Improved

Get detailed, actionable error messages if a browser session fails to launch. The API distinguishes concurrency limits from initialization timeouts so you can optimize scaling.

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

Fail closed production deployment recovery

Improved

- normalize container dotenv through a non-evaluating renderer before production shell consumers load it.

Decode quoted production dotenv escapes

Improved

Decode valid quoted dotenv escapes exposed by production.

General improvements

Improved

This release includes general improvements and maintenance updates.

Fair billing for failed scrapes

Fixed

You will no longer be billed for failed scrapes that return terminal HTML error pages. Our platform detects these bad responses early and filters them out before charging your ledger.

Automated ledger reconciliation

Fixed

Our billing system now automatically reconciles failed jobs against your account ledger. This ensures that any debits for failed jobs or tier upgrades are fully and safely refunded.

Consistent job polling URLs

Fixed

Every asynchronous scrape now includes a consistent job polling URL in its response. This guarantees seamless tracking for all edge cases, including timeouts and automatic downgrades.

Robust third-party authentication

Fixed

Enjoy more reliable and secure session persistence across your API integrations. Logging in via third-party one-tap authentication providers is now highly stable across all gateways.

Graceful documentation link redirects

Fixed

All legacy documentation links have been permanently mapped to their modern canonical routes. You can now navigate reference guides smoothly without encountering broken URLs.

Continuous Task Queue Reliability

Fixed

We fixed a bug that could cause scraping tasks to permanently stop processing during extended, multi-day operations. Your pipelines will now process high-volume request queues continuously and reliably without unexpected interruptions.

deployment recovery CI contracts

Fixed

- mark the new command-target deployment tests executable.

Fix: parse generic raw request calls for SDK response drift

Fix: parse generic raw request calls for SDK response drift

Fixed

Fix: parse generic raw request calls for SDK response drift

unblock opportunity report migration in CI

Fixed

unblock opportunity report migration in CI

migrate unbound session cookies

Fixed

migrate unbound session cookies

enforce session binding on blog admin

Fixed

enforce session binding on blog admin

fail closed revoked sessions

Fixed

fail closed revoked sessions

reroll served static WAF blocks on fresh egress

Fixed

reroll served static WAF blocks on fresh egress

Improved Scraping Reliability and Session Handling

General bug fixes and improvements

Improved

Plus 1 internal improvement for better reliability and performance.

General improvements

Improved

This release includes general improvements and maintenance updates.

Reliable third-party sign-in flows

Fixed

We modernized the secure data handoff during sign-ins. This eliminates transient authentication errors and ensures a seamless, reliable login experience.

Enhanced Scraping Reliability

Fixed

The scraping engine now automatically detects blocked requests and reroutes them through clean IPs. This ensures your scrapes succeed reliably without interrupting interactive solver flows.

Fixed Announcement Bar Layout

Fixed

We fixed a dashboard layout bug that displayed a blank 45px space. Promotional banners now display correctly, while critical maintenance alerts remain prioritized.

Instant Revocation of Expired Sessions

Security

Active sessions are now immediately terminated and blocked the moment they are revoked. This prevents any unauthorized access to your dashboard or API keys using expired session tokens.

Graceful Session Expiration Handling

Security

API requests with expired sessions now receive a structured error response for easier programmatic handling. Dashboard users are gracefully redirected to log in while keeping their current path.

Reliable Scheduled Crawls and Billing

General bug fixes and improvements

Improved

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

Durable crawl credit refunds

Improved

Scheduled crawl refunds are now durable and spend counters are settled with stable idempotency keys. This ensures you are never double-charged and failed scheduler credits are correctly refunded.

Reliable recurring crawl auth

Improved

The resolved billing identity is now persistently used for recurring crawl schedules. This prevents auth timeouts and ensures your scheduled tasks execute reliably.

Preserved crawl budget reservations

Fixed

Your scheduled crawl budget reservations are now safely preserved when revalidating custom proxy credentials. This ensures validation checks do not block or discard active crawl allocations.

Robust profile ad validation

Fixed

We have introduced automated retries and terminal status handling to paired profile ad validation. This prevents validation checks from hanging and improves success rates for active ad profiles.

prepare staging for fresh deploy review

prepare staging for fresh deploy review

Fixed

prepare staging for fresh deploy review

Reliable Batching and Cost Controls

Typed batch scraping responses

Improved

The Node SDK now fully exposes accepted and rejected task details for bulk scraping. This provides complete TypeScript compile-time safety when inspecting the results of your batch operations.

Documented batch response schemas

Improved

The OpenAPI schema now formally defines the terminal HTTP 200 response body for batch scraping requests. This simplifies custom client generation and bulk request integration.

Enhanced TypeScript type discovery

Improved

The Node SDK now successfully detects and parses inline or intersection generic types inside raw request helper calls. This ensures your custom type definitions are correctly captured during development.

General bug fixes and improvements

Improved

Plus 9 internal improvements for better reliability and performance.

No debits for denied runs

Fixed

Credit entitlement checks are now performed before charging balances for scheduled scraping tasks. This ensures you are never charged for a scheduled run that gets denied or blocked during pre-dispatch checks.

Reliable scraping task cancellation

Fixed

Task cancellations are now properly preserved and raised during background billing retry cycles. This ensures that stopped scraping requests immediately cease processing and do not consume your resources.

Accurate concurrent refund tracking

Fixed

A concurrency lock has been introduced to prevent concurrent refund replays from overwriting newer balance updates. This ensures your account credit balances remain perfectly accurate and synchronized.

Robust batch payload validation

Fixed

The batch endpoint now gracefully validates and rejects non-object JSON inputs before queue processing. This prevents malformed bulk requests from stalling or halting execution pipelines.

Secure browser profile isolation

Security

Access restrictions have been tightened to block external access to browser profile directories within served downloads. This secures session-specific data and prevents potential cross-tenant leakage.

Fix: Netcup live-capacity gate net memory delta (deadlock on shrink+grow deploys)

dedicated split-screen signin and signup pages

New

dedicated split-screen signin and signup pages

cache mail provider Mail API OAuth token and folder ID across poll cycles

Improved

cache mail provider Mail API OAuth token and folder ID across poll cycles

Fix: Netcup live-capacity gate net memory delta (deadlock on shrink+grow deploys)

Fixed

Fix: Netcup live-capacity gate net memory delta (deadlock on shrink+grow deploys)

Fix: phantom in-flight poisons repeat sync scrapes (85s hang + 504)

Fixed

Fix: phantom in-flight poisons repeat sync scrapes (85s hang + 504)

Fix: validate ACTUAL_* replica counts through netcup_is_uint in live-capacity gate

Fixed

Fix: validate ACTUAL_* replica counts through netcup_is_uint in live-capacity gate

Fix: structure-queue :processing LIST periodic reaper + finally-wrapped acks

Fixed

Fix: structure-queue :processing LIST periodic reaper + finally-wrapped acks

Fix: _is_system_proxy misclassifies trailing-dot FQDN gateway hostname as BYOP

Fixed

Fix: _is_system_proxy misclassifies trailing-dot FQDN gateway hostname as BYOP

Fix: document LIST reaper claimed-at hash invariant (review finding — )

Fixed

Fix: document LIST reaper claimed-at hash invariant (review finding — )

Fix: sitemap advertises ~84 dead /docs-md/* URLs (404s)

Fixed

Fix: sitemap advertises ~84 dead /docs-md/* URLs (404s)

Fix: exclude thin blog categories from sitemap to match noindex gate

Fixed

Fix: exclude thin blog categories from sitemap to match noindex gate

Fix: clamp PROCESSING_REAPER_INTERVAL_S to a minimum

Fixed

Fix: clamp PROCESSING_REAPER_INTERVAL_S to a minimum

Fix: release slot when resolve_extraction_route raises 400

Fixed

Fix: release slot when resolve_extraction_route raises 400

Fix: remove dead cloud provider worker monitoring scrape jobs

Fixed

Fix: remove dead cloud provider worker monitoring scrape jobs

Fix: auto-recharge invoices inaccessible in billing Receipts card

Fixed

Fix: auto-recharge invoices inaccessible in billing Receipts card

Fix: add tier-policy escalation gate observability metric

Fixed

Fix: add tier-policy escalation gate observability metric

Fix: AI engine Experiment stable created_at anchors retention window

Fixed

Fix: AI engine Experiment stable created_at anchors retention window

Fix: escalation heuristics fire on byte-count/generic-exceptions without proven detection

Fixed

Fix: escalation heuristics fire on byte-count/generic-exceptions without proven detection

Fix: enforce IP blacklist in rotating proxy mode

Fixed

Fix: enforce IP blacklist in rotating proxy mode

Fix: let well-sampled tier evidence override authoritative min_tier floor

Fixed

Fix: let well-sampled tier evidence override authoritative min_tier floor

Fix: route content-quality T3->T4 escalations through is_escalation_permitted

Fixed

Fix: route content-quality T3->T4 escalations through is_escalation_permitted

Fix: remove customer-facing domain_not_supported dead-end in worker

Fixed

Fix: remove customer-facing domain_not_supported dead-end in worker

Fix: route 3 worker fallback/race header merges through merge_headers_in_order

Fixed

Fix: route 3 worker fallback/race header merges through merge_headers_in_order

capture CB-trip baseline in JobQueue.__init__ not lazily

Fixed

capture CB-trip baseline in JobQueue.__init__ not lazily

Fix: reload monitoring config on normal full deploy

Fixed

Fix: reload monitoring config on normal full deploy

Fix: rate-limit gate honors precise wait_ms instead of flat 5s requeue ceiling

Fixed

Fix: rate-limit gate honors precise wait_ms instead of flat 5s requeue ceiling

Fix: proxy_provided debug log reports mode=rotating after an IP-blacklist reroll

Fixed

Fix: proxy_provided debug log reports mode=rotating after an IP-blacklist reroll

avoid redundant is_domain_well_sampled cache round-trip

Fixed

avoid redundant is_domain_well_sampled cache round-trip

Fix: fail closed on TLS parser breakage in chrome-upgrade-safety-gate

Fixed

Fix: fail closed on TLS parser breakage in chrome-upgrade-safety-gate

Fix: auto-recharge falls back to amount+date when PaymentIntent ID is null

Fixed

Fix: auto-recharge falls back to amount+date when PaymentIntent ID is null

Fix: headed semaphore slot stays reserved during bundled fallback in CF solver

Fixed

Fix: headed semaphore slot stays reserved during bundled fallback in CF solver

Fix: normalize chrome136 JA3 field order before TLS drift comparison

Fixed

Fix: normalize chrome136 JA3 field order before TLS drift comparison

Fix: bounded re-verification loop for IP-blacklist reroll (both sticky and rotating branches)

Fixed

Fix: bounded re-verification loop for IP-blacklist reroll (both sticky and rotating branches)

Fix: wrap CIRCUIT_BREAKER_TRIPS_TOTAL._value.get behind a stable helper + pin with a test

Fixed

Fix: wrap CIRCUIT_BREAKER_TRIPS_TOTAL._value.get behind a stable helper + pin with a test

Fix: DomainRateLimiter uses cache TIME instead of client-supplied now_ms (clock-drift hardening)

Fixed

Fix: DomainRateLimiter uses cache TIME instead of client-supplied now_ms (clock-drift hardening)

Fix: agent ticket-list status filter uses non-existent 'waiting_on_customer'

Fixed

Fix: agent ticket-list status filter uses non-existent 'waiting_on_customer'

Fix: restore RATE_LIMITED_RETRY_DELAY_SECONDS=0 kill switch (fallthrough into escalation delay)

Fixed

Fix: restore RATE_LIMITED_RETRY_DELAY_SECONDS=0 kill switch (fallthrough into escalation delay)

Fix: agent_list_tickets status filter omits 'merged'

Fixed

Fix: agent_list_tickets status filter omits 'merged'

Fix: proxy_provided log still reports mode=rotating for sticky-session domain-blacklist rotations

Fixed

Fix: proxy_provided log still reports mode=rotating for sticky-session domain-blacklist rotations

Fix: TLS JA3 normalization sorts cipher field too, widening drift blind spot

Fixed

Fix: TLS JA3 normalization sorts cipher field too, widening drift blind spot

correct stale fail-open docstring on verify_admin_api_key_rate_limited

Fixed

correct stale fail-open docstring on verify_admin_api_key_rate_limited

Fix: cancellation of unregister_headed_solve can inflate soft in-flight counter

Fixed

Fix: cancellation of unregister_headed_solve can inflate soft in-flight counter

Fix: escalate doctype-bearing empty-body shells in content_validator

Fixed

Fix: escalate doctype-bearing empty-body shells in content_validator

Fix: whitespace-only agent note creates blank TicketReply

Fixed

Fix: whitespace-only agent note creates blank TicketReply

Fix: headed-fallback metrics .inc exception swallow

Fixed

Fix: headed-fallback metrics .inc exception swallow

Fix: record tier-3 success on content-quality escalation-denied path at T3

Fixed

Fix: record tier-3 success on content-quality escalation-denied path at T3

Fix: second independent cancellation inside release's manager-unregister await still leaks the counter

Fixed

Fix: second independent cancellation inside release's manager-unregister await still leaks the counter

Fix: agent triage/ticket-update tags field has no max-items bound

Fixed

Fix: agent triage/ticket-update tags field has no max-items bound

Fix: ALT-XXXX ref int parse can overflow Postgres int4 (500 instead of 400)

Fixed

Fix: ALT-XXXX ref int parse can overflow Postgres int4 (500 instead of 400)

Fix: agent-merge audit note commits in same transaction as merge

Fixed

Fix: agent-merge audit note commits in same transaction as merge

Fix: _perform_ticket_merge mandatory_note guard uses truthy check instead of is-not-None

Fixed

Fix: _perform_ticket_merge mandatory_note guard uses truthy check instead of is-not-None

Fix: browser_pool_exhausted retries force-pinned to T4 instead of de-escalating to T3

Fixed

Fix: browser_pool_exhausted retries force-pinned to T4 instead of de-escalating to T3

Fix: pending unregister task not cleaned up on test assertion failure (review finding — )

Fixed

Fix: pending unregister task not cleaned up on test assertion failure (review finding — )

Fix: narrow blanket except in leaked-task drain loop (review finding — )

Fixed

Fix: narrow blanket except in leaked-task drain loop (review finding — )

Fix: set MALLOC_ARENA_MAX to cap glibc arena bloat on Netcup workers

Fixed

Fix: set MALLOC_ARENA_MAX to cap glibc arena bloat on Netcup workers

Fix: internal service alert pipeline KeyError 'message' crashes alert_checks (83-92% failure)

Fixed

Fix: internal service alert pipeline KeyError 'message' crashes alert_checks (83-92% failure)

Fix: orphan reaper SIGKILLs live Chrome child processes of pooled browsers

Fixed

Fix: orphan reaper SIGKILLs live Chrome child processes of pooled browsers

Fix: authoritative configuration pins bypass browser-saturation downgrade guard

Fixed

Fix: authoritative configuration pins bypass browser-saturation downgrade guard

Fix: jobs.tier_used mislabels browser_pool_exhausted as scraping tier

Fixed

Fix: jobs.tier_used mislabels browser_pool_exhausted as scraping tier

Fix: orphan reaper dual-snapshot TOCTOU window (review finding — )

Fixed

Fix: orphan reaper dual-snapshot TOCTOU window (review finding — )

Fix: batch of P3 reaper findings — orphan reaper

Fixed

Fix: batch of P3 reaper findings — orphan reaper

Fix: Groq spend-cap reliability system doesn't trip on 402 (review finding — )

Fixed

Fix: Groq spend-cap reliability system doesn't trip on 402 (review finding — )

Fix: type _pending_headed_unregister_tasks as set[asyncio.Task]

Fixed

Fix: type _pending_headed_unregister_tasks as set[asyncio.Task]

recompute stale chrome136 TLS JA3 baseline

Fixed

recompute stale chrome136 TLS JA3 baseline

Fix: truncate role_arn in ARN-shape error message

Fixed

Fix: truncate role_arn in ARN-shape error message

Fix: Receipts amount+date Any fallback can hide a real charge

Fixed

Fix: Receipts amount+date Any fallback can hide a real charge

Fix: truncate role_arn in STS-failure warning log

Fixed

Fix: truncate role_arn in STS-failure warning log

Fix: demographic profiles never acquire a real NID, false-green verification, wasted video bandwidth

Fixed

Fix: demographic profiles never acquire a real NID, false-green verification, wasted video bandwidth

Fix: advertiser details always return name=None — call ATC's own RPC instead of scraping SPA shell

Fixed

Fix: advertiser details always return name=None — call ATC's own RPC instead of scraping SPA shell

Fix: unescaped $1 in ghost-project awk filter breaks Netcup skip guard

Fixed

Fix: unescaped $1 in ghost-project awk filter breaks Netcup skip guard

Fix: batch P3 findings — initialization cookie allowlist

Fixed

Fix: batch P3 findings — initialization cookie allowlist

Fix: unbounded exception logging in storage provider clients

Fixed

Fix: unbounded exception logging in storage provider clients

Fix: unbounded scroll-simulation loop causes 300s TIMEOUT on tall/iframe-hosted pages

Fixed

Fix: unbounded scroll-simulation loop causes 300s TIMEOUT on tall/iframe-hosted pages

Fix: decouple cloud provider smoke-tests/Cloudflare sync from Netcup-only staleness

Fixed

Fix: decouple cloud provider smoke-tests/Cloudflare sync from Netcup-only staleness

Fix: scroll_simulation_complete log fires even on deadline-truncated scroll

Fixed

Fix: scroll_simulation_complete log fires even on deadline-truncated scroll

Fix: batch P3 review findings on deploy-/hotfix-

Fixed

Fix: batch P3 review findings on deploy-/hotfix-

Fix: deterministic tiebreak for majority-vote image selector

Fixed

Fix: deterministic tiebreak for majority-vote image selector

Fix: test import + event-loop breakages blocking staging→main CI

Fixed

Fix: test import + event-loop breakages blocking staging→main CI

Fix: worker b2b test poisons session event loop (224 failures)

Fixed

Fix: worker b2b test poisons session event loop (224 failures)

Fix: shared/ — hardcode HTTP client profile literal instead of deriving from CHROME_VERSION

Fixed

Fix: shared/ — hardcode HTTP client profile literal instead of deriving from CHROME_VERSION

Fix: empty-text refund fires on every default-format scrape

Fixed

Fix: empty-text refund fires on every default-format scrape

Fix: PI-less receipt suppresses by array order — wrong recharge can vanish

Fixed

Fix: PI-less receipt suppresses by array order — wrong recharge can vanish

Fix: /blog newsletter "Stay in the Loop" section clipped by sticky reveal footer

Fixed

Fix: /blog newsletter "Stay in the Loop" section clipped by sticky reveal footer

Fix: correct formatter placement of shared.aws.arn imports (CI red on )

Fixed

Fix: correct formatter placement of shared.aws.arn imports (CI red on )

Fix: stop suppressed invoices from hiding their paired recharge

Fixed

Fix: stop suppressed invoices from hiding their paired recharge

Fix: mirror openapi-artifact negation into deploy-

Fixed

Fix: mirror openapi-artifact negation into deploy-

Fix: RecursionError in structurer pool from bs4 object crossing ProcessPoolExecutor boundary

Fixed

Fix: RecursionError in structurer pool from bs4 object crossing ProcessPoolExecutor boundary

Fix: redact secrets from container-ro inspect output

Fixed

Fix: redact secrets from container-ro inspect output

Fix: structure-stage failures never refund the scrape debit

Fixed

Fix: structure-stage failures never refund the scrape debit

Fix: extraction pool bs4 strip recurses into nested list/dict values

Fixed

Fix: extraction pool bs4 strip recurses into nested list/dict values

Fix: monitor-shell exec N<>/dev/tcp read-write redirect guard bypass

Fixed

Fix: monitor-shell exec N<>/dev/tcp read-write redirect guard bypass

Fix: structure_insufficient_credits early-return never refunds scrape debit

Fixed

Fix: structure_insufficient_credits early-return never refunds scrape debit

Fix: container-ro inspect exit code reflects jq's status, not container's

Fixed

Fix: container-ro inspect exit code reflects jq's status, not container's

Fix: container-ro redaction pattern misses bare CREDENTIALS-style var names

Fixed

Fix: container-ro redaction pattern misses bare CREDENTIALS-style var names

Fix: migration 0288 number collision + CI guard for staging PRs

Fixed

Fix: migration 0288 number collision + CI guard for staging PRs

Fix: black-format import block (review finding — )

Fixed

Fix: black-format import block (review finding — )

Fix: check_t4_circuit_breaker docstring overstates recency of cache-backed data

Fixed

Fix: check_t4_circuit_breaker docstring overstates recency of cache-backed data

Fix: resolve_t4_decision mislabels authority_source for byos_min_tier/deferred-resume/bot protection system-fallback/stats-override paths

Fixed

Fix: resolve_t4_decision mislabels authority_source for byos_min_tier/deferred-resume/bot protection system-fallback/stats-override paths

Fix: classify connection-level proxy rejects as ip_reputation subtype (egress IP reputation, ALT-40)

Fixed

Fix: classify connection-level proxy rejects as ip_reputation subtype (egress IP reputation, ALT-40)

Fix: _record_tier_success decay expiry parity with _record_tier_failure

Fixed

Fix: _record_tier_success decay expiry parity with _record_tier_failure

Fix: precedence-table docstring order mismatch

Fixed

Fix: precedence-table docstring order mismatch

Fix: stale precedence count and authority_source order

Fixed

Fix: stale precedence count and authority_source order

Fix: rebalance billing page layout into actions row + full-width history stack

Fixed

Fix: rebalance billing page layout into actions row + full-width history stack

Fix: has_billing_account optionality mismatch between Pydantic and TS (review finding — )

Fixed

Fix: has_billing_account optionality mismatch between Pydantic and TS (review finding — )

make sync-ssh-guard.sh coverage check recursive

Fixed

make sync-ssh-guard.sh coverage check recursive

Fix: dead hasReceipt conditionals in Receipts.tsx after (review finding)

Fixed

Fix: dead hasReceipt conditionals in Receipts.tsx after (review finding)

Fix: sync-ssh-guard.sh coverage check silently excludes symlinks

Fixed

Fix: sync-ssh-guard.sh coverage check silently excludes symlinks

Fix: validate Location header host in billing receipts redirect proxy

Fixed

Fix: validate Location header host in billing receipts redirect proxy

Fix: appleboy/ssh-action Go-template --format leftover in hotfix- Verify deployment health step

Fixed

Fix: appleboy/ssh-action Go-template --format leftover in hotfix- Verify deployment health step

observe find's exit status in sync-ssh-guard.sh coverage check

Fixed

observe find's exit status in sync-ssh-guard.sh coverage check

Fix: billing identity fields can't be cleared once set (review finding — )

Fixed

Fix: billing identity fields can't be cleared once set (review finding — )

Fix: sync-ssh-guard.sh mktemp failure now fails loudly

Fixed

Fix: sync-ssh-guard.sh mktemp failure now fails loudly

Fix: add idempotency key to close Stripe customer creation race

Fixed

Fix: add idempotency key to close Stripe customer creation race

Fix: loadBillingIdentity has no org-switch staleness guard

Fixed

Fix: loadBillingIdentity has no org-switch staleness guard

Fix: tax-ID diff not atomic against mid-loop Stripe errors

Fixed

Fix: tax-ID diff not atomic against mid-loop Stripe errors

Fix: account-reclaim never deletes attacker's Stripe Customer object

Fixed

Fix: account-reclaim never deletes attacker's Stripe Customer object

Fix: billing identity form fields missing labels

Fixed

Fix: billing identity form fields missing labels

Fix: Stripe error detail returned verbatim in billing identity 502 response

Fixed

Fix: Stripe error detail returned verbatim in billing identity 502 response

Fix: billing identity fields flash stale org data pre-paint

Fixed

Fix: billing identity fields flash stale org data pre-paint

Fix: billing identity docstring + narrow InvalidRequestError safe-branch

Fixed

Fix: billing identity docstring + narrow InvalidRequestError safe-branch

Fix: staleness guard is check-then-act, not atomic

Fixed

Fix: staleness guard is check-then-act, not atomic

Fix: _strip_bs4_recursive skips __slots__ when object also has __dict__

Fixed

Fix: _strip_bs4_recursive skips __slots__ when object also has __dict__

Fix: install amcheck + arm btree-corruption detection for domain_analytics_pkey

Fixed

Fix: install amcheck + arm btree-corruption detection for domain_analytics_pkey

Fix: reconcile bt_index_check probe timeouts in error-trigger.sh

Fixed

Fix: reconcile bt_index_check probe timeouts in error-trigger.sh

Fix: sticky cookie jar race — non-atomic GET/merge/SETEX drops concurrent captures

Fixed

Fix: sticky cookie jar race — non-atomic GET/merge/SETEX drops concurrent captures

Fix: billing pre-estimate ignores force_tier="4"

Fixed

Fix: billing pre-estimate ignores force_tier="4"

Sync: Update SDKs — sticky_session, sticky_session_ttl (from )

Fixed

Sync: Update SDKs — sticky_session, sticky_session_ttl (from )

Fix: _iter_slot_names re-walks already-scrubbed __dict__ slot in _strip_bs4_recursive

Fixed

Fix: _iter_slot_names re-walks already-scrubbed __dict__ slot in _strip_bs4_recursive

Fix: fragile_indexes probe list diverges from CRITICAL_INDEXES, omits users_email_key

Fixed

Fix: fragile_indexes probe list diverges from CRITICAL_INDEXES, omits users_email_key

Fix: Node SDK omits client-side sticky_session validation present in Python SDK

Fixed

Fix: Node SDK omits client-side sticky_session validation present in Python SDK

Fix: pcall-guard incoming cjson.decode in _STICKY_MERGE_LUA (review finding — )

Fixed

Fix: pcall-guard incoming cjson.decode in _STICKY_MERGE_LUA (review finding — )

Fix: amcheck bt_index_check probe has no cross-tick caching/backoff

Fixed

Fix: amcheck bt_index_check probe has no cross-tick caching/backoff

Fix: sticky proxy only threaded into T2 — sub-T2 tiers never share an exit IP

Fixed

Fix: sticky proxy only threaded into T2 — sub-T2 tiers never share an exit IP

Fix: SERP affinity routing could bypass browser-tier gate if force_tier is ever added to SERP (review finding — )

Fixed

Fix: SERP affinity routing could bypass browser-tier gate if force_tier is ever added to SERP (review finding — )

Fix: statement_timeout cancellation misclassified as index corruption in error-trigger.sh

Fixed

Fix: statement_timeout cancellation misclassified as index corruption in error-trigger.sh

Fix: primary API pre-estimate ignores force_tier="4" (review finding — )

Fixed

Fix: primary API pre-estimate ignores force_tier="4" (review finding — )

Fix: _STICKY_MERGE_LUA guard accepts array-shaped payloads; test fake stricter than Lua

Fixed

Fix: _STICKY_MERGE_LUA guard accepts array-shaped payloads; test fake stricter than Lua

Fix: server-side sticky merge re-validates shape/length of existing jar entries

Fixed

Fix: server-side sticky merge re-validates shape/length of existing jar entries

Fix: guard fragile HeaderWriteError import against Python 3.11.x patch skew

Fixed

Fix: guard fragile HeaderWriteError import against Python 3.11.x patch skew

Fix: stdlib-logger kwarg calls in create_job would TypeError if emitted

Fixed

Fix: stdlib-logger kwarg calls in create_job would TypeError if emitted

Fix: T2.6 AMP-discovery quick-fetch egresses proxyless while sticky pinned

Fixed

Fix: T2.6 AMP-discovery quick-fetch egresses proxyless while sticky pinned

Fix: log coverage-gap signal on bt_index_check statement_timeout abort

Fixed

Fix: log coverage-gap signal on bt_index_check statement_timeout abort

Fix: strip control chars from captured sticky-session cookies before persist/replay

Fixed

Fix: strip control chars from captured sticky-session cookies before persist/replay

Fix: capture T3 browser-tier cookies into captured_cookies

Fixed

Fix: capture T3 browser-tier cookies into captured_cookies

bound bt_index_check probe loop with overall latency budget

Fixed

bound bt_index_check probe loop with overall latency budget

gate amcheck cooldown reset/memo-clear on real scan pass

Fixed

gate amcheck cooldown reset/memo-clear on real scan pass

Fix: stdlib-logger kwarg calls in cancel_job would TypeError if emitted

Fixed

Fix: stdlib-logger kwarg calls in cancel_job would TypeError if emitted

Fix: amcheck transient-probe-failure path lacks a WARN log for on-call visibility

Fixed

Fix: amcheck transient-probe-failure path lacks a WARN log for on-call visibility

Fix: narrow HeaderWriteError fallback alias catch scope in

Fixed

Fix: narrow HeaderWriteError fallback alias catch scope in

Fix: sanitize cookie jar in before persist/replay

Fixed

Fix: sanitize cookie jar in before persist/replay

Fix: setup-mail-dns.sh interpolates shell vars into inline python3 -c source

Fixed

Fix: setup-mail-dns.sh interpolates shell vars into inline python3 -c source

Fix: herald SMTP send path lacks CRLF header-injection validation on to/subject

Fixed

Fix: herald SMTP send path lacks CRLF header-injection validation on to/subject

Fix: store_cookies overwrites valid jar with empty jar on fully-invalid harvest

Fixed

Fix: store_cookies overwrites valid jar with empty jar on fully-invalid harvest

Fix: ememo runbook container exec psql to obs-psql

Fixed

Fix: ememo runbook container exec psql to obs-psql

Fix: residual shell-to-python3 interpolation in SPF log line

Fixed

Fix: residual shell-to-python3 interpolation in SPF log line

Fix: herald email failover to Resend bypasses SMTP CRLF header-injection guard

Fixed

Fix: herald email failover to Resend bypasses SMTP CRLF header-injection guard

Fix: add missing rollback file for migration 0296 (amcheck extension)

Fixed

Fix: add missing rollback file for migration 0296 (amcheck extension)

Fix: guard index-name interpolation in amcheck auto-repair (defense-in-depth)

Fixed

Fix: guard index-name interpolation in amcheck auto-repair (defense-in-depth)

Fix: get_cookies lacks read-side re-sanitization for rolling-deploy window

Fixed

Fix: get_cookies lacks read-side re-sanitization for rolling-deploy window

Fix: retry-with-differentiation requeue has same force_tier=4 rolling-deploy gap

Fixed

Fix: retry-with-differentiation requeue has same force_tier=4 rolling-deploy gap

Fix: add test coverage for retry-differentiation force_tier routing (review finding — )

Fixed

Fix: add test coverage for retry-differentiation force_tier routing (review finding — )

Fix: scope cross-origin cookies to target domain before sticky jar

Fixed

Fix: scope cross-origin cookies to target domain before sticky jar

Fix: unused Optional import in

Fixed

Fix: unused Optional import in

Fix: cookie bracket-access KeyError risk in _filter_cookies_to_target

Fixed

Fix: cookie bracket-access KeyError risk in _filter_cookies_to_target

Fix: byos_applied mislabeled true for sticky-session-only requests

Fixed

Fix: byos_applied mislabeled true for sticky-session-only requests

Fix: weekly_business_metrics(weeks=0) silently returns all weeks

Fixed

Fix: weekly_business_metrics(weeks=0) silently returns all weeks

Fix: herald CRLF guard doesn't cover Unicode line separators / NUL bytes

Fixed

Fix: herald CRLF guard doesn't cover Unicode line separators / NUL bytes

Fix: _send_via_resend lacks defense-in-depth CRLF guard its docstring implies

Fixed

Fix: _send_via_resend lacks defense-in-depth CRLF guard its docstring implies

Fix: fallback _registrable_domain lacks short-SLD handling

Fixed

Fix: fallback _registrable_domain lacks short-SLD handling

Fix: fail closed on unparseable target URL in cookie scoping

Fixed

Fix: fail closed on unparseable target URL in cookie scoping

Fix: sanitize response cookies in update_cookies

Fixed

Fix: sanitize response cookies in update_cookies

Fix: strip_control_chars misses C1 range and Cf/Zl/Zp categories

Fixed

Fix: strip_control_chars misses C1 range and Cf/Zl/Zp categories

Fix: gate sticky-cookie capture directly on STICKY_SESSIONS_ENABLED kill switch

Fixed

Fix: gate sticky-cookie capture directly on STICKY_SESSIONS_ENABLED kill switch

Fix: rework billing top row to kill card whitespace

Fixed

Fix: rework billing top row to kill card whitespace

Fix: harden sanitize_cookie_jar against lone UTF-16 surrogates

Fixed

Fix: harden sanitize_cookie_jar against lone UTF-16 surrogates

Fix: anti-bot system cookie pool write-starved — replenish from every successful session

Fixed

Fix: anti-bot system cookie pool write-starved — replenish from every successful session

Fix: persist failure_reason in usage-tracking metadata for search 504 timeouts

Fixed

Fix: persist failure_reason in usage-tracking metadata for search 504 timeouts

Fix: anti-bot system/Distil-Imperva engine-selection routing

Fixed

Fix: anti-bot system/Distil-Imperva engine-selection routing

Fix: burned-IP blacklist check skipped on force_sticky / RESERVED_HARD proxy paths

Fixed

Fix: burned-IP blacklist check skipped on force_sticky / RESERVED_HARD proxy paths

Fix: SSR 500 on /dashboard/support/[id] — isomorphic-dompurify jsdom asset ENOENT

Fixed

Fix: SSR 500 on /dashboard/support/[id] — isomorphic-dompurify jsdom asset ENOENT

Fix: single-source cookie_manager sanitize bounds

Fixed

Fix: single-source cookie_manager sanitize bounds

Fix: close portal Configuration create race with idempotency key

Fixed

Fix: close portal Configuration create race with idempotency key

Fix: parallel-IP race fires identical requests at zero stagger

Fixed

Fix: parallel-IP race fires identical requests at zero stagger

Fix: remove stale hardcoded Chrome/120 UA from

Fixed

Fix: remove stale hardcoded Chrome/120 UA from

Fix: ASN reroll closure replicates unlocked session-id read TOCTOU

Fixed

Fix: ASN reroll closure replicates unlocked session-id read TOCTOU

Fix: configuration-hint cold-start fallback missing anti-bot system/Distil-Imperva arms

Fixed

Fix: configuration-hint cold-start fallback missing anti-bot system/Distil-Imperva arms

Fix: SCAN MATCH cost scales with total keyspace, not per-domain match count (review finding — )

Fixed

Fix: SCAN MATCH cost scales with total keyspace, not per-domain match count (review finding — )

Fix: 4 sibling admin pages may share the SSR-unconditional-dompurify-sanitize crash class

Fixed

Fix: 4 sibling admin pages may share the SSR-unconditional-dompurify-sanitize crash class

Fix: task1 orphaned if _streaming_ip_race cancelled mid-stagger

Fixed

Fix: task1 orphaned if _streaming_ip_race cancelled mid-stagger

Fix: guarantee browser close on exception paths in cookie harvester

Fixed

Fix: guarantee browser close on exception paths in cookie harvester

Fix: cache pool-key format migration gap misses pre-deploy old-format keys

Fixed

Fix: cache pool-key format migration gap misses pre-deploy old-format keys

Fix: stale sanitized HTML can flash in broadcast preview dialog

Fixed

Fix: stale sanitized HTML can flash in broadcast preview dialog

Fix: sync sec-ch-ua client hints to CHROME_VERSION on live worker Playwright contexts

Fixed

Fix: sync sec-ch-ua client hints to CHROME_VERSION on live worker Playwright contexts

Fix: correct misleading docstring on unused harvested user_agent

Fixed

Fix: correct misleading docstring on unused harvested user_agent

Fix: has_control_chars does not catch lone surrogates (Cs category)

Fixed

Fix: has_control_chars does not catch lone surrogates (Cs category)

Fix: stale sanitized email body can briefly pair with wrong message header

Fixed

Fix: stale sanitized email body can briefly pair with wrong message header

re-check domain/session match before RESERVED_HARD reroll mutation

Fixed

re-check domain/session match before RESERVED_HARD reroll mutation

Fix: preserve reroll state in _reroll_ip_if_blacklisted exception handler

Fixed

Fix: preserve reroll state in _reroll_ip_if_blacklisted exception handler

Fix: AI engine experimental hardcodes stale Chrome UA, no client-hint sync

Fixed

Fix: AI engine experimental hardcodes stale Chrome UA, no client-hint sync

Fix: strengthen assertions in

Fixed

Fix: strengthen assertions in

Fix: close residual TOCTOU window in ASN-reroll two-lock structure

Fixed

Fix: close residual TOCTOU window in ASN-reroll two-lock structure

Fix: close sibling unlocked-read TOCTOU in reroll paths

Fixed

Fix: close sibling unlocked-read TOCTOU in reroll paths

SHARED-segment ASN reroll lacks idempotency guard present in RESERVED_HARD reroll

Fixed

SHARED-segment ASN reroll lacks idempotency guard present in RESERVED_HARD reroll

Fix: disambiguate unverified-reroll mode_suffix in

Fixed

Fix: disambiguate unverified-reroll mode_suffix in

Fix: useLayoutEffect triggers SSR console warning on admin email page

Fixed

Fix: useLayoutEffect triggers SSR console warning on admin email page

Fix: unlocked session-id reads in log statements

Fixed

Fix: unlocked session-id reads in log statements

unblock staging→main deploy

Fixed

unblock staging→main deploy

Fix: T2 race sequential composition — T2 starts at t=0

Fixed

Fix: T2 race sequential composition — T2 starts at t=0

Fix: sibling IP/domain-blacklist reroll missing idempotency guard

Fixed

Fix: sibling IP/domain-blacklist reroll missing idempotency guard

Fix: route Kasada/Shape through vendor_engine (write-only detection gap)

Fixed

Fix: route Kasada/Shape through vendor_engine (write-only detection gap)

fall back to legacy pool key in identity selection path

Fixed

fall back to legacy pool key in identity selection path

Fix: broadcasts stale-preview guard uses isomorphic layout effect

Fixed

Fix: broadcasts stale-preview guard uses isomorphic layout effect

Fix: extend authoritative min_tier floor override to vendor-class evidence

Fixed

Fix: extend authoritative min_tier floor override to vendor-class evidence

Fix: decay cold-start antibot_skip_t2 counter instead of blanket 14-day expiry lock

Fixed

Fix: decay cold-start antibot_skip_t2 counter instead of blanket 14-day expiry lock

Fix: event-driven Turnstile wait (replaces fixed poll loops)

Fixed

Fix: event-driven Turnstile wait (replaces fixed poll loops)

Fix: make T2 race timeout budget-aware, matching T3/T4 pattern

Fixed

Fix: make T2 race timeout budget-aware, matching T3/T4 pattern

Fix: _compute_timezone_offset except clause missing TypeError guard

Fixed

Fix: _compute_timezone_offset except clause missing TypeError guard

Fix: legacy-pool migration path skips size-cap prune

Fixed

Fix: legacy-pool migration path skips size-cap prune

Fix: vendor-class floor override doesn't verify evidence source matches floor origin

Fixed

Fix: vendor-class floor override doesn't verify evidence source matches floor origin

Fix: cffi_task can leak on exception/cancellation during T2 race head-start window

Fixed

Fix: cffi_task can leak on exception/cancellation during T2 race head-start window

Fix: remove duplicate assertion in anti-bot system proxy_url test

Fixed

Fix: remove duplicate assertion in anti-bot system proxy_url test

Fix: get_domain_stats double-counts identity during old/new pool-key migration window

Fixed

Fix: get_domain_stats double-counts identity during old/new pool-key migration window

Fix: curl_task can leak on external cancellation in T2 race

Fixed

Fix: curl_task can leak on external cancellation in T2 race

Fix: AsyncMock pipe fixture mismatches sync sadd/expire calls

Fixed

Fix: AsyncMock pipe fixture mismatches sync sadd/expire calls

Fix: legacy-pool migration prune converges to cap in one pass

Fixed

Fix: legacy-pool migration prune converges to cap in one pass

Fix: stub redis.scard in legacy-pool fallback test

Fixed

Fix: stub redis.scard in legacy-pool fallback test

Fix: identity_id_set uses set[str] annotation in get_domain_stats

Fixed

Fix: identity_id_set uses set[str] annotation in get_domain_stats

Fix: scope T4 stealth retry to the solve step, not full pipeline re-invocation

Fixed

Fix: scope T4 stealth retry to the solve step, not full pipeline re-invocation

Fix: remove TOCTOU EXISTS+SMEMBERS gap on legacy pool key in

Fixed

Fix: remove TOCTOU EXISTS+SMEMBERS gap on legacy pool key in

Fix: distinguish predicate errors from expected teardown in Turnstile wait

Fixed

Fix: distinguish predicate errors from expected teardown in Turnstile wait

Fix: gate stealth-retry wait-skip on actual challenge re-check

Fixed

Fix: gate stealth-retry wait-skip on actual challenge re-check

Fix: cap Turnstile wait_for_function polling to 250ms

Fixed

Fix: cap Turnstile wait_for_function polling to 250ms

Fix: Turnstile solve_mode signal never populated on failure branch

Fixed

Fix: Turnstile solve_mode signal never populated on failure branch

Fix: guard prune size-check with per-domain lock

Fixed

Fix: guard prune size-check with per-domain lock

Fix: narrow movement-task except to CancelledError only

Fixed

Fix: narrow movement-task except to CancelledError only

Fix: add Phase 3 movement-task cancellation tests (review finding )

Fixed

Fix: add Phase 3 movement-task cancellation tests (review finding )

Fix: per-agent CSAT (by_admin) always empty — attribute via reply author fallback

Fixed

Fix: per-agent CSAT (by_admin) always empty — attribute via reply author fallback

Fix: auto-drop orphaned _ccnew/_ccold indexes from interrupted REINDEX CONCURRENTLY

Fixed

Fix: auto-drop orphaned _ccnew/_ccold indexes from interrupted REINDEX CONCURRENTLY

Fix: adidas.fr /ar-api/ bot protection system initialization uses XHR headers on homepage navigation

Fixed

Fix: adidas.fr /ar-api/ bot protection system initialization uses XHR headers on homepage navigation

Fix: herald_api_conn ememo alert false-fires on Bing indexing events

Fixed

Fix: herald_api_conn ememo alert false-fires on Bing indexing events

Fix: exercise Turnstile wait JS predicates against a real page

Fixed

Fix: exercise Turnstile wait JS predicates against a real page

Fix: finally-block release masking original exception in _check_and_prune_pool

Fixed

Fix: finally-block release masking original exception in _check_and_prune_pool

Fix: CSAT LATERAL subquery doesn't exclude internal notes — attribution theft

Fixed

Fix: CSAT LATERAL subquery doesn't exclude internal notes — attribution theft

Fix: adidas empty-query listing rewrite returns Bad Request as billable HTTP 200

Fixed

Fix: adidas empty-query listing rewrite returns Bad Request as billable HTTP 200

Fix: require valid same-table sibling before _ccnew/_ccold auto-drop

Fixed

Fix: require valid same-table sibling before _ccnew/_ccold auto-drop

Fix: clarify _launch_real_chromium docstring re: live_benchmark marker

Fixed

Fix: clarify _launch_real_chromium docstring re: live_benchmark marker

Fix: CSAT LATERAL subquery non-deterministic tiebreak

Fixed

Fix: CSAT LATERAL subquery non-deterministic tiebreak

Fix: tier_intelligence gather short-circuit + log swallowed cache errors

Fixed

Fix: tier_intelligence gather short-circuit + log swallowed cache errors

Fix: AI engine hypothesis generation now self-heals around a dead OpenRouter free model

Fixed

Fix: AI engine hypothesis generation now self-heals around a dead OpenRouter free model

Fix: telemetry outcome misclassified as failed when upstream status is non-2xx

Fixed

Fix: telemetry outcome misclassified as failed when upstream status is non-2xx

Fix: add debug log to silent CF T2 IP-reputation recorder except block

Fixed

Fix: add debug log to silent CF T2 IP-reputation recorder except block

Fix: surface tier_status_codes in UnifiedScrapeResponse construction sites

Fixed

Fix: surface tier_status_codes in UnifiedScrapeResponse construction sites

Fix: block replies with failed attachments

Fixed

Fix: block replies with failed attachments

Fix: release spend reservations on validation exits

Fixed

Fix: release spend reservations on validation exits

Fix: retry webhook lock heartbeat after cache errors

Fixed

Fix: retry webhook lock heartbeat after cache errors

Fix: compensate debit when webhook validation fails

Fixed

Fix: compensate debit when webhook validation fails

Fix: first_indexed query failure now surfaces as a distinct signal

Fixed

Fix: first_indexed query failure now surfaces as a distinct signal

Fix: assert absence of stall log in disabled-organic-cache test

Fixed

Fix: assert absence of stall log in disabled-organic-cache test

Fix: fail migration runner when transactional SQL aborts

Fixed

Fix: fail migration runner when transactional SQL aborts

Fix: shutdown refund idempotency key mismatch with API reaper (double-refund)

Fixed

Fix: shutdown refund idempotency key mismatch with API reaper (double-refund)

Fix: structure-job refund idempotency key matches API reaper

Fixed

Fix: structure-job refund idempotency key matches API reaper

Fix: restore_from_backup atomic via --single-transaction

Fixed

Fix: restore_from_backup atomic via --single-transaction

Fix: deploy.sh stateful-recreate advisory omits healthcheck changes

Fixed

Fix: deploy.sh stateful-recreate advisory omits healthcheck changes

Fix: failed refunds now durably retried via record_failed_refund

Fixed

Fix: failed refunds now durably retried via record_failed_refund

Fix: shutdown refund exception emits billing_discrepancy for ops alerting

Fixed

Fix: shutdown refund exception emits billing_discrepancy for ops alerting

Fix: deploy.sh Check 4 healthcheck awk extraction uses unanchored test: match

Fixed

Fix: deploy.sh Check 4 healthcheck awk extraction uses unanchored test: match

Fix: replay entry can be stranded by CancelledError mid-replay

Fixed

Fix: replay entry can be stranded by CancelledError mid-replay

Fix: scope deploy.sh Check 4 envsubst call to explicit allowlist

Fixed

Fix: scope deploy.sh Check 4 envsubst call to explicit allowlist

Fix: worker tests assert stale refund idempotency key, red on staging

Fixed

Fix: worker tests assert stale refund idempotency key, red on staging

Fix: refund_retry early dead-letter branches unprotected against CancelledError

Fixed

Fix: refund_retry early dead-letter branches unprotected against CancelledError

Fix: shield refund compensation from CancelledError in shutdown finalize

Fixed

Fix: shield refund compensation from CancelledError in shutdown finalize

Fix: refund_retry logs raw payload at ERROR level

Fixed

Fix: refund_retry logs raw payload at ERROR level

Fix: shutdown early return skips scrape-stage success metrics

Fixed

Fix: shutdown early return skips scrape-stage success metrics

Fix: refund_retry duplicate dead-letter write under cancellation timing

Fixed

Fix: refund_retry duplicate dead-letter write under cancellation timing

Fix: align refund principal test with helper

Fixed

Fix: align refund principal test with helper

document Netcup cache recreation safety

Fixed

document Netcup cache recreation safety

enforce decrement ledger foreign keys

Fixed

enforce decrement ledger foreign keys

clarify storage startup behavior

Fixed

clarify storage startup behavior

record cancelled refund retries

Fixed

record cancelled refund retries

refund_retry dead-letter dedupe field not asserted in 3 test call sites (review finding — )

Fixed

refund_retry dead-letter dedupe field not asserted in 3 test call sites (review finding — )

cover shielded shutdown cancellation

Fixed

cover shielded shutdown cancellation

mark local structurer dequeue healthy

Fixed

mark local structurer dequeue healthy

prevent destructive historical replays

Fixed

prevent destructive historical replays

distinguish equal fallback retry entries

Fixed

distinguish equal fallback retry entries

eagerly acquire system proxy

Fixed

eagerly acquire system proxy

compensate ambiguous refund retry requeues

Fixed

compensate ambiguous refund retry requeues

separate local and shared cache health

Fixed

separate local and shared cache health

validate historical preflight during dry-run

Fixed

validate historical preflight during dry-run

complete spend adjustment after shielded refund cancellation

Fixed

complete spend adjustment after shielded refund cancellation

route _compensate_api_debit failures into durable refund-retry queue

Fixed

route _compensate_api_debit failures into durable refund-retry queue

Fix: close duplicate-backup-cron detection gap in setup-cron.sh

Fixed

Fix: close duplicate-backup-cron detection gap in setup-cron.sh

Fix: guard post-commit cache invalidation to prevent 500s and skipped audit logs

Fixed

Fix: guard post-commit cache invalidation to prevent 500s and skipped audit logs

Fix: preserve first-run dry-run preview (review finding — )

Fixed

Fix: preserve first-run dry-run preview (review finding — )

Fix: migration 0300 notifications_type_check ACCESS EXCLUSIVE lock (NOT VALID split)

Fixed

Fix: migration 0300 notifications_type_check ACCESS EXCLUSIVE lock (NOT VALID split)

guard credit_balance_cache writes against incomplete-ledger recompute

Fixed

guard credit_balance_cache writes against incomplete-ledger recompute

Fix: health checks must detect a schema/table-empty database

Fixed

Fix: health checks must detect a schema/table-empty database

restore repeat-scrape hint dropped by fire-and-forget refactor

Fixed

restore repeat-scrape hint dropped by fire-and-forget refactor

Fix: anchor MANAGED_SCRIPT_PATTERN to path/word boundary in setup-cron.sh

Fixed

Fix: anchor MANAGED_SCRIPT_PATTERN to path/word boundary in setup-cron.sh

assert data-plane health in blue/green gate, not just container status

Fixed

assert data-plane health in blue/green gate, not just container status

validate backup integrity before upload or success report

Fixed

validate backup integrity before upload or success report

wrap container exec in verify_data_plane_health with an outer timeout

Fixed

wrap container exec in verify_data_plane_health with an outer timeout

size offsite-backup disk preflight to round-trip verification footprint

Fixed

size offsite-backup disk preflight to round-trip verification footprint

hotfix- stale-backup purge lacks newest-backup floor

Fixed

hotfix- stale-backup purge lacks newest-backup floor

add incident lockout to production deploy

Fixed

add incident lockout to production deploy

freeze deploys after a hotfix-cancelled mid-migration run

Fixed

freeze deploys after a hotfix-cancelled mid-migration run

restore rename-swap fails when live database does not exist

Fixed

restore rename-swap fails when live database does not exist

catch material partial data loss in restore plausibility gate

Fixed

catch material partial data loss in restore plausibility gate

Fix: restore recharge_attempts_credited_ledger_id_fkey

Fixed

Fix: restore recharge_attempts_credited_ledger_id_fkey

fail loudly on cancelled-path DEPLOY_FREEZE write failure

Fixed

fail loudly on cancelled-path DEPLOY_FREEZE write failure

Fix: backup coverage is a hardcoded exclusion list — new tables are silently unprotected

Fixed

Fix: backup coverage is a hardcoded exclusion list — new tables are silently unprotected

P3 batch — offsite-backup trap order, scratch dir, fail-closed disk checks

Fixed

P3 batch — offsite-backup trap order, scratch dir, fail-closed disk checks

Fix: refund retry dead-letter write can silently fail after lrem compensation

Fixed

Fix: refund retry dead-letter write can silently fail after lrem compensation

batch P3 fixes — deploy-freeze clear/set asymmetry + verification docs

Fixed

batch P3 fixes — deploy-freeze clear/set asymmetry + verification docs

bound and batch validate-backup.sh manifest, fail-closed role detection

Fixed

bound and batch validate-backup.sh manifest, fail-closed role detection

validate RESTORE_MIN_RETENTION_RATIO before use

Fixed

validate RESTORE_MIN_RETENTION_RATIO before use

set executable bit and use merge-base diff in hotfix-marker coverage check

Fixed

set executable bit and use merge-base diff in hotfix-marker coverage check

compensate ambiguous refund retry requeue on CancelledError

Fixed

compensate ambiguous refund retry requeue on CancelledError

P3 batch — restore-safety fail-closed guards, reaper, test coverage

Fixed

P3 batch — restore-safety fail-closed guards, reaper, test coverage

add rename/copy diff-parsing regression coverage to hotfix-unsafe marker check

Fixed

add rename/copy diff-parsing regression coverage to hotfix-unsafe marker check

fail closed on 5 registry/coverage edge cases in backup-database.sh

Fixed

fail closed on 5 registry/coverage edge cases in backup-database.sh

fail closed on FK exposure into data-excluded backup tables

Fixed

fail closed on FK exposure into data-excluded backup tables

P3 review-finding batch on run-migrations.sh reap/coverage checks

Fixed

P3 review-finding batch on run-migrations.sh reap/coverage checks

document and guard migration /CONCURRENTLY-index patterns (batch )

Fixed

document and guard migration /CONCURRENTLY-index patterns (batch )

batch P3 fixes to backup-database.sh registry parser and FK preflight

Fixed

batch P3 fixes to backup-database.sh registry parser and FK preflight

verify pre-migration dump integrity (gzip -t + completion trailer) in run-migrations.sh

Fixed

verify pre-migration dump integrity (gzip -t + completion trailer) in run-migrations.sh

fail closed on offsite-backup scratch-dir and -size failures

Fixed

fail closed on offsite-backup scratch-dir and -size failures

fail closed on unparseable WAL archiver failed_count

Fixed

fail closed on unparseable WAL archiver failed_count

replace validate-backup.sh eMemo denylist sanitizer with printf-based construction

Fixed

replace validate-backup.sh eMemo denylist sanitizer with printf-based construction

re-read ledger sum before guard call in reconcile_all_inconsistent_balances

Fixed

re-read ledger sum before guard call in reconcile_all_inconsistent_balances

add mutual exclusion to validate-backup.sh scratch-DB restore

Fixed

add mutual exclusion to validate-backup.sh scratch-DB restore

revoke PUBLIC EXECUTE on credit_balance_cache_upsert

Fixed

revoke PUBLIC EXECUTE on credit_balance_cache_upsert

paren-depth-aware call slicing in test_repeat_tracking_is_awaited_for_same_request_hint

Fixed

paren-depth-aware call slicing in test_repeat_tracking_is_awaited_for_same_request_hint

rate-limit the DB-backed /api/health/ready endpoint

Fixed

rate-limit the DB-backed /api/health/ready endpoint

clear stale structure claim during crash recovery

Fixed

clear stale structure claim during crash recovery

add disk-space preflight for validate-backup.sh scratch restore

Fixed

add disk-space preflight for validate-backup.sh scratch restore

Fix: isolate per-item claim-clear failures in crash recovery

Fixed

Fix: isolate per-item claim-clear failures in crash recovery

warn on null row-count regardless of registered exclusion

Fixed

warn on null row-count regardless of registered exclusion

Fix: narrow postgres scripts/ read-only mount to wal-archive.sh only

Fixed

Fix: narrow postgres scripts/ read-only mount to wal-archive.sh only

guard WAL archiver lockfile write and init Discord alerting first

Fixed

guard WAL archiver lockfile write and init Discord alerting first

Fix: claim-recovery tests write keys outside fixture teardown namespace

Fixed

Fix: claim-recovery tests write keys outside fixture teardown namespace

close validate-backup.sh lock fd for forked subprocesses

Fixed

close validate-backup.sh lock fd for forked subprocesses

remove stranded lockfile on partial write in WAL archiver monitor

Fixed

remove stranded lockfile on partial write in WAL archiver monitor

pre-acquire advisory lock in ensure_balance_cache

Fixed

pre-acquire advisory lock in ensure_balance_cache

batch P2/P3 review findings — scripts/validate-backup.sh

Fixed

batch P2/P3 review findings — scripts/validate-backup.sh

Fix: claim-recovery fixture teardown SCAN patterns guarded against non-isolated cache db

Fixed

Fix: claim-recovery fixture teardown SCAN patterns guarded against non-isolated cache db

ShutdownManager orphan-cancellation follow-ups (batch #6)

Fixed

ShutdownManager orphan-cancellation follow-ups (batch #6)

surface legacy negative-account ledger/cache divergence

Fixed

surface legacy negative-account ledger/cache divergence

add covering index for credit_balance_mutations retention DELETE

Fixed

add covering index for credit_balance_mutations retention DELETE

reconstruct credit_balance_cache_upsert last-known-good from credit_ledger, not cache

Fixed

reconstruct credit_balance_cache_upsert last-known-good from credit_ledger, not cache

harden pre-deploy-migration-rehearsal job (batch )

Fixed

harden pre-deploy-migration-rehearsal job (batch )

reconcile_all batch-limit priority, tunability, and boundary warning (batch )

Fixed

reconcile_all batch-limit priority, tunability, and boundary warning (batch )

reconcile_all query_canceled lock leak + GUC bounds (batch )

Fixed

reconcile_all query_canceled lock leak + GUC bounds (batch )

distinguish git resolution failure from legitimate absence in schedule-check script

Fixed

distinguish git resolution failure from legitimate absence in schedule-check script

redact Postgres DETAIL/CONTEXT lines from restore-failure CI logs

Fixed

redact Postgres DETAIL/CONTEXT lines from restore-failure CI logs

pre-flight check for backup-role table access before create_backup

Fixed

pre-flight check for backup-role table access before create_backup

pin migration-shadow- privileged scripts to trusted base ref

Fixed

pin migration-shadow- privileged scripts to trusted base ref

compute credit_ledger.balance_after from fresh ledger SUM, not guard-substituted value

Fixed

compute credit_ledger.balance_after from fresh ledger SUM, not guard-substituted value

wire backup/restore/migration-safety test suites into CI

Fixed

wire backup/restore/migration-safety test suites into CI

add refuse-stub rollback for 0344; close 0339-gap finding as resolved

Fixed

add refuse-stub rollback for 0344; close 0339-gap finding as resolved

route backup-database.sh prune through purge-stale-backups.sh (, batch )

Fixed

route backup-database.sh prune through purge-stale-backups.sh (, batch )

pin pytest and add Postgres service to backup-safety CI job (batch: , )

Fixed

pin pytest and add Postgres service to backup-safety CI job (batch: , )

close two redaction bypasses in restore-database.sh log filter

Fixed

close two redaction bypasses in restore-database.sh log filter

discover backup/restore/migration-safety suites by glob, guard against drift

Fixed

discover backup/restore/migration-safety suites by glob, guard against drift

backup/restore failure signal routing (final sweep, batch H)

Fixed

backup/restore failure signal routing (final sweep, batch H)

build a genuinely flock-free PATH for the missing-flock lock test

Fixed

build a genuinely flock-free PATH for the missing-flock lock test

Fix: scope SET LOCAL statement_timeout to the SELECT 1 it guards in /api/health/ready

Fixed

Fix: scope SET LOCAL statement_timeout to the SELECT 1 it guards in /api/health/ready

Fix: chmod 600 decrypted secrets output file

Fixed

Fix: chmod 600 decrypted secrets output file

widen structure-job execution-claim try/finally to cover billing calls

Fixed

widen structure-job execution-claim try/finally to cover billing calls

black-format after the execution-claim try/finally widening

Fixed

black-format after the execution-claim try/finally widening

drop redundant _track_job_end on the insufficient-credits return

Fixed

drop redundant _track_job_end on the insufficient-credits return

stop the insufficient-credits path double-refunding the scrape debit

Fixed

stop the insufficient-credits path double-refunding the scrape debit

Fix: check exit status of schema_migrations bookkeeping write in apply_migration

Fixed

Fix: check exit status of schema_migrations bookkeeping write in apply_migration

add deploy-time WAL archiving config-drift assertion

Fixed

add deploy-time WAL archiving config-drift assertion

batch — P3 migration file hygiene (rollback gaps, 0339, domain_profiles DROP)

Fixed

batch — P3 migration file hygiene (rollback gaps, 0339, domain_profiles DROP)

Fix: error-trigger.sh anti-bot/scrape-fleet checks targeted cloud provider instead of Netcup

Fixed

Fix: error-trigger.sh anti-bot/scrape-fleet checks targeted cloud provider instead of Netcup

restore false-success gate for tier-capped T4 jobs (ALT-51)

Fixed

restore false-success gate for tier-capped T4 jobs (ALT-51)

make pre-migration restore tolerant of FK into excluded jobs table

Fixed

make pre-migration restore tolerant of FK into excluded jobs table

migration shadow dry run never runs on staging->main PRs and is broken where it does run

Fixed

migration shadow dry run never runs on staging->main PRs and is broken where it does run

sync domain_playbooks.json with 's approved min_tier removal

Fixed

sync domain_playbooks.json with 's approved min_tier removal

retire evidence-backed min_tier:4 bot protection system pins for idealo.at/levi.com/byfood.com

Fixed

retire evidence-backed min_tier:4 bot protection system pins for idealo.at/levi.com/byfood.com

assert_single_schedule cron guard now covers every installed job

Fixed

assert_single_schedule cron guard now covers every installed job

normalize ToS §8.1 spacing wrapper + confirm /maintenance link resolves

Fixed

normalize ToS §8.1 spacing wrapper + confirm /maintenance link resolves

run-migrations.sh flock fd leak, FK-rewrite provenance, NOT VALID alert

Fixed

run-migrations.sh flock fd leak, FK-rewrite provenance, NOT VALID alert

provision alterlab_admin and monitor_ro roles in backup-restore-drill scratch Postgres

Fixed

provision alterlab_admin and monitor_ro roles in backup-restore-drill scratch Postgres

correct opentable.com vendor to Shape Security and probe hardcoded min_tier=4 floor

Fixed

correct opentable.com vendor to Shape Security and probe hardcoded min_tier=4 floor

deploy- hardening — concurrency-group conflict, run: interpolation, sequential host deploys

Fixed

deploy- hardening — concurrency-group conflict, run: interpolation, sequential host deploys

retire anti-bot system min_tier:4 pins for rh.com, reuters.com

Fixed

retire anti-bot system min_tier:4 pins for rh.com, reuters.com

port NOT-VALID FK rewrite to restore-database.sh

Fixed

port NOT-VALID FK rewrite to restore-database.sh

retire imperva-soft/unclassified min_tier:4 pins

Fixed

retire imperva-soft/unclassified min_tier:4 pins

harden backup-exclusions sidecar — atomicity, collision-safe keying, prove-it coverage

Fixed

harden backup-exclusions sidecar — atomicity, collision-safe keying, prove-it coverage

test coverage for JSON configuration min_tier fast-fail — registry fallback exception path + cache expiry expiry

Fixed

test coverage for JSON configuration min_tier fast-fail — registry fallback exception path + cache expiry expiry

Fix: find_unresolved_ledger_cache_divergence misses recompute-path guard blocks

Fixed

Fix: find_unresolved_ledger_cache_divergence misses recompute-path guard blocks

/status maintenance surface polish — 5 review findings from

Fixed

/status maintenance surface polish — 5 review findings from

— 3 further review findings from

Fixed

— 3 further review findings from

add BEFORE UPDATE trigger for maintenance_windows.updated_at

Fixed

add BEFORE UPDATE trigger for maintenance_windows.updated_at

remove unused non-rate-limited MaintenanceAuth alias

Fixed

remove unused non-rate-limited MaintenanceAuth alias

allowlist announcement CTA href scheme at render site

Fixed

allowlist announcement CTA href scheme at render site

eliminate nested bash -c double-substitution in check_mail_cert

Fixed

eliminate nested bash -c double-substitution in check_mail_cert

narrow backup-restore- container build context + document cron scheduling

Fixed

narrow backup-restore- container build context + document cron scheduling

sanitize log samples before Discord/eMemo markdown embedding

Fixed

sanitize log samples before Discord/eMemo markdown embedding

BACKUP_CORRUPT_RETENTION_DAYS unvalidated before find -mtime, can abort script under set -e

Fixed

BACKUP_CORRUPT_RETENTION_DAYS unvalidated before find -mtime, can abort script under set -e

replace unquoted heredoc + sed-denylist in base-backup.sh alert path

Fixed

replace unquoted heredoc + sed-denylist in base-backup.sh alert path

validate $VERSION format before sed interpolation

Fixed

validate $VERSION format before sed interpolation

pre-restrict decrypted secrets file to 0600 before write

Fixed

pre-restrict decrypted secrets file to 0600 before write

fail-closed unresolvable-IP rate-limit bucket, drop spoofable XFF fallback

Fixed

fail-closed unresolvable-IP rate-limit bucket, drop spoofable XFF fallback

pass Cloudflare API token via curl stdin config, not argv

Fixed

pass Cloudflare API token via curl stdin config, not argv

PGPASSWORD interpolated unescaped into single-quoted SQL literal inside heredoc

Fixed

PGPASSWORD interpolated unescaped into single-quoted SQL literal inside heredoc

backup-restore-drill auto-files a P1 per failed run — no , mislabels manual probes as scheduled

Fixed

backup-restore-drill auto-files a P1 per failed run — no , mislabels manual probes as scheduled

close protocol-relative/backslash bypass in announcement CTA href validator

Fixed

close protocol-relative/backslash bypass in announcement CTA href validator

reclaim runner disk space and log df -h in backup-restore-drill

Fixed

reclaim runner disk space and log df -h in backup-restore-drill

remove credential material from unintended disclosure channels

Fixed

remove credential material from unintended disclosure channels

reject auto-recharge threshold a single recharge cannot clear

Fixed

reject auto-recharge threshold a single recharge cannot clear

harden decrypt-secrets.sh sibling config writes against symlink planting

Fixed

harden decrypt-secrets.sh sibling config writes against symlink planting

remove unused non-rate-limited AdminAuth alias

Fixed

remove unused non-rate-limited AdminAuth alias

don't blind-escalate tier on unclassified 429/5xx job retry

Fixed

don't blind-escalate tier on unclassified 429/5xx job retry

correct AutoRechargeSettingsRequest.threshold_microcents default

Fixed

correct AutoRechargeSettingsRequest.threshold_microcents default

real end-to-end antibot_hint fallback tests, fix kasada/shape telemetry monitoring system loss

Fixed

real end-to-end antibot_hint fallback tests, fix kasada/shape telemetry monitoring system loss

close restore-database.sh host-TCP guard bypass

Fixed

close restore-database.sh host-TCP guard bypass

correct stale pricing pointer + narrow gitignore test blackhole

Fixed

correct stale pricing pointer + narrow gitignore test blackhole

trust staging deployment scripts in shadow dry run

Fixed

trust staging deployment scripts in shadow dry run

Fix: skip unused proxy identity resolution on trivial scrapes

Fixed

Fix: skip unused proxy identity resolution on trivial scrapes

Fix: retain a bounded cookie-cohort routing session

Fixed

Fix: retain a bounded cookie-cohort routing session

reclaim runner disk in Migration Shadow Dry Run before restore

Fixed

reclaim runner disk in Migration Shadow Dry Run before restore

prune oldest objects to fit the storage cap before failing closed

Fixed

prune oldest objects to fit the storage cap before failing closed

meter sync downgrade persistence failures (batch )

Fixed

meter sync downgrade persistence failures (batch )

optional prune-credential split for offsite-backup.sh

Fixed

optional prune-credential split for offsite-backup.sh

reduce R2_RETENTION_DAYS default from 3 to 2 to fit 10GB cap

Fixed

reduce R2_RETENTION_DAYS default from 3 to 2 to fit 10GB cap

Fix: merge concurrent passive stack cache evidence atomically (batch )

Fixed

Fix: merge concurrent passive stack cache evidence atomically (batch )

Fix: post-result T4 deferral provenance flag is cleared by mixed-origin requeue

Fixed

Fix: post-result T4 deferral provenance flag is cleared by mixed-origin requeue

capture fingerprinted query attribution for Check 8 idle-in-tx

Fixed

capture fingerprinted query attribution for Check 8 idle-in-tx

migration 0349 rollback + natural-key UUID resolution

Fixed

migration 0349 rollback + natural-key UUID resolution

coerce or skip malformed learning elements in transform_claude_learnings

Fixed

coerce or skip malformed learning elements in transform_claude_learnings

wire mail.cf_dns_token primary/fallback sourcing

Fixed

wire mail.cf_dns_token primary/fallback sourcing

stop fabricating tier-4 recommendations for domains that have never succeeded

Fixed

stop fabricating tier-4 recommendations for domains that have never succeeded

fail ci-pass gate closed on cancelled job results

Fixed

fail ci-pass gate closed on cancelled job results

gate jobs.result content.html on html_ref

Fixed

gate jobs.result content.html on html_ref

Fix: DomainPlaybooks.get arity crash — deploy blocker

Fixed

Fix: DomainPlaybooks.get arity crash — deploy blocker

link merged confidence to primary vendor, add CAS read-error tolerance

Fixed

link merged confidence to primary vendor, add CAS read-error tolerance

batch fix for error-trigger idle-tx findings

Fixed

batch fix for error-trigger idle-tx findings

resolve vendor-signal review findings (batch)

Fixed

resolve vendor-signal review findings (batch)

bound outcome label enum and tighten tier-guard test

Fixed

bound outcome label enum and tighten tier-guard test

reject unsafe object names in prune-to-fit fallback

Fixed

reject unsafe object names in prune-to-fit fallback

Fix: batch — tier-intelligence fabrication findings ( cohort, )

Fixed

Fix: batch — tier-intelligence fabrication findings ( cohort, )

name log format explicitly on conditional access_log

Fixed

name log format explicitly on conditional access_log

reformat at the configured line length

Fixed

reformat at the configured line length

provision production-parity roles in shadow migration dry run

Fixed

provision production-parity roles in shadow migration dry run

move CREATE ROLE out of DO block in shadow dry-run privilege step

Fixed

move CREATE ROLE out of DO block in shadow dry-run privilege step

document multi-format html-trim blind spot in false-success audit

Fixed

document multi-format html-trim blind spot in false-success audit

run server config validation unconditionally on every PR

Fixed

run server config validation unconditionally on every PR

guard decrypt_credentials to stop killing profile_consumer_loop

Fixed

guard decrypt_credentials to stop killing profile_consumer_loop

offsite-backup.sh prune-to-fit dot-name filter and remote-collision guard

Fixed

offsite-backup.sh prune-to-fit dot-name filter and remote-collision guard

guard non-numeric total_credits cast in billing audit query

Fixed

guard non-numeric total_credits cast in billing audit query

preserve CAS guard on cache_antibot_stack watch failure

Fixed

preserve CAS guard on cache_antibot_stack watch failure

log-monitor.sh scan-window scaling and job_id revalidation ( cohort)

Fixed

log-monitor.sh scan-window scaling and job_id revalidation ( cohort)

refund screenshot/PDF add-on when persistence fails after charge

Fixed

refund screenshot/PDF add-on when persistence fails after charge

restate full 4-condition html-trim guard in audit script

Fixed

restate full 4-condition html-trim guard in audit script

close read transaction before provider network call in proxy_integrations

Fixed

close read transaction before provider network call in proxy_integrations

stop Downloads check paging on scanner 404 noise

Fixed

stop Downloads check paging on scanner 404 noise

alert on retention/cap drift before it silently blocks a nightly upload

Fixed

alert on retention/cap drift before it silently blocks a nightly upload

scope setup-phase RedisError to the verify retry budget

Fixed

scope setup-phase RedisError to the verify retry budget

set executable bit on check-migration-immutability.sh

Fixed

set executable bit on check-migration-immutability.sh

widen billing audit regex guard to match native ::int tolerance

Fixed

widen billing audit regex guard to match native ::int tolerance

migration 0349 natural-key author lookup ignores soft-delete

Fixed

migration 0349 natural-key author lookup ignores soft-delete

surface excluded-row count in billing audit sum guards

Fixed

surface excluded-row count in billing audit sum guards

profile_consumer setup-guard refinements ( cohort)

Fixed

profile_consumer setup-guard refinements ( cohort)

tag Postgres connections with application_name for idle-in-tx correlation

Fixed

tag Postgres connections with application_name for idle-in-tx correlation

stop DOWNLOADS_NOISE_FILTER prefix list from drifting silently

Fixed

stop DOWNLOADS_NOISE_FILTER prefix list from drifting silently

classify evidenced IP-reputation-only vendor blocks in proxy failure subtype

Fixed

classify evidenced IP-reputation-only vendor blocks in proxy failure subtype

profile_consumer error-boundary and -key findings (, )

Fixed

profile_consumer error-boundary and -key findings (, )

Fix: _record_stage_duration_call_sites uses AST parsing instead of raw paren counting

Fixed

Fix: _record_stage_duration_call_sites uses AST parsing instead of raw paren counting

add missing pdf_url field to Node SDK ScrapeResponse

Fixed

add missing pdf_url field to Node SDK ScrapeResponse

route log-monitor 5xx scan truncation to eMemo/STATUS, ASCII-anchor jid state-file guard

Fixed

route log-monitor 5xx scan truncation to eMemo/STATUS, ASCII-anchor jid state-file guard

emit outcome metric for cf_clearance cache-hit-without-cookie

Fixed

emit outcome metric for cf_clearance cache-hit-without-cookie

reconcile addon refund against a later successful retry

Fixed

reconcile addon refund against a later successful retry

set executable bit on pg-repack-restore-headroom-check.sh

Fixed

set executable bit on pg-repack-restore-headroom-check.sh

raise log-monitor.sh truncation floor, add locale-immunity test

Fixed

raise log-monitor.sh truncation floor, add locale-immunity test

match attribute-style calls in record_stage_duration test helper

Fixed

match attribute-style calls in record_stage_duration test helper

remove redundant shallow re-fetch from migration-immutability guard

Fixed

remove redundant shallow re-fetch from migration-immutability guard

Fix: log-monitor.sh diagnostic findings ( cohort, batch )

Fixed

Fix: log-monitor.sh diagnostic findings ( cohort, batch )

Fix: get_cached_challenge_cookies emits hit without checking required cookie present

Fixed

Fix: get_cached_challenge_cookies emits hit without checking required cookie present

remove leftover deliberate-break blocking Misc Regression Suites on staging

Fixed

remove leftover deliberate-break blocking Misc Regression Suites on staging

executable-bit-check runs on push to staging/main with observable failure alert

Fixed

executable-bit-check runs on push to staging/main with observable failure alert

sync CHALLENGE_TITLES with canonical list, add drift gate

Fixed

sync CHALLENGE_TITLES with canonical list, add drift gate

stop cancel-in-progress from swallowing executable-bit-check push failure alerts

Fixed

stop cancel-in-progress from swallowing executable-bit-check push failure alerts

Fix: stop asserting domains 'cannot be scraped' in customer-facing text

Fixed

Fix: stop asserting domains 'cannot be scraped' in customer-facing text

document REDIS_AOF_WARN_MB/REDIS_AOF_CRIT_MB in .env.example

Fixed

document REDIS_AOF_WARN_MB/REDIS_AOF_CRIT_MB in .env.example

wire infra/ssh-guard/tests/ into the orphan-suite guard

Fixed

wire infra/ssh-guard/tests/ into the orphan-suite guard

recognize actual review-verdict format in shadow-dryrun trust escalation

Fixed

recognize actual review-verdict format in shadow-dryrun trust escalation

align trusted-source test fixtures with identity scoping

Fixed

align trusted-source test fixtures with identity scoping

Fix: route empty-DB shadow-migration replay through alterlab_admin

Fixed

Fix: route empty-DB shadow-migration replay through alterlab_admin

clean npm cache so the Trivy scan of the api image stops timing out

Fixed

clean npm cache so the Trivy scan of the api image stops timing out

Fix: refund template Option B 1000x over-refund guidance

Fixed

Fix: refund template Option B 1000x over-refund guidance

revert intent-differentiation retarget on alterlab-vs-* blog posts

Fixed

revert intent-differentiation retarget on alterlab-vs-* blog posts

Fix: errexit aborts entire log-monitor run when 5xx SLO psql probe fails

Fixed

Fix: errexit aborts entire log-monitor run when 5xx SLO psql probe fails

quarantine malformed B2B drain members instead of livelocking the batch

Fixed

quarantine malformed B2B drain members instead of livelocking the batch

default proxy sticky_session_id to cohort routing identity

Fixed

default proxy sticky_session_id to cohort routing identity

run local-backup purge on every exit, not just success

Fixed

run local-backup purge on every exit, not just success

Fix: per-stage duration metric cannot record a failure outcome

Fixed

Fix: per-stage duration metric cannot record a failure outcome

run-migrations.sh no longer de-transactionalizes migrations whose data contains commit/concurrently

Fixed

run-migrations.sh no longer de-transactionalizes migrations whose data contains commit/concurrently

Fix: services/herald fails black --check on staging

Fixed

Fix: services/herald fails black --check on staging

run-migrations.sh dollar-quote detection + batch review-finding cohort

Fixed

run-migrations.sh dollar-quote detection + batch review-finding cohort

cooldown CLI fail-closed + atomic stdout (, )

Fixed

cooldown CLI fail-closed + atomic stdout (, )

Fix: worker stage_timer records outcome=timeout for CancelledError instead of success

Fixed

Fix: worker stage_timer records outcome=timeout for CancelledError instead of success

DomainRateLimiter expiry coverage and mutex release

Fixed

DomainRateLimiter expiry coverage and mutex release

close dispatch-entitlement review-finding batch (, )

Fixed

close dispatch-entitlement review-finding batch (, )

distinguish caller-owned vs platform-derived sticky proxy sessions

Fixed

distinguish caller-owned vs platform-derived sticky proxy sessions

guard fallback-branch find -delete calls in purge_stale_local_backups

Fixed

guard fallback-branch find -delete calls in purge_stale_local_backups

wire IP-reputation egress re-roll into unwired T3 vendor gates

Fixed

wire IP-reputation egress re-roll into unwired T3 vendor gates

production_actions_admin TOCTOU, idempotency, and validation gaps

Fixed

production_actions_admin TOCTOU, idempotency, and validation gaps

capture field names not type annotations in ecosystem-sync SDK titles

Fixed

capture field names not type annotations in ecosystem-sync SDK titles

grandfather duplicate migration prefix 0356

Fixed

grandfather duplicate migration prefix 0356

Fix: datetime shadowed by nested imports in process_scrape_job — soft-block job.failed webhook never delivered

Fixed

Fix: datetime shadowed by nested imports in process_scrape_job — soft-block job.failed webhook never delivered

copy error/result from cache truth in stuck-job reconcile

Fixed

copy error/result from cache truth in stuck-job reconcile

account for pre-poll elapsed time in sync scrape poll deadline

Fixed

account for pre-poll elapsed time in sync scrape poll deadline

raise shadow-dryrun timeout budgets with measured headroom

Fixed

raise shadow-dryrun timeout budgets with measured headroom

profile_consumer setup-guard follow-ups — redaction + bounded cache retry

Fixed

profile_consumer setup-guard follow-ups — redaction + bounded cache retry

production_actions_admin gen-2 review-finding cohort

Fixed

production_actions_admin gen-2 review-finding cohort

concurrent default-proxy race 500 + reconcile-without-error counter inflation

Fixed

concurrent default-proxy race 500 + reconcile-without-error counter inflation

match PostgreSQL's real dollar-quote-tag grammar in run-migrations.sh

Fixed

match PostgreSQL's real dollar-quote-tag grammar in run-migrations.sh

stop importlib.reload cross-file class-identity leak in env_validation tests

Fixed

stop importlib.reload cross-file class-identity leak in env_validation tests

Netcup downloads force-recreate + artifact-delivery wiring (batch )

Fixed

Netcup downloads force-recreate + artifact-delivery wiring (batch )

production-action executor follow-ups — gen-2 review-finding cohort

Fixed

production-action executor follow-ups — gen-2 review-finding cohort

detect cross-branch migration prefix collisions via push trigger

Fixed

detect cross-branch migration prefix collisions via push trigger

cooldown CLI except ValueError also catches unrelated urlparse errors from --check-urls args

Fixed

cooldown CLI except ValueError also catches unrelated urlparse errors from --check-urls args

rehearsal disk floor REQUIRED_GB=30 is stale — derive it from the actual dump size

Fixed

rehearsal disk floor REQUIRED_GB=30 is stale — derive it from the actual dump size

services/api/app/routers findings — reconcile, production-actions, proxy defaults

Fixed

services/api/app/routers findings — reconcile, production-actions, proxy defaults

tolerate concurrent recheck resolution in dispatch re-lock, document id.desc tiebreak

Fixed

tolerate concurrent recheck resolution in dispatch re-lock, document id.desc tiebreak

make RADWARE T3 gate reachable, restore reroll gate context

Fixed

make RADWARE T3 gate reachable, restore reroll gate context

Fix: jitter low-sample T1 probe cadence to avoid periodicity signal

Fixed

Fix: jitter low-sample T1 probe cadence to avoid periodicity signal

deliver container exec credentials via --env-file, not -e argv

Fixed

deliver container exec credentials via --env-file, not -e argv

add regression coverage for handler-registry execution-call scanner

Fixed

add regression coverage for handler-registry execution-call scanner

Fix: gate idle-in-tx alert on hold duration, not just count

Fixed

Fix: gate idle-in-tx alert on hold duration, not just count

widen IP-reputation egress re-roll trigger to vendor-classified gates

Fixed

widen IP-reputation egress re-roll trigger to vendor-classified gates

rehearsal disk-floor follow-ups — coarse pre-download check, alert-list gap

Fixed

rehearsal disk-floor follow-ups — coarse pre-download check, alert-list gap

recognize verifying -> superseded as a benign concurrent resolution

Fixed

recognize verifying -> superseded as a benign concurrent resolution

deliver container exec credentials via --env-file in log-monitor.sh and redis-health.sh

Fixed

deliver container exec credentials via --env-file in log-monitor.sh and redis-health.sh

tier-stats invalidation follow-ups ( cohort, )

Fixed

tier-stats invalidation follow-ups ( cohort, )

make custom configuration tier-stats writers atomic with stats_version stamp

Fixed

make custom configuration tier-stats writers atomic with stats_version stamp

deferral-budget cap logging + edge-case test coverage

Fixed

deferral-budget cap logging + edge-case test coverage

add coarse pre-download disk-floor check to backup-restore-

Fixed

add coarse pre-download disk-floor check to backup-restore-

check-branch-protection-drift.sh now covers classic protection on main

Fixed

check-branch-protection-drift.sh now covers classic protection on main

infra/monitoring batch follow-ups (error-trigger sanitization, atomic idle-tx query, log-monitor mv guard)

Fixed

infra/monitoring batch follow-ups (error-trigger sanitization, atomic idle-tx query, log-monitor mv guard)

detect and fail closed on composite FKs in restore-database.sh orphan sweep

Fixed

detect and fail closed on composite FKs in restore-database.sh orphan sweep

custom configuration stats_version follow-ups ( cohort)

Fixed

custom configuration stats_version follow-ups ( cohort)

guard db.rollback in proxy_integrations IntegrityError handlers

Fixed

guard db.rollback in proxy_integrations IntegrityError handlers

concurrent probes, dedupe, and statement timeout

Fixed

concurrent probes, dedupe, and statement timeout

scripts/ recovery-tooling follow-ups

Fixed

scripts/ recovery-tooling follow-ups

close window-coupling concurrency defects (batch )

Fixed

close window-coupling concurrency defects (batch )

remove spent 0349 migration-immutability allowlist entry

Fixed

remove spent 0349 migration-immutability allowlist entry

add operator scrub script for usage data credential rows

Fixed

add operator scrub script for usage data credential rows

defer health-loop session rotation while lease is held

Fixed

defer health-loop session rotation while lease is held

Fix: stop asserting a false homepage-origin narrative on Google SERP requests

Fixed

Fix: stop asserting a false homepage-origin narrative on Google SERP requests

guard identity lease-refresh-failure close against active lease

Fixed

guard identity lease-refresh-failure close against active lease

Fix: allow empty subscriptions restore

Fixed

Fix: allow empty subscriptions restore

Fix: remediate image vulnerabilities

Fixed

Fix: remediate image vulnerabilities

Fix: fail closed on stale backup paths

Fixed

Fix: fail closed on stale backup paths

Merge: repair backup redaction CI fixtures

Fixed

Merge: repair backup redaction CI fixtures

extend Trivy worker scan timeout

Fixed

extend Trivy worker scan timeout

Fix: gate SERP search on successful homepage initialization

Fixed

Fix: gate SERP search on successful homepage initialization

Fix: stale detail can mutate the wrong production action

Fixed

Fix: stale detail can mutate the wrong production action

Fix: Reserved rate-limit slots are discarded and reacquired indefinitely

Fixed

Fix: Reserved rate-limit slots are discarded and reacquired indefinitely

Fix: Mutation responses omit prior audit events

Fixed

Fix: Mutation responses omit prior audit events

Fix: Netcup artifact startup and probe fail open

Fixed

Fix: Netcup artifact startup and probe fail open

Fix: SERP response reports the requested engine, not the engine that answered — Bing results labelled and billed as Google

Fixed

Fix: SERP response reports the requested engine, not the engine that answered — Bing results labelled and billed as Google

Fix: redact demographic profile DB error text

Fixed

Fix: redact demographic profile DB error text

Fix: scraper tier-guard findings from

Fixed

Fix: scraper tier-guard findings from

Fix: SERP thin-result findings from

Fixed

Fix: SERP thin-result findings from

Fix: align thin-result grace timing contract

Fixed

Fix: align thin-result grace timing contract

move attachment probes outside claim gate

Fixed

move attachment probes outside claim gate

harden batch admission and schedule state

Fixed

harden batch admission and schedule state

close SERP correctness gaps in batch

Fixed

close SERP correctness gaps in batch

close regression-watch state-machine follow-ups

Fixed

close regression-watch state-machine follow-ups

route default cohorts through DataImpulse session-ID gateway

Fixed

route default cohorts through DataImpulse session-ID gateway

sanitize post-login callback URLs

Fixed

sanitize post-login callback URLs

preserve rate-slot clock and live frontiers

Fixed

preserve rate-slot clock and live frontiers

complete FIRST_SCRAPE lifecycle coverage

Fixed

complete FIRST_SCRAPE lifecycle coverage

normalize cache byte keys before recovery ledger writes

Fixed

normalize cache byte keys before recovery ledger writes

keep feature PR gates off staging

Fixed

keep feature PR gates off staging

harden rollback finalization and eMemo delivery

Fixed

harden rollback finalization and eMemo delivery

close replay integrity batch

Fixed

close replay integrity batch

retain replay claims on dead-letter failure

Fixed

retain replay claims on dead-letter failure

Fix: denied scheduled runs retain debit

Fixed

Fix: denied scheduled runs retain debit

lock sql drop target relation

Fixed

lock sql drop target relation

Fix: reject future-dated backup manifests

Fixed

Fix: reject future-dated backup manifests

protect refund outbox drain acknowledgement

Fixed

protect refund outbox drain acknowledgement

align batch response contract and drift check

Fixed

align batch response contract and drift check

quarantine non-object B2B payloads

Fixed

quarantine non-object B2B payloads

Fix: restore valid supersede controls

Fixed

Fix: restore valid supersede controls

reconcile rejected mutations

Fixed

reconcile rejected mutations

atomically claim low-sample probes

Fixed

atomically claim low-sample probes

skip AI engine root install in deploy gate

Fixed

skip AI engine root install in deploy gate

v5.0.0

MAJOR

Smarter Search Routing and Redesigned Auth

Redesigned Authentication Pages

New

Enjoy a modern, beautiful split-screen sign-in and sign-up experience. The site header now points directly to this redesigned signup page, getting you up and running faster.

Interactive Search Playground

New

Test-drive real search requests directly in the playground before signing up. We also streamlined the interface by replacing manual engine selection with smart automatic routing.

Attributed Lead Opportunity Queue

New

Discover high-value scraping opportunities automatically with our new Lead Opportunity Queue. This feature aggregates discovery signals into a stable, verified queue with detailed lifecycle tracking.

Verified Social Media Dispatch

New

Our API now actively verifies that automated submissions on platforms like Reddit and Stack Overflow are live. This guarantees you always receive accurate publication status without manual polling.

Automated Blog Syndication States

New

Get precise visibility into your content syndication workflows. Separate states for attempts, publication, and verification ensure your content is never double-posted or lost.

Instant Search Failover

Improved

Our search API now triggers failover mechanisms immediately when encountering thin or empty results instead of waiting for a timeout. This dynamic escalation drastically reduces total latency.

Efficient Rate-Limit Queueing

Improved

Rate-limit reservations are now safely preserved across job deferrals in your scraping queues. This ensures delayed jobs retain their slots, preventing unnecessary API throttling.

Streamlined Batch Rejection

Improved

Fully rejected batch requests now return a terminal HTTP 200 response immediately instead of creating a polling resource. This reduces client polling overhead and speeds up error handling.

Zero-CLS Desktop Layouts

Improved

We eliminated Cumulative Layout Shift (CLS) on desktop browsers by reserving layout space for the announcement bar. Page elements no longer shift unexpectedly during asynchronous loads.

General bug fixes and improvements

Improved

Plus 27 internal improvements for better reliability and performance.

Deduplicated Initial Scrapes

Fixed

We resolved an issue where running a scrape on landing pages could trigger duplicate requests or double-billing on navigation. A secure local storage marker now deduplicates initial loads.

Search Reliability Enhancements

Fixed

We resolved a routing anomaly that caused search requests to occasionally be flagged as automated traffic. By adjusting request parameters, we have boosted success rates on Google queries.

Enhanced B2B Payload Privacy

Security

We hardened B2B demographic proof endpoints by stripping internal proxy details, such as raw exit IPs and unhashed proxy credentials. All sensitive fields are now properly hashed.

Protected Login Redirects

Security

We resolved an open-redirect vulnerability where the post-login callback query parameter could bypass our origin policy. Callback URLs are now strictly sanitized before redirection.

Plaintext Credential Prevention

Security

Our profiling backend now automatically redacts credential-like substrings before persisting error logs to the database. This guarantees that your sensitive keys remain protected.

Fix: enforce request-level Google initialization

Fix: enforce request-level Google initialization

Fixed

Fix: enforce request-level Google initialization

Fix: refund retry preserves task cancellation

Fixed

Fix: refund retry preserves task cancellation

document terminal batch 200 response body

Fixed

document terminal batch 200 response body

fence rollback evidence guards

Fixed

fence rollback evidence guards

safely retain identity profiles

safely retain identity profiles

Fixed

safely retain identity profiles

harden refund replay fallback capacity

Fixed

harden refund replay fallback capacity

Fix: pin SEO guard SSH host key

Feat: require verified external identifier before dispatch reports terminal success

New

Feat: require verified external identifier before dispatch reports terminal success

Feat: distinguish publish attempt, external publish, and verified artifact in blog syndication

New

Feat: distinguish publish attempt, external publish, and verified artifact in blog syndication

Fix: pin SEO guard SSH host key

Fixed

Fix: pin SEO guard SSH host key

window bind-lock reachability, UUID test coverage, baseline docstring ( batch)

Fixed

window bind-lock reachability, UUID test coverage, baseline docstring ( batch)

reconcile shadow schema drift

reconcile shadow schema drift

Fixed

reconcile shadow schema drift

production_actions model follow-ups — gen-2 review-finding cohort

live-state verification probes for production actions

New

live-state verification probes for production actions

production_actions model follow-ups — gen-2 review-finding cohort

Fixed

production_actions model follow-ups — gen-2 review-finding cohort

decouple deferral-budget window bound from the count bound

Fixed

decouple deferral-budget window bound from the count bound

detect T4 launch modes that never actually run

Fixed

detect T4 launch modes that never actually run

GFS offsite retention within the 10GB free tier

Fixed

GFS offsite retention within the 10GB free tier

netcup-env-preflight follow-ups from review

Fixed

netcup-env-preflight follow-ups from review

recover Amazon MAP price when add-to-cart present but price hidden

Fixed

recover Amazon MAP price when add-to-cart present but price hidden

grant worker/alterlab UID read access to XAUTHORITY cookie

Fixed

grant worker/alterlab UID read access to XAUTHORITY cookie

bind approval evidence to action id, decouple blast-radius predicate

Fixed

bind approval evidence to action id, decouple blast-radius predicate

pgbouncer never sets unix_socket_dir, SHOW POOLS probe never authenticated

Fixed

pgbouncer never sets unix_socket_dir, SHOW POOLS probe never authenticated

Netcup .env drift — pin --env-file, fix false env docs

Fixed

Netcup .env drift — pin --env-file, fix false env docs

stop counting plan-cap rejections and server directory-index noise as platform failures

Fixed

stop counting plan-cap rejections and server directory-index noise as platform failures

ops + monitoring shell hardening — review-finding cohort

Fixed

ops + monitoring shell hardening — review-finding cohort

harden netcup-env-preflight.sh and port it into hotfix-

Fixed

harden netcup-env-preflight.sh and port it into hotfix-

guard _run_build_task setup section + document hotfix migration safety

Fixed

guard _run_build_task setup section + document hotfix migration safety

credential redaction + secret exposure (security class) — review-finding cohort

Fixed

credential redaction + secret exposure (security class) — review-finding cohort

import content validator symbols in T3 solver path

Fixed

import content validator symbols in T3 solver path

staging review cohort P2 findings

Fixed

staging review cohort P2 findings

proxy default atomicity, b2b terminal-download 409, drain false-positive alert

Fixed

proxy default atomicity, b2b terminal-download 409, drain false-positive alert

production-action verification review-finding cohort

Fixed

production-action verification review-finding cohort

production_actions model + migration invariant hardening

Fixed

production_actions model + migration invariant hardening

backfill script re-run correctness and orphaned SSH subprocess

Fixed

backfill script re-run correctness and orphaned SSH subprocess

Fix: make Netcup local screenshot artifacts reachable

Fixed

Fix: make Netcup local screenshot artifacts reachable

Fix: make migration-shadow-dryrun reportable so it can become a required status check

Fixed

Fix: make migration-shadow-dryrun reportable so it can become a required status check

Enhanced SDK Capabilities and API Reliability

Clearer Domain Error Messages

Improved

We updated customer-facing error messages to provide clearer, actionable troubleshooting feedback when domains block requests. Misleading alerts claiming a domain cannot be scraped have been removed.

Smarter IP Block Classification

Improved

Our API error categorization is now more granular and distinguishes IP reputation blocks from standard page verification challenges. This allows for more precise routing and proxy rotation strategies.

AI Model Failover Reliability

Improved

We enhanced structured data extraction reliability by immediately demoting AI models that encounter parsing failures. The system will seamlessly fall back to another model to prevent empty responses.

Faster Proxy Integration Endpoints

Improved

We optimized database connection lifetimes across our proxy integration management endpoints. Releasing active connections before executing outbound calls prevents saturation and speeds up response times.

General bug fixes and improvements

Improved

Plus 43 internal improvements for better reliability and performance.

General improvements

Improved

This release includes general improvements and maintenance updates.

SDK Sync-Downgrade Polling Resilience

Fixed

Both developer SDKs now automatically handle server-side sync-downgrade 202 responses during timeout events. Instead of throwing errors, the SDKs will smoothly transition to polling status updates.

Add-on Retry Billing Correction

Fixed

We corrected the billing reconciliation logic for screenshot and PDF add-on jobs during automated retries. This ensures you are billed accurately only when initially failed add-ons successfully resolve.

Performance Improvements

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

Improved

investigation: the platform's ASN-remediation machinery.

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

Improved

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

Improved

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

Improved

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

Improved

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

Improved

'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

Improved

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

Improved

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

Improved

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

Improved

Batch (three members).

fix(api): resolve announcement CTA href residue from

Improved

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

Improved

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

Improved

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

Improved

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

Improved

'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

Improved

Plus 35 internal improvements for better reliability and performance.

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

Improved

deleted the local source after a verified upload.

aggregate per-vendor per-tier success-rate telemetry

aggregate per-vendor per-tier success-rate telemetry

New

aggregate per-vendor per-tier success-rate telemetry

migration-ledger drift detection - reconciliation + content_hash verification

New

migration-ledger drift detection - reconciliation + content_hash verification

restore 2 of ~11 blog posts as new forward content

New

restore 2 of ~11 blog posts as new forward content

fail loudly on missing support-inbound credentials at startup

New

fail loudly on missing support-inbound credentials at startup

extend staleness-probe to antibot_hint cold-start engine-profile fallback

New

extend staleness-probe to antibot_hint cold-start engine-profile fallback

surface active and scheduled maintenance on /status

New

surface active and scheduled maintenance on /status

DR script guards, TOCTOU close, and legacy-sidecar restore coverage

Fixed

DR script guards, TOCTOU close, and legacy-sidecar restore coverage

announcement CTA model residue — userinfo threat model + PublicCTA length parity

Fixed

announcement CTA model residue — userinfo threat model + PublicCTA length parity

route cold-start antibot_hint fallback through shared vendor_engine

Fixed

route cold-start antibot_hint fallback through shared vendor_engine

resolve announcement CTA href residue from

Fixed

resolve announcement CTA href residue from

unvalidated input and missing startup validation — 3 fail-loud-before-use gaps

Fixed

unvalidated input and missing startup validation — 3 fail-loud-before-use gaps

per-domain concurrency gate is a third, unaccounted-for min_tier consumer

Fixed

per-domain concurrency gate is a third, unaccounted-for min_tier consumer

stop 10 error-trigger.sh checks from silently skipping on cloud provider

Fixed

stop 10 error-trigger.sh checks from silently skipping on cloud provider

Default POSTGRES_DB=alterlab / POSTGRES_CONTAINER=alterlab-postgres match production

Fixed

Default POSTGRES_DB=alterlab / POSTGRES_CONTAINER=alterlab-postgres match production

retry unclassified origin 5xx via proxy, stop false WAF attribution

Fixed

retry unclassified origin 5xx via proxy, stop false WAF attribution

container-ro fails closed when jq is missing, not silently open

Fixed

container-ro fails closed when jq is missing, not silently open

polish — declarative patch validation, cancel endpoint, audit-field docs

Fixed

polish — declarative patch validation, cancel endpoint, audit-field docs

Enhanced Scraping Reliability and Accurate Billing

Data retention policy

New

We have published a clear, formalized data retention and recovery policy for past scraping jobs. This helps development teams accurately plan their local data synchronization intervals and log storage strategies.

Smoother maintenance updates

Improved

Upgraded background task cleanup logic to prevent premature task cancellation during platform updates. Active jobs and cleanup operations now gracefully persist or complete without interruption.

Robust credit retry logic

Improved

Upgraded safeguards in our credit refund retry pipeline automatically isolate processing failures. This ensures credit transactions are never lost or unaccounted for under any network conditions.

General bug fixes and improvements

Improved

Plus 47 internal improvements for better reliability and performance.

Precise credit refunds

Fixed

Fixed a refund loop that triggered duplicate refunds when accounts had insufficient balances. This ensures completely accurate credit accounting for all structured scraping requests.

Accurate credit balances

Fixed

Fixed a balance discrepancy for accounts with negative credit balances during refunds or credit grants. Real-time balance caches now perfectly align with your ledger history to ensure accuracy.

API uptime safeguards

Security

Added per-IP rate limiting to the API readiness endpoint to protect platform availability from accidental high-frequency polling. This ensures health checks remain responsive under heavy load.

batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh

rehearse pending migrations against a restored production-shaped database before deploy

New

rehearse pending migrations against a restored production-shaped database before deploy

add scheduled backup restore drill

New

add scheduled backup restore drill

flag .env.example changes with no ENV_VARS.md statement in PR body

New

flag .env.example changes with no ENV_VARS.md statement in PR body

surface backup gate age/status in Slack and Discord deploy notifications

New

surface backup gate age/status in Slack and Discord deploy notifications

shadow-database migration dry run in CI

New

shadow-database migration dry run in CI

define jobs retention/recovery policy

New

define jobs retention/recovery policy

batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh

Fixed

batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh

close residual TOCTOU between fresh ledger read and cache upsert in reconcile_all_inconsistent_balances

Fixed

close residual TOCTOU between fresh ledger read and cache upsert in reconcile_all_inconsistent_balances

scope jobs pg_dump exclusion to the pre-migration path only

Fixed

scope jobs pg_dump exclusion to the pre-migration path only

add retention policy for credit_balance_mutations audit table

Fixed

add retention policy for credit_balance_mutations audit table

serialize restore_from_backup and reap_broken_databases with a shared lock

Fixed

serialize restore_from_backup and reap_broken_databases with a shared lock

prevent duplicate structure enqueue after ambiguous cache write

Fixed

prevent duplicate structure enqueue after ambiguous cache write

set executable bit on five command-target scripts

Fixed

set executable bit on five command-target scripts

Sub-100ms Scraping Speed and Billing Precision

Accelerated Structured Extraction

Improved

We moved structured data conversion off the API response path and directly cached the outputs. This eliminates redundant processing and cuts response latency by up to 8 seconds for cached structured results.

Sub-100ms Scraping Latency

Improved

We optimized proxy allocation rules to eliminate a 1-second latency floor for basic scraping tasks. Requests that do not require custom proxies are now completed in just 40 to 109 milliseconds.

Synchronous Scraping Scale-up

Improved

Our connection multiplexing for synchronous scrapes has been fully redesigned. This significantly reduces connection bottlenecks and improves query response times during heavy parallel scraping workloads.

Fast-Path Structured Extraction

Improved

Lightweight extraction tasks under 50 KiB are now processed directly within the scraping stage, eliminating unnecessary staging hops. This reduces delivery overhead and ensures faster turnaround for small-scale datasets.

Instant Credential Validation

Improved

API credential validation is now optimized to run directly from high-speed cache memory without hitting primary databases on subsequent requests. This lowers authentication latency while maintaining real-time revocation capabilities.

Localized Geotargeted Headers

Improved

Scraped assets and headers are now automatically built using the correct country context matching your assigned proxy. This ensures highly localized and accurate web scraping results across all target regions.

Instant Spend Limit Releases

Fixed

Active spending reservations are now instantly released when an API request fails validation checks. This guarantees that failed or rejected requests never artificially count against your spending or concurrency limits.

Preflight Webhook Safety

Fixed

Webhook URL validation is now completed before any charges or debits are applied to your account. This ensures invalid destination URLs are rejected immediately with no temporary billing impact.

Automatic Disruption Protection

Fixed

Active scraping jobs are now automatically and safely requeued if a processing node undergoes scheduled maintenance or shutdown. Your jobs are guaranteed to finish executing seamlessly without being dropped.

Better Ticket Attachment Flows

Fixed

Support ticket submissions and replies now validate attachments before sending, preventing silent file failures. You will receive real-time warnings, accessible error feedback, and retry controls for any failed uploads.

Accurate Search Fallback Deadlines

Fixed

Optimized search engine fallback latency by enforcing a strict 25-second deadline for parallel dispatch, fallback, and parsing. This ensures your search API calls reliably return responses within the 30-second client window.

General Improvements and Fixes

Fixed

This release also includes several general reliability enhancements. These include automatic background retries for failed search refunds, accessibility labeling improvements for support screens, and corrected billing scopes for multi-user accounts.

Improved Attachment Security

Security

Enforced strict, normalized ownership scopes on support ticket attachments. Unauthorized attempts to query or access ticket media now return a generic 404 error, fully protecting your uploaded support files.

Fix: format API and internal service CI failures

Feat: replay worker for the billing:refund_retry dead-letter

New

Feat: replay worker for the billing:refund_retry dead-letter

Fix: format API and internal service CI failures

Fixed

Fix: format API and internal service CI failures

Fix: spend-guard decrement atomicity in structure shutdown finalize

Fixed

Fix: spend-guard decrement atomicity in structure shutdown finalize

Fix: retain discovery cooldown after expired cache write fallback

Fixed

Fix: retain discovery cooldown after expired cache write fallback

Fix: re-read cache write-degraded state after discovery lock wait (review finding - )

Fixed

Fix: re-read cache write-degraded state after discovery lock wait (review finding - )

Fix: surface failed search refunds

Fixed

Fix: surface failed search refunds

Fix: use one principal for debit and refund

Fixed

Fix: use one principal for debit and refund

Fix: enforce attachment size before buffering

Fixed

Fix: enforce attachment size before buffering

Fix: preserve debit metadata for restart recovery refunds

Fixed

Fix: preserve debit metadata for restart recovery refunds

Fix: preserve attachment storage across GC commit failure

Fixed

Fix: preserve attachment storage across GC commit failure

Fix: bound attachment backfill lock during deploy

Fixed

Fix: bound attachment backfill lock during deploy

Fix: enter bounded discovery backoff after cache cache write failure

Fixed

Fix: enter bounded discovery backoff after cache cache write failure

Accelerated Scrapes and Precise Billing

Instant structured job handoffs

Improved

Structured scraping requests now complete up to one second faster. By replacing polling intervals with instant queue handoffs, your extracted data is delivered immediately after the page is scraped.

Bypassed structuring for raw scrapes

Improved

Scrape requests that only require raw HTML responses now completely bypass the structuring queue. This optimization removes unnecessary processing to deliver your raw content significantly faster.

Reduced peak latency tail

Improved

We capped individual retry timeouts for advanced browser-based requests. This eliminates the long latency tail, ensuring slow requests either failover rapidly or resolve within a predictable time limit.

Resilient schema extraction engine

Improved

Our automatic data extraction engine now automatically self-heals when encountering offline AI model providers. This protects your parsing pipelines from external service disruptions.

General bug fixes and improvements

Improved

Plus 15 internal improvements for better reliability and performance.

Billing protection for blocked pages

Fixed

You will not be billed for scrapes that encounter block pages, challenges, or system errors. Our detection systems now identify these occurrences to ensure false successes are refunded immediately.

Preserved upstream status codes

Fixed

Structured scrape responses now return the actual HTTP status code from the targeted upstream website rather than defaulting to 200. This enables more precise error handling in your application.

Accurate scrape outcome tracking

Fixed

Scrapes that return successful responses from non-200 pages, like soft-404s, are no longer falsely marked as failed in your usage analytics. This ensures your dashboard metrics are accurate.

v4.0.0

MAJOR

Unmatched Speed and Automated IP Recovery

Faster passive verification

New

The scraping engine now automatically identifies domains that only require background verification checks and skips unnecessary behavioral wait times. This cuts request latency on these sites by up to 4 seconds.

Automatic IP block recovery

New

The platform now automatically detects connection-level proxy blocks and triggers a fresh egress route rotation. Instead of failing immediately when an IP is flagged, your requests are seamlessly retried with a clean IP.

Enterprise detection compatibility

New

We have added automatic detection and optimized routing pathways for multiple advanced, enterprise-grade bot protection systems. This ensures significantly higher success rates when scraping highly secured enterprise and retail websites.

Direct deep-links for support ratings

New

Support ticket resolution emails now include direct deep-links that automatically highlight and focus the satisfaction rating widget on our platform. This lets you leave feedback on your support experiences in fewer clicks.

New anti-bot benchmarks

New

You can now view live difficulty scores across all our comparison pages. This helps you compare real-world performance against modern detection systems to make informed integration decisions.

Parallel multi-engine requests

Improved

Optimized request routing to initiate parallel connection strategies from the very start of a request. This removes sequential delays on standard request paths, leading to significantly faster overall response times.

Budget-aware request timeouts

Improved

Request connection timeouts are now dynamically adapted to match your remaining request time budget rather than using a static default. This ensures requests either complete successfully or fail-fast within your specified limits.

Sticky session documentation updates

Improved

Updated our developer documentation and AI-agent reference files to include details on the 10-minute automatic exit IP rotation cycle. This provides clearer guidance on maintaining long-lived scraping sessions.

Improved session persistence reliability

Improved

Fixed a routing key mapping issue during back-end migrations to ensure persistent scraping sessions remain uninterrupted. Your sticky sessions and designated identities will transition seamlessly without connection drops.

General bug fixes and improvements

Improved

Plus 34 internal improvements for better reliability and performance.

Optimized request latency

Improved

We streamlined our pre-scrape routing pipeline to eliminate redundant checks. This reduces initial routing latency by over two seconds for standard requests, allowing your scraping tasks to start much faster.

Consistent large-scale exports

Improved

We added automatic lock renewals during large-scale data export cycles. This prevents tasks from expiring mid-cycle, eliminating duplicate files and ensuring consistent data delivery.

Accessible comparison metrics

Improved

We added full ARIA progressbar semantics to the difficulty scorebars on our comparison pages. This ensures screen readers and assistive devices can easily interpret our real-world benchmark data.

Enhanced verification polling stability

Fixed

Replaced periodic polling checks with event-driven triggers when waiting for verification challenges to resolve. This eliminates unnecessary delays and ensures requests proceed the millisecond a verification check is solved.

Prevented early challenge timeouts

Fixed

Fixed a race condition where a pre-existing stale-content timeout could trigger a fraction of a second before the newer rejection grace period expired. This prevents premature failures on slow-loading verification pages.

Accurate billing for failed pages

Fixed

Corrected a routing and billing issue on Adidas homepage URLs where queries with empty parameters returned a bad request error disguised as a successful HTTP 200. These requests are now properly handled so you only pay for successful scrapes.

Seamless interactive challenge recovery

Fixed

Fixed an issue where transient background verification failures would permanently cancel subsequent verification attempts. The system now robustly continues the full verification flow even if initial background checks are temporarily rejected.

Targeted content wait on retry

Fixed

Solved an issue where retried requests that successfully bypassed verification pages would prematurely skip waiting for target selectors. The engine now correctly waits for your specified elements to render post-bypass.

Keyboard focus collision fix

Fixed

Resolved a UI focus issue where simultaneously mounted mobile and desktop versions of the customer support feedback widget would compete for keyboard focus. This improves accessibility and usability on responsive layouts.

Challenged request recovery

Fixed

We enabled advanced request properties when encountering temporary verification screens. This automatically rotates IPs with full browser characteristics, boosting success rates on guarded domains.

Batch poller reliability

Fixed

We resolved an issue where batch workers performed redundant retries after losing their execution locks. This prevents duplicate tasks and ensures much more stable long-running operations.

Resilient batch exports

Fixed

We added error isolation to the export backfill process. A transient error with a single record will no longer abort the entire run, ensuring your successful scraped data is safely delivered.

Dynamic Geo-Coherence and Reliable IP Routing

Guaranteed Clean Proxy IPs

New

Dedicated proxy sessions now benefit from automated clean-IP pre-screening. The system automatically rerolls blacklisted addresses before your request is sent.

Self-Service Billing Management

New

You can now manage and cancel subscriptions directly within your customer billing portal. This ensures a smoother and more self-sufficient experience.

Dynamic Timezone Alignment

Improved

Browser sessions now dynamically match the timezone and locale of the proxy exit IP. This ensures a cohesive geo-profile that bypasses strict security checks.

Default Provider Diversity

Improved

We enabled IP and provider diversity checks across all scraping requests by default. This automatically routes traffic to avoid localized range blockages.

Multi-System Detection

Improved

Our platform now detects when websites use multiple overlapping security systems. The API dynamically applies the best routing strategy for each layer.

Modernized Browser Signatures

Improved

Automated session tools now utilize fully modernized browser signatures. These profiles correctly align User-Agents with matching client hints.

General bug fixes and improvements

Improved

Plus 19 internal improvements for better reliability and performance.

Staggered Parallel Requests

Fixed

Resolved an issue where concurrent requests using identical fingerprints were fired instantly. A micro-stagger now prevents target sites from flagging traffic.

Coordinated IP Validation

Fixed

Fixed a bug where different internal checks could evaluate different IPs. The system now strictly threads the same resolved address across all security checks.

Secure Session Isolation

Fixed

Resolved an issue where concurrent proxy requests could share or overwrite settings. Sticky sessions are now completely isolated across target domains.

Billing Duplication Prevention

Fixed

Added idempotency protection when generating billing configurations. This prevents duplicate sessions from being created during concurrent client clicks.

Challenge-Cookie Cache Stability

Fixed

Cookies for target domains with special characters are now correctly cached. This avoids unexpected re-verification loops on secure websites.

Detailed Timeout Metrics

Fixed

Request timeouts now record specific failure reasons in your usage tracking metadata. This simplifies troubleshooting for slow target websites.

General Dashboard Improvements

Fixed

This release also resolves several minor issues. We fixed server errors on support pages, preview flash glitches, and background resource cleanup.

Flexible Billing and Enhanced Session Privacy

Stateful scraping sessions

New

You can now maintain a consistent residential IP and share cookies across sequential requests using a session handle. This simplifies multi-step tasks like logging in and then scraping data.

Self-Serve Billing Details

New

You can now update your company billing address and tax ID directly from the self-serve billing portal. This ensures that automatically generated invoices reflect the correct corporate details without needing manual support.

Universal session IP pinning

Improved

Stateful session IP pinning is now supported across all scraping tiers, including direct HTTP requests. Sequential calls to simple and complex pages alike will now share the exact same residential IP.

Accurate credit pre-billing

Improved

Credit pre-estimations for browser-tier tasks are now calculated accurately at submission. This prevents temporary over-billing and ensures your playground balance matches the final processed tier pricing.

SDK-side session validation

Improved

The Node SDK now includes client-side validation for stateful session handles and lifetimes to match the Python SDK. This provides immediate feedback on invalid inputs before sending requests to the API.

General bug fixes and improvements

Improved

Plus 22 internal improvements for better reliability and performance.

Compact Billing Layout

Improved

The billing dashboard layout has been optimized to reduce empty vertical space and group active details more compactly. Active payment methods, recharges, and receipt tables are now positioned for easier scannability.

Stateful session race fix

Fixed

Resolved a concurrency race condition in stateful sessions that could cause captured cookies to be dropped when scraping in parallel. Your shared cookie jar remains accurate during concurrent actions.

Browser cookie capture

Fixed

Captured browser cookies are now correctly recorded and available in your stateful sessions. This enables seamless, stateful transitions between standard HTTP scraping and browser-driven actions.

Validation for JS features

Fixed

Requesting browser-only features without enabling JavaScript rendering now returns a clear validation error. This prevents silent execution failures on incompatible non-JS tiers.

Stateful routing leak fix

Fixed

Fixed a routing leak in fast-fetch discovery calls during stateful sessions to guarantee that all traffic stays pinned. All sub-requests now strictly maintain your designated residential exit IP.

Lost session detection

Fixed

Stateful sessions now return a clear indicator when a session has expired or dropped rather than failing silently. This allows you to easily detect lost states and re-initialize sessions.

Complex HTML parsing

Fixed

Fixed a parsing crash when converting complex, deeply nested HTML structures into clean markdown or JSON. This prevents unexpected validation errors when scraping highly structured pages.

Dashboard playground stability

Fixed

Fixed a dashboard issue where balance refresh errors could cause unhandled promise rejections. This stabilizes the developer playground interface during balance updates.

Session Cookie Protection

Fixed

We resolved a session-saving bug where fully invalid or malicious cookie harvests could accidentally overwrite and erase your existing valid cookie jars. Your active, functional session credentials will now be safely preserved.

Mislabeled Session Metadata

Fixed

We corrected a response metadata issue where request logs mislabeled session status as active for standard sticky sessions. Your API response logs now accurately reflect the exact proxy configuration utilized.

Domain-scoped session cookies

Security

Stateful session cookies are now securely scoped to their specific domains. Reusing a single session handle across different host domains will no longer leak or replay cookies between them.

Session payload sanitization

Security

Captured session cookies are now sanitized to strip control characters and limit payload sizes. This protects stateful operations and prevents unexpected errors during session replay.

Strict Session Isolation

Security

Cross-origin cookies from third-party iframes are now strictly filtered and isolated from your session's cookie jar. This prevents unauthorized third-party cookies from being replayed to your primary target domains on subsequent requests.

Fail-Safe Cookie Scoping

Security

If a target URL fails to parse during request scoping, the connection now fails closed by default rather than exposing unfiltered cookies. This ensures zero risk of cross-origin leakage during complex navigation paths.

Control Character Protection

Security

Our request screening now rejects non-standard C1 control characters and Unicode line separators in session inputs. This defense-in-depth update blocks sophisticated injection techniques that exploit lenient parser behaviors.

Secure Cookie Sanitization

Security

Response cookies and active session updates are now subjected to rigorous sanitization before ingestion. This closes sanitization gaps and prevents malformed cookies from destabilizing your session jars.

Enhanced Token Redaction

Security

To protect sensitive active data, session-specific proxy tokens are now completely redacted from all system logs. This guarantees your active credentials remain private during execution.

Streamlined Billing and Reliable Extraction

Iframe content escalation

New

Automatically detects and extracts content from pages whose primary text is nested inside same-origin iframes. This ensures that media-heavy or app-like pages are captured completely.

Billing identity setup

New

You can now manage your legal billing identity directly from your organization dashboard. This information automatically synchronizes with our billing systems.

Reliable Google search scraping

Improved

Enhanced Google search result and ad-capture reliability to prevent silent fallbacks and missing data. Your search scraping queries are now more consistent and complete.

Refunds for empty text

Improved

Scrapes returning empty main text content are now automatically refunded. This ensures you only pay for successful extractions on pages with readable text.

Amazon seller offer scraping

Improved

Improved session and cookie continuity when retrieving supplementary product and seller offer details. This prevents authorization issues and improves data completeness.

Deterministic image selection

Improved

The image selection algorithm now uses deterministic tiebreakers to ensure reproducible and consistent results. You will now get identical image rankings across repeated scrapes.

Early AWS Role ARN validation

Improved

Malformed AWS Role ARNs for custom S3 delivery are now validated and caught early at write time. This prevents downstream delivery failures and silent errors on execution.

Faster custom S3 delivery

Improved

Credentials validation for cross-account S3 deliveries has been optimized to run completely non-blocking. This prevents queue stalls and maximizes overall throughput.

General bug fixes and improvements

Improved

Plus 23 internal improvements for better reliability and performance.

Collect billing details at checkout

Improved

Our checkout system now prompts for and collects your billing address and tax/VAT info during purchase. This ensures auto-generated invoices are fully compliant.

Self-serve customer portal

Improved

Self-serve users can now directly access the payment portal to manage their payment methods. The portal link is now fully accessible on the billing dashboard.

Redesigned billing layout

Improved

We have redesigned the billing page layout to support accounts with a high volume of transactions. The dashboard now features a clean and perfectly aligned layout.

Instant billing page loading

Improved

The billing dashboard now loads instantly by leveraging cached document URLs rather than requesting live links on every render. This eliminates page hangs.

Page scroll timeout fix

Fixed

Prevents 300-second timeouts on extremely long or iframe-heavy pages when JavaScript rendering is enabled. This ensures complex sites finish loading within normal limits.

Advertiser identity resolution

Fixed

Resolved issues with advertiser transparency details to consistently return accurate names, verification statuses, and locations. This improves data reliability for marketing research.

Accurate billing history

Fixed

Fixed dashboard and receipt history rendering so that paired account recharges are no longer hidden. This ensures your billing statements and balances match up perfectly.

Automatic failed extraction refunds

Fixed

If a request successfully retrieves a page but the subsequent data-extraction stage fails, your account is now automatically refunded. This prevents lost credits.

Deeply nested page extraction

Fixed

We resolved an issue where structured data extraction from deeply nested HTML pages would occasionally crash. The extraction engine now handles complex layouts reliably.

Accurate regional block billing

Fixed

Requests that return regional or geographical restriction block pages are now correctly recognized as failures. These requests will no longer be counted as successful.

Clearing optional billing fields

Fixed

We fixed an issue where attempting to clear an optional billing field was ignored by the backend. You can now freely clear and update all organization billing fields.

Organization switching stability

Fixed

We added a loading guard to prevent slow connections from displaying incorrect billing data when switching accounts. Billing fields now reset cleanly and synchronously.

Sanitized billing API errors

Security

Upstream error details from our payment processors are now thoroughly sanitized before being returned. This prevents internal processor details from being exposed.

Safe billing receipt redirects

Security

We added strict hostname validation to the billing receipt download proxy to prevent open-redirect vulnerabilities. This ensures you are only redirected to authorized domains.

Complete account reclamation cleanup

Security

Reclaiming an account now completely deletes any associated billing profiles and payment details from the provider. This ensures unauthorized profiles do not survive recovery.

Fix: outbound billing-identity PUT vs delayed customer.updated webhook ordering gap

Feat: billing identity — legal name, address, VAT/tax ID on Organization

New

Feat: billing identity — legal name, address, VAT/tax ID on Organization

Fix: outbound billing-identity PUT vs delayed customer.updated webhook ordering gap

Fixed

Fix: outbound billing-identity PUT vs delayed customer.updated webhook ordering gap

Fix: customer.updated webhook silently drops address/name/tax ID

Fixed

Fix: customer.updated webhook silently drops address/name/tax ID

Fix: Stripe Checkout never collects billing address or VAT/tax ID

Fixed

Fix: Stripe Checkout never collects billing address or VAT/tax ID

Fix: deploy-production honors dispatched --ref instead of silently reverting to main

Fixed

Fix: deploy-production honors dispatched --ref instead of silently reverting to main

Fix: hotfix- bash syntax error from Go-template under appleboy/ssh-action

Fixed

Fix: hotfix- bash syntax error from Go-template under appleboy/ssh-action

Fix: billing page hangs — stop fanning out to Stripe on every render

Fixed

Fix: billing page hangs — stop fanning out to Stripe on every render

generalize deploy sync to cover all infra/ssh-guard/ files

Fixed

generalize deploy sync to cover all infra/ssh-guard/ files

Fix: Stripe Customer Portal link unreachable for self-serve customers

Fixed

Fix: Stripe Customer Portal link unreachable for self-serve customers

Fix: remove fabricated Spending by Type card from billing page

Fixed

Fix: remove fabricated Spending by Type card from billing page

Fix: demote alterlab from SUPERUSER, add alterlab_admin for migrations

Fixed

Fix: demote alterlab from SUPERUSER, add alterlab_admin for migrations

Fix: changelog generator duplicate version headers

Fixed

Fix: changelog generator duplicate version headers

Fix: CloudFront geo-block pages billed as T4 success

Fixed

Fix: CloudFront geo-block pages billed as T4 success

Fix: restore prod DB reads for monitor via read-only monitor_ro role

Fixed

Fix: restore prod DB reads for monitor via read-only monitor_ro role

Fix: add deploy-time orphan-container detection

Fixed

Fix: add deploy-time orphan-container detection

Fix: monitor user was root-equivalent — allowlist container access, add read-only observability

Fixed

Fix: monitor user was root-equivalent — allowlist container access, add read-only observability

Faster Scraping and Programmatic Triage

Resolve tickets programmatically

New

You can now resolve or reopen support tickets directly using your API keys, removing the need for user JWTs. This simplifies the process of automating ticket lifecycles within your own systems.

Automate ticket triage classifications

New

You can now programmatically update ticket priorities and tags using API key authentication. This lets you integrate automated ticket classification systems directly into your workflow.

Merge duplicate support tickets

New

We have introduced a new API endpoint to merge duplicate support tickets programmatically by reference. This allows your team to automate the cleanup of redundant incoming customer requests.

Millisecond-level rate limit queueing

Improved

Deferred requests now resume with millisecond-level precision instead of waiting a flat 5-second ceiling. This significantly increases your overall scraping throughput.

Concurrent proxy IP distribution

Improved

Proxy routing now distributes concurrent requests across a wider pool of exit IPs. This prevents traffic concentration on single IPs and dramatically reduces rate-limiting blocks.

Predictive scraper tier escalation

Improved

The platform now prevents unnecessary escalation to expensive browser-based scraping tiers during transient network or proxy degradations. This keeps your API usage highly cost-effective.

Humanized request pacing delay

Improved

Scraping requests now incorporate natural inter-request delays and paced retries on failure. This human-like behavior reduces detection rates on websites with strict bot protection.

AI agent documentation endpoints

Improved

We have introduced new agent-friendly documentation routes. This allows developers' AI assistants to easily parse and query our API schemas for seamless integration.

Enforced rotating proxy blacklists

Improved

IP blacklists are now strictly enforced in rotating proxy mode. The system automatically re-rolls to a clean connection if a known bad or burned exit IP is detected during a request.

Automatic JSON response parsing

Improved

When targeting JSON API endpoints, the parsed response body is now cleanly exposed in the content JSON field. This makes extracting structured data much more straightforward.

General bug fixes and improvements

Improved

Plus 47 internal improvements for better reliability and performance.

Hidden Amazon Price Retrieval

Improved

Automatically extract prices for products under Amazon's Minimum Advertised Price restrictions. The API now retrieves hidden prices instead of returning empty fields.

Cost-Optimized Low-Volume Scraping

Improved

Low-volume domains now transition to cheaper scraping tiers much faster once success is proven. This prevents requests from getting stuck on expensive browser-rendering tiers, saving you credits.

Faster Browser Escalation Retries

Improved

Requests requiring automatic browser escalation now retry on an optimized schedule instead of sharing standard delays. This significantly reduces overall latency and ensures jobs complete faster.

More Responsive Request Dispatching

Improved

Eliminated unexpected latency spikes when starting requests after the scraper has been idle. Queue poll delays are now strictly bounded, resulting in faster and more consistent response times.

Shielded active scraping sessions

Fixed

Active scraping sessions are now protected from premature background cleanup tasks. This eliminates unexpected session terminations and ensures long-running requests finish successfully.

Empty HTML content validation

Fixed

Requests returning empty HTML shells with no visible content are now correctly identified and escalated. This ensures you always receive complete and valid page data.

Auto-recharge invoice download fix

Fixed

We resolved a dashboard bug where auto-recharge transactions were displayed as non-clickable items. You can now easily view and download invoice receipts for all transactions.

Clean ticket reply threads

Fixed

Submitting whitespace-only notes will no longer generate empty, confusing ticket responses in the system. This keeps your support communication clean and readable.

Robust S3 Credential Validation

Fixed

We added validation to S3 delivery configurations during creation and credential rotation. This prevents configuration errors, such as missing external IDs, before they cause delivery failures.

Improved Handling of Short Responses

Fixed

Restored reliable escalation to browser rendering for pages that return extremely short, non-JSON initial responses. This ensures that minimal landing pages are properly rendered and resolved.

Reliable LLM Configuration Setup

Fixed

Resolved an initialization issue that could prevent the automatic configuration of LLM-based extraction models. Your AI-assisted parsing tasks will now configure and run reliably on startup.

Enhanced Scraping Reliability and Security

Enhanced Scrape Job Reliability

Improved

We upgraded our job delivery system to automatically recover tasks affected by unexpected transient errors. This ensures your scraping requests are completed reliably without getting stuck.

General bug fixes and improvements

Improved

Plus 10 internal improvements for better reliability and performance.

Custom Proxy Metadata Isolation

Security

We resolved a high-concurrency race condition to ensure strict data isolation for custom proxy configurations. Your proxy integration details are now fully secure during concurrent scraping jobs.

Secure Sign-Ins and Enhanced API Reliability

Secure Account Reclaiming

New

Users can now seamlessly reclaim their email addresses during sign-in if their email was previously registered via unauthenticated signup. This process automatically revokes unauthorized credentials and secures your account data.

Responsive domain self-healing

Improved

Our automatic recovery now uses recent success rates instead of lifetime averages. This allows the platform to instantly adapt and bypass detection on domains experiencing sudden degradation.

Strict quality checks for successful scrapes

Improved

A new 15KB minimum content threshold applies across all scraping paths. This ensures empty pages or small anti-bot screens are marked as failures and never billed as successful scrapes.

Context manager support in Python SDK

Improved

We added context manager support and explicit close methods to the Python SDK. This properly cleans up client sessions and active event loops, preventing persistent background memory leaks.

Optimized HTML-to-Markdown parsing

Improved

An optimized single-pass parser now handles unclosed elements in HTML documents. This eliminates processing lag and speeds up markdown extraction for complex, structured pages.

Smarter connection failure routing

Improved

The platform now detects IP-level connection rejections to instantly block wasteful escalation. This ensures faster failover, reduced latency, and overall smarter request routing.

Resilient AI Extraction Model Routing

Improved

AI-powered scraping tasks are now more resilient to third-party model deprecations. The system automatically redirects queries to active fallback pools, preventing unexpected 404 errors during extraction.

Node SDK Subpath Exports

Improved

The Node SDK now supports subpath imports for helper modules. Developers can import utility modules like cookie encryption directly using standard paths without encountering module resolution errors.

Standardized Node SDK Imports

Improved

We standardized our SDK references to use the official npm package name, alterlab. Documentation, templates, and public examples have been updated to ensure smooth integration without using outdated package names.

Updated Affiliate Commission Cap

Improved

We updated our affiliate commission payouts to align with our standard rewards policy. Affiliates now receive a 20% commission on their referred user's first deposit, capped at a maximum of $10.

Improved DNS Resolution Stability

Improved

We optimized DNS caching and watchdog intervals across our web scraping worker fleet. This resolves transient resolution failures under heavy scraping volumes, making concurrent network requests much more stable.

Reliable automatic billing and deposits

Fixed

Fixed an issue where billing webhooks failed during automatic recharges or deposits. This ensures billing transactions and credit top-ups process instantly without account disruption.

Accurate success metrics in digest emails

Fixed

Fixed a bug where digest, billing, and credit emails reported a zero percent success rate. Email metrics are now fully accurate and reflect the true success outcomes of your jobs.

Proper Set-Cookie handling in Node SDK

Fixed

Fixed an issue in the Node SDK's fetch wrapper where multiple Set-Cookie headers were folded into a single comma line. They are now properly preserved for seamless session tracking.

Unicode support in agent metadata

Fixed

Fixed a crash that occurred when metadata headers contained emojis, accented characters, or non-Latin scripts. The SDKs now safely URL-encode all agent configuration fields.

Intact URLs in extracted markdown links

Fixed

Resolved a bug where legal URL characters were over-escaped in markdown generation. Extracted links and references now render perfectly and redirect to the correct target URLs.

Robust concurrent update validation

Fixed

Enhanced safety for concurrent data updates by validating database records immediately before committing. This prevents rare race conditions and data overwrites under high load.

Eliminated race condition on trial keys

Fixed

Fixed an intermittent race condition that caused valid trial key requests to be incorrectly rejected with unauthorized errors, ensuring smoother testing and onboarding.

General bug fixes and improvements

Fixed

Includes several developer-experience and minor platform improvements. These include Node SDK documentation updates, optimized database locks, and proper ID-independent route caching.

Reliable JS-Rendering Escalation

Fixed

We fixed a rendering conflict where forcing JavaScript execution could trigger redundant browser behaviors. Scraping requests now scale cleanly and consistently when JavaScript rendering is requested.

Dashboard B2B Profile Reliability

Fixed

Fixed routing issues on the web dashboard that caused B2B demographic profiles, verifications, and stats to intermittently fail. These dashboard features are now fully functional and stable in production.

Robust Team Invitation Handling

Fixed

Resolved an issue where sending duplicate organization invites or triggering database conflicts would return a 500 server error. The API now correctly returns a 409 Conflict status and handles retries safely.

Asynchronous Queue Stability

Fixed

Fixed a task lifecycle leak where background processes in our message queue consumers could be prematurely destroyed under high load. This ensures reliable and smooth handling of asynchronous scraping jobs.

Sanitized API telemetry logging

Security

Improved data privacy by scrubbing raw exception details from telemetry logs. This prevents accidental exposure of sensitive internal runtime information in reports.

Hardened API gateway rate limiting

Security

Resolved gateway vulnerabilities where crafted paths could bypass standard rate limits. All administrative and download endpoints are now strictly isolated and throttled.

Enhanced API Key Bruteforce Protection

Security

Introduced a dedicated per-IP soft-blocking guard to defend against API key brute-force attacks. The system tracks cumulative authentication failures and enforces ceilings, preventing attackers from evading detection.

Trial Key Spend Limit Isolation

Security

Enforced strict validation checks on spend-limit API endpoints for our trial key pool. This ensures trial users cannot read, modify, or delete spend-limit configurations belonging to other trial accounts.

More Reliable Scrapes and Fairer Billing

Programmatic support ticket access

New

You can now list and view your support tickets programmatically using your standard API key. This allows you to integrate support data directly into your internal tools and scripts.

Faster high-priority requests

Improved

High-priority requests now bypass capacity wait times during periods of peak system load. This ensures your critical tasks maintain low latency even when resource demand is high.

Realistic system font emulation

Improved

We have added comprehensive system font emulations to our browser engine. This makes your requests look identical to standard workstations, greatly reducing detection on highly secure sites.

Localized browser headers

Improved

The API now aligns the browser language with the target domain and proxy country automatically. This eliminates header mismatches that trigger security challenges on country-specific sites.

Advanced geographic routing detection

Improved

The API now detects target countries from multi-segment URL paths, such as language-and-country paths. This automatically routes your requests through the correct country proxy for local content.

Stabler long-running scraping sessions

Improved

Scraping sessions are now more stable when reusing security cookies over long periods. Improved validation prevents session identifiers from being rejected due to configuration mismatches.

General bug fixes and improvements

Improved

Plus 12 internal improvements for better reliability and performance.

Reliable challenge page retries

Fixed

Fixed an issue where requests hitting non-empty security challenge pages failed to trigger auto-escalation. The platform now correctly detects these blocks and automatically applies retries.

Accurate timeout status codes

Fixed

Fixed a bug where the API incorrectly returned an HTTP 200 success code on browser timeouts. You will now receive the true error code so your application can accurately handle retries.

Fair billing for blocked requests

Fixed

Improved our core billing gate to detect when a target page has served a security challenge or block screen. This prevents you from being charged for failed attempts on heavily protected websites.

Successful asset and image downloads

Fixed

Fixed a bug where sub-resource downloads like stylesheets or images from CDNs were missing a Referer header. The API now includes the source page as a Referer to prevent download blocks.

Accurate escalation billing checks

Fixed

Fixed an issue where automatic browser escalation treated challenge screens as successful, billable scrapes. The system now recognizes these screens as blocked and triggers proper retries.

Enhanced Data Exports and Live Benchmarks

Untruncated Bulk Data Downloads

New

You can now stream complete bulk datasets in JSONL or CSV formats directly from your dashboard or via the API. This bypasses previous limits, providing complete, untruncated results in a single click.

Public Detection Difficulty Benchmarks

New

Compare scraping performance across major detection systems using our new public difficulty benchmarks. You can fetch live index scores programmatically or display them with our embeddable widget.

Open-Source Detection Package

New

Analyze web environments before starting a crawl with our new open-source MIT-licensed package and command-line utility. This tool cleanly identifies which system protects any given URL.

Real-Time Enterprise Usage Analytics

New

Track billing quotas, ad metrics, and job completion statistics in real time. These insights are now available programmatically and on a dedicated dashboard usage card.

High-Performance Large Datasets Pagination

Improved

Exporting large datasets is now significantly faster. We optimized our query sorting and streaming infrastructure to prevent performance degradation when traversing massive jobs.

Optimized Media and Asset Crawling

Improved

Our scrapers now dynamically profile and mimic asset sub-resource requests. This ensures higher reliability when downloading stylesheets, fonts, and images from CDNs.

Seamless New Tenant Provisioning

Improved

Changes to dedicated crawl environments and enterprise configs now activate instantly. This eliminates the need to coordinate manual crawler restarts or wait for redeployments.

Auto-Configured Onboarding API Keys

Improved

Enterprise-level API keys created during setup now automatically receive the correct dashboard permissions. This eliminates manual configuration and prevents credential mismatches.

General bug fixes and improvements

Improved

Plus 31 internal improvements for better reliability and performance.

Restored Complete Metrics Cycles

Fixed

Resolved a timezone bug where the first calendar day of usage data was omitted from dashboard charts. Your usage and billing history now displays fully complete periods.

Streamlined Dashboard Download Interactions

Fixed

Polished the visual styling of download buttons on the bulk results page. This improves layout consistency and provides clearer feedback during large exports.

Onboarding Documentation Path Restored

Fixed

Corrected a broken link on the final step of the setup sequence. New users are now seamlessly routed to the correct enterprise integration documentation page.

Protected Spreadsheet Data Exports

Security

CSV exports are now sanitized against potential formula injection vulnerabilities. This ensures exported data is completely safe to analyze in spreadsheet tools like Excel.

Smarter Request Routing and Scraping Reliability

Smart Per-IP Admission Control

New

You can now scale high-concurrency scraping without triggering rate limits on target domains. The API automatically regulates request velocity based on target domains and exit IP addresses to avoid blocks.

Enhanced SERP Geo-Targeting

New

You can now leverage automated location-specific cookies for search engine scraping. This ensures regional ads and localized content are correctly retrieved and rendered based on your target country.

Seamless PDF Scrape Support

New

The scraping engine can now directly navigate to and extract text from PDF URLs. Automated browser sessions will no longer fail on automatic download triggers, returning full document content seamlessly.

Fairer Billing Detection Gate

Improved

We have hardened our systems to automatically identify block pages and firewalls. If a target website blocks your request, AlterLab correctly identifies the block and prevents you from being billed.

General bug fixes and improvements

Improved

Plus 46 internal improvements for better reliability and performance.

Bulk Results Tracking

Fixed

Fixed an issue where bulk-submitted jobs occasionally returned empty results due to missing reference records. All bulk tasks now write and retrieve execution history accurately for reliable delivery.

Billing Summary Authorization

Fixed

Resolved credential authorization errors on the developer dashboard. Users can now view their billing summary and usage metrics on the billing tab without experiencing unexpected connection issues.

Media Asset Quality Gates

Fixed

Fixed a bug where media assets, CDN URLs, and small-business pages failed content validation. Thresholds have been optimized to ensure thin but valid target pages are successfully returned.

Secure Newsletter Management

Security

We have added rate-limiting controls to all email endpoints and introduced a secure double opt-in flow for newsletter signups. This hardens our newsletter management system against automated spam.

Bulletproof Data Delivery and Routing

HTTP/2 Signature Alignment

Improved

Refined outbound browser signatures by stripping connection headers over HTTP/2. This ensures your requests are indistinguishable from organic traffic, drastically reducing blocks on secured endpoints.

Cost-Effective Routing Logic

Improved

Optimized our multi-tier routing logic to prevent premature escalation to premium network tiers. The system now strictly verifies page loads on standard paths first, preserving your credits.

Proactive Stalled Request Reaping

Improved

Enforced strict processing limits on stalled web requests. Stalled jobs are now systematically terminated and released, preventing API requests from hanging indefinitely in your queue.

Adaptive Error Classification

Improved

Improved smart routing algorithms by accurately tracking partially recovered web pages. This minimizes redundant retries, boosting overall throughput on complex domains.

General bug fixes and improvements

Improved

Plus 35 internal improvements for better reliability and performance.

Interactive Widget Recognition

Fixed

Expanded detection for interactive verification widgets to support a wider array of SDK methods. This prevents false negatives during extraction on pages using non-standard widget initializers.

Modern JavaScript Literal Parsing

Fixed

Enhanced the parsing of modern JavaScript template literals inside inline script tags. The engine now avoids misinterpreting dynamic code holes as inactive comments, boosting extraction accuracy.

Decoy Verification Filtering

Fixed

Corrected a parsing behavior where commented-out decoy security scripts were misidentified as active blockades. The engine now ignores inactive code, preventing unnecessary processing pauses.

Playground Layout UI Restored

Fixed

Fixed a layout bug in the Developer Playground that caused the scrape results container to grow unbounded. The panel height is now capped with scrolling, streamlining the inspection flow.

Interactive Tutorial Navigation

Fixed

Resolved an overlay hit-testing bug in the interactive tutorial that blocked clicking the 'Next' button. You can now complete playground onboarding without any UI friction.

Bug Fixes & Stability

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

New

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

New

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

New

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).

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

Improved

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

Improved

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

Improved

Plus 56 internal improvements for better reliability and performance.

guard heartbeat done callback with task identity check

Fixed

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

Fixed

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

Fixed

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

Fixed

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

add telemetry to reactive-T4 browser saturation signal path

Fixed

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

Fixed

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

Fixed

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

add NX idempotency guards to scrape-refund spend counter decrements

Fixed

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)

Fixed

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

Fixed

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

Precision Emulation and Accurate Billing

Perfect browser property emulation

New

Refined how browser properties, screen configurations, and automation flags are applied to our underlying environments. By matching standard property prototype behaviors, your requests successfully pass advanced structural checks that scan for automated footprints.

Natural event listener emulation

New

Fully realigned event listener structures to match standard desktop browser configurations. Advanced detection systems testing event target properties will see standard, untampered interfaces, ensuring seamless access to heavily guarded pages.

Automated MCP server setup

New

You can now initialize the MCP server automatically using a single terminal command. The CLI auto-detects your local workspace, writes configuration entries, and validates your API key.

Dedicated MCP dashboard page

New

A new integration page is available on your dashboard to guide you through connecting AlterLab to your assistant clients. This interactive walkthrough provides setup steps and API key verification.

Precision browser emulation

Improved

Our browser emulation profiles now feature high-precision timers and realistic pointer simulations to mirror real user devices. This significantly improves scraping success rates on sites with advanced detection.

Optimized routing for retail scraping

Improved

We resolved a routing override issue to ensure custom scraping parameters on e-commerce domains are strictly respected. This ensures highly reliable and consistent delivery of your product data.

Accurate SERP cost forecasting

Improved

The dashboard cost estimator now uses engine-aware pricing for search engine runs. When preparing batch or scheduled jobs, you will now see precise cost estimates that reflect actual resource consumption.

General bug fixes and improvements

Improved

Plus 27 internal improvements for better reliability and performance.

Realistic canvas rendering

Improved

Upgraded our graphics rendering emulation for Firefox profiles to produce natural 2D canvas text rasterization. By introducing subtle rendering variations, our browser environments avoid detection checks that seek to identify virtualized graphics hardware.

General improvements

Improved

This release includes general improvements and maintenance updates.

Expanded MCP tool documentation

Improved

Our integration documentation now accurately lists the full catalog of nine developer tools. This includes newly added clients and up-to-date details on session management capabilities.

CrewAI integration sidebar navigation

Improved

You can now locate and access CrewAI integration resources directly from our sidebar navigation. This makes it simpler to find guides and build multi-agent web scraping workflows.

Smarter browser session retention

Improved

Search engine scraping is now faster and more reliable due to optimized session management. This prevents sudden slowdowns and ensures consistent response times under heavy query loads.

Enhanced API stability under load

Improved

We resolved a resource allocation issue that could trigger under high request volumes. The API is now significantly more stable, preventing unexpected service interruptions during peak traffic spikes.

Unified scrape error fixed

Fixed

We fixed an API issue where requests to the unified scrape endpoint could crash with a database input error. Submitting queries with omitted template parameters now works without causing service errors.

Zero billing on dispatch failures

Fixed

We corrected an edgecase where failed search dispatches would incorrectly consume user balance. Failed search jobs now accurately consume zero credits, ensuring you only pay for successful requests.

Consistent manual schedule rates

Fixed

We introduced a rate limit of five manual triggers per minute for scheduled search runs. This prevents parallel actions from blocking resources, ensuring consistent performance for all API consumers.

Improved input pagination validation

Fixed

We added integer validation to pagination parameters on search schedule endpoints. Out-of-bounds or invalid formatting now returns a clear HTTP 400 error instead of causing backend processing issues.

Stable ad tracking interface

Fixed

We fixed a UI bug in the search history panel where advertiser position changes rendered inconsistently. Position changes now use unique, stable identifiers for a much smoother tracking experience.

Corrected webhook validation codes

Fixed

We fixed an issue where webhook endpoints returned an incorrect HTTP 422 status on validation failure. The API now correctly returns an HTTP 400 Bad Request when rejecting a webhook destination URL.

Improved subscription access control

Fixed

We resolved an issue with subscription queries and improved the page-level access gating on purchase flows. Admin users can now properly toggle beta features to accurately test the user experience.

Firefox environment fidelity

Fixed

Updated our Firefox browser profiles to match the standard identity signatures of standard privacy-focused browsers. This eliminates discrepancy signals, allowing your requests to blend in naturally with standard user traffic.

Invisible screenshot capture

Fixed

Capturing screenshots during your scraping sessions is now completely invisible to advanced scripts running on target pages. Any temporary cleanup footprints left behind during the capture process are dynamically concealed, ensuring your automation remains undetected.

Resilient scrape result delivery

Fixed

Successful scrapes are now guaranteed to be delivered even if a temporary connection error occurs during final billing. This prevents completed jobs from being incorrectly marked as failed.

Accurate credit usage reporting

Fixed

Job records now correctly show the exact credits used upon completion. This enables you to track and analyze your API consumption in real time without reporting discrepancies.

Reliable domain diagnostics tracking

Fixed

We resolved an issue causing duplicate write conflicts for domain metrics. Diagnostic data is now consistently recorded and accessible without errors, ensuring seamless analytics monitoring.

Hardened URL input validation

Security

We implemented stricter validation on keyword search prefixes to block potential server-side request forgery (SSRF) vectors. This enhances platform security by validating destination URLs before dispatch.

Execution environment hardening

Security

Added deep security hardening to isolated execution environments by automatically clearing credentials from subprocess contexts and freezing critical environment configurations. This ensures your sensitive API keys and secrets remain protected against unauthorized runtime queries.

Reliable Search and E-Commerce Scraping

General bug fixes and improvements

Improved

Plus 7 internal improvements for better reliability and performance.

Improved Scraping Success Rates

Improved

We have optimized retrieval strategies for cellarbrations.com.au, storefrontgateway, and images.getbento.com. This update ensures significantly higher scraping success rates on these target domains.

Smoother Playground Guided Tour

Improved

Our dashboard tutorial and tours have been re-sequenced to prevent overlapping elements. This ensures a cleaner, distraction-free walkthrough of our platform features.

Streamlined Developer Dashboard

Improved

We simplified the dashboard sidebar and mobile navigation by removing inactive tools. Keyboard shortcuts have also been reordered to help you navigate your active workspace more efficiently.

Faster Search API Failovers

Improved

We optimized the search failover process by bypassing secondary search engines when a primary request fails. This prevents unnecessary latency spikes of two minutes or more for B2B integrations.

Enhanced Concurrent Request Stability

Improved

We optimized backend memory thresholds to support higher concurrent scraping demands. This reduces system pressure and prevents unexpected drops during high-volume scraping tasks.

Streamlined dashboard sidebar

Improved

We have completely removed deprecated sidebar items, tour steps, and help references. This streamlines your workspace, allowing you to navigate your dashboard faster and with zero clutter.

Restored Adidas Scraping Success

Fixed

We resolved a critical routing issue on Adidas API endpoints, restoring success rates to 100%. Your requests on these paths will now execute smoothly and avoid detection systems automatically.

Reliable Quick Deposit Feedback

Fixed

We fixed flow errors in our deposit system that previously led to silent transaction failures. Users will now receive clear, immediate feedback if a payment verification step requires attention.

Improved Domain Timeout Resilience

Fixed

We resolved an issue where requests for specific domains, such as Metacritic and Geizhals, timed out. These requests will now properly fall back to asynchronous execution with real-time status feedback.

Seamless dashboard onboarding tour

Fixed

We resolved a conflict where the welcome modal and onboarding tour opened simultaneously, blocking dashboard interaction. The tour now starts only after you dismiss the welcome screen.

Clearer billing deposit guidance

Fixed

We added exact cooldown countdowns to error messages shown when you cancel a payment challenge. Instead of a vague warning, you now know exactly when it is safe to retry your deposit.

Robust Query Connection Handling

Fixed

We upgraded our backend connection layer to proactively prevent transient errors during high-volume query spikes. This ensures your API requests remain highly stable and completely uninterrupted.

Developer Blog Performance Fix

Fixed

We resolved a background rendering issue on our developer blog pages that could cause sporadic loading slow downs. Articles now load instantly and reliably.

Reliable Australian Retail Scraping

Fixed

We resolved a significant connection issue affecting requests to major Australian retail platforms. Scraping success rates on these targeted domains have been vastly improved.

Google Shopping Ads Restored

Fixed

Fixed an issue where Google Shopping ads were occasionally dropped from search engine results pages. You will now receive complete, uninterrupted shopping ad data in your API payloads.

Improved Browser Scraping Reliability

Fixed

Fixed a compatibility issue where certain non-default browser environments could trigger security blocks. This update ensures seamless detection avoidance regardless of your browser configuration.

Reliable quick deposits

Fixed

Succeeded quick deposits with saved cards now complete without error. Your balance will update instantly, and payments will process smoothly.

Streamlined sidebar navigation

Fixed

We have removed the inactive Crawl and Map links from the dashboard navigation panel. This eliminates unnecessary visual clutter and helps you focus on your active web scraping workflows.

Smarter Request Routing and Enhanced Concurrency

Automatic long-running job handoff

New

Scrape requests requiring intensive execution are now automatically routed to our asynchronous system. Instead of waiting on a slow connection, you will immediately receive a job ID for polling.

Inline 3D Secure deposits

New

European and UK users can now complete quick dashboard deposits seamlessly using native multi-factor 3DS verification. This eliminates manual payment retries with different cards.

Tier-aware domain concurrency

Improved

Standard and lightweight target sites can now support significantly higher parallel requests. This allows you to scale up your data retrieval pipelines and speed up bulk scraping.

Boosted backend gateway throughput

Improved

We scaled up our core API gateway capacity to handle double the standard concurrent workload. This minimizes request queue times and guarantees stable performance during traffic spikes.

Upgraded website block bypass

Fixed

Our request engine has been updated to mimic the latest browser connection patterns and headers. This ensures reliable access on domains guarded by advanced website detection systems.

Expanded domain support

Fixed

We improved scraping reliability and resolved consistent blocks on several major retail, media, and e-commerce websites. These targets are now fully operational with preconfigured parameters.

Accurate dashboard billing history

Fixed

All ledger balances, subscription start/end dates, and payment history records now accurately reflect the correct UTC timezone. This ensures perfect alignment in your billing history views.

Improved playground trial feedback

Fixed

The trial playground now offers descriptive error states when test scrapes reach the execution time limit. This helps you identify how to properly configure your scraper settings before launch.

General bug fixes and improvements

Fixed

This release also includes minor fixes to the account balance auto-refresh system and database optimizations for transaction processing. These improvements ensure a smoother dashboard experience.

Faster Dashboard and Instant Deposits

One-click account deposits

New

Returning customers with a saved payment method can now top up their balance instantly without leaving the platform. This new quick-deposit widget on your billing dashboard completes payments in under two seconds.

Interactive Platform Onboarding Tour

New

You can now access a guided onboarding tour that highlights critical platform workflows right inside your workspace. This step-by-step assistant ensures a smooth learning curve as you explore our scraping tools.

Faster dashboard loading

Improved

We combined profile and balance requests into a single startup payload and parallelized query execution. This eliminates round-trips and reduces dashboard load time by up to a second.

Enhanced success on review sites

Improved

We updated our routing patterns to ensure seamless data extraction from major entertainment and review platforms, including Metacritic. Requests to these domains now reliably bypass strict network defenses.

Polished dashboard load states

Improved

We replaced jarring placeholder states and empty charts with smooth, pulsing skeleton loaders during initial startup. Your actual usage metrics and balance figures now appear seamlessly once fully loaded.

General bug fixes and improvements

Improved

Plus 12 internal improvements for better reliability and performance.

Direct Sidebar Tool Navigation

Improved

We added direct sidebar navigation links for crawling, mapping, and executing workflow actions. This change allows you to jump directly into different tools without extra steps.

Streamlined Two-Step Setup

Improved

We simplified onboarding to get you scraping faster by removing a redundant setup screen. After generating your API key, you are taken straight to the playground to run your first scrape.

Reliable deposit processing

Fixed

Resolved an issue where high-volume, simultaneous account top-ups could occasionally fail with server errors after successful payment. Balance updates are now processed reliably under heavy concurrent load.

Accurate billing history

Fixed

Fixed a bug where failed deposit attempts due to non-card billing issues would get permanently stuck in a "pending" state. Your billing history now immediately and accurately reflects these events.

Seamless invoice PDF downloads

Fixed

Fixed an internal database driver issue that caused PDF invoice downloads to fail with server errors. You can now download all historical and current billing statements from your portal without interruption.

Correct billing email links

Fixed

Corrected broken links in auto-recharge and transaction notification emails. All links now direct you straight to your active billing dashboard page instead of returning a non-existent page error.

Fully formatted email updates

Fixed

Fixed a rendering bug in our system notification templates that could suppress important links and relevance details. This ensures all system update emails arrive complete and fully formatted.

Homepage rendering and security

Fixed

Resolved a page rendering crash that could affect first-time visitors loading the home page. Additionally, we updated security headers to ensure strict compliance with Content Security Policies.

Stable usage metric recording

Fixed

Fixed a database lock contention issue that could occasionally cause analytical logs or domain-specific request metrics to fail to record. Your scraping statistics are now completely consistent.

Strict cost policy compliance

Fixed

Fixed a routing escalation issue to ensure strict compliance with your account's maximum tier and cost policies. The system now correctly respects and enforces your cost limits on protected domains.

Enterprise Workspace Invitation Fix

Fixed

Enterprise members accepting invitations now land directly on their organization dashboard. This prevents incorrect routing to personal accounts and avoids confusing consumer credit prompts.

Enterprise Client Portal and Billing Upgrades

New Enterprise Client Portal

New

We have launched a self-service dashboard tailored specifically for enterprise clients. You can now manage your custom data pipelines and delivery destinations directly from a modern, unified interface.

Dedicated Billing Receipt Center

New

A new standalone card displays all historical invoices and receipts directly on your billing dashboard. You can now quickly view payments and download PDF copies without navigating nested tabs.

Faster Dutch news scraping

Improved

Enjoy faster and more reliable data extraction on Dutch news domains. We optimized our routing logic to use more efficient connection profiles, achieving over a 97% success rate.

Optimized request routing

Improved

Our API now employs smarter routing limits for websites protected by advanced detection challenges. This prevents unnecessary escalation to premium routing tiers while maintaining high success rates.

Improved success on Adidas

Improved

Scraping international Adidas domains is now much more reliable. We resolved routing conflicts and updated outdated detection hints, ensuring your requests succeed instead of getting blocked.

Smarter outage handling

Improved

The API now returns a 503 status code with a standard Retry-After header during temporary system maintenance. This allows your integration to gracefully handle brief interruptions with automated retries.

Seamless playground redirection

Improved

Authenticated users visiting the public playground are now automatically redirected to the dashboard. This ensures you do not run into public rate limits and can test in your own sandbox.

General bug fixes and improvements

Improved

Plus 9 internal improvements for better reliability and performance.

Automatic fallback proxy rotation

Improved

If a target flags an IP during initial attempts, the API now assigns a fresh IP for the fallback request. This avoids inherited blocks and boosts success rates on tough domains.

Intelligent Dynamic Routing Optimization

Improved

Our request engine now dynamically manages domains with advanced protection to save your account credits. The system automatically shifts scraping modes to optimize success while reducing execution cost.

Non-Blocking API Concurrency

Improved

We have migrated our domain validation checks to utilize asynchronous resolving methods. This prevents background latency spikes and improves API response times under high concurrent request volumes.

Optimized Dashboard Navigation

Improved

We upgraded internal links on the delivery dashboards to utilize framework-native routing protocols. This eliminates full page refreshes, providing a faster and more responsive browsing experience.

Beautifully formatted email updates

Improved

All announcement, campaign, and weekly digest updates have been migrated to our modern design system. You will now receive beautiful, responsive emails that look great on any device.

Reliable account notifications

Improved

We have enabled full synchronization for transaction and account events, restoring missing notifications for auto-recharge and payment updates. This ensures you never miss a critical alert.

Smart auto-recharge validation

Improved

We now automatically block setting up auto-recharge with one-time payment methods like Klarna, Affirm, and cryptocurrency. This prevents invalid billing configurations.

Fixed async redirect history

Fixed

Resolved an issue where asynchronous responses incorrectly returned null values for destination URLs and redirect chains. You will now reliably receive the complete redirect path for all requests.

Header sign-up button fixed

Fixed

Fixed an issue where clicking the "Get Started Free" button in the navigation header did not trigger any action. The button now correctly launches the registration dialog without issues.

Timing-gate script support

Fixed

We've added support for timing-gate APIs used by advanced verification challenges. This prevents script crashes and allows the browser environment to accurately simulate real-user execution.

Text encoding API support

Fixed

The scraping environment now supports standard text-encoding and decoding APIs. This ensures that verification scripts processing complex encoded tokens run successfully without throwing errors.

Cryptographic validation support

Fixed

We've implemented support for cryptographic hashing verification APIs on target pages. Scraping requests on sites requiring background mathematical computations will now succeed far more reliably.

Complete Redirect Response Tracking

Fixed

API responses now accurately populate the final destination URL and the complete redirect chain across all scraping modes. This allows you to track programmatic redirects without writing custom middleware.

Robust Account Invitation Flow

Fixed

Improved the organization acceptance flow to ensure invitation tokens are only consumed upon a successful database commit. This prevents accidental user lockouts during registration bottlenecks.

Activation Integrity Guard

Fixed

We added a protection guard that prevents active user credentials from being overwritten if invitation links are reused. The system now returns a conflict response to secure existing accounts.

Reliable Billing Invoice Downloads

Fixed

Fixed an issue that caused intermittent server errors when accessing invoices from direct links. Customers can now reliably retrieve and download PDF records of their payment history.

Correct Webhook Configuration Labels

Fixed

Fixed a visual glitch on the overview page that incorrectly labeled active webhook destinations as unconfigured. The interface now accurately represents your custom data export destinations.

Auto-recharge failure alerts

Fixed

Receive immediate email notifications if auto-recharge is disabled due to an expired or detached card. This ensures your scraping tasks are never silently interrupted by billing issues.

Dashboard payment method sync

Fixed

Fixed an issue where recently added payment methods were missing from your billing dashboard. All active payment methods are now properly synced and manageable directly from your account.

Smarter detection of block pages

Fixed

The platform now detects target site block pages even when they are served with a standard success status code. This prevents empty block pages from consuming your scraping quota.

Sanitized Integration Error Logs

Security

Restricted raw exception details from being returned when verifying cloud storage configurations. This guarantees internal metadata and provider details are never exposed in standard API responses.

Hardened Request Validation Security

Security

We have strengthened security checks for data delivery destinations, proxy setups, and webhook endpoints. This blocks domain-rebinding attacks to keep your data transfer channels secure.

Tightened API Scope Enforcement

Security

We have tightened API key authorization controls to ensure self-serve access profiles are strictly isolated from high-volume corporate routes. This prevents accidental credential misconfiguration.

Email Header Injection Prevention

Security

System notification messages now thoroughly sanitize account and organization names of control characters. This protects automated billing and usage alerts from email manipulation risks.

WebRTC IP leak prevention

Security

We have blocked local IP addresses and local hostnames from leaking through WebRTC connection requests. This prevents target websites from discovering your network details.

Randomized connection signals

Security

Connection latency and speed characteristics are now randomized across requests. This prevents target detection systems from tracking you using static network profiles.

Accurate PDF viewer emulation

Security

Headless browser configurations now accurately emulate standard browser PDF viewer behaviors. This eliminates a common browser compatibility inconsistency that detection systems use to block requests.

Hardened iframe injection timing

Security

Implemented synchronous script injection within child iframes, closing a timing gap where target page checks could execute before our anti-detection modifications were applied.

Resilient Scraping and Smarter Retries

Unlocked playground preview

New

You can now view the unblurred raw output of your first scrape in the sandbox playground. This lets you inspect the precision and structure of the returned data instantly before signing up.

Automatic routing optimization

Improved

The system now handles rate limits with an automatic backoff instead of immediate escalation to browser-based tiers. This preserves your high-performance credits and reduces billing costs.

Intelligent browser-rendered retries

Improved

The browser-rendering tier now automatically rotates proxies and retries on transient errors or timeouts. This significantly increases success rates on highly protected sites.

First-party invoice delivery

Improved

Billing emails now deliver invoice documents as secure, first-party static PDFs rather than dynamic third-party views. This ensures documents load instantly inside all secure email clients.

Optimized browser-free routes

Improved

Our routing engine now skips browser-specific checks entirely when bypassing rendering execution. This reduces handshaking overhead and accelerates response times for static-content scrapes.

Enhanced extraction reliability

Improved

Our AI selector and schema generation engine is now hardened against premature output truncation. It parses complex page layouts with nested formatting robustly, while protecting output integrity.

General bug fixes and improvements

Improved

Plus 32 internal improvements for better reliability and performance.

Consistent detection priority handling

Improved

Our request evaluation prioritizes block screens over interactive challenges from detection systems. This ensures consistent handling and highly accurate error reporting during scraping tasks.

Robust session diagnostic logging

Improved

We have introduced detailed background logging for session baseline failures. This improves troubleshooting for edge-case connection drops and helps resolve scraping issues much faster.

Resilient transient network recovery

Fixed

Temporary network disruptions, such as connection resets, are now properly retried instead of being treated as permanent failures. This greatly increases success rates for large-scale jobs.

Rate-limit backoff pacing

Fixed

The queue now respects backoff delays before retrying rate-limited requests instead of re-enqueuing them immediately. This maximizes success rates and avoids wasting your retry budget.

Accurate block detection priority

Fixed

The request engine now prioritizes block page checks before launching challenge solvers. This prevents the scraper from misclassifying block pages and ensures smarter automated recovery.

Smarter timeout budget tracking

Fixed

Browser engine retries now strictly respect your remaining timeout budget. The engine will fail-fast if a crash happens near your limit, returning responses sooner instead of starting a new session.

Unified registration requirements

Fixed

We aligned client and backend password validation rules. The signup and settings forms now correctly enforce the 10-character minimum (with a letter and digit), preventing unexpected errors.

Seamless usage tracking authentication

Fixed

You can now query your API usage using standard API keys instead of bearer tokens. This resolves authentication issues during integration tests on external automation platforms.

Accurate success tracking in Playground

Fixed

The interactive sandbox now correctly reveals scraped content on your first successful attempt, even if earlier attempts failed. This ensures successful previews are immediately visible.

Reliable billing document downloads

Fixed

Billing invoice downloads are now pinned to the correct document type so your browser can open them immediately. This prevents files from being misidentified or downloaded with incorrect formats.

Secure payment document links

Security

We added strict protocol checks to verify all payment invoice references over secure HTTPS connections before retrieval. This enhances transactional safety and prevents unencrypted fetches.

Strict inline script security

Security

We updated all inline scripts on our homepage to enforce per-request cryptographic nonces, aligning fully with strict Content Security Policy guidelines to prevent cross-site execution.

Enhanced Security and Delivery Control

Global Email Opt-Out Control

New

You can now globally opt out of non-critical transactional and account emails directly from your preferences. This gives you full control over which notifications reach your inbox.

Machine-Readable Unsubscribe Support

New

We added native support for machine-initiated unsubscribe requests. Email clients like Gmail can now unsubscribe you in one click without executing front-end code.

Faster Email Notification Speeds

Improved

We optimized our database query pathway for opt-out lookups, achieving up to a 25x reduction in latency. This ensures that your system and verification emails are dispatched almost instantaneously.

Guaranteed Organization Alerts

Improved

Critical organization and security notifications now bypass global opt-out settings. This ensures you never miss vital security updates, member invitations, or ownership transfers.

Reliable One-Click Unsubscribe

Improved

One-click unsubscribe headers are now consistently preserved and sent across fallback email channels. This guarantees a seamless unsubscribe experience regardless of the delivery path used.

Worker Capacity Under Heavy Load

Improved

We restored fail-fast backpressure mechanisms for background task workers during peak usage. This prevents resource exhaustion and ensures high-volume scraping tasks execute with high stability.

Robust Detection System Adaptation

Improved

We unified our block-handling logic into a vendor-agnostic escalation policy. This allows your scraper requests to gracefully adapt when encountering aggressive target detection systems.

General bug fixes and improvements

Improved

Plus 58 internal improvements for better reliability and performance.

Corrected Unsubscribe Rate Limiting

Fixed

We resolved duplicate rate-limit checks and corrected client IP forwarding. This ensures that legitimate unsubscribe requests are not falsely blocked by shared rate-limit buckets.

One-Click Unsubscribe Timeout

Fixed

Added an automated request timeout to our unsubscribe proxy handler. This prevents slow backend responses from hanging or stalling your browser session indefinitely.

Unsubscribe Link Rendering Fix

Fixed

Fixed a bug where unsubscribe links in lifecycle emails rendered raw template variables instead of the actual signed URL. Unsubscribe links in all automated emails are now fully functional.

Notification Status Reporting Fix

Fixed

Fixed a visual reporting bug where automated email metrics were permanently stuck in a queued status in the dashboard. Delivery status now updates accurately to reflect successful dispatches.

Resilient Daily Limit Enforcement

Fixed

Fixed an issue where daily email send limits failed open during temporary database disruptions. Daily send caps are now securely maintained and enforced under all conditions.

Harden Client IP Verification

Security

We removed insecure client IP fallbacks across authentication and proxy handlers, relying strictly on trusted, unspoofable headers. This prevents IP-spoofing attacks on sensitive endpoints.

Secure Token Comparison

Security

We hardened authentication pathways against potential timing side-channel attacks by implementing constant-time token verification. We also resolved an exception triggered by non-ASCII headers.

Email Header Injection Protection

Security

We added explicit newline stripping to custom email headers to prevent carriage return/line feed injection. This hardens our transactional email system against malicious header manipulation.

Automated CAPTCHA Solving and Smarter Routing

Affiliate Partner Program

New

Earn recurring commissions by promoting AlterLab through our new dashboard interface. You can now track referrals, view your payment history, and build promotional links directly in one place.

User-to-User Credit Sharing

New

Invite fellow developers to try our platform and get rewarded. Both you and the referred user will receive $0.50 in free API credits once their new account is successfully created.

Direct API and Endpoint Discovery

New

The scraper now automatically queries alternative structured endpoints (like WordPress REST or GraphQL) when HTML extraction fails. This fetches structured data directly, avoiding slow browser rendering.

Automated CAPTCHA Solving

New

We have introduced fully automated solving for pages protected by reCAPTCHA and hCaptcha. The platform dynamically extracts site keys, solves the challenges, and returns the protected content.

Enhanced Client-Side Data Extraction

New

The platform now securely evaluates inline scripts to capture dynamic client-side application states from server-rendered pages. This allows you to retrieve fully computed data structures.

Enhanced SDK Compatibility

Improved

Easily migrate your existing pipelines to AlterLab with zero code changes. We now support drop-in SDK compatibility with other popular scraping tools, complete with quick-start guides.

AI Agent Optimization

Improved

We optimized our llms.txt and OpenAPI schema specifically for AI grounding. Large language models can now reason about, integrate, and call our API with higher success rates.

Frictionless Key Onboarding

Improved

Generate and test your credentials faster than ever. When you create an API key in our onboarding modal, a silent background scraping demo is initiated so you can inspect live data immediately.

General bug fixes and improvements

Improved

Plus 27 internal improvements for better reliability and performance.

Proactive Routing for Faster Scrapes

Improved

For proven server-side rendered targets, requests are routed directly to the optimal execution layer. This completely bypasses initial probe latency, saving up to 5 seconds per request.

Hardened Injection Timing for Solvers

Improved

We updated the challenge solver initialization sequence to strictly attach before target scripts run. This eliminates race conditions and ensures browser overrides are fully applied.

Direct Billing Links in Error Responses

Improved

A direct billing link is now included in all HTTP 402 responses. This allows developers to quickly access the payment page and resolve balance limits directly from their error logs.

Automatic Fallback for SSL Issues

Improved

Modified routing to automatically attempt browser-based rendering when targets have incomplete SSL chains. Rather than failing, the system attempts alternative secure retrieval paths.

Enhanced enhanced mode Alignment

Improved

Aligned browser user-agent headers with network signatures to match standard browser updates. This reduces detection rates on targets that verify version consistency across connections.

Automatic Challenge Escalation

Fixed

Our request routing now detects empty shells or verification screens returned by target site protection systems. The API automatically escalates and retries the request to ensure success.

Reliable E-Commerce Scraping

Fixed

We improved simulated browser behavior on major localized online storefronts. Sessions now reliably execute human-like cues to bypass blocks and increase success rates.

Dashboard Data Retention

Fixed

Your dashboard now falls back to displaying the target domain name for historical scraping jobs. This preserves high-level URL visibility in your history even after underlying payload data is cleared.

Ticket List Crash Fixed

Fixed

Fixed a backend query constraint error that caused the support tickets list to crash for any accounts that had multiple active tickets. Users can now view their full support history without issues.

Safe Commission Tracking

Fixed

Introduced database-level safeguards to eliminate double-counting on affiliate commission records. This ensures that brief network retries from payment processors are safely ignored.

filter is_public on template slug lookup in scrape endpoint

Fixed

The \ parameter in the unified scrape endpoint looked up templates by slug without filtering on \.

guard legacy payment affiliate commission behind grant_credits result

Fixed

Guards affiliate commission in the legacy one-time payment path behind the success result, preventing affiliates from earning commission when credits were never actually granted.

Accurate Job Status Tracking

Fixed

Fixed an issue where jobs interrupted by crawler restarts could remain pending indefinitely. Interrupted job states are now fully synchronized, ensuring you receive clear failure reasons.

Clearer Crawler Error Messages

Fixed

Crawl-related validation failures are now parsed into human-readable error messages. This prevents raw, nested response structures from causing interface rendering crashes.

Reliable Challenge Solver Execution

Fixed

Fixed connection edge cases in the challenge solver that could cause premature aborts. The solver now reliably triggers browser-level fallbacks whenever verification challenges arise.

Protected Demo Pages

Security

Secured our specialized B2B demo environments behind secure session gates. These pages now require active user authentication to prevent unauthorized public access or relationship exposure.

Billing Information Exposure Prevention

Security

We hardened search endpoint error handling to prevent the exposure of account balance details in standard error responses. Failed transactions now return clean, generic responses.

Bug Fixes & Stability

Landing Page Redesign

New

## Milestone: Landing Page Redesign.

General bug fixes and improvements

Improved

Plus 11 internal improvements for better reliability and performance.

escape mention var in JSON + move state dir outside repo

Fixed

Fixes two minor review findings from :.

implement scrape probe in sla-tracker.sh

Fixed

Implements the missing scrape probe in.

terminal fullscreen overlay trapped inside main container

Fixed

- Terminal fullscreen overlay was rendered inline in the React tree, trapped inside by creating a containing block.

remove overflow-x-hidden clipping history table scroll

Fixed

- : Removed from page root div.

rename newsapi slug to reuters for URL consistency

Fixed

Renames the misleading domain slug to so correctly serves Reuters content instead of the confusing URL.

sla-tracker.sh reports 0% uptime on first run triggering spurious breach alert

Fixed

- returned (0% uptime) when was missing (first run), triggering a spurious SLA breach alert.

escape hostname via jq in dockerd curl alerts

Fixed

The dockerd self-health check in 6 monitoring scripts interpolates directly into a raw curl JSON body string.

stop session-ingest flood from infinite retry loop on 422

Fixed

- Stop infinite retry loop in session recording when session creation fails with 4xx.

blog tag upsert — switch to ON CONFLICT (slug) to eliminate 500

Fixed

internal service's daily SEO blog batch hits and crashes with 500 ( unique constraint violation).

add monitoring scrape targets for cloud provider worker containers

Fixed

cloud provider worker containers expose domain-level metrics via but had no scrape targets for them — only the Netcup Pushgateway was collected, leaving cloud provider fleet data absent from Grafana dashboards.

pass noise_regex/prefix_regex as jq --arg in error-trigger.sh

Fixed

Fixes jq injection vulnerability where and were shell-interpolated directly into jq program strings in.

Grafana wasted compute panel — correct unit label from s to short

Fixed

Corrects the Grafana unit label on the **\"Wasted Compute Rate (sec/min) — by Tier\"** panel in the Scraping Engine dashboard.

monitoring system crash-loop on invalid Discord token

Fixed

- Catch and in monitoring system's entry point to prevent infinite crash-looping when Discord resets the bot token.

Uninterrupted Extraction and Faster Dashboard

Dynamic extraction engine routing

New

Our data extraction pipeline now features dynamic model routing and failover support. If an AI model experiences downtime, the system automatically redirects requests to ensure uninterrupted service.

Faster blog post loading

Improved

Initial page loads for technical resources are now up to 30 seconds faster due to optimized server pre-rendering. This ensures you get the integration guides you need instantly.

Aligned browser signatures

Improved

We synchronized browser profiles across all scraping modules to prevent signature mismatch flags. This increases your extraction success rates and bypasses advanced target detection systems.

Instant documentation navigation

Improved

Internal navigation throughout the developer documentation is now completely fluid. You can jump between setup instructions and quickstart guides without triggering full page reloads.

General bug fixes and improvements

Improved

Plus 10 internal improvements for better reliability and performance.

Faster dashboard page loading

Improved

We optimized rendering on the web dashboard to eliminate animation lags during page transitions. This makes navigation and dashboard updates feel significantly faster and more responsive.

Actionable checkout recovery banner

Improved

We have added a prominent retry button to our billing page if you abandon a payment session. You can now instantly resume your checkout and retry the payment with a single click.

Registration modal safeguards

Fixed

We prevented the sign-in modal from being closed accidentally by clicking outside the form or hitting Escape. This keeps you focused on your login or onboarding flow without losing state.

Billing checkout recovery

Fixed

If you cancel or exit during checkout, you are now greeted with a helpful recovery banner. This provides a direct path to retry your billing action or seek assistance.

Pricing page signup routing

Fixed

We corrected the routing on our pricing comparison blocks to ensure new users are directed to registration instead of sign-in. This guarantees a smoother onboarding path when choosing a plan.

Restored extraction service stability

Fixed

We fixed a temporary parsing failure caused by a deprecated third-party AI model on our free tier. The system was updated to a newer active model to maintain consistent extraction stability.

Seamless dark mode loading

Fixed

We eliminated the brief flash of light that occurred when loading the developer dashboard in dark mode. The platform now renders dark themes server-side for an eye-friendly loading experience.

Reliable Payment Card Setup

Fixed

Saving a new card now successfully persists the payment details to your billing profile. Previously, card setup would report success but fail to actually save the card to your account.

Reliable Bearer Token Authentication

Fixed

Admin API requests using standard Bearer tokens are no longer incorrectly blocked. You can now reliably run scripts and automation tools using only standard token authentication.

Saved payment methods at checkout

Fixed

Your saved payment methods are now properly recognized and displayed at the top of the payment form when adding funds. You no longer need to re-enter your billing information during Stripe Checkout.

Reliable support ticket replies

Fixed

We fixed an issue that caused intermittent server errors when responding to support tickets. Ticket updates and replies are now processed reliably and delivered without interruption.

Smarter Testing, Failovers, and Enhanced Security

Homepage Demo Integration

New

Test URLs on our homepage and instantly open your extraction results in the playground with a single click. This lets you inspect full results, experiment with configurations, and export code without restarting your scrape.

Blog Sandbox Integration

New

One-click sandbox testing is now built directly into our technical guides. You can launch blog post code examples straight into the interactive developer playground, pre-configured and ready to run.

General improvements

Improved

This release includes general improvements and maintenance updates.

General bug fixes and improvements

Improved

Plus 9 internal improvements for better reliability and performance.

Type-Safe Node SDK Search

Improved

The Node SDK now includes full TypeScript support for the engine selection parameter in both single and batch search requests. Developers can now build programmatic queries with complete type safety and editor autocomplete.

Flexible LLM Failover

Improved

Our AI-assisted extraction pipeline now supports robust fallback model routing. If your primary AI model encounters rate limits, the system seamlessly cascades to your fallback model to prevent job interruptions.

Smarter Pricing Interface

Improved

We have simplified our pricing page to highlight our Smart Router benefits and clear up plan selection. A streamlined navigation experience makes it easier to evaluate options and find the perfect tier.

Smarter Webhook Balance Protection

Improved

Your API credits are now protected from invalid webhooks. Balance debit logic runs after webhook destination validation, ensuring credits are never charged if a webhook URL fails initial checks.

decrypt-secrets.sh pipefail kills script on missing grep keys

Fixed

- Add to all grep pipelines in feature-flag validation and monitoring config sections.

Automated Search Credit Refunds

Fixed

Guarantees billing integrity for batch search engine queries by automatically refunding credits for unsuccessful, expired, or failed tasks. You will only be billed for successfully completed search jobs.

Reliable Session Rotation

Fixed

Ensures correct session and IP rotation triggers are reached during health checks. This guarantees consistent evasion of detection systems and significantly higher success rates for long-running scraper tasks.

Parallel CAPTCHA Solving

Fixed

Resolves a timeout conflict where CAPTCHA solving challenges were prematurely cancelled during parallel dispatches. CAPTCHA routines now have sufficient time to complete, boosting success rates on protected pages.

Robust Job Routing

Fixed

Fixes a queue routing error where search engine query jobs could be processed by generic workers lacking the required session context. Jobs are now correctly pinned to matching worker queues.

General Bug Fixes

Fixed

Includes several stability improvements across our platform. We resolved unreachable administrative endpoints, fixed JWT authentication errors, and corrected playground cost calculation inaccuracies.

Guaranteed Tenant Isolation

Security

Introduces atomic slot-claiming in our session pools to ensure absolute user isolation. This guarantees concurrent users never share browser profiles, active cookies, or session histories.

Enhanced SSRF Defenses

Security

Hardens internal network security with robust Server-Side Request Forgery validation. Additional checks protect custom storage configurations and background webhook tasks from unauthorized requests.

Bug Fixes & Stability

Clarified Website Compatibility Terminology

Improved

You can now find clearer definitions and standard terminology across our public glossary and documentation. This makes it easier to understand platform features and configure automated integrations.

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

Improved Request Routing Reliability

Fixed

You will experience more reliable API connectivity and routing stability with resolved forwarding timeouts. Scraping workloads now benefit from optimized requests and consistent uptime.

remove dead e2e-monitor.sh targeting decommissioned server

Fixed

Deletes — dead code targeting the decommissioned E2E server ([server]).

use correct load balancer services endpoint for api-active direction check

Fixed

Fixes two wrong load balancer API endpoint URLs in.

log-monitor.sh hardcodes psql -U alterlab unlike sibling scripts

Fixed

All 13 psql callsites in hardcoded.

smoke tests probe load balancer routing, not container DNS

Fixed

Smoke tests validated containers directly (via into the API/web containers), not through load balancer routing.

replace discontinued qwen AI engine LLM model with Gemma free-tier

Fixed

- Adds pass-through to both and.

Trivy worker scan — free runner disk space + purge image caches

Fixed

Trivy worker image scan was failing with when decompressing container layers into on ubuntu-latest GHA runners.

Enhanced Scraper Reliability and Transparent Performance

First-Deposit Balance Bonus

New

Get a one-time 25% extra credit on your first balance deposit. If your deposit also qualifies for a volume bonus, we automatically apply the higher of the two to maximize your credit.

Proactive Balance Depletion Alerts

New

Receive early email notifications if your account's usage speed projects balance depletion within three days. This proactive system helps you replenish your funds before active scraping tasks are paused.

Low-Balance Dashboard Banner

New

A clear, dismissible warning banner now appears in your dashboard when your balance drops below $2.00. This provides a visual cue to top up your account and prevent unexpected service pauses.

Interactive domain performance benchmarks

New

Added a live success and latency metrics table for 20 top target domains. You can now easily identify the optimal plan tier and cost-per-request for your specific targets.

Seamless Verification Log In

Improved

After verifying your email address with a one-time passcode, you are now automatically logged into the platform. This removes the redundant step of entering your credentials a second time.

Advanced Browser Emulation Enhancements

Improved

We have updated our browser emulation layer to more naturally handle page state and visibility changes. This ensures that advanced detection systems cannot flag automated sessions on interactive sites.

Support Chat Contrast Improvements

Improved

Support chats now feature clear color differentiation between your messages and admin replies. This layout update makes long conversation histories much easier to scan, track, and read.

Enhanced Onboarding Demo Experience

Improved

The interactive onboarding flow has been upgraded to target a dedicated, structured test site rather than a static placeholder. This provides a realistic demonstration of our data parsing capabilities.

Branded Transactional Email Sender

Improved

Platform emails now display a clear, branded sender name instead of a plain address. This ensures that critical billing alerts and account notifications are instantly recognizable in your inbox.

General bug fixes and improvements

Improved

Plus 27 internal improvements for better reliability and performance.

Extended limit for complex scrapes

Improved

The maximum scrape request duration limit has been raised to 210 seconds. This prevents unexpected timeout errors on slow-loading targets, ensuring complex scraping tasks complete.

Optimized selector waiting

Improved

We improved timing synchronization when waiting for specific page elements to load. Scrapers will now experience cleaner execution with reduced timing conflicts and fewer uncaught timeout warnings.

Light Mode Support Ticket Readability

Fixed

Resolved a styling issue where support replies and chat bubbles rendered unreadably in light mode. Text now dynamically adapts to your theme, ensuring optimal legibility across all layouts.

Sign-Up Form Heading Corrected

Fixed

Fixed a layout bug where the registration page displayed a sign-in heading even when accessed from sign-up buttons. This provides a clearer and less confusing sign-up process for new users.

Reliable Support Ticket Attachments

Fixed

Fixed an issue where uploading screenshots and files to support tickets could fail. You can now reliably attach files to your tickets to provide full context on your inquiries.

Prevented premature page timeouts

Fixed

We established a minimum timeout floor for page navigation under low remaining time budgets. Scrapes on sites without specialized rules will no longer fail prematurely during execution.

Reliable first-deposit bonus delivery

Fixed

The system now automatically recovers transaction data if a database timeout occurs during deposit processing. This ensures your 25% first-deposit promotional bonus is always credited.

Accurate limit warning alerts

Fixed

We corrected a calculation error in the credit limit warning system. Free grants and welcome credits are now processed accurately, preventing premature or incorrect limit notifications.

Self-healing dashboard errors

Fixed

Fixed an issue where network interruptions or outdated browser assets caused the dashboard to freeze. The application now auto-recovers and reloads automatically to restore service.

Support ticket file uploads

Fixed

Resolved a directory permission error that caused some file uploads to fail on the support page. You can now attach logs, screenshots, and other diagnostic files to your support tickets.

Clean notification sender formatting

Fixed

Fixed an issue that caused sender email addresses on system notifications to appear with duplicate formatting. System emails now display sender names clearly across all inbox clients.

Hardened URL Redirection Security

Security

We have strengthened validation on dashboard redirect URLs to reject unsafe protocol-relative links. This security reinforcement protects your active sessions from open redirection attempts.

Session token rate limiting

Security

We applied a security limit of 30 requests per minute to the session token exchange endpoint. This matches existing safeguards to protect user accounts and prevent credential abuse.

High-Fidelity Scraping and Multi-Session Isolation

Interactive Support File Uploads

New

Attach files directly to your support tickets using drag-and-drop, file browsing, or clipboard pasting. Attached files are rendered inline as clickable thumbnails or download cards.

Real-Time Support Notifications

New

Experience real-time support updates on the dashboard with instant notifications, typing indicators, and live toast alerts. Ticket unread badges ensure you never miss an update.

Markdown Support Ticket Composer

New

We have introduced a full Markdown editor for ticket replies, complete with formatting shortcuts and live preview. Writing and formatting technical support tickets is now faster and more intuitive.

Faster Batch URL Validation

Improved

Deduplicated DNS lookups during batch URL operations to prevent sequential blocking network bottlenecks. Requests targeting multiple URLs on the same domains now process significantly faster.

Longer Render Waits for SPAs

Improved

Increased the maximum wait time for client-side rendered (CSR) or complex Single Page Applications (SPAs) from 10 to 20 seconds. This allows slow dynamic content to fully hydrate before capture.

High-Fidelity Browser Emulation

Improved

We have significantly upgraded our browser emulation layers to perfectly simulate standard desktop environments. Visibility, screen dimensions, focus, and permissions now match real user behaviors to prevent detection.

Guaranteed Multi-Session Cookie Isolation

Improved

Each individual scrape request now utilizes completely isolated cookie jars and browser contexts to eliminate cookie leakage. This prevents security filters from tracking request patterns across different targets.

Smart Proxy Recovery and Routing

Improved

Standard requests are now dynamically isolated from high-reputation IP pools reserved for protected targets. In addition, temporary proxy blocks now decay gradually on success, keeping the active IP pool healthier.

Smarter Security Challenge Detection

Improved

Our request pipeline now executes a unified challenge detector before evaluating a page's content template. This ensures challenges hidden within styled, realistic-looking pages are correctly identified and resolved.

Expanded Verification Solving Support

Improved

We have expanded our automated challenge solvers to natively support a wider range of verification networks. Our background solvers are optimized to continue instantly upon verification, reducing request latency.

Optimized Request Timeout Management

Improved

The API now dynamically manages intermediate timeouts during multi-tier rendering attempts. If an initial attempt encounters delays, your remaining execution budget is preserved for high-success browser rendering.

Enhanced Javascript Solver Hardening

Improved

The background execution environment has been hardened against syntax errors and unsafe injection patterns. This significantly reduces warning alerts and improves extraction success rates on complex websites.

Automatic Browser Rotation

Improved

Browser instances in the automation pool are now automatically rotated after visiting a set number of unique domains. This clears accumulated state and prevents cross-domain tracking.

General bug fixes and improvements

Improved

Plus 18 internal improvements for better reliability and performance.

Improved Block Detection Precision

Fixed

Enhanced our underlying block recognition patterns to catch empty or structured blocking responses from advanced security walls. The API now flags these attempts instantly, allowing for faster retries.

Accurate Redirection Webhooks

Fixed

Fixed an issue in async webhook payloads where minor URL variations incorrectly triggered a redirected flag. The system now normalizes URLs before comparison for highly accurate reporting.

Accurate Soft-Block Classification

Fixed

Fine-tuned our soft-block classifiers to prevent false-positive flags on legitimate, text-light websites like simple landing pages. Your scraping pipelines will experience fewer erroneous blocks.

Reliable Async Request Routing

Fixed

Resolved a routing discrepancy that caused async-path domains to occasionally experience elevated block rates due to profile constraints. Routing has been optimized to ensure consistent scraping runs.

General Dashboard and Playground Fixes

Fixed

Fixed minor UI bugs in the dashboard playground, including persistent redirect chains across result views. We also eliminated double-submission issues when closing or muting support tickets.

Improved Support Ticket Dashboard

Fixed

We resolved multiple dashboard bugs, including a truncation issue that capped the unread ticket badge for active accounts. Inactive tickets are now closed accurately based on their grace period.

Playground Panel Layout Stability

Fixed

The interactive API playground results panel has been updated to use a consistent height matching the configuration column. This resolves layout shifting issues, making it much easier to test your parameters.

Comprehensive Sanitization Hardening

Security

Hardened Markdown rendering and email pipelines to block potential cross-site scripting (XSS) and header-injection attempts. Malicious links and payloads are now neutralized automatically.

Secure Dashboard Redirection

Security

The user dashboard now enforces a strict URL protocol allowlist on all clickable notification actions. This prevents unexpected protocol executions, ensuring a safe browsing experience.

Advanced Redirect and Notification Control

Customizable support notification preferences

New

You can now manage your support email preferences and mute individual tickets directly from the dashboard settings. This gives you complete control over which ticket updates and notifications reach your inbox.

Detailed redirect chain tracking

New

API scrape results now include a detailed record of the redirect path taken to reach the final page. You can now inspect every individual hop and status code directly in your responses.

Visual redirect chain viewer

New

The dashboard results viewer now includes an interactive way to inspect redirect chains. You can click on indicators to trace each URL hop and status code directly in the interface.

Simplified top-level scrape metadata

Improved

The final destination URL and redirect status are now top-level fields in API responses. This eliminates traversing nested metadata, making it much simpler to extract redirect information.

Fast-fail for plan tier limits

Improved

Scrape requests for domains exceeding your plan's scraping tier limits now fail fast. This prevents redundant connection attempts, reducing latency and preserving your valuable connection quotas.

Optimized rendering timeouts for heavy sites

Improved

Our scraper's rendering budgets have been optimized to prevent early timeouts on complex, slow-loading websites. This ensures sufficient execution time is allocated, boosting success rates.

General bug fixes and improvements

Improved

Plus 15 internal improvements for better reliability and performance.

Locale-aware geographic routing

Fixed

Scraping region-locked websites using global domains with locale-prefixed paths is now more reliable. The scraper infers geographic routing from the URL path, preventing unexpected 404 errors.

Accurate redirect status tracking

Fixed

API responses now feature more accurate redirect detection by normalizing URLs before comparison. This eliminates false positive redirect flags caused by minor differences like trailing slashes.

Seamless ticket email threading

Fixed

Replying to support notification emails now threads your messages directly into the original dashboard ticket. This keeps your communication organized and ensures no replies are lost.

Immediate tier warnings for async jobs

Fixed

Async scraping requests returning a 202 status code now include tier-related warnings in response headers. This ensures you are immediately notified of subscription limits during background jobs.

Reliable credit and usage alerts

Fixed

We resolved backend database errors affecting credit expiration and usage milestone notification triggers. You can now rely on receiving timely, accurate alerts regarding your credit balance.

Smarter Request Escalation and Native Exports

Automatic Request Timeout Prevention

New

We now enforce an automatic 80-second budget on synchronous requests to prevent unexpected gateway timeouts. This ensures you receive a response even during multi-stage request escalations.

Actionable Billing Hints for Timeouts

Improved

Timeout responses now include a machine-readable billing status and a concrete polling hint. Your integrations can now safely track pending jobs without risking duplicate credit charges.

General bug fixes and improvements

Improved

Plus 22 internal improvements for better reliability and performance.

Optimized Request Headers for API Endpoints

Fixed

Requests targeting REST endpoints now utilize standardized API headers rather than browser-navigation headers. This ensures your traffic matches real API clients and avoids detection systems.

Seamless Plan Tier Request Escalation

Fixed

We fixed an issue where request escalations would trigger unexpected tier-limit errors. The platform now escalates your requests smoothly and provides accurate plan-tier feedback.

Enhanced Connection Routing Reliability

Fixed

Legitimate network resources are no longer incorrectly flagged as failing when a request is capped by your plan limit. This ensures consistent connection quality and routing stability.

Enhanced Extraction Speed and Success Rates

Detection resistance major upgrade

New

Upgraded our browser engine to significantly improve request success rates on heavily secured websites. This update refines TLS handshakes and JavaScript behavior to bypass advanced detection systems.

Faster request start times

Improved

Optimized startup sequences reduce request initialization latency by up to 10 seconds for various domains. This results in significantly faster scrape times and improved API throughput.

Extended timeout for synchronous extraction

Improved

Raised the default synchronous polling timeout from 60 to 90 seconds. This prevents premature timeouts on complex extraction tasks, ensuring long-running pages have ample time to parse.

Honeypot element stripping

Improved

Automatically strips hidden decoy and honeypot elements from target HTML pages before returning responses. This prevents downstream data extraction scripts from processing invalid or hidden decoy data.

Playground visual alignment

Improved

Adjusted the container height in the developer playground to match the configuration panel. This resolves a visual layout mismatch and offers a cleaner, more consistent testing interface.

General bug fixes and improvements

Improved

Plus 52 internal improvements for better reliability and performance.

Accurate empty schema filtering

Fixed

Fixed an issue where extraction filters returning no matches would fallback to returning the entire unfiltered page structure. The API now correctly returns an empty JSON object as expected.

Fallback for LLM extraction

Fixed

Resolved an issue where data extraction requests failed if a custom LLM API key was not configured. The platform now automatically falls back to system-provided keys to process requests.

Paced scheduling for concurrent requests

Fixed

Fixed a bug where domain concurrency limits did not properly enforce delays, leading to premature retries. The request scheduler now strictly respects deferral windows for improved success.

Consistent Strict SSL Verification

Fixed

Strict SSL verification settings are now reliably enforced during retry connection paths. This ensures your custom security policies remain active throughout the entire request lifecycle.

Robust DNS rebinding protection

Security

Implemented synchronous DNS resolution checks to eliminate security vulnerabilities from DNS rebinding during target validation. This hardens request routing safety for all API integrations.

JavaScript execution sandbox hardening

Security

Enforced a strict evaluation allowlist gate for internal JavaScript environments. This strengthens server-side sandboxing and prevents potential remote code execution and injection vectors.

Reliability, Security, and UX Polish

Anti-Bot Sensor Intelligence

New

The Anti-Bot Sensor Intelligence milestone ships fully (22/22 issues complete). This adds automated monitoring of bot-detection patterns across target sites, enabling faster adaptation when detection methods change.

Pricing page playground and improved CTA

New

The pricing page now includes an interactive playground CTA for direct testing without the consent gate. A sticky promotional bar is also removed to reduce friction for new users.

Status page shows live uptime data

Improved

The /status page now displays real uptime percentages fetched directly from the API rather than hardcoded values. Uptime data refreshes automatically to reflect actual service health.

General bug fixes and improvements

Improved

Plus 17 internal improvements for better reliability and performance.

Crawl pricing buttons show correct price

Fixed

Crawl tier pricing buttons were all showing $0.0003 regardless of tier. Each button now displays the correct price for its tier.

Dashboard page titles corrected

Fixed

Seven dashboard pages were showing a generic 'Dashboard | AlterLab' browser tab title instead of page-specific titles. Each page now shows a descriptive, navigation-friendly title.

Email verification flow pre-populates email

Fixed

After clicking a verification link, the login form now shows a verified success banner and automatically pre-fills the email address, reducing friction for new users completing sign-up.

Auth pages accessibility improvements

Fixed

Login and signup forms now include proper aria-labels on inputs and role=alert on error messages, improving screen reader compatibility and keyboard navigation.

Docs sidebar sections restored

Fixed

Three documentation sidebar sections (Integrations, Use Cases, Auto-Generated Reference) were hidden by default and are now visible on first load.

Documentation example updated for current API

Fixed

The quick-start example in docs was referencing a deprecated response field. It now reflects the current API response structure.

Mobile rendering fixed on /about and /platform

Fixed

Page body sections were invisible on narrow screens (393px) on the /about and /platform pages due to a layout overflow issue. Both pages now render correctly on mobile.

Contact page form visually restored

Fixed

The contact form card was visually invisible on the /contact page. The card now renders correctly with proper border and background.

Blog mobile navigation header added

Fixed

Blog article pages were missing the mobile hamburger menu, leaving mobile users without navigation. A mobile-aware header with hamburger menu is now included on all blog pages.

Critical dependency security patches

Security

Security vulnerabilities in core HTTP and cryptography dependencies have been patched. Updated packages address multiple reported CVEs including remote denial-of-service and authentication bypass risks.

Programmatic Crawl Exports and Universal Batching

Programmatic crawl exports

New

You can now programmatically export completed crawl results using our new export endpoint. This enables fully automated, seamless retrieval of historical crawl data directly within your custom integrations and workflows.

Universal batch scraping

Improved

You can now access the Batch Scraping API across all subscription tiers, rather than it being restricted to premium accounts. This allows you to scale your workflows with batch requests, managed dynamically through standard account balances.

Enhanced request authenticity

Improved

Your scrapers now present fully aligned browser signatures and natural user permission profiles when loading target websites. This significantly boosts success rates on heavily protected domains that analyze browser authenticity.

Stale cookie protection

Improved

When reusing browser sessions, the platform now automatically discards location-specific verification cookies upon proxy IP rotation. This prevents stale session tracking from triggering blocks and keeps your requests looking fresh.

Reliable proxy sticky-sessions

Improved

Your multi-step browser tasks are now guaranteed to retain the same sticky IP address across consecutive actions. Geographic targeting parameters are also fully passed through to ensure consistently localized content.

Accurate protocol alignment

Improved

Our browser profiles now perfectly replicate the precise HTTP/2 settings and protocol flags of modern desktop browsers. This ensures your scraping traffic remains completely indistinguishable from real human visitors to detection systems.

General bug fixes and improvements

Improved

Plus 40 internal improvements for better reliability and performance.

Actionable batch payload validation

Fixed

If you submit a single-URL format to the batch scraping endpoint, you will now receive a helpful validation error with the exact schema needed. This provides immediate guidance to speed up your integration and migration tasks.

Consistent crawl error handling

Fixed

You will now receive a consistent HTTP 404 status code when querying missing or expired crawl export resources. This aligns export behavior with standard crawl endpoints and provides a predictable error handling contract for your client code.

Silent crawl export validation

Fixed

Passing an invalid status filter to crawl export endpoints now properly returns an HTTP 422 validation error instead of an empty success response. This prevents typos in query parameters from causing silent failures during development.

JSON extraction from HTML

Fixed

Fixed a scraping bug where JSON payloads wrapped inside HTML `<pre>` tags resulted in empty extractions. You can now reliably scrape raw API responses rendered within the browser, retrieving fully structured JSON output.

Expired crawl warnings

Fixed

The developer dashboard now alerts you when crawl results have expired and hides the download options. This prevents confusing, silent failures on old crawls and clearly displays the lifecycle of your data.

Playground overflow layout

Fixed

We fixed a layout bug on the playground page where excessively long scraping responses would stretch the page vertically past the settings panel. The results container now uses a scrollable, capped-height frame for much cleaner readability.

Definitive block page handling

Fixed

Our system now correctly identifies definitive block and challenge pages served by target websites, rather than falsely categorizing them as successful page content. This ensures your scraping success metrics are completely accurate.

API specification version alignment

Fixed

We updated the public OpenAPI schema and version files to 2.7.0. This guarantees that your automated client generators and developer documentation always stay perfectly synchronized with our latest endpoints.

Improved retail scraping success

Fixed

Resolved an issue where requests to certain major retail and apparel domains were intermittently blocked due to suboptimal browser routing. Our configurations are optimized to ensure highly reliable content retrieval from these sites.

Upgraded Scraping Fidelity and Reliability

Inactive Account Notifications

New

Paid users with inactive accounts and remaining credit balances will now receive automated email notifications after 14 days of inactivity. These friendly digests display your remaining balance and provide a direct link to your dashboard so your pre-funded scraping credits never go to waste.

Default HTML Scraping Output

Improved

The scraping API once again includes HTML format output by default. If you run scraping requests without specifying format parameters, the API will now return clean HTML content alongside markdown and JSON, ensuring immediate access to structured page code.

General bug fixes and improvements

Improved

Plus 7 internal improvements for better reliability and performance.

JSON API Response Handling

Fixed

Fixed an issue where scraping JSON API endpoints returned empty responses. The API now correctly detects JSON response headers, ensuring payloads are returned cleanly in their native format instead of failing readability extraction as HTML.

Improved Trustpilot Scraping Reliability

Fixed

Resolved scraping errors when navigating to Trustpilot pages and country-specific subdomains. The scraper now successfully blocks resource-heavy third-party widgets while ensuring the main target domains load reliably.

Billing Protection for Unsolvable Requests

Fixed

Fixed a billing loop where scraping jobs encountering unsolvable pages could be re-billed during escalation. Unsolvable scraping jobs are now immediately failed and refunded on their first attempt, preventing duplicate credit deductions.

Playground Access for Non-Logged Users

Fixed

Fixed a crash and persistent loading indicator that blocked unauthenticated users from using the public playground. Guests can now access and test the playground interface smoothly.

Dashboard Theme Toggle Stability

Fixed

Resolved a rendering crash on the playground dashboard when toggling between light and dark modes. UI theme updates are now perfectly synchronized with browser transition animations to prevent React component errors.

Clearer Playground Error Displays

Fixed

Improved error reporting within the playground. If a request fails without a detailed message, the panel now correctly displays a descriptive fallback message rather than displaying an unhelpful "undefined" status.

Accurate Error Tracking and Faster Timeouts

Improved Network Error Clarity

Improved

You will now receive specific error categories for SSL, DNS, and connection failures during the initial request phase. This prevents unnecessary processing on unreachable sites and provides clearer insights into why a scrape failed.

Consistent Job Metadata Tracking

Improved

The domain field is now reliably included in all terminal job states, even for requests that fail due to insufficient credits. This ensures your data logs remain consistent and easier to audit across your entire request history.

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

New 'rejected' job status

Improved

We have introduced a distinct status for jobs that cannot proceed due to insufficient balance. This allows you to easily differentiate between account-level billing issues and genuine scraping failures.

Eliminated billing-related polling timeouts

Improved

Billing-rejected jobs now reach a terminal state immediately. Your applications will no longer hang or wait for the full timeout duration when your account balance is low.

Updated AI polling guides

Improved

Our technical documentation for AI-driven clients now includes the new terminal status indicators. This ensures your autonomous agents can correctly identify when to stop polling for results.

Accurate Concurrency Limit Enforcement

Fixed

We corrected an issue where specific extraction requests were double-counted against your active limits, which previously led to premature rate-limiting errors. You can now reliably utilize your full concurrency quota.

Reliable Billing Invoice Access

Fixed

Invoice links in the billing dashboard now refresh automatically to ensure they remain accessible over time. This resolves an issue where older invoice documents would occasionally return expiration errors after 30 days.

Standardized Amazon Content Loading

Fixed

Scraping behavior across Amazon domains has been standardized to ensure consistent content capture and reliable data extraction. This maintains stable performance while we perform further optimization benchmarks.

Precise Cache Management Controls

Fixed

Targeted cache clearing now accurately respects all request parameters, ensuring only the intended data is refreshed. This provides finer control over your stored results and prevents accidental over-clearing of valid entries.

Improved billing error codes

Fixed

Automated search requests now return a specific error discriminator for rejected jobs. This replaces misleading timeout messages with clear indicators of account balance issues.

Accurate batch processing status

Fixed

Batch jobs containing rejected requests now resolve to a final status correctly. This fix prevents large batches from appearing stuck in a processing state indefinitely.

Corrected HTTP status codes

Fixed

Synchronous requests now return the appropriate error codes when a job is rejected for billing reasons. This ensures your error-handling logic triggers correctly instead of receiving generic timeout responses.

Stability & Performance

General bug fixes and improvements

Improved

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

Improved Adidas Scraping Capabilities

German Website Success Rates

Improved

Enhanced our regional detection systems to significantly reduce false-positive blocks on legitimate German websites. You will see noticeably higher successful connection rates when targeting sites in this region.

General bug fixes and improvements

Improved

Plus 9 internal improvements for better reliability and performance.

Adidas Search and Filters

Fixed

Resolved issues where search queries and specific product filters like size or color were lost or duplicated during request processing. Complex search URLs for Adidas will now consistently return accurately filtered results.

Adidas API Endpoint Resolution

Fixed

Fixed a request routing bug that prevented certain Adidas internal API endpoints from being correctly processed. You can now successfully target these specialized data endpoints without encountering unexpected failures.

Optimized Retail Scraping and Reliability

Smarter Request Routing

Improved

Updated our internal decision engine to automatically select the most efficient extraction path for a wider range of target domains. This results in more consistent success rates and lower latency for your scraping sessions.

General bug fixes and improvements

Improved

Plus 9 internal improvements for better reliability and performance.

Reliable Retail Data Extraction

Fixed

Resolved an issue where certain fashion retail websites would occasionally return successful status codes with missing or empty content. The API now correctly identifies and overcomes complex page challenges to ensure you receive complete data every time.

AI Assistant Stability Fix

Fixed

Fixed a connection bug that caused intermittent failures during extended sessions with our integrated AI chat assistant. You can now rely on the assistant for continuous help with API integration and code generation without disruption.

Platform Infrastructure Hardening

Security

Hardened the API’s underlying network configuration by strictly isolating internal database components from external traffic. These proactive security measures protect the platform from unauthorized access attempts and improve overall system resilience.

v3.0.0

MAJOR

Enhanced Browser Scraping and enhanced mode

Advanced stealth capabilities

Improved

We have upgraded our anti-detection engines to simulate human interactions like mouse movements and scrolling during fast requests. Fingerprint masking was also strengthened to ensure your scrapes pass through strict protection systems seamlessly.

Consistent session IP routing

Improved

Browser scraping sessions now maintain a single, sticky IP address throughout the entire page lifecycle. This prevents mid-session network changes that frequently trigger security challenges or correlation blocks on target websites.

Higher scraping success rates

Improved

We optimized how our platform allocates resources and manages connection timeouts during heavy scraping workloads. Your requests will now also automatically retry in the background if transient infrastructure errors occur.

Handling of slow-loading pages

Improved

Extremely slow websites that exceed maximum navigation timeouts will no longer fail your entire request instantly. The API will now gracefully attempt to return whatever HTML successfully loaded before the time limit was reached.

General bug fixes and improvements

Improved

Plus 28 internal improvements for better reliability and performance.

Exactly-once job processing

Fixed

We eliminated a backend race condition that could cause a scraping job to execute multiple times if a server experienced a sudden restart. Jobs are now strictly guaranteed to process exactly once, saving you credits and time.

Standardized empty API responses

Fixed

API endpoints designed to return empty HTTP responses have been updated to perfectly align with strict standard validation rules. This ensures seamless compatibility with automated SDK generators and strongly-typed client libraries.

Reliable payment method selection

Fixed

Setting a default payment method in your billing dashboard is now handled as a single atomic operation. This prevents the creation of duplicate default entries when multiple update requests are sent simultaneously.

Support ticket search stability

Fixed

Searching your administrative support tickets with an empty query will no longer result in an unexpected server error. The platform now gracefully catches empty search strings and prompts for valid input.

Enhanced data access security

Security

We implemented stricter parameter validation and ownership verification across our billing and job management systems. These upgrades provide robust protection against unauthorized cross-account access and prevent potential injection vulnerabilities.

Enhanced Extraction and Dashboard Reliability

General bug fixes and improvements

Improved

Plus 1 internal improvement for better reliability and performance.

Enhanced Dynamic Data Extraction

Improved

We improved our dynamic data extraction to ensure complex elements are fully rendered before returning the response. Timeouts were also optimized to handle heavy pages without failing prematurely.

Advanced Bot Bypass Capabilities

Improved

Our stealth engine now applies human-like behavioral simulations across a wider range of targets. We also refined browser fingerprinting to boost bypass success rates against strict security systems.

Accurate Challenge Detection

Improved

The API now correctly identifies subtle challenge pages instead of mistakenly categorizing them as successful data retrievals. This prevents your applications from processing invalid HTML payloads.

Stable High-Volume Scraping

Improved

We resolved an issue where encountering repeated challenges during traffic bursts could temporarily halt extraction. The engine now recovers gracefully to maintain steady throughput at scale.

Consolidated Workspace Settings

Improved

Workspace configuration has been moved directly into the main Account Settings tab. This creates a unified location for managing your teams and settings without navigating multiple pages.

Restored Extraction Schema Access

Fixed

Resolved an issue where structured extraction requests incorrectly required custom AI provider keys across single, batch, and crawl API endpoints. You can once again use standard extraction schemas without supplying your own credentials.

Billing Deposits API Recovery

Fixed

Fixed a server error that occasionally prevented users from accessing their billing deposits through the API. Developers can now reliably fetch their complete account transaction history without unexpected crashes.

Secure URL Upgrades

Fixed

Improved URL normalization when automatically forcing secure connections on standard web addresses. This prevents target URLs from retaining outdated port numbers, ensuring more reliable scraping outcomes.

Invoice API Resolution

Fixed

Resolved an issue that temporarily prevented the retrieval of billing invoices via the API. You can now reliably access your complete billing history without encountering unexpected errors.

Reliable Dashboard Onboarding

Fixed

We fixed an issue that caused intermittent server errors on the dashboard immediately after creating a new user account. New signups now experience a completely seamless and stable onboarding flow.

Fixed Support Ticket Attachments

Fixed

Resolved an error that prevented file uploads from saving correctly when submitting a new support ticket. You can now reliably attach screenshots and logs to help us resolve issues faster.

Polished Responsive Interface

Fixed

We corrected visual bugs involving overlapping navigation menus on smaller screens and off-center loading states. The dashboard and documentation pages now render beautifully across all device sizes.

Reliable Localized Content

Fixed

We corrected header mismatches that were triggering unexpected blocks when requesting localized or region-specific content. Requests for geo-targeted data will now complete much more reliably.

Stability & Performance

General bug fixes and improvements

Improved

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

Improved Deep Crawl Reliability

Deep Crawl Reliability Restored

Fixed

Resolved an issue that occasionally caused multi-page scraping tasks to become permanently stuck. These deep crawls will now reliably recover and finish even during internal system interruptions.

Early Access Beta Program

Expanded Global Retail Support

New

You can now access data from 11 additional regional domains across Europe, the Middle East, and the Americas. Enhanced geographic routing ensures you receive localized content and accurate pricing for every request.

Early Access Beta Program

New

You can now discover and test experimental scraping features before they are officially released. Manage your participation directly through your account settings to tailor the platform to your needs.

Enhanced Security Challenge Bypassing

Improved

Requests targeting sites with advanced security challenges now have more time to complete background verification steps. Automatic page refreshing ensures you are served the final content immediately after a challenge is successfully navigated.

Higher System Reliability

Improved

We optimized how site-specific analytics are handled to eliminate internal bottlenecks and reduce processing delays. This ensures consistent API performance and dashboard responsiveness during large-scale data extraction tasks.

General bug fixes and improvements

Improved

Plus 3 internal improvements for better reliability and performance.

Refined Schema Extraction Output

Improved

Extracted data now strictly adheres to your provided schema within the primary results object. This ensures you receive only the data you need without having to locate filtered results in secondary fields.

Responsive Feature Management

Improved

Beta feature toggles now update your session context in real-time without requiring a full page refresh. This allows for a seamless transition when enabling or disabling experimental platform capabilities.

Reliable Session Visualizations

Fixed

We resolved an issue that caused session recordings of large web pages to appear blank. You can now reliably review full-page captures for debugging, regardless of the complexity or size of the target site.

General Platform Reliability Fixes

Fixed

This update includes several fixes for cache consistency and input validation across our newest systems. We also corrected documentation regarding feature availability for unauthenticated API requests.

Enhanced API Key Security

Security

We updated our authentication logic to ensure that invalid or expired API keys are immediately rejected with an error. This prevents requests from being unintentionally processed as anonymous when your credentials fail.

Secure Feature Access Controls

Security

Access to the beta feature registry has been hardened to prevent unauthorized enumeration of internal tools. This improvement ensures that feature availability remains private and accessible only to authorized users.

Enhanced Evasion and Error Visibility

General bug fixes and improvements

Improved

Plus 1 internal improvement for better reliability and performance.

Broader advanced evasion support

Improved

Scraping requests now consistently apply our most advanced evasion capabilities across all domains. This significantly reduces blocks and improves overall success rates on highly protected websites.

Reliable HTML result storage

Fixed

Resolved an issue that could prevent the platform from successfully saving scraped HTML responses at the beginning of a new day. Your scrape results are now reliably captured and stored without interruption.

Accurate routing in failure logs

Fixed

Failed requests now accurately report the execution path used rather than displaying an unknown state. This provides clearer visibility into how your requests were routed and simplifies debugging.

Enhanced Billing Reliability and Security

General improvements

Improved

This release includes general improvements and maintenance updates.

General bug fixes and improvements

Improved

Plus 20 internal improvements for better reliability and performance.

Enforced spend limits for browser scrapes

Fixed

Advanced browser scraping requests now accurately reserve against your daily budget limits before execution. This prevents accidental overages when running many concurrent high-resource requests.

Reliable partial refunds processing

Fixed

Multiple partial refunds applied to a single transaction now process successfully without skipping. Your account ledger will accurately reflect all individual refund amounts as they occur.

Multi-tab promotional code redemption

Fixed

Applying a promotional code while having multiple billing tabs open will no longer cause checkout sessions to conflict or fail. Your selected promotion will apply cleanly to your active payment session.

Automated dispute balance reconciliation

Fixed

Your account balance now immediately synchronizes when a bank dispute or external refund is initiated. This ensures your available credits always reflect the true, up-to-date state of your transactions.

Reliable Webhook Event Delivery

Fixed

We resolved an issue where internal logging errors could cause webhook notifications to fail during execution. Your integrations will now receive events more consistently, ensuring that your data pipelines remain synchronized without unexpected interruptions.

Improved Dashboard Connectivity

Fixed

We fixed a configuration error that caused intermittent connectivity issues within the management interface. This update ensures you can manage your scraping tasks and monitor account usage with zero downtime.

Sanitized validation error responses

Security

Standardized the format of API validation errors to remove internal schema metadata. This prevents accidental information disclosure and provides a cleaner, predictable error structure for integrations to parse.

Streamlined API response headers

Security

Extraneous deployment and application version metadata headers have been completely removed from all API responses. This adheres to strict security best practices and ensures minimal exposure of platform infrastructure.

Hardened dashboard session security

Security

Applied stricter security attributes to dashboard session cookies and tightened content security policies. These underlying enhancements ensure your active sessions are strongly protected against external network threats.

Hardened Platform Security

Security

Our core runtime environments have been updated to eliminate several high-priority security vulnerabilities. This proactive measure ensures your scraping data and credentials remain protected against the latest industry threats.

Better Auto-Recharge and Extraction Accuracy

Next-Generation Anti-Bot Bypass

New

We've completely overhauled our bypass engine to successfully navigate the most advanced JavaScript and browser integrity challenges. You will see significantly higher success rates and fewer blocks when scraping heavily protected websites.

General bug fixes and improvements

Improved

Plus 46 internal improvements for better reliability and performance.

Meaningful Data Extraction Guards

Improved

Extractions now verify the presence of core content, such as a valid page title, before marking a scrape request as successful. This ensures you only receive and pay for accurately parsed data rather than empty boilerplate templates.

Instant Auto-Recharge Credits

Improved

Auto-recharge now grants credits synchronously the moment your payment method is successfully charged. This completely eliminates previous delays where credits would temporarily pend after a successful charge.

Faster Empty Response Handling

Fixed

Legitimate target endpoints that return small JSON payloads or empty successful responses no longer trigger unnecessary retry loops. These requests now return immediately, saving you time and preventing false-positive block errors.

Accurate Empty Scrape Analytics

Fixed

Scrapes that intentionally return empty content are now correctly classified as successful in your dashboard analytics. Previously, these were sometimes misreported as failures, which artificially skewed your daily success rate metrics.

Restored Batch API Access

Fixed

We resolved multiple backend and authentication issues preventing users on standard plans from submitting batch scraping jobs. Batch job submissions are now fully operational when triggered via both the API and the dashboard.

Robust Markdown Extraction

Fixed

The markdown extraction engine no longer incorrectly removes main page content when parsing sites with certain generic CSS classes. You will now receive complete and accurate markdown text for a wider variety of website layouts.

Reliable Configuration for Complex Credentials

Fixed

You can now use special characters like semicolons in your environment variables without causing errors. This ensures that complex credentials no longer lead to deployment or connection failures.

Accurate Error Page Detection

Fixed

Browser error pages, such as connection timeouts or unreachable hosts, are now correctly identified as failed requests. You will no longer be charged for attempting to scrape unreachable web pages.

Complete Billing History Records

Fixed

Charges generated by your auto-recharge settings now correctly create fully detailed invoice records. Your billing history dashboard will accurately reflect all automatic top-ups alongside standard purchases.

Reliable Auto-Recharge Notifications

Fixed

Account administrators will now correctly receive email notifications when auto-recharge is enabled or when an automatic payment is processed. This ensures your team is always informed about automated billing activity.

Stable Low Balance Recharges

Fixed

We resolved an issue where configuring auto-recharge with a low target balance could sometimes trigger multiple consecutive small charges. The automated billing system now properly evaluates recharge thresholds for smaller deposit amounts.

Hardened Execution Environment Protections

Security

We have implemented advanced safeguards to block unauthorized execution patterns and system access attempts. This ensures a more secure and isolated environment for running your scraping logic.

Enhanced Content Extraction Accuracy

General bug fixes and improvements

Improved

Plus 10 behind-the-scenes improvements for better reliability and performance.

Improved table data extraction

Fixed

Fixed an issue where data tables on certain websites were incorrectly omitted from parsed results. The extraction engine now properly preserves tabular data even when it is nested inside form elements.

Improved Extraction and Dashboard Reliability

General improvements

Improved

This release includes general improvements and maintenance updates.

General bug fixes and improvements

Improved

Plus 3 behind-the-scenes improvements for better reliability and performance.

Faster billing invoice history

Improved

We optimized how invoice data is retrieved, making the billing endpoints and dashboard pages load significantly faster. You can now access your payment history without experiencing long loading times.

Reliable past invoice downloads

Fixed

You can now reliably download all past invoices directly from your billing dashboard. We resolved an issue where older receipt links would expire, ensuring permanent access to your financial records.

Enhanced background task stability

Fixed

We resolved infrastructure issues that previously caused interruptions for background tasks and file downloads. Core services are now more resilient during system updates, ensuring consistent uptime.

Reliable table-heavy Markdown extraction

Fixed

Web pages containing mostly tables or very sparse text no longer result in empty Markdown outputs. Our content extraction engine now correctly processes and returns data for these historically challenging layouts.

Visible scheduled scrapes in dashboard

Fixed

Scheduled scraping tasks now correctly appear in your dashboard history immediately after being dispatched. You will no longer encounter missing data when attempting to view automated job details.

Reliable team invitation links

Fixed

We fixed an issue where clicking an email invitation link to join a team would mistakenly display an invalid message. New organization members can now accept their invitations seamlessly.

Enhanced Success Rates and Billing

Complete payment history visibility

New

You can now see a full record of all account deposits directly within your billing dashboard. This ensures you have clear evidence for every payment made, providing a comprehensive view of your transaction history alongside traditional invoices.

Deposit History Pagination

New

You can now seamlessly paginate through your complete billing deposit history using newly supported offset parameters. This makes it much easier to programmatically audit past transactions and integrate billing records into your own systems.

Automated account tiering

Improved

Automatic recharges are now accurately tracked to ensure your account is instantly categorized into the correct usage tier. This ensures you always have access to the specific features and limits earned through your total spend, regardless of your payment method.

General bug fixes and improvements

Improved

Plus 1 behind-the-scenes improvements for better reliability and performance.

Advanced Anti-Bot Evasion

Improved

We have significantly upgraded our browser fingerprinting and rendering configurations to better mimic real user traffic. These background changes drastically improve your scraping success rates on websites heavily protected by modern security systems.

Intelligent Request Routing

Improved

The API now dynamically evaluates target difficulty in real-time to select the optimal scraping engine. This ensures higher success rates on complex domains while maintaining faster response times and reducing unnecessary retries.

Enhanced Service Stability

Improved

We implemented new global resource balancing to prevent sudden traffic spikes from a single source from impacting overall API availability. Your scraping requests will now experience more consistent processing times and reduced queuing during peak loads.

Accurate OpenAPI Documentation

Improved

We updated our OpenAPI specifications to properly expose the response schemas for all billing and deposit endpoints. This provides a more reliable developer experience when generating client SDKs or exploring our interactive API documentation.

Consistent Scraper Fleet Availability

Improved

Your scraper fleet now maintains 100% capacity even during platform maintenance and updates. This ensures your high-volume workloads never experience throughput dips or capacity shortages during our deployment cycles.

General improvements

Improved

This release includes general improvements and maintenance updates.

Accurate billing record display

Fixed

We fixed a display issue that could cause duplicate entries to appear in your deposit history during short time windows. Your transaction logs now accurately reflect a single, clean entry for every successful payment session.

Accurate Job Usage Tracking

Fixed

We fixed an issue where usage metrics could occasionally be recorded before a job was fully initialized. Your dashboard and analytics will now accurately reflect only successfully launched scraping requests, preventing any phantom usage.

Reliable Account Balance Updates

Fixed

We resolved a rare timing bug that could cause balance discrepancies or delays when making multiple rapid deposits. Your available credit is now instantly and accurately updated across all transactions without requiring manual intervention.

Robust Browser Identity Emulation

Fixed

We hardened the browser emulation engine to correctly handle complex character sequences within hardware profiles. This update prevents potential script crashes and ensures consistent emulation quality and stealth for all scraping sessions.

Accurate historical success rates

Fixed

Your usage dashboard now correctly displays the success rate for historical API requests. We resolved an issue that caused some past dates to incorrectly show a zero percent success rate.

Reliable monitor management

Fixed

Resolved an issue where attempting to create or delete a monitor would occasionally fail with an unexpected unexpected error. These core API endpoints now execute smoothly and reliably without interruption.

Billing Accuracy and Platform Security

General bug fixes and improvements

Improved

Plus 17 improvements for better reliability and performance.

Accurate deposit history reporting

Fixed

Fixed an issue where certain payment sessions were incorrectly included in deposit history calculations, leading to inaccurate totals. Your billing dashboard now reflects only confirmed payment transactions.

Improved domain routing accuracy

Fixed

Resolved an edge case in domain hostname parsing that could cause certain URLs to be incorrectly routed. Requests to affected domains now correctly reach their intended targets.

Enhanced platform security

Security

Applied several hardening improvements across platform infrastructure to reduce potential attack surface. These updates strengthen access controls without affecting your scraping experience.

Smarter Docs Search and enhanced mode

Visual search result highlighting

New

Search results now visually highlight your exact query terms directly within the description snippets. We also expanded the snippet lengths to provide deeper context before you click through.

Smarter search term recognition

New

The documentation search engine now natively understands common industry synonyms, abbreviations, and frequent typos. You can also search for single-character terms to quickly locate language-specific SDK guides.

Expanded documentation coverage

Improved

We completely rebuilt the documentation search index to include previously missing API references and integration guides. The ranking algorithm was also fine-tuned to surface the most relevant pages first without duplicate scoring.

General bug fixes and improvements

Improved

Plus 23 behind-the-scenes improvements for better reliability and performance.

Enhanced browser fingerprint consistency

Fixed

We eliminated multiple subtle browser profile inconsistencies that could trigger advanced bot detection systems. Scraping sessions now maintain a flawless, stable identity profile throughout complex multi-step interactions.

Improved large-scale workload stability

Fixed

Resolved an underlying memory management issue that could degrade processing speeds during massive, prolonged scraping runs. We also implemented automatic failovers to prevent connection drops on heavily protected endpoints.

Multi-Browser Scraping and Enhanced Extraction

Alternative Firefox Browser Engine

New

You can now select Firefox as the underlying engine for your scraping requests. This provides a fresh browser fingerprint that can bypass restrictions on sites that specifically target or block standard automated browser signatures.

Deep Iframe Content Extraction

New

The extraction engine now recursively identifies and inlines nested iframes, including those dynamically injected by JavaScript after the page loads. This ensures you capture the full data profile of a page without missing content hidden within sub-frames.

General improvements

Improved

This release includes general improvements and maintenance updates.

Coherent Browser Identity Matching

Improved

We have refined our browser fingerprinting system to ensure that generated identities perfectly match the selected browser engine. This increased coherence leads to higher success rates and more consistent behavior when accessing domains with advanced bot detection.

Reliable Synchronous API Calls

Improved

Wait times for synchronous scraping requests have been optimized to ensure connections remain stable through external network gateways. This prevents premature connection drops and ensures you receive data even for extraction tasks that take longer to complete.

Smart Playground Error Diagnostics

Improved

The Playground now features improved error classification and provides actionable suggestions when a request fails. New users can also instantly test their credentials via a direct link in the dashboard immediately after creating an API key.

Resilient Sticky Session Handling

Improved

Long-lived sessions now include intelligent failure recovery, ensuring that transient errors do not lead to unnecessary session rotation. This maintains a consistent browsing context and prevents data loss during complex, multi-step scraping interactions.

General stability and reliability fixes

Fixed

This update includes fixes for proxy rotation logic, onboarding workflows, and more accurate reporting for domain-level blocks. These improvements ensure a smoother experience from initial integration to production scaling.

Request Time Budgets, Faster Failure Detection, and Geo Expansion

Request time budget

New

You can now set a `time_budget` parameter (5–300 seconds) to enforce a hard wall-clock deadline for your scraping requests. This caps worst-case latency across all escalation tiers, giving you predictable completion times for time-sensitive workflows.

Faster failure detection for unreachable sites

New

The API now proactively classifies domains with a consistent failure history and returns an immediate error instead of waiting through the full retry sequence. This reduces wasted time and credits on sites that are known to be unreachable.

Volume bonus visibility in deposit flow

New

Deposit pack buttons now display the full dollar total you will receive after the bonus is applied — for example, "$50 → $55.00" — so you can see exactly what you get before confirming.

Social media data use-case page

New

We launched a dedicated landing page covering social media data collection use cases, including profile scraping, trend monitoring, and platform analytics workflows.

Targeted code examples on key documentation pages

New

The five most-visited documentation pages now feature inline, context-specific code samples tailored to the topic at hand. This makes it faster to go from reading to integrating without switching tabs.

Expanded Global Geographic Targeting

Improved

You can now target 119 additional countries for localized scraping, bringing our total supported regions to 152. This ensures precise geographic routing for your requests and eliminates unexpected regional fallbacks.

Optimized Initial Request Latency

Improved

We improved the speed of the very first request made to domains with custom difficulty settings. This optimization reduces round-trip times on startup, ensuring consistent performance for your scraping tasks from the very first call.

Enhanced billing confirmation receipts

Improved

Every deposit confirmation now includes a professional invoice PDF and clear paths for technical support. This update streamlines your accounting workflows and ensures you have immediate assistance for any billing inquiries.

General bug fixes and improvements

Improved

Plus 28 improvements for better reliability and performance.

Accessible deposit pack buttons

Fixed

Deposit pack buttons now include complete accessibility labels that announce the bonus percentage, exact dollar total, and any promotional badge. This improves screen reader compatibility and ensures all users have the same clarity when selecting a pack.

Corrected Comparison Pricing Displays

Fixed

The savings indicators on comparison pages now correctly handle non-positive values to ensure clear pricing transparency. This update prevents misleading percentage calculations from appearing in your dashboard.

Improved Billing Email Formatting

Fixed

Account balance notifications now consistently display totals with two-decimal precision for better readability. This ensures your final balance alerts are concise and follow standard currency formatting.

Improved OpenAPI enum documentation

Fixed

Domain difficulty override fields in the API spec now correctly expose their valid enum values instead of a generic string type. This makes client SDK generation and interactive documentation more accurate.

Increased depth crawl stability

Fixed

We improved how our crawling engine processes varied content types to prevent unexpected failures during deep site analysis. This fix ensures your data extraction remains consistent across a broader range of web page structures.

Enhanced Service Reliability

Fixed

We resolved a connectivity issue affecting our processing nodes to ensure consistent service availability. Your scraping jobs will now experience higher uptime and fewer interruptions during peak usage periods.

Resilient Search Result Processing

Fixed

We fixed an error that could occur when the API encountered specific types of web content during data extraction. This update ensures your integrations remain stable even when processing unexpected data formats.

Bug Fixes & Stability

General bug fixes and improvements

Improved

Plus 11 behind-the-scenes improvements for better reliability and performance.

Adaptive Routing and Enhanced User Experience

Faster data extraction processing

Improved

We've significantly increased the capacity of our data structuring pipeline. Complex page extractions now process much faster and remain stable even during sudden bursts of high-volume requests.

General bug fixes and improvements

Improved

Plus 8 behind-the-scenes improvements for better reliability and performance.

Dynamic Routing Reliability

Improved

Our automated routing engine now adapts more quickly to changing site conditions and avoids becoming locked into outdated performance data. This ensures your requests consistently utilize the most effective paths for every domain.

Streamlined Signup Experience

Improved

The signup process now displays the email field by default, removing an unnecessary click for new users and creating a consistent experience across all login methods. You can now transition more quickly from account creation to your first request.

Simplified Capability Documentation

Improved

We have consolidated redundant entries in our anti-bot capability tables to provide a clearer overview of available features. This makes it easier for you to identify and utilize the specific tools required for your scraping needs.

Reliable LLM data extraction

Fixed

Fixed an configuration issue that occasionally caused LLM-based data extraction requests to fail. These intelligent extraction requests now complete successfully and consistently return the expected schema.

Accurate playground request replays

Fixed

Rerunning a previous scrape from the playground history now flawlessly preserves all original request parameters. This ensures that both the original HTTP method and any configured geo-targeting are correctly applied to the new run.

Consistent playground timing metrics

Fixed

The response times shown in the playground's history panel now exactly match the accurate server-side processing metrics displayed in the result container. This provides a more accurate and unified view of your actual API latency.

Precise playground proxy toggling

Fixed

Disabling the proxy toggle in the playground now completely removes geo-targeting from the underlying API payload. Previously, selecting a country would erroneously persist in the background even after the proxy feature was turned off.

Reliable support ticket attachments

Fixed

Resolved an issue where file attachments uploaded while replying to an existing support ticket were occasionally dropped. Your diagnostic files and screenshots are now seamlessly attached to your support replies without silent failures.

Accurate Request History

Fixed

Fixed an issue where POST requests restored from history would occasionally revert to GET after encountering a timeout or polling error. Your historical request data now accurately preserves HTTP methods across all states and error paths.

Improved File Upload Handling

Fixed

We updated our file processing logic to correctly handle edge-case filenames that previously triggered server errors during the upload process. This ensures a smoother experience when managing attachments for support tickets and data exports.

Hardened support file uploads

Security

Enhanced the strictness of backend validation and security for file uploads within the developer support portal. We have also improved the clarity of API error messages returned if an upload exceeds the allowed storage quota.

Accurate Resource Quota Tracking

Security

Usage limits for file attachments are now calculated based on actual server-side measurements rather than client-provided metadata. This ensures fair resource allocation and prevents discrepancies in your account's quota reporting.

Bug Fixes & Stability

Expanded HTTP Method Support

New

You can now use any HTTP method and include custom request bodies in your scraping tasks. This provides the flexibility needed to interact with complex web applications and authenticated endpoints.

New Free Developer Tool Suite

New

Access 12 new micro-tools directly on our platform, including a JSON validator, HTTP header checker, and robots.txt tester. These utilities help you debug and verify web requests without leaving your browser.

Data Extraction Performance Optimization

Improved

We have optimized our data extraction engine to significantly reduce latency and unblock processing loops. These changes ensure faster response times and higher throughput for your most demanding scraping jobs.

Support for Large Request Payloads

Improved

We have removed system limits on request body sizes, allowing you to send payloads larger than 2MB. This enables more complex interactions with enterprise sites that require large data transfers.

Optimized Webhook Delivery

Improved

A new concurrency management system ensures that one slow destination endpoint won't delay deliveries to your other webhooks. This provides more predictable and reliable event streaming at high volumes.

Enhanced Platform Status Reporting

Improved

The platform status endpoint now reflects real-time availability of all system components. This allows your integration scripts to detect and respond to service disruptions automatically.

Graceful Job Completion

Improved

Improved system shutdown procedures ensure that in-flight scraping jobs and webhooks are given dedicated time to finish gracefully during maintenance. This reduces the risk of interrupted data delivery.

General bug fixes and improvements

Improved

Plus 5 behind-the-scenes improvements for better reliability and performance.

Increased browser scraping capacity

Improved

We have significantly scaled our backend infrastructure to handle heavy browser-based scraping workloads. You will experience drastically fewer pool exhaustion errors and improved success rates during high-concurrency operations.

Automatic search query retries

Improved

Search API requests now feature intelligent exponential backoff when encountering upstream rate limits. This minimizes failed requests and ensures smoother data retrieval without requiring manual retry logic on your end.

Comprehensive API documentation updates

Improved

We have expanded our developer documentation to cover essential topics like authenticated scraping, webhooks, and account limits. This includes updated guides for our SDKs and custom proxy configurations to help you build faster.

Improved Geolocation Logic

Fixed

Your location settings are now correctly applied across all request types, including browser-based scraping. This ensures you receive localized content reliably without being blocked by regional filters.

Reliable Domain Scraping

Fixed

Fixed routing issues affecting major retail and Q&A platforms that previously caused intermittent failures. These domains now correctly utilize the necessary resources for successful and consistent data extraction.

General Platform Stability

Fixed

This update resolves several minor issues, including support file upload errors, dashboard filter bugs, and broken shortcut links to the browser extension.

Reliable POST request bodies

Fixed

POST requests sent through our scraping API now correctly pass the request body payload to the target server. A routing bug that caused payloads to be silently dropped under specific configurations has been fully resolved.

Accurate batch rate limiting

Fixed

Batch endpoints for scraping and searching now correctly apply rate limits based on the total number of items in the request. This ensures fairer platform resource distribution and consistent performance for all API consumers.

Accurate request failure analytics

Fixed

Analytics dashboards now correctly categorize rejected requests and handle malformed HTTP methods gracefully. This provides much clearer insights into request failures and ensures your usage metrics load without interruption.

Corrected custom proxy parameters

Fixed

Custom proxy reordering parameters are now accurately validated as query parameters rather than request body fields. This prevents unexpected validation errors when configuring complex proxy sequences.

Secure SSL Validation Utility

Security

Enhanced the security of our SSL checking tool by implementing stricter network access controls. These updates prevent unauthorized network probes while maintaining accurate certificate validation for users.

Enhanced SSL checker security

Security

We addressed a vulnerability in our API's SSL checker tool that could have allowed restricted local network addresses to be queried. The tool now strictly filters out all private IP ranges to ensure secure external operation.

Proactive Data Integrity and Stability

General bug fixes and improvements

Improved

Plus 3 internal improvements for better reliability and performance.

Reliable Batch Error Reporting

Fixed

API requests for batch job statuses now return descriptive error messages instead of server errors when an item fails. This ensures your integration can gracefully handle scraping failures without interruptions.

Strengthened Data Integrity Guardrails

Security

We have introduced automated checks to detect and resolve data inconsistencies before they impact your billing or account access. These improvements harden our systems against unexpected interruptions, keeping your operations running smoothly.

Bug Fixes & Stability

Adaptive Strategy Exploration

New

The platform now periodically tests alternative scraping approaches for domains you frequently request. This breaks out of suboptimal patterns and automatically discovers faster, more reliable strategies over time.

Smart Capacity Routing

New

When browser-based scraping capacity is under heavy load, requests are now intelligently routed to lighter processing methods instead of queuing. This reduces wait times and improves throughput during peak periods.

Modernized Admin Experience

New

Experience a completely redesigned dashboard for managing your scraping operations. The new interface provides better visibility into your account and simplifies common administrative tasks.

Global Coverage Expanded

New

You can now target 195 different countries for localized scraping results, ensuring accurate data from virtually any region. This includes new priority regions for more precise fingerprinting and geo-targeting.

Faster Strategy Adaptation

Improved

The system now refreshes its domain performance data more frequently, allowing it to respond to site changes within days rather than months. Your requests benefit from up-to-date routing decisions.

General bug fixes and improvements

Improved

Plus 10 internal improvements for better reliability and performance.

Optimized enhanced mode Execution

Improved

We improved the reliability and speed of stealth execution by preventing redundant script injections. This leads to faster page loads and more consistent success rates on high-security targets.

Refined Search Result Parsing

Improved

Our search engine parsing logic now more accurately distinguishes between advertisements and legitimate content. This prevents false positives and ensures cleaner data delivery for your analysis.

Flexible Performance Tier Controls

Improved

You now have clearer control over forcing requests to specific performance tiers, whether you need higher capabilities or want to optimize for cost. This gives you more granular control over how your resources are utilized.

Faster System Recovery

Improved

System recovery processes are now significantly faster thanks to optimized database query patterns. This reduces downtime and ensures your jobs are resumed more quickly after maintenance.

Minimized Update Disruptions

Improved

Platform updates now feature significantly reduced connection interruptions for critical stateful services. You will experience smoother transitions and higher availability during our routine platform maintenance.

Enhanced Developer Documentation

Improved

The API reference now includes dedicated sections for authentication, scraping workflows, and session management. These updates provide clearer guidance for integrating core platform features.

Accurate Failure Classification

Fixed

Infrastructure-related failures are now tracked separately from site-level blocks. This prevents temporary server issues from incorrectly influencing the platform's strategy choices for future requests.

Isolated Subdomain Statistics

Fixed

Performance data is now tracked independently for each subdomain. A single high-traffic subdomain can no longer skew the strategy used for other subdomains on the same root domain.

Improved Crawl Mode Reliability

Fixed

Crawl-mode requests now benefit from the same adaptive exploration and capacity-aware routing as standard requests. This closes a gap where bulk crawling could get stuck using suboptimal strategies.

Restored Node SDK Capabilities

Fixed

The extraction template field is now fully restored for crawl requests in the Node SDK. This ensures consistency across all request types and simplifies template-based data extraction.

Consistent Crawl Behavior

Fixed

The default crawl depth strategy has been restored to its intended sequential behavior. This ensures your crawl jobs follow a predictable path and resource usage aligns with your configurations.

Reliable Feedback Analysis

Fixed

Manual feedback triggers now bypass internal activity filters, ensuring that even low-volume domains receive immediate analysis. Your input will always be processed regardless of recent traffic levels.

Accurate Usage Insights

Fixed

We corrected a data filtering issue in the usage dashboard to ensure performance insights are accurately reported. You can now rely on precise metrics when analyzing resource limits and success rates.

Secure Monitoring Access

Security

You can now use bearer token authentication to securely integrate your external monitoring tools with our metrics endpoint. This eliminates the need for complex network allowlists while keeping your data protected.

Precise Scraping Control and Reliability

Phased platform update rollouts

New

We have implemented a gradual rollout system for all service updates to ensure maximum platform stability. This reduces the risk of interruptions by validating changes before they reach all users.

Enhanced data processing capacity

Improved

The internal queueing system has been optimized to handle larger bursts of scraping requests without data loss. This ensures your high-volume tasks are processed reliably even during peak periods.

Proactive service health monitoring

Improved

Our system now performs more frequent health checks to monitor API availability during infrastructure changes. This allows for faster detection and resolution of minor service disruptions.

General bug fixes and improvements

Improved

Plus 13 internal improvements for better reliability and performance.

Flexible file type auto-routing

Fixed

The API now correctly identifies and processes PDF and image URLs when using the automatic routing mode. You will no longer encounter errors when sending these file types for processing.

Reliable job recovery handling

Fixed

We resolved an issue that could prevent the successful recovery of interrupted scraping tasks. This improvement ensures that your jobs are correctly managed and completed if a system restart occurs.

Reliable Auto-Detection for Documents

Fixed

The API now correctly identifies and routes PDF and image URLs when using automatic detection mode. This prevents the system from defaulting to standard web scraping, ensuring you receive the correct data format every time.

Enhanced Demo Content Support

Fixed

The interactive demo has been updated to correctly handle automatic mode upgrades for specialized content. Your testing experience in the demo environment now accurately reflects the behavior and performance of the production API.

Accurate Credit Usage Reporting

Fixed

Estimated usage metrics now correctly reflect requests that are automatically upgraded to specialized processing modes. This fix ensures that your usage logs provide a transparent and reliable view of your account activity.

Corrected Playground Code Samples

Fixed

Code samples generated in the playground now use the correct request structure for performance and cost controls. You can copy and paste code directly into your application without needing to manually adjust the JSON structure.

Enhanced enhanced mode Block Detection

Fixed

We have improved our ability to detect error pages that return a successful status code. This ensures that blocked requests are correctly identified and handled, leading to higher success rates and cleaner data.

Accurate Cost Estimation

Fixed

The estimation endpoint now correctly accounts for your requested performance tier overrides. This allows for more precise budget planning and usage tracking when using advanced scraping options.

Tier-Specific Results Cache

Fixed

Cached results are now separated by your requested performance settings to prevent data inconsistencies. You will always receive the data quality corresponding to your specific request parameters.

Reliable Performance Enforcement

Fixed

The API now strictly enforces your requested performance level and will no longer silently downgrade requests. You can be confident that every request is executed with the exact resources and routing you specified.

Expanded Document Mode Support

Fixed

Custom options such as proxy settings and screenshots are now fully supported in PDF and OCR modes. This provides greater flexibility and control when generating documents or extracting text from complex files.

Consistent HTML Scraping

Fixed

Scraping in HTML mode now fully respects all job configurations, including proxy and performance settings. This ensures your custom requirements are applied consistently across every scraping method we offer.

High-Performance Isolation and Social Insights

High-Performance Browser Isolation

New

We have implemented an advanced multi-tier isolation system that significantly reduces session overhead. Your scrapes are now faster and better protected from cross-domain state leaks.

Social Signals Dashboard

New

You can now browse, filter, and act on social engagement data directly from the unified dashboard. This provides real-time visibility into thousands of social triggers in one place.

Expanded Scraping Capacity

Improved

We have increased our browser pool capacity by 50% to better support high-volume bulk operations. This significantly reduces the frequency of exhaustion errors during peak scraping loads.

Intelligent Mode Guidance

Improved

When a request times out, the API now provides machine-readable guidance on the most efficient scraping mode to use. This helps you optimize your integration for maximum reliability.

Enhanced Accessibility Support

Improved

Improved screen reader support and keyboard navigation for billing and transaction records. This ensures a more inclusive and reliable experience for all developers.

Smart Redirect Preservation

Fixed

When your session expires, the platform now remembers your intended destination. After re-authenticating, you will be automatically returned to your deep-linked page.

Accurate Balance Reporting

Fixed

Resolved a bug that caused legitimate scraping requests to fail with a zero-balance error. Your available credits are now correctly processed and displayed across all services.

Refined Dashboard Navigation

Fixed

Fixed issues where search results did not reset pagination or accurately reflect filtered counts. Navigation and interaction across all dashboard tables are now more consistent.

Platform Security Hardening

Security

We have patched dozens of known vulnerabilities across our core infrastructure. This update strengthens the overall security posture of our API and dashboard environments.

High-Performance Processing and Improved Support Tools

Edit and delete support replies

New

Admins can now modify or remove their replies on support tickets directly from the dashboard. This allows for quick corrections of typos or the redaction of sensitive information without needing manual intervention.

Concurrent media processing

Improved

Media uploads and downloads, including snapshots and document generation, are now handled asynchronously. This prevents individual file operations from stalling other tasks, significantly increasing throughput for batch scraping jobs.

Efficient cache management

Improved

New distributed locking prevents multiple identical requests from triggering redundant data fetches simultaneously. This reduces backend load and ensures faster response times during traffic spikes for frequently accessed resources.

Increased Concurrent Scraping Capacity

Improved

We have optimized resource allocation to support higher concurrency for parallel scraping jobs. This improvement has successfully reduced intermittent job failures by approximately 29% for heavy workloads.

Accurate error reporting

Fixed

The usage dashboard now correctly includes network-level failures, such as timeouts and DNS issues, when filtering by errors. You can now see a complete picture of job health, including failures that occur before a status code is assigned.

Reliable media exports

Fixed

Fixed an issue where screenshot and PDF generation tasks would occasionally return errors. All generated assets are now consistently accessible across our entire processing network.

Personalized account alerts

Fixed

Account re-engagement and credit exhaustion notifications have been restored and updated with personalized content. You will now receive timely, branded alerts regarding your account status and usage thresholds.

Visual spending limit tracking

Fixed

Fixed a UI bug where account spending limits would appear unset immediately after being saved. The dashboard now accurately reflects your current limits and ensures they persist correctly across page reloads.

Enhanced extraction availability

Fixed

Advanced content extraction features are now fully operational across all processing nodes. This ensures consistent, high-quality data parsing regardless of which part of our network handles your request.

System stability hardening

Fixed

Hardened our infrastructure against connectivity and memory pressure during high-concurrency tasks. These changes prevent service degradation during peak scraping loads, ensuring your requests are processed without interruption.

General bug fixes and improvements

Fixed

Various minor updates have been applied to improve dashboard synchronization, billing refund reliability, and extraction fallback accuracy.

Improved API Connection Reliability

Fixed

We have resolved an underlying issue that could cause intermittent service availability problems. You will now experience more stable connections and fewer request timeouts during high-traffic periods.

Seamless coordinator-only setup

Fixed

You can now successfully initialize environments that focus on centralized coordination without local processing. This fix ensures that specialized configurations pass all startup checks without manual intervention.

Enhanced API Connection Reliability

Fixed

Backend updates now prevent specific connection errors that could occur during high-traffic periods or system deployments. This ensures more consistent uptime and fewer unexpected interruptions for your integrations.

Corrected Credit Balance Notifications

Fixed

We resolved a display bug where automated onboarding and inactivity emails could show a negative credit balance. Your email notifications will now accurately reflect your available account credits at all times.

Alert data integrity

Security

Resolved an issue where special characters in system labels could result in malformed data payloads. This ensures that all automated alerts and notifications are delivered with valid, readable information.

Internal Improvements

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

Stability & Performance

General bug fixes and improvements

Improved

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

Enhanced Success for High-Protection Sites

Improved regional site success

Improved

You will see significantly higher success rates on regional e-commerce variants through better alignment of browser settings with target locations. This update addresses recent success rate regressions on Swedish, French, and Canadian domains.

Enhanced social platform stealth

Improved

We have improved our browser fingerprinting to resolve detection issues on high-traffic social media platforms. This ensures more consistent data extraction and lower block rates for your requests.

Detailed error insights

Improved

API error responses now provide more specific details when a request fails on a complex site. This allows for better debugging and insight into whether a failure was due to a network issue or a site-specific block.

Stable performance under load

Improved

Our resource management has been optimized to prevent content retrieval errors during periods of high concurrency. This ensures that your scraping jobs start reliably even when the platform is under heavy demand.

Intelligent request efficiency

Improved

The platform now automatically identifies domains with unsolvable bot challenges to provide immediate feedback. By avoiding expensive extraction attempts that are destined to fail, you receive faster responses and save on processing time.

General bug fixes and improvements

Improved

Plus 2 internal improvements for better reliability and performance.

Enhanced Playbook Configuration Feedback

Improved

You will now receive clear notifications if your scraping playbooks contain conflicting header definitions or overlapping configuration keys. This helps you debug complex scraping logic and ensures your requests are sent exactly as intended.

Enhanced Data Architecture Performance

Improved

We have upgraded our core data systems to more efficiently handle high-concurrency workloads and complex queries. This optimization provides a more stable foundation for scaling your largest and most intensive scraping projects.

Improved dashboard reliability

Fixed

We have resolved an issue that prevented some users from logging into the dashboard when multiple account records existed. Access has been restored for all affected accounts, ensuring a smoother management experience.

Resilient extraction strategies

Fixed

We fixed a logic error that caused some scraping strategies to conflict with site requirements, leading to recurring failures. The system now detects and corrects these strategy contradictions automatically and handles complex site challenges more reliably.

Enhanced job analytics

Fixed

Job logs now correctly attribute requests rejected by protective limits to the specific domain targeted. This provides more accurate data for your internal monitoring and usage analysis.

Improved Web Interface Reliability

Fixed

The web dashboard now experiences significantly fewer service interruptions and failures during system maintenance. This ensures you have consistent access to your scraping results and account management tools.

Improved API Availability and Resilience

Fixed

We have enhanced the reliability of the API's runtime processes to prevent unexpected service restarts under heavy memory load. This ensures higher availability and more consistent performance during your peak scraping operations.

Reliable Historical Data Retention

Fixed

Fixed an issue where certain historical records were incorrectly excluded from automated archival processes. This ensures your data retention policies are applied consistently, keeping your workspace logs accurate and performant.

Eliminated Intermittent Service Interruptions

Fixed

Resolved a rare synchronization conflict between background maintenance tasks and active API requests that could cause sessions to hang. Your scraping jobs will now continue to process smoothly even during high-volume background cleanup windows.

Enhanced Reliability and Performance

Optimized Platform Responsiveness

Improved

We have refined our internal resource management and connection handling to provide a smoother, more consistent API experience. These updates reduce latency spikes and ensure your integrations remain stable even during periods of high traffic.

Resilient Session Replays

Fixed

The session playback interface now isolates runtime errors to ensure they do not disrupt the rest of your dashboard session. This means you can continue to view metadata and AI analysis even if a specific replay segment encounters an issue.

Precise Error Reporting

Fixed

We have improved our error detection logic to provide more accurate feedback when requests encounter data conflicts or integrity issues. This allows for faster debugging and more reliable handling of edge cases within your custom integration.

Reliable Data Categorization

Fixed

Our data management services have been updated to ensure that organization tags are applied accurately across all records. This prevents archived data from interfering with your active categorization and reporting workflows for better data consistency.

Unified SDK and Enhanced Reliability

Unified Node.js SDK package

New

The Node.js SDK is now available under the simplified `alterlab` package name for easier installation. You can now use `npm i alterlab` to integrate our API into your projects with a cleaner dependency structure.

Optimized Search Engine Access

Improved

Search engine domains are now exempt from standard domain-level circuit breakers, ensuring more consistent performance for search-heavy workflows. This change improves reliability when gathering critical data from major search providers.

Increased Scraping Throughput

Improved

System optimizations have unlocked additional concurrent capacity, allowing for more simultaneous browser sessions per instance. Tasks that encounter temporary resource pressure are now automatically requeued instead of marked as failed.

Intelligent Anti-Bot Handling

Improved

Scraping attempts on domains with known unsolvable challenges now fail faster, preventing unnecessary wait times and resource lockups. This ensures your processing capacity is reserved for jobs with a higher probability of success.

Reliable Job Management

Improved

Improvements to the job orchestration system ensure that cancelled requests are immediately halted across all processing stages. This prevents the consumption of credits or resources for tasks you no longer wish to continue.

Enhanced scraping success rates

Improved

We improved the system's logic for handling complex routing scenarios to prevent premature failure reports. This ensures higher success rates and more reliable data delivery for challenging extraction targets.

Accurate domain analytics reporting

Improved

Concurrent data updates for domain-level analytics are now more resilient against synchronization conflicts. This ensures your reporting remains consistent and accurate even during high-volume, concurrent operations.

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

Standardized performance statistics

Improved

We have unified our data retention policies to ensure domain performance statistics are consistently available for 90 days. This provides more reliable long-term insights into your scraping success rates.

Consistent Multi-Depth Crawling

Fixed

We resolved a synchronization issue that caused deep crawls to occasionally lose track of discovered URLs or webhook data across cycles. Your multi-level crawling tasks will now consistently report results for every discovery phase.

Enhanced Session Replay Accuracy

Fixed

The recording player now correctly displays duration and progress for active or recently completed scraping sessions. You can now more effectively troubleshoot and review long-running or open browser sessions.

Improved JavaScript Discovery

Fixed

Automated discovery modes are now fully compatible with JavaScript-heavy landing pages, ensuring consistent data extraction during initial site scans. This resolves an issue where discovery tasks would fail to initialize under certain conditions.

Accurate Webhook Monitoring

Fixed

The monitoring interface now distinguishes between pending events and actual errors, providing a clearer view of your integration health. This ensures your dashboard metrics accurately reflect failed deliveries rather than processing activity.

General reliability and synchronization fixes

Fixed

This release includes several backend updates to eliminate race conditions when resuming large-scale crawls or updating domain analytics. These changes ensure your data reports and crawl states remain consistent even under heavy concurrent load.

Robust dashboard error reporting

Fixed

The playground dashboard now handles structured error responses more gracefully without crashing. Error messages are now normalized into readable strings, allowing you to diagnose API issues more effectively.

Stabilized search engine extraction

Fixed

Internal infrastructure routing for specific search engine endpoints has been improved to prevent unnecessary stability triggers. This results in more consistent performance when scraping search engine results pages.

Resolved Node.js initialization issues

Fixed

We fixed a build-time issue where essential configuration properties were missing in the Node.js SDK. Streaming features and API authentication now function correctly out of the box in all environments.

Improved browser session reliability

Fixed

Resource management for browser-based scraping sessions is now more robust, ensuring accurate usage tracking. This prevents unexpected session limits and improves stability for high-concurrency workloads.

Preserve manual support decisions

Fixed

The platform now respects manual edits or dismissals made to automated support suggestions. This prevents the system from overwriting your team's decisions when new suggestions are generated.

Clearer playground error messages

Fixed

Scraping errors in the Playground now display human-readable messages instead of technical objects. We've also removed placeholder text that appeared on successful crawl completions for a cleaner experience.

Robust support automation

Fixed

Automated support features now handle connection interruptions more gracefully. This ensures that intermittent network issues don't result in missing or failed background analysis tasks.

Hardened content security

Security

We've strengthened our server-side sanitization processes to ensure all rendered content is secure. This provides an additional layer of protection for your team when viewing data through the dashboard.

Stability & Performance

General bug fixes and improvements

Improved

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

Stability & Performance

General bug fixes and improvements

Improved

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

Reliable Session Insights and Performance

Intelligent Terminal Failure Detection

Improved

The API now identifies permanent blockages and terminal failures earlier in the request lifecycle. This prevents unnecessary waiting for retries that are guaranteed to fail, resulting in faster final responses.

Optimized Retry Resource Management

Improved

Our scraping engine now automatically bypasses domains currently experiencing outages or high failure rates. This ensures your scraping jobs conclude faster by focusing resources on reachable targets.

General bug fixes and improvements

Improved

Plus 4 internal improvements for better reliability and performance.

Faster Journey Analytics

Improved

Funnel and journey queries now resolve significantly faster, allowing you to visualize user paths without delay. We have optimized our data indexing to handle large-scale session history more efficiently.

Stabilized Funnel Analysis

Improved

Analysis of user funnels is now more stable when processing extensive historical data. This prevents performance degradation and ensures consistent response times for your journey reports.

Responsive Admin Experience

Improved

The session management interface now loads data more efficiently by eliminating redundant network requests. This results in a smoother, more responsive experience when reviewing recordings.

Reliable Administrative Access

Fixed

Administrative permissions now refresh automatically during active sessions to ensure you have uninterrupted access to management tools. This prevents potential lockouts and ensures your account status remains accurate without requiring a re-login.

Consistent Authentication Session Stability

Fixed

We resolved an issue where active user sessions were being incorrectly revoked before their intended expiration. This fix ensures your API authentication remains valid and your workflows continue without unexpected interruptions.

Helpful Feedback for Self-Scrapes

Fixed

Attempting to scrape our own domain via the demo endpoint now returns a specific, helpful instruction. You will no longer see generic security errors when testing the platform's capabilities.

Enhanced Dashboard Network Stability

Fixed

Fixed an issue that caused redundant request storms when the dashboard encountered temporary service interruptions. Navigating alert recordings is now significantly smoother and more reliable.

Consistent Crawl History Records

Fixed

Resolved a data mismatch that could occasionally prevent job history from being updated correctly. Your scraping logs and terminal state transitions are now recorded with complete accuracy.

Accurate Session Attribution

Fixed

User recordings are now correctly linked to authenticated accounts from the very start of a session. This ensures that logged-in activity is never mislabeled as anonymous due to initialization delays.

Reliable Session Retention

Fixed

We have optimized how session data is transmitted to prevent loss when a user closes their browser tab. Large data buffers are now intelligently processed to ensure every event is captured reliably even during abrupt exits.

Accurate Weekly Insights

Fixed

We have adjusted our data aggregation schedules to ensure that weekly reports include all relevant activity. This eliminates potential gaps in insights that could previously occur during weekend maintenance windows.

Strict Scraping Enforcement

Fixed

Automated optimizations now strictly respect your configured minimum quality requirements for all requests. This guarantees that your tasks always run with the specific resource levels and rules you define.

Hardened Management Interfaces

Security

We have implemented stricter validation and parameter filtering for recording management endpoints. These updates enhance the security and predictability of all administrative data requests.

Advanced Session Intelligence and Enhanced Scraping Precision

AI-Powered Session Intelligence

New

You can now utilize AI to analyze recorded sessions for deeper behavioral insights. This enables automated detection of edge cases and user experience patterns directly from your scrape results.

Expanded Technology Intelligence

New

Our technology detection capabilities have grown to support over 80 distinct categories, including UI libraries and payment providers. This provides much richer metadata about the tech stacks powering the sites you scrape.

Configurable Search Filtering

New

New parameters in our Search API and SDKs allow you to control content filtering levels directly. You can now toggle search safety settings within your requests to ensure more relevant results for your specific use case.

Core Scraping Engine Reliability

Improved

We have completed an exhaustive audit and optimization of our internal routing and execution pipelines. This results in more stable connections and improved success rates across a wider variety of complex domains.

Enhanced enhanced mode Realism

Improved

Browser emulation now features deterministic fingerprinting and more realistic hardware signals, such as synchronized battery status and network connectivity consistency. These improvements make automated requests significantly harder to distinguish from genuine human traffic.

Detection Precision Tuning

Improved

We refined our technology fingerprinting to eliminate false positives on popular CSS frameworks and design systems. This ensures that the metadata returned by our detection tools is more accurate and actionable.

Optimized Challenge Latency

Improved

The engine now detects rejection signals much faster during automated challenges, reducing the time spent waiting on blocked requests. This improves your overall throughput by freeing up execution resources more quickly.

General bug fixes and improvements

Improved

Plus 22 internal improvements for better reliability and performance.

Modern Web Data Extraction

Fixed

Fixed an issue where specific data payloads from modern frontend frameworks were being missed during extraction. You will now see more complete and accurate data capture from sites built with the latest reactive libraries.

Request Parameter Integrity

Fixed

Resolved a bug where certain advanced scraping parameters were being dropped during request construction. All specified configurations, including custom budget and cache settings, are now correctly passed through to the execution engine.

Support Workflow Reliability

Fixed

Improved the reliability of ticket management, including better handling of re-opened issues and assignment tracking. This ensures a more consistent experience when interacting with our integrated support platform.

Metric Accuracy for SPA Sites

Fixed

Fixed a calculation error that inflated block counts for sites using specific client-side rendering techniques. Your success metrics now more accurately reflect the true state of your scraping jobs for single-page applications.

Enhanced Privacy and GDPR Compliance

Security

Improvements to data anonymization ensure that user-identifying information is fully cleared during deletion requests. This provides stronger privacy guarantees and simplifies compliance for developers managing sensitive data.

Administrative Endpoint Protection

Security

We’ve implemented stricter credential requirements for management and configuration endpoints. This adds an extra layer of defense-in-depth to protect your account's administrative operations and data funnels.

Account Privacy Guardrails

Security

Standardized error responses across management interfaces prevent potential account enumeration attempts. This protects your team's privacy by ensuring that sensitive account states are not leaked through API feedback.

Enhanced Scraping Control and Documentation

Automated API Documentation Sync

New

The documentation portal is now automatically synchronized with the live API specification. This ensures that every endpoint, parameter, and response object you see in the guides is always up-to-date with the latest production changes.

Expanded SDK Scraping Options

Improved

The Python and Node.js SDKs now support advanced parameters for system proxy usage, specific proxy country selection, and automatic cookie banner removal. These additions give you more granular control over how your requests are routed and how pages are rendered before data extraction.

Asynchronous Ticket Creation

Improved

Submitting a support request or contact form is now significantly faster. By moving notification processes to the background, we have eliminated the wait time for email delivery during the submission process, allowing for immediate confirmation of your request.

Enhanced Discord Support Integration

Improved

Our Discord support tools have been updated to provide more reliable ticket creation for all community members. This ensures a smoother transition from community chat to official support channels without encountering data validation hurdles.

General bug fixes and improvements

Improved

Plus 8 internal improvements for better reliability and performance.

Support Portal Reliability

Fixed

We have resolved several issues in the support dashboard, including accurate activity timelines for closed tickets, restored attachment access for anonymous requests, and a fully functional GDPR deletion endpoint. Ticket status logic has also been refined to ensure active conversations are never pre

Email Thread Continuity

Fixed

Replies to closed or resolved tickets via email now automatically re-open the original conversation for better continuity. Additionally, emails sent to archived threads will now correctly trigger the creation of a new ticket, ensuring that no communication with our support team is lost.

Dashboard UI Smoothness

Fixed

The dashboard now handles network interruptions more gracefully with improved error states in the support list. We have also updated the interface to ensure that feedback widgets only appear on relevant, completed tickets to avoid confusion.

Information Privacy & Integrity

Security

This update hardens our data handling by preventing the exposure of sensitive account metadata in support responses and protecting against common injection vulnerabilities in statistics and exports. We have also implemented server-side validation to ensure ticket source and priority metadata cannot

Enhanced Support and Secure Billing

Integrated Support and Feedback Platform

New

You can now manage technical inquiries, search the knowledge base, and submit feedback directly from the dashboard. This unified system includes ticket tracking, secure file attachments, and real-time notifications for faster issue resolution.

Smart Deposits and Billing Insights

Improved

Our new Smart Deposits system provides intelligent recommendations for credit top-ups based on your usage patterns and tier benefits. We have also added detailed tooltips and quick-deposit options to streamline account management.

Precision API Documentation Sync

Improved

All REST API documentation is now automatically synchronized with our core engine to ensure 100% accuracy for every endpoint. This eliminates discrepancies between the docs and live responses, providing you with reliable integration guides.

High-Concurrency Queue Optimization

Improved

We have increased the efficiency of our job processing queues to better handle sudden spikes in scraping volume. This prevents false rejection errors during peak periods and ensures smoother performance for large-scale operations.

Enhanced SDK Type Safety

Improved

Both Python and Node.js SDKs have been updated with new type definitions for billing and tier escalation details. Developers can now benefit from improved autocomplete and compile-time validation when building complex integrations.

Real-time Notification Stability

Fixed

We resolved an issue where real-time status updates could be lost for certain ticket types or during specific polling intervals. Notifications are now delivered reliably across all dashboard sessions, ensuring you never miss a reply.

Reliable Credit Recovery Logic

Fixed

Several edge cases in the credit refund system were addressed to ensure that cancelled tasks always return credits to your balance correctly. This includes improved handling of multi-step cancellations and data synchronization.

General bug fixes and improvements

Fixed

This release includes various stability updates, such as improved attachment upload reliability, smoother dashboard navigation, and more accurate satisfaction survey submissions. We also fixed a race condition that occurred when rapidly reopening feedback forms.

Scraping Engine Sandbox Hardening

Security

We implemented advanced protection against sandbox escape techniques and unauthorized script execution. This update blocks sophisticated methods of bypassing script isolation, ensuring your scraping tasks remain secure and private.

Secure Data Exports

Security

All CSV exports now include automatic sanitization to protect against formula injection and other spreadsheet-based vulnerabilities. Your data remains safe even when processed in external tools like Excel or Google Sheets.

Platform Data Integrity

Security

We have strengthened our data access controls, including sender verification for ticket replies and strict path isolation for file attachments. These updates prevent unauthorized access to support data and ensure the privacy of your communications.

Enhanced Reliability and Secure Scripting

Automated Credit Recovery System

New

A new background recovery mechanism ensures that credits from cancelled requests are always returned to your balance. The system now automatically detects and resolves pending refunds that were previously interrupted by network timeouts or concurrent locks.

Official SDK Custom Header Support

New

The Python and Node.js SDKs now support top-level custom headers for all scraping requests. This allows for easier integration with existing systems that require specific metadata or session identifiers to be passed through to the target.

Action-Specific Visual Feedback

New

The dashboard now features unique animations tailored to specific product actions like scraping, crawling, and searching. These visual cues provide immediate clarity on the current state of your operations at a glance.

Enhanced TLS Fingerprint Reliability

Improved

We have upgraded our browser engine to provide more realistic network fingerprints during high-concurrency operations. This improvement significantly increases success rates when accessing sites with sophisticated traffic analysis.

Flexible Geo-Targeting Options

Improved

Geo-targeting configurations now allow for language-only requests without requiring a specific country code. This provides greater flexibility for users scraping multi-lingual platforms that serve content based on browser language preferences.

Refined Script Validation Logic

Improved

The script execution engine has been updated to reduce false positives when using standard DOM properties. This change allows for more complex browser-side logic while maintaining rigorous isolation from sensitive platform APIs.

Character-Based Script Limits

Improved

Input limits for custom scripts are now calculated based on character count rather than byte size. This provides a more intuitive experience and more predictable limits for users working with multi-byte Unicode characters.

General bug fixes and improvements

Improved

Plus 6 internal improvements for better reliability and performance.

Accurate Cancellation Status Reporting

Fixed

The API and SDKs now correctly report a pending status when a cancellation is being processed but the refund is still in flight. This ensures that client-side logic can accurately track the state of an operation before it reaches a terminal state.

Job Polling Reliability

Fixed

Resolved an issue where polling for non-existent or unauthorized job IDs could result in a system error. The API now consistently returns a standard not-found response, leading to cleaner integration logs and more predictable error handling.

Precision in Billing Telemetry

Fixed

Billing metadata now accurately reflects the state of applied refunds during the cancellation window. This fix eliminates misleading signals in your usage history and ensures transparent accounting for every credit spent.

Improved Validation Error Feedback

Fixed

Validation errors for browser-side actions now correctly identify the specific field causing the issue. This improvement speeds up the debugging process when configuring complex scraping playbooks.

Hardened Script Isolation

Security

We have implemented additional protections to prevent advanced script bypasses, including coverage for tagged template literals and sophisticated property access patterns. These updates ensure your scraping environment remains secure and isolated from the underlying platform.

Sanitized Header Processing

Security

Header validation has been expanded to support a wider range of special characters while strictly blocking dangerous or reserved protocol headers. This prevents malformed request data from impacting the reliability of your outbound connections.

Expanded Browser Control and Precision Targeting

Smart JavaScript Rendering Mode

New

The new automatic rendering mode intelligently detects when a website requires JavaScript, optimizing your performance and cost. You no longer need to manually toggle rendering for every request, as the API now makes the most efficient choice for you.

Global Geographic Targeting

New

You can now specify both country and language for your requests to access localized content with high precision. This ensures your scrapers see the exact data presented to users in specific regions, which is critical for accurate market research.

Advanced Browser Automation Tools

New

Our SDKs now support sophisticated browser interactions, including iframe handling, shadow DOM flattening, and custom action sequences. These tools allow you to extract data from modern, complex web applications that were previously difficult to navigate programmatically.

Custom Response Caching Control

New

You can now programmatically control response caching and set custom Time-To-Live (TTL) values for your requests. This allows you to balance data freshness with speed and cost, ensuring you only fetch new data when your application requires it.

Enhanced Success Rates on Protected Sites

Improved

We have updated our browser stack to better mimic real-world user signatures and bypass sophisticated detection mechanisms. This significantly reduces block rates and ensures more consistent data extraction from highly protected domains.

Improved System Resource Efficiency

Improved

Internal resource handling has been improved to prevent API timeouts and service degradation during high-concurrency periods. This change ensures that the API remains responsive and reliable even under heavy load.

Optimized Synchronous Webhook Handling

Improved

Synchronous requests using webhooks now correctly poll for results rather than just returning a job identifier. This streamlines your integration by allowing you to receive data immediately while still benefiting from background notifications.

Reliable Automated Credit Refunds

Fixed

We have resolved several edge cases where credit refunds for cancelled jobs could be delayed or lost. You can now trust that your account balance accurately reflects the status of your scraping tasks in real-time.

Hardened Input Parameter Validation

Fixed

The Python and Node.js SDKs now perform more rigorous checks on request parameters, catching configuration errors before they reach the API. This reduces wasted requests and provides clearer error messages for faster debugging.

Improved URL Safety Verification

Fixed

We have optimized our URL validation process to provide faster error reporting for restricted or invalid targets. This prevents unnecessary retries and reduces latency for requests that would otherwise fail due to safety constraints.

Accurate Scrape Latency Metrics

Fixed

Latency metrics now exclude internal wait times, providing you with a more accurate measurement of actual scrape performance. This data helps you better optimize your scraping workflows and assess site responsiveness more effectively.

Protected Request Header Validation

Security

We have implemented a strict blocklist for restricted headers to prevent unauthorized access or protocol manipulation. This protects your scraping sessions from being intercepted or misdirected by malicious configurations.

Reinforced Browser Isolation Security

Security

Internal browser configurations have been hardened to ensure that security-critical isolation flags are always active. This prevents potential environment escapes and ensures your scraping sessions remain secure and private.

Admin Panel Data Accuracy Fixes

Interactive blog chat panel

New

Administrators can now generate blog drafts through an interactive chat interface directly in the admin panel. The system provides real-time topic suggestions and draft generation with visual loading states during processing.

Blog post publishing workflow

New

The new publishing endpoints enable seamless transition from draft to published content with conversation history preservation. Each session maintains context for up to 24 hours, allowing for iterative refinement of posts.

General bug fixes and improvements

Improved

Plus 17 internal improvements for better reliability and performance.

Corrected usage statistics columns

Fixed

Admin panel usage statistics now display accurate credit usage data by using the correct column names in database queries.

Fixed customer activity tracking

Fixed

Customer activity displays properly in the CRM pipeline by using the correct session tracking data instead of referencing non-existent columns.

Fixed success rate display

Fixed

Success rate percentages now display correctly in the admin panel by computing the proper percentage values instead of decimal fractions.

Corrected billing information display

Fixed

Billing settings and recharge information now show accurate data by querying the correct database columns for payment configurations.

Fixed session integration metrics

Fixed

Session integration success rates now calculate properly by computing the metric in SQL rather than attempting to select non-existent database columns.

Enhanced Admin Control & Monitoring

Announcement Management UI

New

A new admin page allows you to create, edit, and manage platform announcements that appear to users. The interface provides a centralized location for controlling what messages users see when they access the platform.

Sidebar Navigation Integration

New

The announcement management tool is now accessible through a dedicated sidebar navigation item, making it easy to find and use the announcement features without searching through menus.

AI Workforce Performance Dashboard

New

Monitor your AI workforce trust levels and performance with a new dashboard showing real-time trust gauges, task-specific performance metrics, and review queue management. You can now track autonomous system behavior and approve/reject AI-generated content through an intuitive Kanban interface.

Herald Scheduler Control Panel

New

Take full control of your Herald scheduling with a comprehensive monitoring dashboard featuring job status grids, success rate gauges, and manual trigger capabilities. You can view 7-day performance history, identify jobs with high failure rates, and run jobs on-demand from a single interface.

Reddit Operations Management

New

Manage your Reddit operations with dedicated overview pages showing KPI metrics, opportunity pipelines, post performance leaderboards, and subreddit fitness heatmaps. You can now track engagement metrics, monitor opportunity progress, and analyze subreddit performance from centralized dashboards.

Herald User Segments Management

New

Organize and manage your Herald user segments with new overview and detail pages. You can view member counts, average relationship scores, and last entry times for each segment, with detailed analytics for individual segments to optimize your targeting strategies.

Content Calendar & Queue

New

Plan and manage your content workflow with a new calendar view offering monthly and weekly perspectives. The Kanban-style queue interface lets you approve or reject content in bulk with reason tracking, while inline previews help you make informed decisions about scheduled content.

Blog Syndication Dashboard

New

Track your blog syndication performance across multiple platforms with a comprehensive dashboard showing platform health, cross-platform status matrices, and aggregate syndication counts. You can monitor publishing progress, identify failed syndications, and view detailed status for each published p

Smarter circuit breaking

Improved

The system now tracks wasted time across scraping attempts and trips circuit breakers earlier when domains consistently fail. This prevents wasting resources on domains that are temporarily unreachable or blocking requests.

Better concurrency control

Improved

Per-domain concurrency limits prevent overwhelming domains with too many simultaneous requests. This results in more stable scraping sessions and reduces the likelihood of triggering anti-bot protections.

Faster error recovery

Improved

Error fallback pages now use shorter cache headers to prevent stale error states. The system also clears trip counts properly after manual resets, ensuring domains return to normal operation faster.

Enhanced mobile experience

Improved

Mobile users now see properly sized footers that don't clip content, and the homepage announcement bar can be dismissed. These improvements create a smoother browsing experience on smaller screens.

Better memory management

Improved

Worker memory limits have been optimized to prevent out-of-memory crashes while maintaining performance. This results in more stable long-running scraping operations and better resource utilization.

General bug fixes and improvements

Improved

Plus 22 internal improvements for better reliability and performance.

Enhanced Admin Error Handling

Improved

Experience more reliable admin panel interactions with improved error boundaries and toast notifications for API failures. Rate limit errors, authentication issues, and other API problems now provide clear user feedback instead of silent failures, making troubleshooting much easier.

General bug fixes

Fixed

Various stability improvements including proper cleanup of video event listeners, correct breadcrumb navigation, and fixed Open Graph image sanitization. These fixes address edge cases that could cause minor disruptions.

Admin Panel Stability Fixes

Fixed

Critical stability improvements ensure admin panel features work reliably across all pages. Authentication mismatches, broken endpoints, and data display issues have been resolved, providing a consistent experience when managing your platform operations and user data.

Enhanced Authentication & Performance

Optimized logo assets

Improved

Logo images have been optimized for faster loading, reducing file sizes from 290KB to 78KB while maintaining quality. This results in quicker page loads and better performance across all marketing and documentation pages.

Lazy-loaded footer video

Improved

The footer video now loads only when you scroll near it, preventing the 2.2MB video from buffering on initial page load. This significantly improves above-the-fold performance and reduces data usage for users who don't scroll to the bottom.

Unified navigation system

Improved

Marketing site navigation has been standardized across all pages using a shared navigation constant. This ensures consistent menu items and improves the overall user experience when navigating between pricing, documentation, and other sections.

Enhanced homepage experience

Improved

The homepage now features a WebGL scroll-driven tunnel intro that creates an engaging visual experience as you scroll. This modern animation enhances the first impression while maintaining fast load times through optimized rendering.

Improved auth page layouts

Fixed

Authentication-related pages now properly exclude the sticky footer video, providing cleaner layouts for password resets, email verification, and welcome pages. This ensures these transactional pages remain focused and distraction-free.

Consistent branding across headers

Fixed

Logo sizes and spacing have been standardized across all headers and navigation elements. This creates a cohesive visual identity throughout the platform, with proper proportions between logos and wordmarks on every page.

General bug fixes and improvements

Fixed

Various minor issues have been resolved including backup retention validation, duplicate footer prevention on documentation pages, and improved scroll behavior for short marketing pages. These refinements enhance overall platform stability and usability.

Enhanced email security

Security

Disposable email domains are now blocked at signup initiation using an expanded community-maintained list of 5,383 domains. This prevents abuse from temporary email services and improves platform security for all users.

Enhanced Emails and Partner Resources

Domain reliability circuit breaker

New

The system now automatically detects when a domain is experiencing repeated failures and temporarily pauses requests to prevent batch job failures. This helps maintain overall scraping stability when encountering problematic domains.

Animated tier progression display

New

Dashboard now shows your current tier with smooth count-up animations and branded icons that scale in when you scroll. The visual progression makes it easier to see your usage limits and available capacity at a glance.

Brand kit page added

New

A new brand resources page provides easy access to logo downloads, color palettes with hex and oklch values, typography specifications, and usage guidelines for partners and developers.

Supabase integration docs

New

Comprehensive integration guides for Supabase are now available, including Edge Function and pg_cron examples, SDK walkthroughs for Python and Node.js, and common use cases like price monitoring and lead enrichment.

Enhanced billing page tiers

Improved

The billing interface now displays your current tier with the new branded tier badges and includes a progression hint showing your path to higher limits. This gives you clearer visibility into your usage and upgrade options.

Enterprise tier announcement

Improved

High Volume tier users now see a clear upgrade path to Enterprise with custom limits tailored to their workload. The dashboard celebrates your tier upgrade with a special announcement when you have available balance.

Consistent tier branding

Improved

All tier displays across the platform now use the same branded tier badge system with consistent colors and icons. This creates a unified experience whether you're viewing your dashboard, billing page, or tier progression.

General bug fixes and improvements

Improved

Plus 51 internal improvements for better reliability and performance.

Personalized password emails

Improved

Password reset emails now include your display name when available, making communications feel more personal and professional. If no name is set, the email defaults to a friendly greeting.

Corrected billing display

Fixed

Usage alert emails now show accurate dollar amounts instead of inflated values. The billing system correctly converts microcent balances to dollars, preventing confusion about remaining credits.

Display credits as dollar amounts in invoice upcoming ema...

Fixed

Display credits as dollar amounts in invoice upcoming ema....

Enhanced Reliability and Billing Accuracy

New Automation Entry Points

New

Added dedicated startup scripts and entry points for automated processes, making it easier to deploy and manage scraping operations at scale. These improvements streamline the initialization of background services.

Enhanced Configuration Bridge

New

Implemented new configuration retrieval capabilities that allow seamless integration between different components. Users can now easily access and manage configuration settings across the platform.

Shared Rate Limiting System

Improved

Replaced the previous per-process rate limiting with a centralized system that ensures consistent limits across all instances. This prevents unexpected behavior during deployments and maintains fair usage policies.

Reliable Extension Updates

Fixed

Fixed the extension update mechanism to properly handle self-hosted installations. The update system now works consistently regardless of deployment environment, ensuring users always have the latest features.

Accurate Connection Status

Fixed

Improved the connection detection logic to correctly identify when users are properly configured. This prevents false positives in the connection status and ensures the setup process works as expected.

Consistent Font Loading

Fixed

Resolved font loading issues that affected visual elements in the platform. All necessary resources are now properly included in the deployment, ensuring consistent appearance across all features.

Secure Alert Handling

Fixed

Enhanced the security of alert systems by properly sanitizing input data. This prevents potential security issues while maintaining the functionality of critical notification features.

Configuration Validation

Fixed

Fixed configuration validation to use consistent constants throughout the system. This ensures that all components respect the same limits and prevents configuration drift between different parts of the platform.

Accurate billing for API discovery

Fixed

API discovery now correctly bills for proxy usage when required, ensuring you're only charged for the resources actually consumed during the discovery process.

Improved captcha detection accuracy

Fixed

The system now correctly identifies captcha challenges even when JavaScript contains comparison operators, preventing false negatives in automated detection.

Fixed Next.js development path issues

Fixed

API discovery no longer attempts to use Next.js development-only paths, ensuring consistent behavior across all environments and preventing failed discovery attempts.

Enhanced webhook delivery reliability

Fixed

Webhook failures from DNS rebinding attacks now properly increment failure counts, triggering automatic disabling when thresholds are exceeded to protect your system.

Corrected batch URL limits

Fixed

The batch scraping interface now accurately reflects the 100 URL limit per batch call, preventing confusion and ensuring you can plan your scraping operations correctly.

Improved session management security

Fixed

Account deletion now properly revokes all session tokens before bulk deletion, ensuring complete account cleanup and preventing unauthorized access after deletion.

Enhanced rate limit detection

Fixed

The system now correctly identifies rate-limited responses with short HTML bodies, ensuring appropriate escalation and preventing misclassification of blocked requests.

Fixed billing deposit safeguards

Fixed

Deposits exceeding the maximum limit now trigger automatic refunds and block credit grants, preventing accidental overcharges and maintaining billing integrity.

Resolved session status filtering

Fixed

Expired sessions are now correctly identified and filtered in the admin interface, providing accurate session management and preventing confusion about active sessions.

Fixed webhook URL validation timing

Fixed

Webhook URLs are now validated immediately before delivery, preventing DNS rebinding attacks that could occur between creation and delivery time.

Improved webhook race condition handling

Fixed

Stripe webhook events that arrive before database commits now trigger proper error responses, ensuring reliable credit granting and preventing data inconsistencies.

General bug fixes and improvements

Fixed

Various internal stability enhancements and performance optimizations have been implemented to provide a more reliable scraping experience.

Enhanced Reliability and Security

General bug fixes and improvements

Improved

Plus 17 internal improvements for better reliability and performance.

Expanded proxy coverage

Improved

Geographic proxy targeting now supports over 30 additional country code top-level domains, providing better coverage for international scraping needs. This enables more precise location targeting for your proxy requests across a wider range of countries.

Legacy key display improved

Fixed

Legacy API keys with empty prefixes now show a meaningful 'sk_live_' prefix instead of appearing as 16 bullet dots. This makes it easier to identify and manage older credentials in the dashboard.

API source filtering expanded

Fixed

The API filter on the usage page now includes SDK and ecosystem sources like python-sdk, node-sdk, mcp-server, n8n-node, and browser-ext. This provides a complete view of all non-playground usage patterns in your account.

Amazon seller price extraction

Fixed

Amazon product pages with multiple sellers now extract price data directly from variant olp slot information, inline text, and script offer data. This includes new seller counts, lowest prices, and used item counts without requiring additional API calls.

Credential panel key prefix

Fixed

The dashboard credentials panel now correctly displays the actual key prefix from the API response instead of constructing it from UUIDs. This ensures accurate representation of your API keys in the interface.

Improved backup error handling

Fixed

Backup processes now correctly handle nested command patterns in error messages, preventing incomplete or malformed alert notifications. This ensures you receive accurate and complete failure notifications when backup operations encounter issues.

Enhanced webhook reliability

Fixed

Webhook retry mechanisms now properly manage loading states during recursive operations, preventing UI inconsistencies and ensuring reliable delivery of webhook notifications. This provides more predictable behavior when handling failed webhook deliveries.

Better content extraction

Fixed

Text extraction from web pages now includes additional safeguards against missing attributes, preventing errors when parsing complex HTML structures. This results in more reliable content extraction for your scraping operations.

Improved dashboard filtering

Fixed

API source filtering in the dashboard now correctly excludes crawl and batch jobs, providing more accurate job categorization and filtering options. This helps you better organize and view your scraping jobs by source type.

Enhanced image blocking

Fixed

Image blocking settings now properly apply to additional domains including booking.com and instagram.com, giving you more control over bandwidth usage and page rendering for these specific use cases.

Better credential display

Fixed

Legacy API keys now display with appropriate prefixes, preventing confusion about key types and ensuring you can easily identify your credentials. This improves the user experience when managing multiple API keys.

R2 backup optimization

Fixed

Backup operations to R2 storage now include performance optimizations and proper bucket handling, preventing upload failures due to permission issues. This ensures more reliable and efficient backup operations to your R2 storage.

R2 storage protection

Fixed

Backup operations now include a hard storage limit to prevent unexpected billing overages on R2 storage. This provides better cost control while maintaining reliable backup functionality.

Browser pool compatibility

Fixed

Browser pool configuration now supports legacy environment variable names, ensuring compatibility with existing setups while transitioning to new configuration standards. This prevents disruptions when updating your environment configuration.

Secure credential storage

Security

Credentials are now handled more securely during backup operations by using environment variables instead of writing plaintext credentials to disk. This eliminates potential security vulnerabilities while maintaining the same functionality for your backup workflows.

Enhanced Reliability & Performance

Expanded ad/tracker blocking

Improved

Added domain-based proxy bandwidth blocking for ads and trackers, including 65 new domains like analytics services, ad CDNs, and consent managers, reducing unnecessary data transfer and improving scraping efficiency.

Better resource filtering accuracy

Improved

Fixed domain blocking logic to properly handle URLs with user credentials and URL fragments, ensuring blocked domains like ad networks and trackers are correctly identified and filtered regardless of URL format.

Increased billing limits

Improved

Raised auto-recharge runtime cap from $1,000 to $2,000 and deposit cap to $2,000 to match frontend pack offerings, eliminating validation errors for users setting higher billing thresholds.

Enhanced cache performance

Improved

Increased cache TTL to 60 minutes and optimized browser configuration loading, reducing redundant network calls and improving overall API response times for repeated requests.

Redesigned landing page

Improved

Launched a redesigned /best-web-scraping-api landing page featuring a 45° ASCII benchmark table, canvas ASCII background, and visual ranked cards with animated progress indicators for better user engagement.

Added 3D animation feature

Improved

Introduced a new 3D rolling cubes animation component using pure CSS 3D transforms and requestAnimationFrame, replacing the previous CardStream component in the BenchmarkHero section for a more dynamic visual experience.

General bug fixes and improvements

Improved

Plus 6 internal improvements for better reliability and performance.

Automatic API key recovery

Fixed

The system now automatically retries fetchBatch and fetchWebhookLog operations when encountering stale API keys, transparently handling key rotation without requiring manual intervention from users.

Enhanced dashboard key management

Fixed

Fixed key prefix display in CredentialsPanel and improved LiveTerminal functionality by properly fetching decrypted key values, ensuring users can accurately manage and use their API credentials.

Improved proxy security headers

Fixed

Enhanced scrape route security by prioritizing Cloudflare's cf-connecting-ip header over client-supplied x-forwarded-for, making it harder for malicious actors to spoof their origin in proxy requests.

Batch API Key Fixes

General bug fixes and improvements

Improved

Plus 29 internal improvements for better reliability and performance.

Batch API key resolution

Fixed

Batch proxy routes now accept X-Key-Id as an alternative to X-API-Key, allowing the server to resolve plaintext keys on demand instead of relying on sessionStorage caching.

API key decryption

Fixed

Added on-demand API key decryption for batch operations, preventing fallback to truncated UUIDs when keys aren't cached in sessionStorage.

Batch request formatting

Fixed

Corrected batch form submission to use 'urls' field instead of 'requests', ensuring proper API request formatting for all dashboard batch submissions.

Enhanced Security and Reliability

Faster worker processing

Improved

Worker job queue processing is now more responsive with a 10-second timeout limit, preventing indefinite blocking and ensuring tasks complete in a timely manner. This improvement reduces delays in your scraping workflows and improves overall system throughput.

Expanded monitoring coverage

Improved

The system now actively monitors idle database connections, alerting you when connection counts exceed safe thresholds. This proactive monitoring helps prevent performance degradation and ensures your scraping operations maintain optimal database performance.

Enhanced system stability

Improved

Critical system components now handle missing environment configurations gracefully, preventing unexpected failures during deployment or configuration changes. This improvement ensures your scraping infrastructure remains operational even when certain optional services are temporarily unavailable.

Better error handling

Improved

System health checks now provide more accurate status reporting by properly handling missing service configurations. This improvement gives you clearer visibility into system health and helps you quickly identify and resolve infrastructure issues.

Optimized resource usage

Improved

The system now uses memory more efficiently during high-load scenarios, preventing performance degradation during intensive scraping operations. This optimization ensures consistent performance even when processing large volumes of data or handling multiple concurrent requests.

General bug fixes and improvements

Fixed

Various minor issues have been resolved to improve overall system reliability and performance. These fixes address edge cases and improve the robustness of core scraping functionality.

Improved image upload reliability

Fixed

Image processing now correctly handles various file formats and color modes during uploads. Problematic image modes are automatically converted before saving, preventing cryptic errors and ensuring consistent behavior across JPEG, PNG, and WEBP uploads.

Enhanced browser resource management

Fixed

Browser pool operations now properly synchronize access to shared resources, preventing potential conflicts when multiple processes interact with browser instances. This ensures more stable and predictable behavior during concurrent scraping operations.

Fixed credit adjustment transaction safety

Fixed

Admin credit adjustments now use advisory locks to prevent race conditions during balance updates. This ensures accurate credit tracking and prevents potential inconsistencies when multiple administrators modify account balances simultaneously.

Resolved admin rate limiting reliability

Fixed

Rate limiting for admin operations now properly handles Redis connection failures by failing closed rather than allowing unlimited access. This maintains security boundaries even during infrastructure issues.

Enhanced error handling for admin operations

Fixed

Audit log failures during privilege changes now generate proper error notifications instead of silent warnings. This ensures critical security events are properly tracked and administrators are alerted to potential issues.

Strengthened admin account protections

Security

Soft-deleted and fraud-flagged admin accounts are now properly blocked from accessing sensitive features including blog management, proxy services, and API endpoints. This closes potential security gaps where disabled accounts could still perform privileged actions.

Dashboard Enhancements & Billing Fixes

New Job History Dashboard

New

A comprehensive job history page is now available at /dashboard/history, allowing users to browse all past jobs from PostgreSQL with advanced search, filtering by URL/status/mode, pagination, and response viewing capabilities. The sidebar navigation has been updated to include this new History entry

Dashboard UI polish

Improved

Internal refinements to the dashboard layout and component structure for improved consistency and maintainability.

Faster Crawl Job Reconciliation

Improved

Job status counting operations now use batch Redis MGET commands instead of sequential GET calls, reducing Redis round-trips from O(n) to O(1) per reconciliation. This optimization cuts total GET operations for a crawl from O(n²) to O(n), significantly improving performance for large-scale scraping

Optimized Rate Limiting

Improved

Rate limit checks now occur before expensive network operations during URL discovery, preventing over-limit API keys from triggering unnecessary sitemap or start-page requests. This change reduces wasted resources and ensures users receive immediate 429 responses when they exceed their rate limits.

Enhanced API Key Management

Improved

API key scope fallbacks now include billing permissions by default, ensuring consistent access control across all API key operations. This change improves security and prevents unexpected permission issues when working with billing-related API endpoints.

General bug fixes and improvements

Improved

Plus 5 internal improvements for better reliability and performance.

Enhanced Billing Alerts

Fixed

Low balance alerts and auto-recharge triggers are now properly wired into both inline/sync and async queued billing paths. The system now correctly handles balance checks and sends timely notifications when account balances run low, preventing unexpected service interruptions during active scraping

Accurate Spending Display

Fixed

Spending by Type charts now show accurate costs instead of estimated values based on request counts. The Recent Activity section maintains consistent height even when empty, and fallback messages display correctly when per-type spend data is unavailable, providing users with reliable billing informa

Improved Error Handling

Fixed

The system now properly handles structured error metadata from workers, accepting dictionary error formats in CrawlPageResult instead of raising validation errors. This enhancement provides more detailed error information for debugging and improves the reliability of error reporting in the dashboard

Refined Deposit Interface

Fixed

Deposit pack cards have been consolidated into a unified flat-row layout, removing the previous split between Regular and Smart deposit sections. This streamlined design provides a cleaner, more consistent user experience when managing account deposits and viewing available payment options.

Optimized Amazon Timeout Settings

Fixed

Amazon Australia timeout settings have been aligned with other Amazon locales, using consistent max_wait_ms and nav_timeout_ms values across all regional endpoints. This standardization ensures reliable scraping performance and prevents timeout-related issues when working with Australian Amazon site

Auto Top-Up & Smart Credits

Auto top-up — never run out of credits

New

Set a balance threshold and AlterLab automatically tops up your account when you dip below it. Choose your trigger amount, top-up pack, and preferred payment method — it just works in the background. Configure it from the new billing page.

Smart deposit packs with volume bonuses

New

Deposit packs now come with graduated volume bonuses — the more you deposit, the more free credits you receive. Tier badges show your current tier and exactly how much extra you unlock at each level.

Redesigned billing page

New

The billing page has been rebuilt as a single-page layout with a new tier rail, combined transaction and events history, receipt tracking, and a live RecentActivity feed — all without needing to switch tabs.

Low-balance email alerts

New

Get an email notification before your balance hits zero. Alerts fire at configurable thresholds so you can top up before any scraping jobs are affected.

Smart payment method management

New

The platform now automatically promotes your oldest payment method as default when no default is set, and keeps auto-recharge synced when you change or remove payment methods.

Billing scope on all API keys

Improved

All API keys now include the billing scope by default. Existing keys have been backfilled. This unlocks balance and auto-recharge endpoints for programmatic billing management.

Audit log for auto-recharge events

Improved

Auto-recharge enable, disable, and delete actions are now recorded in the billing audit log. Recharge attempts track the full lifecycle — pending, success, decline, and idempotent skips.

Volume bonus grants in transaction history

Improved

Volume bonus credits granted at deposit time now appear as a separate line in your transaction history and on the deposit success page, so you can always see exactly what you received.

General bug fixes and improvements

Improved

Plus 30+ additional fixes across billing, accessibility, rate limiting, and dashboard reliability.

Amazon Australia timeout alignment

Fixed

Scraping timeouts for amazon.com.au were lower than other Amazon locale configs, causing more frequent failures on large product pages. Now aligned with amazon.com, .co.uk, and .de.

Auto-recharge reliability hardening

Fixed

Fixed a suite of edge cases: atomic single-UPDATE for backoff state, NULL sentinel for pending recharge rows, partial unique index on payment intent IDs to prevent duplicate audit rows, and proper asyncio.to_thread wrapping for Stripe calls.

Auth cookies blocked from learned cookie storage

Security

The Penetrator anti-bot tier's learned cookie storage now filters out authentication and session cookies. This prevents accidental credential leakage across domains in multi-tenant environments.

Platform Improvements

Refined onboarding flow

Improved

Reduced step 1 to step 2 drop-off by preventing accidental exits through disabled click-outside and Escape key dismissal. Moved the skip button to the bottom with de-emphasized text and added value proposition subtext to guide users through the process.

General bug fixes and improvements

Improved

Plus 27 internal improvements for better reliability and performance.

Dashboard polling optimization

Improved

Dashboard polling interval reduced from 5 seconds to 15 seconds and now pauses when browser tabs are hidden. This reduces unnecessary network requests while maintaining real-time updates when actively viewing the dashboard.

Resolved blog SEO issues

Fixed

Fixed soft 404 error flagged by Google Search Console on the blog index page. The issue was caused by empty heading states when no posts were found, which has been corrected to properly display blog content.

Enhanced billing transparency

Fixed

Credit history now displays amounts in dollars instead of raw microcents, making transaction values easier to understand. Grant-type transactions are also included in credit history, and pagination has been added to recent activity for better navigation.

Secure promo notifications

Fixed

Broadcast promo notifications no longer expose promo codes in notification bodies, preventing unintended code sharing. User-targeted promos still include codes only visible to the intended recipient, with expiration times properly synchronized.

Complete audit action labels

Fixed

All audit action values now have corresponding labels and icons defined, ensuring consistent display throughout the platform. This resolves missing visual indicators in audit logs and activity tracking.

Blocked demo bot traffic

Security

Implemented edge-level protection that blocks unauthorized POST requests to demo endpoints and rate limits demo traffic to 5 requests per 10 seconds per IP. This eliminates millions of bot requests daily that previously overwhelmed system resources.

Login location tracking

Security

Your account's login history now shows the city and country for each sign-in, letting you spot unfamiliar access at a glance. Location data is geo-resolved from the login IP and appears in the Login History tab under Settings.

Enhanced Demo Security & Challenge Solving

Automated challenge solving

New

Enhanced automated handling of interactive challenges including modern verification systems. The platform now automatically processes complex verification steps and caches authentication tokens for improved success rates.

Updated demo documentation

Improved

Revised endpoint documentation to accurately reflect current scraping tier capabilities. Users now have clear guidance on demo limitations and upgraded features available in production tiers.

General bug fixes and improvements

Improved

Plus 7 internal improvements for better reliability and performance.

Strengthened demo rate limiting

Security

Added global rate limiting to prevent distributed abuse of demo endpoints. The system now tracks total demo requests across all IPs, ensuring fair access while maintaining protection against coordinated scraping attempts.

Enhanced Scraping Performance

Automated review validation

New

A new automated system now evaluates pending review items against brand guidelines using advanced analysis. This ensures consistent quality standards across all submissions while providing clear reasoning for approval or rejection decisions, streamlining the review workflow.

Optimized e-commerce extraction

Improved

Extraction accuracy for sofiaman.ro has been significantly improved with theme-specific selectors that match the actual DOM structure. The updated selectors replace generic targeting with precise element identification, resulting in more reliable data capture from Shopify-powered stores.

Unified demo experience

Improved

The demo environment now uses the same components as the main dashboard, providing a consistent experience across all interfaces. This unification eliminates discrepancies between demo and production environments, making it easier to test and validate scraping workflows.

General bug fixes and improvements

Improved

Plus 8 internal improvements for better reliability and performance.

Enhanced Analytics & Attribution

Channel ROI Dashboard

New

New admin dashboard provides detailed ROI tracking with per-channel metrics including ROI percentage, cost-per-acquisition, and signups per hour. View comprehensive activity ledgers with create, edit, and delete capabilities through an intuitive modal interface.

Attribution Analytics

New

Capture and analyze attribution data from UTM parameters, referrers, and landing pages on first visit. Track user acquisition sources through enhanced signup flows and OAuth integration, with data stored in first-party cookies and session storage.

SDK Ecosystem Headers

New

Python and Node SDKs now automatically include ecosystem identification headers in API requests. Track usage patterns across different integration methods including Python SDK, Node SDK, MCP server, n8n node, and browser extensions.

Pathfinder Analytics API

New

Access comprehensive analytics through new admin endpoints covering channels, cohorts, funnels, and ecosystem attribution. Query materialized views for channel performance, cohort retention, and funnel conversion metrics with real-time data refresh capabilities.

Weekly Digest Reports

New

Receive automated weekly insights reports aggregating key metrics from channel performance, cohort retention, funnel conversion, and ecosystem attribution. Personalized reports delivered through the existing notification system with frequency controls.

Channel costs & ROI dashboard

New

New admin dashboard provides detailed ROI calculations, cost-per-acquisition metrics, and activity ledger with full CRUD operations. Track total costs, revenue, signups, and effort across all channels with date range filtering.

Pathfinder analytics endpoints

New

Comprehensive admin analytics API with endpoints for channels, cohorts, funnels, ecosystem attribution, and overview summaries. Includes materialized view support for fast query performance and view refresh capabilities.

Ecosystem attribution tracking

New

SDKs now automatically send ecosystem source headers identifying integration tools like Python SDK, Node SDK, MCP server, and n8n. Attribution data is captured during signup and OAuth flows for better understanding of user acquisition channels.

Weekly Pathfinder digest

New

Automated weekly task that queries all Pathfinder analytics views and delivers structured insights reports via Herald. Get regular updates on channel performance, cohort retention, funnel conversion, and ecosystem attribution without manual queries.

Enhanced Event Tracking

Improved

New event service provides robust behavioral tracking with Redis batching and background flush operations. Capture key user actions including signups, credit topups, subscription cancellations, and API key creations without blocking primary operations.

Accessibility Improvements

Improved

Modal dialogs now feature proper accessibility support including role attributes, focus management, and keyboard navigation. Enhanced user experience for cost management and activity tracking interfaces.

General bug fixes and improvements

Improved

Plus 27 internal improvements for better reliability and performance.

Improved HTML scraping accuracy

Fixed

Enhanced content scoping now properly handles image-heavy pages and domain-specific CSS selectors. Fixes issues with Readability stripping CSS classes and ensures promotional pages with images are correctly identified as valuable content.

Enhanced Scraping Reliability

SDK configuration validation

Improved

The SDK now validates section filter parameters before API requests, catching typos and type errors in min_content_blocks, exclude_content_types, and content_only options. This prevents failed requests due to configuration mistakes and provides immediate feedback during development.

General bug fixes and improvements

Improved

Plus 3 internal improvements for better reliability and performance.

Better Shopify carousel detection

Improved

Carousel detection on Shopify sites now uses a more reliable two-pass strategy. The system first looks for data-section-type attributes, which Shopify themes use to annotate major sections like slideshows, providing higher confidence in identifying the primary carousel.

Carousel hero classification

Fixed

Hero image classification now correctly identifies only the primary carousel container instead of tagging every image in all carousels. This prevents excessive hero tags on pages with multiple carousels and improves image categorization accuracy.

Text extraction cleanup

Fixed

Text extraction now automatically removes navigation, header, footer, and aside elements after Readability processing. This eliminates residual boilerplate content that previously appeared in extracted text, delivering cleaner article content and more accurate text analysis.

Playground button responsiveness

Fixed

The playground interface now properly resets after API failures, preventing the Run button from getting stuck in a disabled state. The system tracks consecutive poll failures and automatically bails after 3 attempts, ensuring the interface remains responsive for subsequent operations.

Fixed key fetch fallback

Fixed

The playground now handles cases where keys created in prior sessions or seeded keys don't have cached plaintext, preventing silent failures during crawl operations.

Fixed crawl button stuck state

Fixed

The Run button in the playground no longer remains disabled after consecutive API failures, as the system now properly tracks and resets polling states after multiple errors.

Improved content extraction accuracy

Fixed

Login and signup patterns no longer strip legitimate standalone content from paywalled sites, preserving important text that was previously removed during extraction.

Optimized scroll parameter handling

Fixed

The scroll_count parameter is now only included when scroll_to_load is enabled, reducing unnecessary data in API responses and improving request efficiency.

Enhanced section filter validation

Fixed

SDKs now validate section_filter parameters against allowed keys and value types, preventing typos and invalid configurations from causing unexpected behavior during scraping operations.

Refined hero image classification

Fixed

Hero image detection now only applies to the primary carousel container, preventing every image in nested carousels from being incorrectly tagged as hero content.

Removed boilerplate from text extraction

Fixed

Navigation, header, footer, and aside elements are now stripped from extracted text after Readability cleaning, resulting in cleaner content without residual boilerplate elements.

Improved srcset URL parsing

Fixed

Commas inside URLs in srcset attributes are now preserved correctly, handling Cloudinary transforms and Shopify query parameters that were previously split incorrectly.

Enabled scroll with auto rendering

Fixed

Scroll_to_load functionality now works seamlessly with render_js set to auto, providing more flexibility for scraping sites with dynamic content loading.

Enhanced lazy-loaded image handling

Fixed

Image source resolution now handles common lazy-loading patterns including data attributes and srcset, improving image extraction from sites using various lazy-loading techniques.

Added section filter to SDKs

Fixed

Python and Node SDKs now support the section_filter parameter, keeping SDK functionality in sync with the API's SectionFilter model for more precise content extraction.

Workspaces, Auth Hardening, and Promo Codes

Workspace activity and audit logs

New

Your workspace settings now include an Activity tab showing a full audit trail of team actions — invitations, role changes, and configuration updates. Stay informed about everything happening in your workspace.

Workspace stats and team management

New

View workspace usage statistics at a glance with the new stats card. You can also resend invitations, leave workspaces, and set custom avatar URLs directly from settings.

Promo code deep-links

New

Share promo codes via URL — signed-out users are guided through signup with the code pre-filled, and the deposit page automatically applies it. No more copy-pasting promo codes.

Transparent welcome bonus explanation

New

New users who receive a reduced welcome bonus now see a clear modal explaining why, with an option to unlock the full bonus. No more confusion about varying signup credit amounts.

Improved deposit experience with promos

Improved

When a promo code is active, the deposit page now shows the discount clearly and pre-fills the code from URL parameters. The apply button no longer triggers errors from browser event objects.

General bug fixes and improvements

Improved

Plus 20 internal improvements including homepage visual polish, SEO structured data enhancements, and blog reliability fixes.

Workspace switching reliability

Fixed

Fixed several issues with workspace switching — balance now refreshes correctly, dialogs close properly before secondary operations, and tab state no longer resets unexpectedly when switching contexts.

Dashboard table readability

Fixed

API Keys and Playground tables no longer truncate columns on smaller screens. Content is fully visible without horizontal scrolling cutting off important data.

Comprehensive auth security hardening

Security

Added per-IP and per-email rate limiting to login, OAuth, and verification endpoints. Verification codes are now hashed before storage, and brute-force protection with progressive lockout is active on all auth routes.

OAuth key rotation on token exchange

Security

API keys are now rotated on each OAuth token exchange instead of re-exposing the same key. Localhost redirect URIs are blocked in production, and re-verification emails are sent after email changes.

Session revocation now invalidates JWT

Security

Revoking a session now properly invalidates the associated JWT token, preventing continued access with stale credentials.

Onboarding Redesign, Lifecycle Emails, and Dashboard Polish

Redesigned onboarding experience

New

New users now get a streamlined onboarding flow with one-touch API key creation and a guided playground tutorial. Get from signup to your first scrape faster than ever.

Smart lifecycle emails

New

Receive helpful emails at key moments — onboarding tips after signup, integration guides if you're using the playground but haven't connected via API, and re-engagement nudges. All emails include one-click unsubscribe.

Feature discovery cards

New

The dashboard now highlights features you haven't tried yet. See contextual cards for schedules, monitors, and API integration with code snippets ready to copy.

CAN-SPAM compliant unsubscribe

New

All platform emails now include HMAC-signed unsubscribe links and a dedicated unsubscribe page, ensuring full CAN-SPAM compliance.

Platform comparison table on pricing

New

The pricing page now includes a detailed comparison table showing how AlterLab stacks up against alternatives on features, pricing, and capabilities.

Documentation screenshots

New

Ten documentation pages now include interactive screenshots showing real dashboard UI, making it easier to follow along with guides and tutorials.

Credits renamed to Requests

Improved

The entire platform now uses consistent 'requests' terminology instead of 'credits', making pricing and usage clearer. All pages, components, and docs have been updated.

Dashboard visual consistency

Improved

Standardized balance formatting, latency display, and error states across the entire dashboard. Stat cards use smart formatting, and billing shows consistent pricing everywhere.

Billing page improvements

Improved

Recent Activity now supports Load More pagination, the deposit success page has a countdown auto-redirect, and pricing displays are unified across all billing sections.

General bug fixes and improvements

Improved

Plus 30 internal improvements including mobile sidebar fixes, SEO title rewrites, cookie consent positioning, webhook navigation, and blog cover image enhancements.

Usage page loading reliability

Fixed

Fixed an issue where the usage page could get permanently stuck on a skeleton loading state. The page now loads reliably every time.

Correct pricing claims

Fixed

Fixed inaccurate competitor pricing claims across comparison and marketing pages. All pricing data now reflects current published rates.

Auth and signup improvements

Fixed

The signin page now shows email/password form and Microsoft OAuth. Check-email rate limit raised to 10/hour with proper 429 error surfacing. OAuth errors redirect with toast notifications.

Competitor Comparisons, Documentation, and Mobile UX

Competitor comparison pages

New

New /vs pages let you compare AlterLab against specific alternatives side-by-side, with feature matrices, pricing calculators, and migration guides. Find the right tool for your use case.

Comprehensive API tutorials

New

New step-by-step tutorials covering real-time monitoring dashboards, WebSocket updates, AI agent and MCP integration, multi-page crawling, price monitoring pipelines, and cloud storage export.

Migration guides from competitors

New

Dedicated migration guides help you switch from ScraperAPI, ScrapingBee, and Apify with code examples showing equivalent AlterLab API calls for each platform's features.

Better mobile touch targets

Improved

All interactive elements now meet the 44px minimum touch target size, making the platform easier to use on phones and tablets.

SDK docs page clickable headers

Improved

Python and Node.js section headers on the SDK documentation page are now clickable links, making it easier to share direct references to specific SDK sections.

General bug fixes and improvements

Improved

Plus 12 internal improvements including CI permissions, accessibility attributes, blog CTA placement, and pricing page sticky navigation.

Signup flow improvements

Fixed

Demo rate limits now show a signup CTA instead of a generic error. Comparison pages include signup funnels, and OAuth errors redirect back to the originating page with a notification.

Eliminated non-responsive click areas

Fixed

Fixed several dashboard elements that appeared interactive but did nothing when clicked. All clickable-looking elements now respond or have been restyled.

Demo Route Security Patch

Secured demo API routes

Security

Fixed an issue where demo API routes could be accessed by unauthorized external requests. Demo endpoints now properly enforce access restrictions.

Rate Limiting, Theme Toggle, and Billing Cleanup

Per-API-key rate limiting

New

Scrape and crawl endpoints now enforce per-API-key rate limits. This protects your account from accidental overuse and ensures fair resource allocation across all users.

System theme preference support

New

You can now choose between light, dark, or system theme in the dashboard. The new 3-way toggle automatically follows your OS preference when set to system.

Pay-as-you-go billing migration

Improved

The billing system has been fully migrated to pay-as-you-go. All references to legacy subscription plans have been removed, and the dashboard now shows balance-based account tiers throughout.

Reply-to on transactional emails

Improved

All transactional emails from AlterLab now include a reply-to address, so you can reply directly to any email you receive from us.

Playground double-submit prevention

Fixed

Fixed an issue in the playground where rapidly clicking the Run button could fire multiple simultaneous requests. The button is now debounced and navigating away aborts in-flight requests.

Verification email greeting fix

Fixed

Fixed an issue where verification emails showed an empty name in the greeting. Emails now use a proper placeholder when no name is available.

Batch Scraping Redesign, Cloud Storage Export, and Dashboard Polish

Redesigned batch scraping dashboard

New

The batch scraping interface has been completely redesigned with a cleaner layout, real-time SSE progress streaming, content preview tabs, and a full result viewer. You can now clone batches, re-run failed items, and import URLs from CSV/TSV/JSON files.

Batch templates and analytics

New

You can now save and load batch configuration templates for repeated scraping tasks. A new analytics dashboard shows success rates, cost trends, and domain breakdown across your batch history.

Cloud storage export

New

Export scrape results directly to your cloud storage. Configure S3, GCS, or Azure connections in the new Storage Integrations settings page, then attach them to batch and schedule jobs.

Change detection monitoring

New

A new Monitoring page lets you track changes on web pages over time. Set up monitors to detect when page content changes and get notified of differences.

Schedule bulk operations and analytics

New

You can now pause, resume, or delete multiple schedules at once. A new analytics dashboard shows schedule health rankings and credit cost forecasts. Search, filter, sort, and toggle between list and grid views.

Manual schedule trigger

New

You can now manually trigger a scheduled scrape with the new 'Run Now' button, without waiting for the next cron interval.

Duplicate schedules and batches

New

You can now clone any existing schedule or batch configuration with one click, making it easy to create variations of your scraping setups.

Itemized cost calculator

New

Batch and schedule pages now show an itemized cost calculator so you can estimate costs before running jobs.

Account deletion option

New

You can now delete your account from the Settings page. A new danger zone section provides the option with clear confirmation steps.

Rename and regenerate API keys

New

You can now rename your API keys for better organization and regenerate them if compromised, without deleting and recreating.

Profile editing in settings

New

A new profile tab in Settings lets you update your name and other profile information directly from the dashboard.

Dashboard terminal

New

A new terminal component in the dashboard lets you interact with the API using CLI-style commands for jobs, stats, analysis, transactions, and data export.

Webhook retry with delivery log

New

Webhooks now automatically retry with exponential backoff on delivery failure. A delivery log shows the status of each attempt.

Password management restored

Fixed

Fixed an issue where the password change page was inaccessible due to missing API routes. Password management now works correctly.

API key values no longer exposed

Fixed

Fixed an issue where the API key list endpoint returned full key values. Keys are now properly masked in list responses.

Balance display improvements

Fixed

Fixed several display issues with balance and billing: thousand separators now appear on all balance displays, sub-cent precision is hidden when zero, and deposit validation works correctly on the client side.

Mobile playground overflow fixed

Fixed

Fixed an issue where the playground page had horizontal overflow on mobile devices, making the response panel inaccessible.

Contact form visible on mobile

Fixed

Fixed the contact form being hidden on mobile viewports. The form is now fully accessible on all screen sizes.

OAuth sign-in loop resolved

Fixed

Fixed an issue where some OAuth users experienced a sign-in loop caused by a database table mismatch. OAuth login now works reliably.

Spend counter accuracy improved

Fixed

Fixed spend counter drift that could cause inaccurate usage reporting and billing sync timeouts.

Crawl API, Workflow Studio, and Forgot Password

Crawl API launched

New

You can now crawl entire websites with the new POST /v1/crawl endpoint. Progressive depth crawling discovers and scrapes pages automatically, respecting robots.txt. Supports up to 100,000 pages and 50 levels of depth, with billing per page.

Crawl support in SDKs

New

Both the Python and Node.js SDKs now include crawl methods. Start a crawl, check status, and retrieve results programmatically with the same familiar SDK interface.

Crawl playground and demo

New

The playground now supports crawl mode with a visual config panel, depth slider, and animated multi-page results. The homepage demo shows live page discovery in action.

Crawl billing and cost tracking

New

Crawl costs appear in your usage breakdown and transaction history. The crawl status page shows per-page cost breakdowns, session totals, and automatic refunds for failed pages.

Visual workflow editor

New

A new visual workflow editor lets you build scraping automations on a drag-and-drop React Flow canvas. Connect scrape, HTTP request, webhook, email, and download nodes to create complex workflows.

Workflow templates gallery

New

A curated gallery of workflow templates helps you get started quickly. Browse pre-built templates and customize them for your use case.

Workflow run dashboard

New

Monitor your workflow executions in real-time with the run dashboard. View execution history, retry failed runs, and track progress.

Forgot password flow

New

You can now reset your password via email. The new forgot password page and backend flow lets you recover access to your account securely.

Scraping benchmarks page

New

A new benchmarks page shows real performance data and comparisons, so you can see how AlterLab performs across different website types and protection levels.

Docs available as markdown

New

Documentation pages are now served as markdown for AI agent consumption, along with a public OpenAPI spec and AI plugin manifest. This makes it easier for LLM-based tools to work with the AlterLab API.

Usage log pagination fixed

Fixed

Fixed an issue where usage logs paginated by raw database rows instead of top-level entries, causing confusing page counts when crawl jobs were present.

Bug Fix Release

General stability improvements

Improved

This release includes internal improvements for better reliability and performance.

Authenticated Scraping (BYOS)

Bring Your Own Session (BYOS)

New

Scrape as your logged-in self. Pass your own session cookies or custom auth headers to access member pricing, paywalled content, private communities, and internal dashboards. Zero credential storage — cookies are used for the request only and immediately discarded.

Custom Cookie Injection

New

New 'cookies' parameter accepts cookie strings or key-value objects. Works with all tiers including JS rendering and anti-bot bypass. No surcharge for authenticated requests.

Custom Auth Headers

New

Pass Bearer tokens, OAuth headers, or any custom authentication headers via the 'extra_headers' parameter. Perfect for scraping authenticated API endpoints and web apps behind SSO.

Zero-Trust Session Handling

Security

Session data is held in memory only, encrypted via TLS 1.3, never written to disk or logs, and discarded immediately after the request completes. Your credentials stay yours.

Performance and Reliability Improvements

Interactive pricing tier cards

New

Tier cards on the billing page are now interactive, making it easier to compare features and costs across scraping tiers.

Faster page load times

Improved

Reduced initial page load by deferring below-fold JavaScript and heavy 3D animations. Dashboard pages now load noticeably faster.

Improved scraping reliability

Improved

Scraping is now more reliable with better handling of large HTML pages, faster dead proxy detection, and improved timeout management for browser-based scraping.

Dashboard balance now clickable

Fixed

The balance area in the dashboard header is now a clickable link that takes you directly to the billing page.

Enhanced API Reliability and Efficiency

Lightweight Page Processing Optimization

Improved

The platform's content analysis engine has been refined to better handle small but legitimate web pages. This optimization prevents unnecessary resource escalation, resulting in significantly faster response times and lower credit costs for lightweight targets.

General bug fixes and improvements

Improved

Plus 8 internal improvements for better reliability and performance.

Restored API Service Reliability

Fixed

We identified and resolved an issue that caused scraping requests to fail with service errors during processing. This fix ensures that your integration remains stable and that data is delivered reliably across all request volumes.

Strengthened Account Payment Security

Security

We have implemented advanced risk assessment protocols for all checkout and deposit activities to safeguard your account against unauthorized transactions. This update adds a robust layer of protection to your billing workflow while ensuring a smooth payment experience.

Batch Scraping & Scheduled Jobs

Batch scraping endpoint

New

You can now submit thousands of URLs in a single POST /v1/batch request. Track progress, get webhook notifications on completion, and view itemized billing for each URL.

Scheduled scraping with cron

New

Set up recurring scrape jobs using cron expressions. Schedules run automatically and apply your BYOP discount when configured.

Batch and schedule dashboards

New

New dashboard pages for managing batch jobs and schedules, with progress tracking, error details, and usage breakdowns.

Data Processing Agreement page

New

A new DPA page is now available for enterprise customers who need a formal data processing agreement.

Usage chart restored

Fixed

Fixed an issue where the usage chart on the dashboard was showing a placeholder instead of real data.

Failed requests in detailed logs

Fixed

Failed scrape requests now appear in your detailed usage logs, giving you full visibility into what went wrong.

Performance & Stability

General stability improvements

Improved

Internal performance optimizations to improve scraping reliability and reduce resource usage under high load.

Compliance & Security Hardening

OAuth sign-in crash fixed

Fixed

Fixed an issue where signing in with Google OAuth could crash due to a logging error in the fingerprint service.

Amazon coupon extraction improved

Fixed

Updated extraction selectors for Amazon product pages to correctly capture coupon and promotional offer data.

OFAC sanctions screening

Security

New compliance layer screens signups against OFAC sanctions lists and applies geo-IP restrictions for prohibited regions.

Google One Tap Sign-In Fixes

Usage page balance display

Improved

The usage page now shows your current balance prominently and removes misleading hover effects from non-interactive elements.

Google One Tap sign-in fixed

Fixed

Fixed several issues causing Google One Tap sign-in to fail, including session handling errors and redirect loops.

OAuth provider-not-linked error

Fixed

Fixed an issue where signing in with a different OAuth provider than originally used would show a confusing error instead of a helpful redirect.

Promo Codes, Notifications & Webhooks

Promo code system

New

You can now apply promo codes when depositing funds to receive bonus credits. Enter codes directly on the billing page during checkout.

In-app notification center

New

A new notification bell in the dashboard alerts you to important events like promo code activations and account updates.

Enriched webhook payloads

New

Webhook job.completed events now include richer data. You can also set a per-request webhook_url to receive results at different endpoints for each scrape.

Stripe invoices for deposits

New

Every deposit now generates a proper Stripe invoice, making it easier to track payments and manage accounting.

Improved extraction quality

New

Better text and markdown output from structured data sources. Collection pages, financial data, and generic pages now return richer formatted content.

Blog added to navigation

New

The AlterLab blog is now accessible from the main site navigation across all pages.

Faster API response times

Improved

Scrape API responses are now faster thanks to adaptive polling and optimized backend processing. You should notice quicker turnaround on synchronous requests.

Duplicate credit grant prevention

Fixed

Fixed an issue where webhook retries from Stripe could result in duplicate credit grants to your account.

Usage modal data corrected

Fixed

Fixed the usage detail modal showing incorrect format and location information for individual scrape requests.

SSL certificate fallback

Fixed

Sites with incomplete SSL certificate chains no longer fail. The scraper now automatically falls back to handle partial certificate configurations.

Welcome modal scrape count corrected

Fixed

Fixed the welcome modal displaying 1,000 free scrapes instead of the correct 5,000.

Promo Codes & Notification System

Deposit promo codes

New

You can now enter promo codes when adding funds to your account. Valid codes grant bonus credits on top of your deposit amount.

In-app notifications

New

A new notification center in the dashboard keeps you informed about promo activations, account events, and important updates.

Deposit invoices via Stripe

New

Every deposit now generates a Stripe invoice with promo bonus shown as a distinct line item, making your payment history clearer.

Faster scrape responses

Improved

Synchronous scrape requests now return faster thanks to adaptive polling optimizations and cached extraction output.

SSL fallback for broken certs

Fixed

Sites with incomplete SSL certificate chains no longer fail. The scraper automatically handles partial certificate configurations.

Pricing & Billing Fixes

Updated pricing tiers

Improved

Adjusted pricing for advanced scraping tiers to better reflect operational costs. Check the pricing page for current rates.

Billing calculation fixes

Fixed

Fixed multiple issues where credit balances and costs were calculated incorrectly due to unit conversion errors. Your balance and usage now display accurately.

Usage modal data corrected

Fixed

Fixed the usage detail modal showing wrong tier, formats, and location for individual scrape requests.

Smart Extraction & Minimum Deposit Change

Better collection page extraction

New

Product listings, search results, and other collection pages now return significantly richer structured data in both JSON and text/markdown formats.

New site support: almaany.com

New

Added optimized extraction for almaany.com, a major Arabic dictionary site, with dedicated content parsing rules.

Text and markdown from structured data

New

When requesting text or markdown format, you now get richer output generated from structured data sources like product schemas and financial instruments.

Improved anti-bot bypass

Improved

Significantly improved success rates on Cloudflare-protected sites by reducing false challenge detections and eliminating wasted time on unsolvable challenges.

Minimum deposit raised to $10

Fixed

The minimum deposit amount has been raised from $5 to $10 to align with payment processing requirements.

Dashboard layout improvements

Fixed

Fixed dead click areas, layout shift issues, and conversion gaps on the playground, billing, and usage pages.

Bug Fixes & Stability

Usage estimate routing fixed

Fixed

Fixed an issue where usage estimate requests from the dashboard were failing due to incorrect API routing.

Enhanced JSON Extraction & OAuth2

Enhanced JSON extraction (json_v2)

New

A new json_v2 format option returns richer structured data including contacts, dates, media, and key-value pairs automatically extracted from any page.

Amazon delivery and coupon data

New

Amazon product scrapes now extract delivery information, promotional offers, and coupon details in the structured response.

OAuth2 authorization server

New

You can now connect AlterLab to third-party platforms like n8n using standard OAuth2 authorization. Manage connected apps from your dashboard.

Better generic page extraction

Improved

Non-article pages like homepages, landing pages, and app pages now return significantly better content extraction results.

Email verification required for API keys

Security

API key generation now requires a verified email address, improving account security and preventing abuse.

OTP Security & Pricing Refresh

Redesigned Pricing Page

Improved

The pricing page has been redesigned for better clarity, with a step progress indicator added to the sign-in flow and extended OTP validity time.

OTP Brute-Force Protection

Security

Added per-email attempt limits to prevent automated guessing of one-time verification codes. Accounts are temporarily locked after too many failed attempts.

Protected Site Support & Scraping Speed

Improved Protected Site Compatibility

New

Added TLS fingerprint impersonation to significantly improve success rates on sites with advanced bot protection. Many previously difficult sites now return content on the first attempt.

New Lightweight Browser Scraping Mode

New

Introduced a fast API-replay scraping mode that captures and replays browser network requests, delivering browser-level accuracy at HTTP-level speed.

E-Commerce Extraction Improvements

New

Improved product data extraction for major e-commerce platforms, with better metadata parsing and support for client-side rendered product pages.

Social Media Profile Scraping

New

Added support for scraping social media profile data through dedicated API integrations, bypassing common anti-bot protections.

Scraping Performance Boost

Improved

Applied 14 performance optimizations across the scraping pipeline, resulting in faster response times especially for browser-based scrapes.

Playground Code Copy Fix

Fixed

You can now copy code examples from the playground without needing to be logged in.

2FA Email Delivery Fix

Fixed

Fixed a bug where two-factor verification codes were not being sent via email during account actions.

Playground Code Copy Fix

Copy Code Without Login

Fixed

You can now copy code examples from the playground without needing to sign in first.

Markdown-First Output & Request Details

Markdown-First API Output

New

API responses now default to markdown format, optimized for LLM and AI workflows. The playground shows the markdown tab first for quick copy-paste into AI tools.

Redesigned Request Detail View

New

The request detail modal in the playground and usage logs has been completely redesigned with a premium developer experience, making it easier to inspect scrape results and debug issues.

Balance Estimator

New

A new requests estimator shows how many scrapes your remaining balance can support, displayed inline with your balance in the header.

Report Issue Button

New

You can now report scraping issues directly from the dashboard. Your feedback helps improve extraction quality for specific sites.

Source Tracking for Requests

New

Usage logs now distinguish between requests made from the playground versus your API integration, helping you track usage more precisely.

Improved Sign-In Error Messages

Improved

Sign-in errors now show clear, actionable messages instead of generic failures, and the page handles already-authenticated users gracefully.

Playground Layout Improvements

Fixed

Fixed several playground layout issues including results panel height matching and scrolling behavior for a cleaner experience.

OAuth Account Linking

Fixed

Fixed the OAuth account linking flow so you can properly connect Google or GitHub to an existing email account.

Stability Patch

General Stability Improvements

Improved

Internal maintenance and stability improvements for a smoother experience.

Support Tickets & Billing Fixes

Support Ticket System

New

You can now submit and track support tickets directly from your dashboard. Get help with scraping issues, billing questions, or account problems without leaving the platform.

Updated Free Tier Messaging

Improved

The free tier now clearly shows 5,000 scrapes included, with updated messaging across the platform.

Better Scraping Success Rates

Improved

Improved stealth capabilities for sites with advanced bot protection, resulting in higher success rates on difficult targets.

Billing Balance Consistency

Fixed

Fixed issues with balance display occasionally showing stale values. Your balance and ledger are now always in sync.

Playground Run Button Feedback

Fixed

The Run button now shows a visual prompt when you try to run a scrape without an API key configured.

Playground Redesign & Light JS Mode

New Lightweight Browser Scraping

New

A new scraping mode bridges the gap between fast HTTP requests and full browser rendering. Get JavaScript-rendered content at significantly lower cost and latency, controllable via the force_tier parameter.

Redesigned Playground Config

Improved

The playground configuration panel has been redesigned for better usability and scroll performance, making it easier to set up complex scrape requests.

Faster Dashboard Loading

Improved

Moved user data fetching to the client side, reducing initial page load time for the dashboard.

Clickable Balance Display

Fixed

Your balance display in the dashboard header is now clickable and navigates directly to the billing page.

OAuth Error Messages

Fixed

Improved error messages when OAuth sign-in encounters issues, so you can understand what went wrong.

OTP Verification & Inline Docs

Email OTP Verification

New

New password-based signups now require email verification via a one-time code. This protects your account from unauthorized access from day one.

Inline Documentation Panel

New

Access API documentation directly from the dashboard sidebar without leaving your workflow. Includes search to quickly find endpoints and examples.

Redesigned Pricing Page

Improved

The pricing page has been redesigned with improved UX, including a highlighted smart routing explanation showing how requests are optimally processed.

Better Firewall Detection

Improved

Improved detection of various web application firewalls that return fake 200 OK responses with block pages, leading to more accurate scraping results.

Playground Redirect for Logged-In Users

Fixed

Authenticated users visiting the public playground are now automatically redirected to the dashboard playground with full functionality.

CLI Terminal & Usage Analytics

Dashboard CLI Terminal

New

A fully functional command-line terminal is now built into your dashboard. Run scrape commands, check stats, and manage your account without leaving the browser.

Redesigned Usage Analytics

New

The usage analytics page has been completely redesigned with sortable tables, animations, and a command center aesthetic. Includes a recent logs preview on the overview tab.

Improved Dashboard Readability

Improved

Dashboard displays have been refined for better readability with clearer labels and improved data presentation.

Mission Control Dashboard & SDK Update

Mission Control Dashboard

New

The main dashboard has been redesigned as a Mission Control view. Quick Scrape now autoruns for instant results, and key metrics are displayed in a streamlined vitals panel.

SDK Retry Logic (v2.0.1)

New

Both Python and Node.js SDKs now include automatic retry with exponential backoff and logging. Failed requests are retried transparently for better reliability.

Usage Chart Axis Fix

Fixed

Fixed an issue where chart lines could cross the axes in the usage dashboard, improving data visualization accuracy.

Usage Data Accuracy Fix

Accurate Success Tracking

Fixed

Usage logs now correctly derive success or failure from the actual HTTP status code, so your success rates and analytics reflect real outcomes.

Schema Filtering & Discord Bot

Source Tracking for Requests

New

API responses now include source tracking to distinguish between playground and API requests, helping you monitor usage patterns.

Discord Integration

New

A Discord bot is now available for real-time production monitoring, incident management, and slash commands to interact with the platform.

Improved API Documentation

Fixed

Fixed several documentation issues including extraction schema field names, Python SDK async/await examples, and formatting in code samples.

Schema Field Compatibility

Fixed

Added missing field aliases to extraction schemas, ensuring playbook-specific field names map correctly to standard output fields.

General Stability Improvements

General stability improvements

Improved

Minor internal improvements to ensure consistent behavior across the platform.

Security Hardening & Billing Fixes

Billing system migration completed

Fixed

Completed the migration from credit-based to tier-based pricing. Deposit limits and concurrency tiers are now consistent between the dashboard and API.

Google sign-in error visibility

Fixed

When Google One Tap sign-in fails silently, you now see a clear error toast instead of nothing happening.

Rate limit tiers synchronized

Fixed

Rate limits displayed in the dashboard now accurately match the enforced backend limits for each tier.

Security vulnerability fixes

Security

Resolved critical authentication and request validation vulnerabilities. Webhook and proxy endpoints now include additional protection against server-side request forgery.

General Stability Improvements

General stability improvements

Improved

Minor internal improvements to ensure consistent behavior across the platform.

General Stability Improvements

General stability improvements

Improved

Minor internal improvements to ensure consistent behavior across the platform.

Lossless Extraction by Default

Lossless extraction by default

New

Structured data extraction now preserves all available fields by default. You no longer need to opt in to get complete results from product pages, articles, and other structured content.

Content filtering now works everywhere

Fixed

The filter_content parameter now correctly applies across all extraction paths, ensuring consistent results regardless of the page type being scraped.

Marketplace & Searchable Docs

Marketplace integration support

New

AlterLab now supports integration with external API marketplaces. Marketplace requests are handled seamlessly with proper authentication and billing.

Searchable documentation

New

Documentation now includes a dynamic search index, making it much faster to find the endpoint or guide you need.

Node.js SDK documentation

New

Comprehensive SDK documentation is now available for both Python and Node.js, with usage examples and badges.

Searchable Documentation

Searchable documentation

New

Documentation now includes a dynamic search index so you can quickly find any endpoint, guide, or SDK reference.

Node.js SDK documentation

New

Comprehensive SDK documentation is now available in the docs sidebar, covering both Python and Node.js SDKs with examples.

v2.0.0

MAJOR

Smarter Content Extraction

Smarter content extraction

New

The API now intelligently detects page types (product, article, listing, etc.) and applies optimized extraction strategies. This delivers 43% faster structured data extraction with more accurate results.

Cache now respects all options

Fixed

Advanced scrape options like custom headers and extraction settings are now properly included in cache key generation. Previously, different option combinations could incorrectly return cached results from other configurations.

JSON Schema Filtering & Job Recovery

JSON Schema data filtering

New

You can now pass a JSON Schema with your scrape request to filter extracted data to only the fields you need. Reduces response size and simplifies downstream processing.

Automatic job recovery

New

Jobs that get stuck due to transient failures are now automatically detected and recovered. This significantly improves reliability for high-volume scraping workloads.

Image extraction for lazy-loaded pages

New

The API now extracts images from lazy-loaded pages that use data-src, data-image, and similar patterns. Product pages and portfolio sites return complete image sets.

Comprehensive documentation update

New

Added new guides, tutorials, SDK reference, and a quickstart guide. Documentation now uses clear dollar-based pricing terminology throughout.

Welcome Emails & Pricing Clarity

Welcome email on signup

New

New users now receive a welcome email after signing up or registering via OAuth. The email includes getting-started guidance to help you make your first API call.

Consistent pricing display

Fixed

Pricing tiers are now standardized across the entire platform — dashboard, API docs, and billing page all show the same tier structure.

Firecrawl API Compatibility

Firecrawl API compatibility

New

AlterLab now supports Firecrawl-compatible API endpoints. If you're migrating from Firecrawl, you can point your existing code at AlterLab with minimal changes.

Clearer OAuth error messages

Fixed

When OAuth sign-in encounters an error, you now see a user-friendly message explaining what went wrong instead of a generic failure page.

Better Protected Site Handling

Better handling of protected sites

New

The scraper now automatically escalates its approach when it detects bot protection on a site. This means higher success rates on difficult-to-scrape websites without any configuration changes on your end.

Dashboard stats loading fix

Fixed

Resolved an error that could cause the dashboard statistics endpoint to fail with a database connection issue.

Dashboard tier display corrected

Fixed

Fixed an issue where your current tier was incorrectly displayed in the dashboard due to a normalization bug.

Better Protected Site Handling

Better handling of protected sites

New

The scraper now automatically escalates its approach when it detects bot protection. Protected sites that previously failed now succeed without any changes to your API calls.

Dashboard tier display corrected

Fixed

Fixed an issue where your current tier was incorrectly displayed in the dashboard due to a normalization bug.

Pricing Update & Performance Boost

Updated pricing structure

New

Pricing has been updated across all tiers to reflect the true cost of premium scraping capabilities. Billing now supports 5-decimal precision for accurate sub-cent tracking.

Faster mobile experience

Improved

The homepage loads significantly faster on mobile devices with optimized rendering. Visual quality is preserved while reducing computational overhead.

Status Page and Smarter Scraping

Live status page

New

A new real-time status page shows the health of scraping, API, and infrastructure services so you always know platform availability.

Faster scraping with parallel processing

New

Scraping requests now use parallel IP racing and streaming optimization for significantly faster responses, especially on high-protection domains.

BYOP parallel IP support

New

Bring Your Own Proxy users can now benefit from parallel IP racing, improving success rates on difficult sites.

Automatic fallback for blocked sites

Improved

The scraping engine now intelligently remembers which approach works best for each domain and automatically skips methods that consistently fail.

Corrected rate limit display

Fixed

Email usage alert notifications now show the correct rate limit values for your account tier.

Geo-Targeted Proxies and Anti-Bot Improvements

Geo-targeted BYOP proxies

New

You can now specify geographic locations for all Bring Your Own Proxy providers, enabling country-specific scraping for localized content.

Better anti-bot bypass success

Improved

Improved success rates on heavily protected sites like ticket marketplaces through enhanced challenge-solving capabilities.

Dynamic extraction from playbooks

Improved

The scraping engine now applies domain-specific extraction rules automatically, delivering better structured data for supported sites.

Improved Reliability and Protection Bypass

Better anti-bot challenge solving

Improved

Improved automated challenge-solving for sites protected by interactive verification, increasing success rates on heavily guarded domains.

Automatic proxy rotation for protected domains

Improved

High-protection domains like major retailers now automatically use IP rotation for better success rates.

Fixed worker crash on startup

Fixed

Resolved a missing module that could cause scraping workers to crash, improving overall reliability.

Job Monitoring and Auto-Escalation

Automatic proxy escalation

Improved

When a request is blocked, the system now automatically retries with proxy enabled, improving success rates without requiring manual intervention.

Reliable job status tracking

Fixed

Fixed data inconsistencies between the job queue and dashboard, so job statuses now accurately reflect real-time progress.

Fixed sidebar layout on first load

Fixed

Resolved an issue where the dashboard sidebar would render at the wrong width on the initial page load.

Organizations and Mobile Improvements

Organization member permissions

New

Organization members now have proper permission checks when creating API keys, ensuring team access controls work correctly.

Better mobile experience

Improved

Improved responsiveness across the entire platform for a smoother experience on phones and tablets.

Clearer insufficient balance errors

Fixed

When your balance is too low, error messages now show the exact dollar amount needed instead of obscure internal values.

Google One Tap Sign-In

Google One Tap sign-in

New

Sign in instantly with a single tap using your Google account, no password required. Available across the platform.

Fixed demo overlay buttons

Fixed

The interactive demo buttons on the homepage now work correctly, letting you try the API without signing up.

Fixed signup credit grant

Fixed

New signups now correctly receive their welcome credits and email verification even when email delivery is unavailable.

Reddit scraping enabled

Fixed

Reddit scraping now works reliably with automatic proxy routing for consistent results.

Reliability and Pricing Precision

Higher throughput and reliability

Improved

Significant reliability improvements ensure failed scrapes return errors immediately instead of silently retrying, giving you faster feedback.

Sub-cent pricing precision

Improved

Pricing now supports 4 decimal places, ensuring accurate billing for high-volume users with sub-cent per-request costs.

Fixed dashboard crash on unknown status

Fixed

The dashboard no longer crashes when encountering jobs with unexpected status values.

Horizontal Scaling and Balance-Based Limits

Higher throughput and reliability

New

The scraping infrastructure now scales horizontally with multiple worker replicas, delivering higher throughput and better reliability under load.

Balance-based rate limits

Improved

Concurrency and rate limits are now tied to your account balance rather than fixed subscription tiers, giving you automatic scaling as you deposit more.

Redesigned proxy integration modal

Fixed

The BYOP proxy integration modal has been redesigned to prevent content clipping and improve usability.

Parallel Scraping and Reddit Support

3x faster with parallel scraping

New

Scraping now races multiple approaches in parallel instead of sequentially, dramatically reducing response times especially for protected sites.

Reddit scraping support

New

Full support for scraping Reddit posts, comments, and profiles with optimized extraction that delivers clean structured content.

Request detail modal

New

A new detail modal in the playground shows the full scrape journey for every request, including timing, approach used, and content extracted.

Consolidated JSON output

Improved

JSON extraction output no longer produces triple-duplicated data, giving you a cleaner and more usable response.

Fixed playground storage error

Fixed

Resolved a localStorage quota error that could prevent the playground from saving your scraping history.

Job status visible in dashboard

Fixed

Scrape job statuses now sync to the dashboard database so you can track all your jobs in the usage logs.

3x Throughput and Location-Based Proxies

3x throughput improvement

New

A new split worker architecture delivers 3x higher throughput, meaning your batch scrapes and concurrent requests complete significantly faster.

Location-based proxy targeting

New

BYOP users can now specify geographic locations for their proxy requests, enabling country-specific scraping for localized content.

Balance-based concurrency tiers

New

Concurrency limits now scale with your account balance instead of fixed plans. Higher balance means more simultaneous requests.

Dashboard shows correct tier

Improved

The dashboard now displays your actual balance-based tier instead of a legacy subscription plan name.

Fixed BYOP proxy toggle

Fixed

Resolved a bug where switching proxy providers would carry over stale configuration from the previous provider.

PDF Generation and Organizations

PDF generation

New

Generate full-page PDF snapshots of any URL through the API. PDFs are served via a dedicated downloads endpoint with direct URL access.

Organization workspaces

New

Create organizations and invite team members to share API keys, billing, and usage under a single workspace.

Redesigned billing experience

Improved

The billing page has been completely redesigned with a modern transaction history, proper receipt URLs, and support for deposits up to $50,000.

Smart navigation for logged-in users

Improved

CTA buttons and header navigation now route logged-in users directly to the dashboard instead of showing the sign-in modal.

Welcome modal redesign

Improved

New users see a polished welcome experience with clear onboarding guidance after signing up.

Fixed balance display rounding

Fixed

Account balance now truncates instead of rounding, preventing misleading display of fractional cents.

Caching is now opt-in

Fixed

Response caching is now disabled by default. Enable it explicitly with the cache parameter when you want cached results.

Want to stay updated? Follow us on Twitter or check the docs.