Changelog
New features, improvements, and fixes shipped to AlterLab.
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
Newdaily Stripe reconciliation snapshot and per-source freshness alert
typed Stripe ids on deposit ledger grants, idempotent backfill, deposit_refunded/deposit_disputed
Newtyped Stripe ids on deposit ledger grants, idempotent backfill, deposit_refunded/deposit_disputed
bot_reasons persistence and fixed-screen / spoofed-Google fingerprints
Newbot_reasons persistence and fixed-screen / spoofed-Google fingerprints
durable analytics_identity_links, OAuth anonymous_id carry-through and enriched user_touches
Newdurable analytics_identity_links, OAuth anonymous_id carry-through and enriched user_touches
GSC brand/non-brand split metrics and Bing brand snapshot
NewGSC brand/non-brand split metrics and Bing brand snapshot
enable B2B lead detection and deliver a weekly ranked prospect list
Newenable B2B lead detection and deliver a weekly ranked prospect list
gate Cloudflare deploy-token scope drift before traffic switch
Newgate 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
Newtier intelligence never records T3.5 successes and skips to T4 on a single (false) T4 success
follow-up: 1 deferred item(s) (deferred from )
Newfollow-up: 1 deferred item(s) (deferred from )
stage shared registry entries, acquisition taxonomy and emit-failure metric for
Newstage shared registry entries, acquisition taxonomy and emit-failure metric for
day-35 outcome check for /best-web-scraping-api and /vs
Newday-35 outcome check for /best-web-scraping-api and /vs
server signup funnel events, visible emit failures and CF-IPCountry login country
Newserver signup funnel events, visible emit failures and CF-IPCountry login country
Google/Bing parser coverage with golden fixtures and a parser-drift monitor
NewGoogle/Bing parser coverage with golden fixtures and a parser-drift monitor
evaluate action results are Python repr strings, not JSON
Fixedevaluate action results are Python repr strings, not JSON
disambiguate the AlterLab entity markup to recover brand sitelinks
Fixeddisambiguate the AlterLab entity markup to recover brand sitelinks
follow-up: 4 deferred item(s) (deferred from )
Fixedfollow-up: 4 deferred item(s) (deferred from )
follow-up: 5 deferred item(s) (deferred from )
Fixedfollow-up: 5 deferred item(s) (deferred from )
zero signups since the Oct 25 passwordless deploy
Fixedzero 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>)
Fixedpre-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
FixedChrome header wire order from unautomated Chrome, per protocol and request kind
HTTP client 0.17.0 and a chrome152 TLS baseline
FixedHTTP client 0.17.0 and a chrome152 TLS baseline
Google/Bing search jobs are enqueued on the HTTP queue with no browser-tier routing
FixedGoogle/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
Fixedbatch 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
Fixedpage/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
Fixedsingle-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)
Fixedresponse 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
Fixedsingle search stays in 'scraping' forever when a scrape child fails
sync 30 s timeout returns 504 without search_id; the late result is unreachable
Fixedsync 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
Fixedsearch 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
Fixedresult 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
FixedASCII 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)
Fixedbrowser-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
FixedHTTP 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
Fixedpin the restore drill's trusted verifier to the v11 backup contract commit
third round of staging→main deploy check fixes
Fixedthird round of staging→main deploy check fixes
second round of staging→main deploy check fixes
Fixedsecond round of staging→main deploy check fixes
green the staging→main deploy checks
Fixedgreen the staging→main deploy checks
GSC snapshot skips late-published days and never backfills gaps
FixedGSC 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
Newbranded enterprise client portal with per-client settings
repin production-action host-key helper to the keyscan banner fix
Fixedrepin production-action host-key helper to the keyscan banner fix
unblock deploy run 40181642888 (keyscan banner, openapi sync, two test flakes)
Fixedunblock 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 )
Newfollow-up: 1 deferred item(s) (deferred from )
atomic email-code verify, fixed-window analytics relay limit, batch actions_on_error (deploy review)
Fixedatomic 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)
Fixedscope T4 action results per attempt; JSONL-only daily_rollup deferral (deploy review)
test-api/test-herald failures on deploy
Fixedtest-api/test-herald failures on deploy
test-web/test-worker failures on deploy
Fixedtest-web/test-worker failures on deploy
browser-actions docs suites from are unwired — check-test-suite-wiring fails on staging
Fixedbrowser-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
Newvolume-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)
Newreconcile T4 by successful-attempt egress and report billing.egress ( part 5)
built-in consent dismissal that acts on the live page before screenshots
Newbuilt-in consent dismissal that acts on the live page before screenshots
wire direct-first gate into the unified T4 path ( part 3)
Newwire direct-first gate into the unified T4 path ( part 3)
align dedicated browser route with the direct-first gate ( part 4)
Newalign dedicated browser route with the direct-first gate ( part 4)
BROWSER_DIRECT_MICROCENTS and egress-aware browser cost helper ( part 1)
NewBROWSER_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)
Newevidence-gated direct-first browser gate with shadow mode, egress caps and rollout guards ( part 2)
B2B enterprise provisioning UI and open-invoice pay link
NewB2B enterprise provisioning UI and open-invoice pay link
follow-up: 2 deferred item(s) (deferred from )
Newfollow-up: 2 deferred item(s) (deferred from )
browser actions product page with use cases
Newbrowser actions product page with use cases
browser actions in batch, crawl, scheduler and monitors
Newbrowser actions in batch, crawl, scheduler and monitors
competitive actions pricing — included in browser tier, screenshot parity, pre-debit floor
Newcompetitive actions pricing — included in browser tier, screenshot parity, pre-debit floor
per-action timeout/optional/on_error and partial-result warnings for actions
Newper-action timeout/optional/on_error and partial-result warnings for actions
add select, hover, click_text, extract and wait_for state actions
Newadd select, hover, click_text, extract and wait_for state actions
align dashboard actions builder with API action types and add Run on URL
Newalign dashboard actions builder with API action types and add Run on URL
typed browser action models and action_results in Python and Node SDKs
Newtyped browser action models and action_results in Python and Node SDKs
expose browser actions, screenshot and PDF options in MCP scrape tools
Newexpose browser actions, screenshot and PDF options in MCP scrape tools
map competitor API actions in the competitor API-compat endpoint
Newmap competitor API actions in the competitor API-compat endpoint
follow-up: 1 deferred item(s) (deferred from )
Fixedfollow-up: 1 deferred item(s) (deferred from )
proxy cost rate is 0.80/GB in config but real DataImpulse cost is 1.00/GB
Fixedproxy 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)
Fixedaction_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)
Fixedbrowser actions silently dropped on dedicated JS consumer (screenshot/pdf/mode=js jobs)
action executor ignores wait.selector, scroll default mismatch, no tests
Fixedaction executor ignores wait.selector, scroll default mismatch, no tests
enforce a cumulative time budget in the browser action loop
Fixedenforce a cumulative time budget in the browser action loop
follow-up: 2 deferred item(s) (deferred from )
Fixedfollow-up: 2 deferred item(s) (deferred from )
Faster AI Integrations and Scrape Reliability
Guided Interactive First Scrape
NewThe 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
ImprovedRequests 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
ImprovedThe 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
ImprovedSignup 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
ImprovedPlus 14 internal improvements for better reliability and performance.
Reliable Zero-Result SERP Processing
FixedFixed 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
FixedResolved 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
SecurityRequests 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
Newserver-authoritative deposit_succeeded event keyed by Stripe event id; browser purchase deduplicated
identity stitching — analytics.identify and hashed analytics user_id after login
Newidentity 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
Newtemp-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
Newpasswordless email-code signup to replace the three-step password path
one canonical alternative page each for competitor, competitor and competitor, built on unique data
Newone 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
Newfirst-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
Newshared 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
Newdirect-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
Newshared signup email assessor on every signup path with daily-synced disposable domain lists
reproducible public success-rate benchmark page with methodology and raw data
Newreproducible public success-rate benchmark page with methodology and raw data
server-side bot classifier and analytics_events.is_bot excluded from Pathfinder rollups
Newserver-side bot classifier and analytics_events.is_bot excluded from Pathfinder rollups
daily analytics reconciliation guard and signup-burst monitoring system
Newdaily 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
Newanti-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
Newmetric-exclusion flags and one canonical definition each of signup, activated and paying
Sync: Update SDKs — code, message (from )
NewSync: Update SDKs — code, message (from )
Sync: Update SDKs — fallback_on_block (from )
NewSync: Update SDKs — fallback_on_block (from )
forward visitor ASN (and entitled bot signals) to origin for analytics classification
Newforward visitor ASN (and entitled bot signals) to origin for analytics classification
follow-up: 2 deferred item(s) (deferred from )
Newfollow-up: 2 deferred item(s) (deferred from )
follow-up: 2 deferred item(s) (deferred from )
Newfollow-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 — )
NewOFAC 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
Newrebuild /best-web-scraping-api to reach page 1 and rewrite /alternative-to/oxylabs title and meta
follow-up: 1 deferred item(s) (deferred from )
Newfollow-up: 1 deferred item(s) (deferred from )
weekly 60-prompt, 5-engine AI share-of-voice panel with competitor and cited-domain capture
Newweekly 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
Newexpand /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
Newactivation 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
Newpublish LangChain, LlamaIndex and CrewAI integrations under discoverable package names
15-min status reports carry the digest section; replay 2026-10-21 alert mix
New15-min status reports carry the digest section; replay 2026-10-21 alert mix
route Alertmanager warnings to the status-report digest instead of Discord
Newroute Alertmanager warnings to the status-report digest instead of Discord
page standing conditions once per state transition, not per cycle
Newpage 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)
Newexpected-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)
Newexecute 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
NewGrowth & 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)
Newwire 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
Newanalytics_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)
Newroute 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
Newreferral 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.)
Newroute 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
Newfull UTM capture, first- and last-touch attribution, and one ai_assistant channel
retroactive temp-mail account sweep as an owner-approved production action
Newretroactive temp-mail account sweep as an owner-approved production action
shared Discord alert router and ALERT_ROUTING.md policy
Newshared Discord alert router and ALERT_ROUTING.md policy
route GitHub workflow Discord posts through the alert policy and widen the sender-classification guard
Newroute 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
Newroute 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
Newcloud 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
Fixedderive 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)
Fixedpaid_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
Fixedbase-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
Fixedrefresh 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)
Fixedstorage 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
Fixedpg-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
Fixedanti-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 )
Fixedfollow-up: 3 deferred item(s) (deferred from )
follow-up: 5 deferred item(s) (deferred from )
Fixedfollow-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
Fixed0 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 )
Fixedfollow-up: 1 deferred item(s) (deferred from )
failed T4 browser runs record no proxy bytes (basis=unknown), keeping ValidResultEconomicsCoverageDegraded firing after
Fixedfailed 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
Fixeddeploy 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
Fixedreal 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
FixedDDG Lite challenged (202 anomaly) on 100% of attempts after proxy egress; every search falls back
rotate CLOUDFLARE_API_TOKEN to the scope manifest
Fixedrotate 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)
Fixedcache 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
Fixedreplace '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)
Fixedzero-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
FixedGEO 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
Fixedhonest "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
Fixedhonest "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
Fixedhonest "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
Fixedlead 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)
Fixedderive 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)
Fixedemulate 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)
Fixedanswer 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)
Fixedemulate 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)
Fixedpopulate 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)
FixedP1: backup restore drill failed (2026-10-22)
daily_rollup delivery overwrites one S3 object per job; deliver one file per bulk submission
Fixeddaily_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
Fixedre-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
Fixedcap welcome grants per signup cluster (email domain + IP /24 + device), not per IP alone
repin production-action executor past
Fixedrepin production-action executor past
cut routed pages in the 2026-10-21 replay toward ~10 without reclassifying genuine incidents
Fixedcut routed pages in the 2026-10-21 replay toward ~10 without reclassifying genuine incidents
follow-up: 1 deferred item(s) (deferred from )
Fixedfollow-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
FixedT4 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
Fixedcountry 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
FixedOAuth 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
ImprovedThe 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
ImprovedThe 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
ImprovedBoth 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
ImprovedThese checks predate the fail-closed recovery contract (/).
feat(monitoring): stable check keys and fail-closed recovery closer for log-monitor eMemos, plus sta
Improvedlog-monitor has no stable logical identity per issue class.
fix(stealth): worker image installs floating latest Chrome (155) while identity constants claim Chro
ImprovedThe 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
ImprovedSeverity 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
ImprovedThis is policy, not a code defect.
feat(monitoring): alert on Cloudflare Workers daily request quota before Error 1027
ImprovedThe Workers request quota was never instrumented.
General bug fixes and improvements
ImprovedPlus 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
Newshort-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
Newfleet-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)
Newfail 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
Newrecord 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)
NewT3 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
Newcount 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)
Newper-(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
Newgeo_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
Newfirst-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
Newreplace hand-picked TLD_COUNTRY_MAP with a complete ISO 3166 ccTLD table
Milestone: Remote MCP Server with OAuth → staging
NewMilestone: Remote MCP Server with OAuth → staging
bingoplus.com PH-exit residual: T4 cleared page rejected as semantic soft_block
Fixedbingoplus.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
Fixeddo 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
Fixedidentify 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
Fixedroute 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)
Fixedkeep 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
Fixedengine 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
Fixedship 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)
Fixedupgrade certifi to 2026.10.19 and Pillow to 13.0.0 (Trivy CRITICAL/HIGH)
close milestone 115 merge gaps found on deploy
Fixedclose milestone 115 merge gaps found on deploy
reconcile guards with intended staging changes (deploy )
Fixedreconcile guards with intended staging changes (deploy )
omit CSP form-action on /oauth/consent so consent redirects reach the client
Fixedomit 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 — )
Fixedoauth_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 — )
Fixedmcp-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 — )
FixedSingleflight 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
Fixedcorrect OAuth2 guide step count, revocation timing and client registration
Smarter Failover, Auto-Pause, and Improved Reliability
Auto-pause for failing schedules
NewScheduled 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
NewYou 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
ImprovedRequest 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
ImprovedConsecutive 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
ImprovedSticky 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
ImprovedPlus 58 internal improvements for better reliability and performance.
Accurate billing for challenge responses
FixedResolved 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
FixedFixed 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
FixedFixed 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
FixedFixed 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)
Newconsecutive-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)
Newopt-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)
Newper-(user, URL) back-off after consecutive identical failures ( option 3)
bound concurrency per sticky exit/session (clearance reuse, cookie-cohort, force_sticky)
Newbound concurrency per sticky exit/session (clearance reuse, cookie-cohort, force_sticky)
anti-bot system clearance-store replay (enforcement phase of ) after shadow metrics
Newanti-bot system clearance-store replay (enforcement phase of ) after shadow metrics
surface failure hints and steer examples to render_js="auto" ( options 1+2)
Newsurface failure hints and steer examples to render_js="auto" ( options 1+2)
obs-pgstat top [n] wrapper for pg_stat_statements attribution
Newobs-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
Newstable 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
Newalert on Cloudflare Workers daily request quota before Error 1027
detailed-logs crawl grouping via partial index and keyset pagination
Improveddetailed-logs crawl grouping via partial index and keyset pagination
exhaustion-nurture scans read balances from credit_balance_cache instead of re-summing credit_ledger
Improvedexhaustion-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)
Fixedadd 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
Fixeddrop 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 )
Fixedanti-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 )
Fixedfollow-up: 2 deferred item(s) (deferred from )
update DomainConcurrencyDeferralHigh promtool expectation after description change (deploy )
Fixedupdate 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 )
Fixedexpire_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 )
Fixedanti-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 )
Fixedapi-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 )
Fixedtest-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 )
Fixedtest 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
Fixedschedule 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 )
Fixedfollow-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)
Fixedproduction-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
FixedT4 `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
Fixedpublish 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)
Fixedlogical-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
Fixedpublish recovery outcomes for billing/payment error-trigger checks
pg cache-hit alert attributes misses to recurring statements and ignores calls=1 one-offs
Fixedpg 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
Fixeddegrade 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
FixedCLOUDFLARE_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
Fixedworker 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
Fixedstop 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
Fixedre-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 — )
Fixedcache 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
Fixedorigin-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
Fixedpublish 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
Fixedcache 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 — )
BreakingRESERVED_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)
Newenforce vendor-class pool routing from exit_reputation — replace build-time RESERVED_HARD domain classification ( / enforcement phase)
Adaptive Unblocking Control Loop → staging
NewAdaptive Unblocking Control Loop → staging
require cross-egress consistency as positive evidence before delivering non-placeholder thin T4 pages
Newrequire cross-egress consistency as positive evidence before delivering non-placeholder thin T4 pages
spec + epic tracker — support@ inbound filtering and in-house CRM leads
Newspec + epic tracker — support@ inbound filtering and in-house CRM leads
Adaptive Unblocking Control Loop → staging
NewAdaptive Unblocking Control Loop → staging
merge post-auth, scrape-per-key and concurrency checks into one Lua call
Newmerge post-auth, scrape-per-key and concurrency checks into one Lua call
win back the lapsed top-revenue accounts after reliability fixes
Newwin back the lapsed top-revenue accounts after reliability fixes
activate cloud provider storage backup lane (relay account, keys, host-key pin, monitor, restore drill)
Newactivate 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)
Newmonitor 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)
Newearn 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
Newadaptive 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)
Newhint 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)
Newobs-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 )
Newfollow-up: 1 deferred item(s) (deferred from )
Worker quota exhaustion must never take marketing pages offline
NewWorker quota exhaustion must never take marketing pages offline
Incident-ID issue-link cron that sets canonical_issue on open Critical/High internal tooling
NewIncident-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)
Newobs-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)
Newmake 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)
Fixedbot 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
Fixedprevent cannibalizing blog posts with a durable intent registry enforced on every generator
consolidate existing cannibalizing blog posts — audit never runs in production
Fixedconsolidate 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
Fixed4h45m 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)
Fixedcloud 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
FixedPhantom 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 — )
FixedInline-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 — )
Fixedpre-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)
Fixedpaid-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)
Fixed10x 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
Fixedbot protection system identity-rotation, stage-span and event-loop test failures on deploy
mandate-wording guard breaks after waf_block marker moved to (deploy )
Fixedmandate-wording guard breaks after waf_block marker moved to (deploy )
map new cron jobs in the RSI periodic-job inventory (deploy )
Fixedmap new cron jobs in the RSI periodic-job inventory (deploy )
renumber duplicate 0451 rollout-cohorts migration blocking deploy
Fixedrenumber duplicate 0451 rollout-cohorts migration blocking deploy
worker pytest session dies at 95% with no summary on deploy
Fixedworker pytest session dies at 95% with no summary on deploy
wire five unaccounted scripts/tests suites into CI jobs
Fixedwire five unaccounted scripts/tests suites into CI jobs
Chrome upgrade safety gate cannot parse refactored
FixedChrome upgrade safety gate cannot parse refactored
add external-availability-probe and storage-category-metrics to trusted-runtime closure
Fixedadd 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
Fixedclassify 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
Fixedblog 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
FixedDatabaseBudgetStatusUnavailable 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
Fixedrender_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
Fixedinternal 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
FixedOpenRouterKeyLimitLow 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
Fixedcache 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
FixedT4 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
Fixedjob-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
Fixedpublish 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
Fixedtreat 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
Fixedlog-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
Fixedweb 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
Fixedrefund_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
Fixedapex 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
Fixedlog-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
FixedLLM 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 )
Fixedworker 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 )
Fixedwire 3 new scripts/tests suites and make the wiring guard runnable locally (deploy )
entitlement cache epoch ordering and invalidation gaps (review finding — )
Fixedentitlement cache epoch ordering and invalidation gaps (review finding — )
remove DDG Lite direct-egress burst timeout regression
Fixedremove DDG Lite direct-egress burst timeout regression
Cloudflare Worker route audit has never passed — token lacks Workers read scopes
FixedCloudflare Worker route audit has never passed — token lacks Workers read scopes
event-loop isolation from hangs the worker suite and breaks asyncpg diagnostics tests
Fixedevent-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 )
Fixedr2-evidence-lifecycle token recipe must use exact internal tooling YAML path (deploy )
auto-resolve cloud provider worker-only error-trigger memos
Fixedauto-resolve cloud provider worker-only error-trigger memos
successes whose body is a classified challenge are billed in full and invisible to FalseSuccessRateHigh
Fixedsuccesses 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"
Fixedprovision 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
Fixeddrop 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
Fixeddev.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 )
Fixedremove 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 )
Fixedrefund 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 )
Fixedupdate deploy checkout-index and cutover-gate contract tests for and (deploy )
map ovh-internal tooling-issue-link in rsi-coverage.json (deploy )
Fixedmap ovh-internal tooling-issue-link in rsi-coverage.json (deploy )
lost-data alerts (RefundRetryAllStoresFailed) must not auto-close their internal tooling on resolve
Fixedlost-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)
Fixedcache 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
Fixedbot 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)
Fixedregister 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 )
Fixedfollow-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
Fixedregister 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
Fixedproxy 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
Fixedheartbeat-watchdog and ssh-guard drift alerts never create internal tooling; deploy should re-install guard shims
Web: SEO structured data, redirects and CLS
FixedWeb: SEO structured data, redirects and CLS
log-monitor billed-5xx 'retained' check matches any customer's debit, keeping a standing Critical REVENUE IMPACT memo
Fixedlog-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 )
Fixedfollow-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
Fixedlog-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
FixedDB 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
Fixednode-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
FixedChallengeCookieCacheZeroHitRate 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
FixedBing 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)
FixedOPERATOR 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
Fixedobs-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
Fixedsettlement 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 )
Fixedtest_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
FixedT3 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
Fixedcache '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
Fixedlog-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)
Fixedrefund 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
Fixeda 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
NewBrowser-rendered requests now cache static assets like scripts and stylesheets. This significantly reduces response latency and accelerates page rendering.
Accurate Minimal Page Delivery
ImprovedSingle-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
ImprovedEliminated 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
ImprovedPlus 1 internal improvement for better reliability and performance.
Reduced False Detection Blocks
FixedResolved 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
FixedFixed 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
Newshared RFC 9111 cache for T4 browser subresources behind an A/B
require a live X server before headed launches
Fixedrequire a live X server before headed launches
stop classifying Cloudflare's bot-detection beacon as a challenge
Fixedstop classifying Cloudflare's bot-detection beacon as a challenge
deliver and bill genuine thin origin pages
Fixeddeliver and bill genuine thin origin pages
stop T4 proxy re-rolls on sparse-page soft blocks
Fixedstop T4 proxy re-rolls on sparse-page soft blocks
stop the analytics retry interval when window is gone (deploy-blocking test flake)
Fixedstop the analytics retry interval when window is gone (deploy-blocking test flake)
linear noscript removal in rendered thin-page shape check
Fixedlinear noscript removal in rendered thin-page shape check
linear noscript text strip, id-anchored app-mount scan ( re-review pass 8)
Fixedlinear 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)
Fixedlinear 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)
Fixedanchor 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)
Fixedplaceholder 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)
Fixedpositive 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)
Fixedasset cache off customer egress + tiny origin page delivery ( re-review pass 3)
staging re-review findings for (asset-cache arm scope, sparse-deny retries)
Fixedstaging re-review findings for (asset-cache arm scope, sparse-deny retries)
address staging review findings on
Fixedaddress staging review findings on
force-remove cloud provider slots restarted during drain
Fixedforce-remove cloud provider slots restarted during drain
Accurate Format-Specific Scrape Responses
General bug fixes and improvements
ImprovedPlus 3 internal improvements for better reliability and performance.
Format-aware repeat detection caching
FixedScraping 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
Fixedkey repeat-detection cache on requested formats
Enhanced Request Diagnostics and API Stability
Job Request Option Snapshots
NewScraper 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
ImprovedWhen 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
ImprovedDomain 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
ImprovedPlus 11 internal improvements for better reliability and performance.
Modern Web App Content Validation
FixedPages 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
FixedTarget 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
FixedConnection 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
FixedFixed 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
SecurityHigh 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
BreakingRequests 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
Fixeddeliver synthetic probe credentials to cloud provider monitoring config
v6.0.0
Smarter Rate Limits and Detailed Analytics
Account-wide rate limits
NewRate 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
NewA 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
ImprovedPDF 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
ImprovedDiagnostic 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
ImprovedUpdated 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
ImprovedPlus 47 internal improvements for better reliability and performance.
Batch billing reconciliation fixes
FixedFixed 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
FixedResolved 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
FixedFixed 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
FixedError 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
FixedFixed 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
FixedResolved 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
FixedFixed 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
SecurityHardened 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
NewT3 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)
Newvendor-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)
Newpersist a sanitized request-options snapshot per job (tier cap, render_js, timeout, BYOP flag, cost caps)
repair stale tests failing on deploy
Fixedrepair stale tests failing on deploy
retain pre-debited use_proxy add-on in worker reconciliation
Fixedretain pre-debited use_proxy add-on in worker reconciliation
block listed abuser IPs before the WAF skip rule and stop trusting crawler UAs
Fixedblock 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
Fixedrevert cloud provider workers when the cloud provider deploy tail fails after the overlapped rollout
avoid bare else under drone-ssh script_stop
Fixedavoid bare else under drone-ssh script_stop
CF edge rate-limit exporter fails every poll — zone lacks access to GraphQL path
FixedCF 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
FixedSLA rules and SlaMeasurementAbsent select entrypoint=websecure; prod traffic is on web
synthetic probe unverified since 10-08 — SYNTHETIC_PROBE_API_KEY not provisioned
Fixedsynthetic probe unverified since 10-08 — SYNTHETIC_PROBE_API_KEY not provisioned
pg-compose-drift can't read shared_preload_libraries as NOSUPERUSER alterlab
Fixedpg-compose-drift can't read shared_preload_libraries as NOSUPERUSER alterlab
discovery verifier status write fails with AmbiguousParameterError on reused :status bind
Fixeddiscovery verifier status write fails with AmbiguousParameterError on reused :status bind
deterministic sleep counts in T4 solver deadline tests
Fixeddeterministic 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)
Fixedanti-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)
Fixedvalidate 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
Fixedstatic 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
Fixedcapped/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)
Fixednodriver 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
Fixedorigin 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
Fixedreject 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
FixedCSR-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)
Fixedcorroborated 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 — )
FixedArgon2 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)
Fixedworker 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 — )
Fixedkey_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
Fixed165 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
Fixedcloud 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)
Fixedretire 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 — )
FixedPython 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
NewWhen 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
ImprovedLightweight 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
ImprovedPlus 23 internal improvements for better reliability and performance.
Accurate messaging for target DNS errors
FixedTransient 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
FixedError 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
FixedCustom 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
FixedQuick-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
FixedOrganization 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
FixedAutomatic 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)
Newpre-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
Newcorroborate 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
Newautomatic lead sources — B2B detector, signup linking, filter intake
production-path A/B for Amazon T4 image blocking (replaces never-run gate)
Newproduction-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
Newmeter real proxy wire bytes per job and feed proxy_cost_daily from the unified pipeline
event-driven per-container cloud provider final health wait
Newevent-driven per-container cloud provider final health wait
admin UI watch results and end-to-end regression-then-rollback test
Newadmin 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)
Newpersist per-job content-validity verdict and cost provenance on scrape_diagnostics ( part 1)
reuse images by retagging existing :<digest> instead of rebuilding
Newreuse images by retagging existing :<digest> instead of rebuilding
explicit cloud provider traffic-commit point and cloud provider rollout overlapped with the cloud provider tail
Newexplicit 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
Newbatched, per-service-concurrent cloud provider worker with live-capacity floor
content-addressed per-service image input digest and :<digest> tagging (no behaviour change)
Newcontent-addressed per-service image input digest and :<digest> tagging (no behaviour change)
risk-tiered, evidence-based progression
Newrisk-tiered, evidence-based progression
restructure job graph — build in parallel with tests, changelog off the critical path, single Next.js build
Newrestructure 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
Newterminal-state issue write-back and bidirectional supersession links
tiered load shedding (503 + Retry-After) and concurrency as the primary metered dimension
Newtiered 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
Newchange-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
Newdecide+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)
Newexport valid-result economics and add coverage-aware dashboard panels and budget alerts ( part 3)
coverage-aware cost per verified valid result endpoint ( part 2)
Newcoverage-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
FixedWorkerBrowserPoolSaturated 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
Fixedclassify 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
Fixedtransient DNS resolver failures are reported to customers as SSRF blocks
cloud provider/cloud provider scraper and structurer expected counts disagree across three monitors
Fixedcloud 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
Fixedlog-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
Fixedreplace 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
Fixedalert 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
Fixedtier-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 — )
Fixedproactive 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 — )
FixedCPR 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 — )
Fixedfailed 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 — )
Fixedrecord 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
FixedFix(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 — )
Fixedgross-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
Fixeddisk 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
FixedT4 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 (, )
FixedFix(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 — )
Fixedredacted_redis_target can leak password tail for unencoded @ and / (review finding — )
T4 deadline neutrality masks earlier-tier antibot evidence (review finding — )
FixedT4 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
Fixedmove 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
Fixedtier 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 — )
Fixedincident spool installer loosens /var/lib/alterlab state dirs to 755 (review finding — )
freshness subnet probes not charged against re-roll budget (review finding - )
Fixedfreshness subnet probes not charged against re-roll budget (review finding - )
patchright page.evaluate isolated world changes evaluate-action semantics (review finding — )
Fixedpatchright page.evaluate isolated world changes evaluate-action semantics (review finding — )
Billing: Stripe webhook deposit settlement correctness
FixedBilling: Stripe webhook deposit settlement correctness
Worker: T4 breaker, deadline and evidence envelope follow-ups
FixedWorker: T4 breaker, deadline and evidence envelope follow-ups
API/SDK: proxy intent request contract
FixedAPI/SDK: proxy intent request contract
API: entitlement rate-limit reservation ordering and headroom headers
FixedAPI: entitlement rate-limit reservation ordering and headroom headers
Billing: organization usage attribution findings (PRs ///)
FixedBilling: organization usage attribution findings (PRs ///)
bound PDF decompression and extraction resource usage
Fixedbound PDF decompression and extraction resource usage
DevOps report 429 counter reads a legacy log line; 4xx-flood alert cannot attribute client
FixedDevOps 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)
Fixedsettlement 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
Fixedjob 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)
FixedFastly 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)
Fixedfirst 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
Fixedcloud 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
Fixedsettlement 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)
Fixedstatus-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 — )
FixedDefault 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)
Fixedtier-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
Fixeddelta 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 — )
Fixedfix 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 - )
Fixedauto 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
FixedCloudflare cache-hit-rate alert is zone-wide and counts uncacheable API traffic
follow-up: 3 deferred item(s) (deferred from )
Fixedfollow-up: 3 deferred item(s) (deferred from )
Uptime Guardian ignores in-progress blue/green deploys and posts literal backslash-n in Discord messages
FixedUptime 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
FixedVacuum 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 - )
Fixedscrape 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 — )
FixedReal 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 — )
FixedKeyed-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 - )
Fixedunclosed <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
FixedFirefox 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 — )
Fixedinternal tooling-bridge crashes refresh on non-numeric memo counters (review finding — )
API: org billing error contract and payer resolution surface
FixedAPI: org billing error contract and payer resolution surface
SDK Drift: Missing SDK parameters — Node (8 items) [sdk-drift:missing_params:node]
FixedSDK Drift: Missing SDK parameters — Node (8 items) [sdk-drift:missing_params:node]
Billing: API contract, changelog and retry-helper polish
FixedBilling: API contract, changelog and retry-helper polish
Billing: org owner debit-fence behavior fixes
FixedBilling: org owner debit-fence behavior fixes
probe_error keys drop current-side detail and persist raw exception text (review finding — )
Fixedprobe_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
Fixedbound 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 — )
Fixed0364 allowlist superseded_by names unrelated migration 0388 (review finding — )
guardian skips probes on 50:50 (review finding — )
Fixedguardian skips probes on 50:50 (review finding — )
Scheduler: billing principal and dispatch-slot correctness at run time
FixedScheduler: billing principal and dispatch-slot correctness at run time
Web: production-actions admin page UI fixes
FixedWeb: production-actions admin page UI fixes
Billing: search child debit/enqueue compensation (/)
FixedBilling: search child debit/enqueue compensation (/)
CI: wire missing test suites and harden CI migration/test harness
FixedCI: wire missing test suites and harden CI migration/test harness
Billing: refund_pending usage-row reconcile correctness ( cohort)
FixedBilling: refund_pending usage-row reconcile correctness ( cohort)
release entitlement rate slot after failed scheduled debit (review finding — )
Fixedrelease entitlement rate slot after failed scheduled debit (review finding — )
make periodic recovery sweeps run once per cadence across Uvicorn workers
Fixedmake periodic recovery sweeps run once per cadence across Uvicorn workers
P3 activate-demo findings from
FixedP3 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
FixedT4.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
Fixedresolve apex API health routing block and align the Cloudflare probe
2 compatible issues —
Fixed2 compatible issues —
import the 25-message support@ backlog before enabling live inbound polling
Fixedimport the 25-message support@ backlog before enabling live inbound polling
return 400 for malformed public JSON instead of 500 error storms
Fixedreturn 400 for malformed public JSON instead of 500 error storms
pin the audited executor blob for the approved-dispatch executor
Fixedpin the audited executor blob for the approved-dispatch executor
let crawlers fetch Next.js rendering assets in robots.txt
Fixedlet crawlers fetch Next.js rendering assets in robots.txt
parseable, Free-plan-sized WAF policy — discovery-first website, locked-down API
Fixedparseable, Free-plan-sized WAF policy — discovery-first website, locked-down API
dispatch approved production actions via approved -> scheduled -> executing
Fixeddispatch approved production actions via approved -> scheduled -> executing
data policy missing 0450 tier_attempt rollup tables; test-only ORM fixture leaks into table inventory
Fixeddata 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
Fixedrouters/ 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
FixedOpenAPI contract tests fail — batch search documents 409, and latest archive mismatches current contract
builds httpx.AsyncClient outside the egress allowlist (egress AST guard fails)
Fixedbuilds 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)
FixedCloudflare 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)
Fixeddeploy-production test-api org-fence step drifted from (deploy/CI parity test fails)
backup/restore/migration-safety job has unaccounted test suites
Fixedbackup/restore/migration-safety job has unaccounted test suites
SDK sync check test_detect_drift_checks_actual_scrape_response_fields raises StopIteration
FixedSDK sync check test_detect_drift_checks_actual_scrape_response_fields raises StopIteration
config/sdk_manifest.json is stale vs SDK sources
Fixedconfig/sdk_manifest.json is stale vs SDK sources
cloud provider rollback runner is not valid Bash — unterminated REMOTE_EOF here-doc
Fixedcloud 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
Fixeddeposit 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)
Fixedtrusted-runtime bundle omits infra/monitoring/pg-compose-drift.sh (root cron install would fail)
Web: session-binding and auth proxy route hardening
FixedWeb: session-binding and auth proxy route hardening
deploy step leaves staged index entry in production checkout (review finding — )
Fixeddeploy step leaves staged index entry in production checkout (review finding — )
API: job dispatch reservation and create_job robustness
FixedAPI: job dispatch reservation and create_job robustness
Web: DepositFunds and Quick Deposit UI fixes
FixedWeb: DepositFunds and Quick Deposit UI fixes
persist failed crawl spend release as a durable retry record (review finding — )
Fixedpersist failed crawl spend release as a durable retry record (review finding — )
lost Stripe disputes never claw back disputed deposit credit
Fixedlost Stripe disputes never claw back disputed deposit credit
wait_for around to_thread inventory scan leaves Stripe scan thread running (review finding — )
Fixedwait_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 — )
Fixeddeployed-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 — )
Fixedcount worker-side all-store refund retry failures and alert (review finding — )
deposit fast path holds DB transaction open across Stripe retrieve (review finding — )
Fixeddeposit fast path holds DB transaction open across Stripe retrieve (review finding — )
log replay identifiers needed for artifact_recharge retry records (review finding — )
Fixedlog 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 — )
Fixeddeployed-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
Fixedrl2 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
FixedWorker: custom configuration cache isolation and identity pool safety
Data: diagnostic and attempt-outcome retention
FixedData: diagnostic and attempt-outcome retention
30fps frame cap removed for all FlowingParticles presets (review finding — )
Fixed30fps frame cap removed for all FlowingParticles presets (review finding — )
SDK Drift: Missing SDK response fields — Node (5 items) [sdk-drift:missing_response_fields:node]
FixedSDK 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 — )
Fixedshared OpenAPI 429 body omits spend_limit_exceeded variant (review finding — )
pre-auth hardening before relaxing edge limits on keyed traffic
Fixedpre-auth hardening before relaxing edge limits on keyed traffic
SDK Drift: Missing SDK parameters — Python (1 item) [sdk-drift:missing_params:python]
FixedSDK 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 — )
Fixedpromo reclaim candidate join accepts NULL promo_reserved_by_user_id across principals (review finding — )
support WS client has unrecoverable terminal states (review finding — )
Fixedsupport WS client has unrecoverable terminal states (review finding — )
deployed-version verifier counts non-healthy container states as healthy (review finding — )
Fixeddeployed-version verifier counts non-healthy container states as healthy (review finding — )
monitor-actor guard for deployed-verified is a literal denylist (review finding — )
Fixedmonitor-actor guard for deployed-verified is a literal denylist (review finding — )
ememo_link_issue races across sibling memos of one incident (review finding — )
Fixedememo_link_issue races across sibling memos of one incident (review finding — )
internal tooling claim marker never expires or is released (review finding — )
Fixedinternal tooling claim marker never expires or is released (review finding — )
egress re-roll loop ends early on non-reputation status-0 attempt (review finding - )
Fixedegress re-roll loop ends early on non-reputation status-0 attempt (review finding - )
Edge: Cloudflare personalization Worker fixes
FixedEdge: Cloudflare personalization Worker fixes
Shared: penetrator in-place hold page evidence
FixedShared: penetrator in-place hold page evidence
Performance Improvements
fail-closed target egress helper, origin-egress metric, AST CI guard
NewAdds (, ): 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
NewIn 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)
NewOwner 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
NewOwner decision moves the protected user-uploads backup lane off Cloudflare onto Netcup.
LLM inbound filter for support@ routing ticket / crm / ignore
NewEvery 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
Improveddivided (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
ImprovedPlus 9 internal improvements for better reliability and performance.
prune-storage orders generations by caller-chosen filename stamp (review finding — )
Fixedin 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
FixedStops 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 (, )
FixedAccounting, wiring and telemetry only — no escalation or tier-selection change.
T3 pool lease setup and tier rejection log context (, )
FixedMembers: , .
owner-lease fenced profile claim republish
FixedThe 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
Newdashboard shows the account's current tier, limits and recent 429s
port Payer Funnel Optimization activation work (////) to staging, resolving /
Newport Payer Funnel Optimization activation work (////) to staging, resolving /
production cloud provider base+database PITR restore drill
Newproduction cloud provider base+database PITR restore drill
leads core — crm_leads, activity log, admin + agent API, email intake
Newleads core — crm_leads, activity log, admin + agent API, email intake
both-host installed-generation/cadence/freshness activation observer
Newboth-host installed-generation/cadence/freshness activation observer
persist per-job scheduler execution state and freshness
Newpersist per-job scheduler execution state and freshness
report settlement discrepancies through existing incident plane
Newreport settlement discrepancies through existing incident plane
extend settlement invariants to parent/child operations
Newextend settlement invariants to parent/child operations
visibility and alerting for Cloudflare 1015 on authenticated API traffic
Newvisibility 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)
Newrecord 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
Newper-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
Newsync mail provider Sent folder into lead/ticket timelines + overdue digest
CRM leads UI — list, stage board, lead activity timeline
NewCRM leads UI — list, stage board, lead activity timeline
follow-up: (deferred from )
Newfollow-up: (deferred from )
DB-backed inbound review queue with ticket/lead/ignore actions
NewDB-backed inbound review queue with ticket/lead/ignore actions
wire internal service/AI engine inventory rows to execution freshness
Newwire internal service/AI engine inventory rows to execution freshness
remaining scheduled whole-ledger scans on credit_ledger (deferred from )
Improvedremaining scheduled whole-ledger scans on credit_ledger (deferred from )
backup-restore-drill trusted contract pin lacks backup contract v4 (from )
Fixedbackup-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
Fixedlearning 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 )
Fixedfollow-up: 7 deferred item(s) (deferred from )
from-email 500 retry storm — reply guard never fires; thread lookup raises MultipleResultsFound
Fixedfrom-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)
Fixeddomain-deferral alerts still page on single-customer failing-domain bursts ( follow-up)
page and own local structure marker refresh and LIST recovery reads
Fixedpage 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
Fixedclassify 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 — )
FixedT1/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)
Fixedmulti-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
Fixedgenuine HTTP 404s escalate to T4 since (92% of 404 failures, ~26s each) — no definitive-origin exit
follow-up: 3 deferred item(s) (deferred from )
Fixedfollow-up: 3 deferred item(s) (deferred from )
fail-closed required-monitoring readiness in deploy/hotfix status
Fixedfail-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)
FixedStaging 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
Fixed89% of published blog posts teach SDK/API code that does not exist
repin production-action chain to budget_holder session fix (, )
Fixedrepin 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 — )
Fixedprod 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 — )
FixedFirefox 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
Fixedhonour Retry-After with jitter and a max wait
dispatch job-creation rate must match the advertised RPM; separate write and read dimensions
Fixeddispatch 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
FixedWAF 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)
Fixeddemand-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
Fixedno 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
FixedT4 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)
Fixedblog view counter counts ISR regenerations, not readers (shown publicly, drives popular posts)
negative-cache Amazon location-cookie failures and re-check cache under lock
Fixednegative-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
Fixednear-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 — )
Fixedadvanced 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
FixedDeploy: 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 — )
FixedRe-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
FixedT4 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 — )
FixedUA 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 — )
FixedRoundup 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)
FixedT4 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
Fixedresidual DB budget exhaustion 503s POST /scrape under 15-concurrent burst after
small genuine JSON responses rejected as soft_block_waf_block
Fixedsmall genuine JSON responses rejected as soft_block_waf_block
bare certificate marker routes TLS alert rejects to T4 without telemetry (review finding - )
Fixedbare certificate marker routes TLS alert rejects to T4 without telemetry (review finding - )
Google organic referrals down 52% since July and analytics blind spots
FixedGoogle organic referrals down 52% since July and analytics blind spots
resource filter misses Amazon telemetry and ex.co hosts due to label-boundary matching
Fixedresource 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 - )
Fixedtransient resolver failures (EAI_AGAIN) treated as terminal dead origin (review finding - )
race-leg attempt bound to leg-1 proxy identity (review finding - )
Fixedrace-leg attempt bound to leg-1 proxy identity (review finding - )
scrape_search_sub job insert omits organization_id (review finding — )
Fixedscrape_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 — )
FixedEdge 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 — )
Fixedpaid-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 — )
Fixedcustomer 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
Fixedcloud 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 — )
Fixedlease-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 — )
Fixedowner-only entitlement SQL only substring-tested, never executed against database (review finding — )
30d SLA availability and downtime-budget panels count unmeasured time as healthy
Fixed30d 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
Fixedpg 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 — )
Fixedcrawl 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
Fixedskip 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
Fixedsupport 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
Fixedcache 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 — )
Fixedbilling 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
Fixedcontainer 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 - )
Fixederror-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 — )
Fixedobs-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 — )
Fixedsettlement 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 — )
FixedV4-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 — )
Fixedincident 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
Fixedaging-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 — )
Fixedobs-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 — )
Fixeddegraded 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 — )
Fixedreplacement 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 — )
Fixedclassify_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 — )
Fixedcustom 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
Fixedheartbeat 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
Fixedlog-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 — )
Fixedphantom-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 — )
FixedRSI 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 )
Fixedcloud 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 — )
Fixedowner-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 — )
Fixedauto-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 - )
Fixedsite 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 — )
Fixeddb 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 — )
Fixedshare 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 - )
FixedTLS-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 - )
Fixedquick-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 — )
Fixedmid-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 — )
Fixedadd-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 — )
Fixedbudget errors swallowed by broad except in handlers (review finding — )
unbounded release_browser can block T4 deadline salvage (review finding — )
Fixedunbounded release_browser can block T4 deadline salvage (review finding — )
hung SHOW POOLS leaks executor threads (wait_for does not stop the thread) (review finding — )
Fixedhung SHOW POOLS leaks executor threads (wait_for does not stop the thread) (review finding — )
anchor bare chl_page managed-challenge marker (review finding — )
Fixedanchor bare chl_page managed-challenge marker (review finding — )
rejected T4 salvage discards classified challenge evidence (review finding — )
Fixedrejected T4 salvage discards classified challenge evidence (review finding — )
SDK-passive exemption skips bot protection system block-phrase guards (review finding - )
FixedSDK-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 — )
Fixedworker 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 — )
Fixedpaid-success SLO counts unsettled in-flight jobs as successes (review finding — )
duplicate SoftwareApplication JSON-LD on /pricing from root layout (review finding — )
Fixedduplicate SoftwareApplication JSON-LD on /pricing from root layout (review finding — )
Fix(api): /health cache check never fails — sync ping on async client (, )
FixedFix(api): /health cache check never fails — sync ping on async client (, )
same-day closed internal tooling not suppressed by future-skew guard (review finding — )
Fixedsame-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 — )
Fixeddegraded 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 — )
Fixedhotfix 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 — )
Fixedpreflight read-only contract is enforced by a weak regex denylist (review finding — )
follow-up: (deferred from )
Fixedfollow-up: (deferred from )
internal tooling writers bypass lifecycle lock and reset memos to 0600 (review findings — )
Fixedinternal tooling writers bypass lifecycle lock and reset memos to 0600 (review findings — )
org-scoped usage chart/breakdown drop legacy NULL-org rows (review finding — )
Fixedorg-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 — )
Fixedhotfix production-preflight job lacks protected-ref guard while holding prod SSH keys (review finding — )
follow-up: 1 deferred item(s) (deferred from )
Fixedfollow-up: 1 deferred item(s) (deferred from )
bound cache latency in entitlement cache and post-commit invalidation (review finding — )
Fixedbound cache latency in entitlement cache and post-commit invalidation (review finding — )
drop phantom args/kwargs from analytics funnel docs (deploy )
Fixeddrop phantom args/kwargs from analytics funnel docs (deploy )
follow-up: 3 deferred item(s) (deferred from )
Fixedfollow-up: 3 deferred item(s) (deferred from )
ship internal tooling-external.sh in trusted logical runtime (review finding — )
Fixedship internal tooling-external.sh in trusted logical runtime (review finding — )
Fix(shared): ungated SQL and cancelled admission bypass DB budget accounting (, )
FixedFix(shared): ungated SQL and cancelled admission bypass DB budget accounting (, )
sequential T3 retry loop ignores dead-origin and deterministic TLS causes between attempts
Fixedsequential 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
Fixedstatus-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 — )
Fixedb2b 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 — )
Fixedbroaden 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 — )
Fixedscheduled 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 — )
Fixedadd 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 — )
FixedAPI 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 — )
Fixeddeploy-cloud provider.sh does not assert the heartbeat-watchdog OK marker (review finding — )
sync SDK manifest to openapi v3.25.1 (deploy )
Fixedsync SDK manifest to openapi v3.25.1 (deploy )
tier-intelligence failure counters treat DNS/TLS/cert/tunnel failures as tier failures
Fixedtier-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 — )
Fixedenterprise-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
Fixedpaid 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)
FixedT4 session lands on Imperva SPA /error route on deep pages (no network capture, challenge evidence lost across deferred T4)
follow-up: (deferred from )
Fixedfollow-up: (deferred from )
unblock deploy (hotfix health contract wiring, 0445 migrations)
Fixedunblock deploy (hotfix health contract wiring, 0445 migrations)
reports and crawl routers read raw CF-Connecting-IP, bypassing get_client_ip rate-limit keying
Fixedreports 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
FixedNext.js middleware forwards client-supplied CF-Connecting-IP as trusted X-Forwarded-For
make internal service last-failure metric a scalar subquery
Fixedmake internal service last-failure metric a scalar subquery
keep connection pool server_idle_timeout below database idle_session_timeout
Fixedkeep 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 )
Fixedcrawl 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 - )
Fixeddeploy SLI finalizes ok from a partial unsettled post window (review finding - )
avoid phantom jobs on opt-in result-cache hits (deferred from )
Fixedavoid 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)
FixedStaging 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 — )
FixedCheck 2.5 matches .Status==exited, never true in real container (review finding — )
follow-up: (deferred from )
Fixedfollow-up: (deferred from )
follow-up: (deferred from )
Fixedfollow-up: (deferred from )
consolidate duplicate proxy network comparison blog posts
Fixedconsolidate duplicate proxy network comparison blog posts
accept contrecord database segments in archive header check
Fixedaccept contrecord database segments in archive header check
hotfix-deploy health probe curls http://localhost/health, which load balancer always 404s
Fixedhotfix-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
FixedRetentionSweepZeroRowsCreditBalanceMutations 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
FixedT3 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)
Fixedunblock deploy CI (root-trust bundle closure, 0444 migrations)
fence structure LIST ack and claim release on cancellation
Fixedfence structure LIST ack and claim release on cancellation
follow-up: Firefox bundle currency (deferred from )
Fixedfollow-up: Firefox bundle currency (deferred from )
follow-up: ZohoMailApiClient.list_messages unread window starvation past newest 200 messages (deferred from )
Fixedfollow-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)
FixedT4 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
Fixedshadow 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 - )
Fixedegress AST guard skips tests/scripts dirs at any depth (review finding - )
discover_site byte caps turn large sitemap/robots into not-found (review finding - )
Fixeddiscover_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
FixedT4 runs without a proxy for ~20% of T4 jobs with half the success rate
Enhanced Scraper Reliability and Diagnostic Transparency
Isolated Custom Browser Sessions
NewCustom 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
NewDiagnostic 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
ImprovedAutomated 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
ImprovedRequest 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
ImprovedPlus 12 internal improvements for better reliability and performance.
General improvements
ImprovedThis release includes general improvements and maintenance updates.
Billing Usage Chart Availability
FixedFixed 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
FixedCached 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
FixedResolved 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
FixedInbound 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
SecurityAuthentication 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
Fixedread Worker metadata from the JSON services endpoint
Fix: one failed refund aborts every stuck-job recovery sweep (greenlet_spawn after rollback)
FixedFix: one failed refund aborts every stuck-job recovery sweep (greenlet_spawn after rollback)
clear staging deploy gate failures for
Fixedclear staging deploy gate failures for
Fix: spend_limits error handlers raise TypeError (stdlib logger given structlog kwargs)
FixedFix: spend_limits error handlers raise TypeError (stdlib logger given structlog kwargs)
Fix(deploy): pre-stop old PgBouncer with SIGINT/10s before a spec recreate
FixedFix(deploy): pre-stop old PgBouncer with SIGINT/10s before a spec recreate
classify the production-action rehearsal bucket so off-site admission passes
Fixedclassify the production-action rehearsal bucket so off-site admission passes
tolerate multi-ticket email threads and replies on inbound mail
Fixedtolerate multi-ticket email threads and replies on inbound mail
Fix: remove stale liquorland/firstchoiceliquor configuration entries
FixedFix: remove stale liquorland/firstchoiceliquor configuration entries
deploy CI fixes (formatter , DATABASE_URL drift allowlist)
Fixeddeploy CI fixes (formatter , DATABASE_URL drift allowlist)
treat declared-off WAL archiving as intentional, not a failure
Fixedtreat declared-off WAL archiving as intentional, not a failure
executor session factory accepts budget_holder from app call sites
Fixedexecutor session factory accepts budget_holder from app call sites
signup-to-paid conversion fell from ~12% to ~4% since June 2026
Fixedsignup-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
FixedFix: 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
FixedFix: archive-imported email threads reopen as open tickets via the thread-reply path
Fix: Restore dispatch canonicalization tests and add dispatch-index cache test
FixedFix: Restore dispatch canonicalization tests and add dispatch-index cache test
Fix: Auto-recharge PUT/DELETE use org wallet owner; assert search-batch debit owner
FixedFix: Auto-recharge PUT/DELETE use org wallet owner; assert search-batch debit owner
Fix: T1/T2 parallel race per-leg attribution
FixedFix: T1/T2 parallel race per-leg attribution
Fix: T3 streaming race winner, cancel and bytes follow-ups (, )
FixedFix: T3 streaming race winner, cancel and bytes follow-ups (, )
drop undocumented mail provider status=0 unread filter
Fixeddrop undocumented mail provider status=0 unread filter
Fix: track deferred session replacement tasks and drain them in close_all
FixedFix: track deferred session replacement tasks and drain them in close_all
Fix: survive cache ack/requeue failure and supervise profile-claim reaper
FixedFix: survive cache ack/requeue failure and supervise profile-claim reaper
stream base backup archive into GPG to fit cloud provider disk
Fixedstream base backup archive into GPG to fit cloud provider disk
remove accidentally committed uv.lock
Fixedremove accidentally committed uv.lock
give scratch restore Postgres production's /dev/shm size
Fixedgive 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
FixedFix: 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
Fixedpack new root cron targets into the root-trust runtime bundle
Fix: restored reply draft drops internal-note flag (review finding — )
FixedFix: restored reply draft drops internal-note flag (review finding — )
High-Throughput Scraping and Billing Accuracy
Protected Site Evasion Reliability
ImprovedUpgraded 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
ImprovedOptimized 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
ImprovedSearch, 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
ImprovedPlus 6 internal improvements for better reliability and performance.
Automatic Target Error Redirect Detection
FixedScraping 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
FixedStreaming 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
FixedJobs 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
FixedUpdates 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
FixedFailed 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
FixedEnterprise 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
NewFeat: trusted-runtime install, docs and two-host activation for incident ingestion
Feat: Netcup durable incident spool and forwarder
NewFeat: Netcup durable incident spool and forwarder
Feat: off-host dead-man's switch for monitoring plane heartbeat watchdog
NewFeat: off-host dead-man's switch for monitoring plane heartbeat watchdog
Feat: expose fresh trusted monitoring evidence through read-only wrappers
NewFeat: 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
FixedFix: 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 )
FixedFix: 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
FixedFix: 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
FixedFix: terminal 404/410 failure cache and headers
Fix: proxy-auth (407) outage went unalerted — worker proxy faults never reach proxy metrics/reliability system
FixedFix: 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 — )
FixedFix: harden volatile-lru rollout runbook before execution (review findings — )
Improved Request Efficiency and Proxy Reliability
Optimized Rate and Slot Enforcement
ImprovedRequest 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
ImprovedProxy 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
ImprovedPlus 8 internal improvements for better reliability and performance.
Spend Limit Exception Recovery
FixedFixed 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
NewFeat: central-store IncidentStateSource with completeness and staleness
Fix: class-scoped ASN proxy route batch
FixedFix: class-scoped ASN proxy route batch
pin production-action caller to e75bd148d8 ( step 3)
Fixedpin production-action caller to e75bd148d8 ( step 3)
Fix: install and schedule heartbeat watchdog with Discord alert, contract test and deploy verification
FixedFix: install and schedule heartbeat watchdog with Discord alert, contract test and deploy verification
Fix: alert on stale off-site and physical backups
FixedFix: alert on stale off-site and physical backups
Optimized Routing and Increased Scrape Success
Optimized routing on protected targets
ImprovedWe 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
ImprovedThe 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
ImprovedWe 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
ImprovedPlus 8 internal improvements for better reliability and performance.
Faster API request processing
ImprovedScraping 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
ImprovedThis release includes general improvements and maintenance updates.
Reliable content delivery on late timeouts
FixedThe 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
FixedDuring 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
FixedWe 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
FixedUpstream 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
NewOur 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
NewYou 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
NewEvery 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
NewWe 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
ImprovedOur 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
ImprovedPlus 8 internal improvements for better reliability and performance.
Detailed error causes for failures
ImprovedFailed 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
ImprovedWe 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
ImprovedOur 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
ImprovedRequests 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
ImprovedWe 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
FixedCreating 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
FixedFailed 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
FixedJobs 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
FixedTemporary 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
FixedAPI 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
FixedThe 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
NewFeat: safety-loop freshness and liveness metrics
Feat: consume trusted incident state in preconditions and document lifecycle
NewFeat: consume trusted incident state in preconditions and document lifecycle
expose skip_tls_verification in Python and Node SDKs
Newexpose skip_tls_verification in Python and Node SDKs
per-request opt-out of TLS certificate verification
Newper-request opt-out of TLS certificate verification
Feat: deployed-version verifier for recurrence evidence
NewFeat: deployed-version verifier for recurrence evidence
Feat: enforce latency budgets in sla-tracker from probe timings
NewFeat: enforce latency budgets in sla-tracker from probe timings
Feat: separate recovery, fix and deploy states in incident lifecycle
NewFeat: separate recovery, fix and deploy states in incident lifecycle
Feat: production content-correctness synthetic probe cron
NewFeat: production content-correctness synthetic probe cron
Feat: add structured incident lifecycle record, claim and dedupe to eMemo helpers
NewFeat: add structured incident lifecycle record, claim and dedupe to eMemo helpers
canonical 429 body and Retry-After/RateLimit headers for every limiter
Newcanonical 429 body and Retry-After/RateLimit headers for every limiter
token-bucket (GCRA) burst allowance for per-key rate limits
Newtoken-bucket (GCRA) burst allowance for per-key rate limits
log and count every 429 with limiter, scope and tier
Newlog and count every 429 with limiter, scope and tier
fetch pages whose own TLS certificate is invalid by default
Fixedfetch pages whose own TLS certificate is invalid by default
Fix: resolve pool metric collision disabling safety monitors
FixedFix: resolve pool metric collision disabling safety monitors
persist a structured cause for generic terminal failures
Fixedpersist a structured cause for generic terminal failures
Fix: stop support socket failures from logging out active users
FixedFix: stop support socket failures from logging out active users
Fix: split connection failures from IP-reputation signals
FixedFix: split connection failures from IP-reputation signals
Fix: converge API Tier2HTTP onto single chrome136 profile constant
FixedFix: converge API Tier2HTTP onto single chrome136 profile constant
Fix: drop dead tables behind evidence gate (jobs_archive, stg_cbc_1436)
FixedFix: drop dead tables behind evidence gate (jobs_archive, stg_cbc_1436)
Fix: classify LLM failure cause (rate limit vs balance vs spend cap)
FixedFix: 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
FixedFix: memory-alert volume sizes for monitoring/redis and degraded status on skipped prune
undefined names silently disabling billing and compliance guards
Fixedundefined names silently disabling billing and compliance guards
Enhanced Concurrency and Payment Protection
Resilient Billing Checkout Recovery
NewThe 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
ImprovedStandard 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
ImprovedScrape 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
ImprovedStatus 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
ImprovedDiagnostic 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
ImprovedWe 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
ImprovedContent 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
ImprovedPlus 11 internal improvements for better reliability and performance.
Immediate capacity recovery
ImprovedYour 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
ImprovedThe 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
ImprovedCrawling 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
ImprovedScraping 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
ImprovedCustom 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
ImprovedHeadless 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
ImprovedWe 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
ImprovedAdvanced 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
ImprovedFixes , the deploy blocker that failed production deploy run 37634854383 at.
Improved Organization Billing Reliability
FixedOrganization 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
FixedOne-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
FixedThe 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
FixedError 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
FixedWhen 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
FixedDelayed 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
FixedIf 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
FixedCrawls 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
FixedThe 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
FixedDiagnostic 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
FixedThe 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
FixedOur 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
FixedWe 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
FixedFailed 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
FixedConcurrent 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
SecurityBrowser 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
SecurityBy 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
SecurityLegacy, 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
SecurityDeposits 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
SecurityDeactivated 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
SecurityGuards 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
SecurityOrganizations 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
FixedFix: enforce one deadline and typed capacity outcomes across T4
Stability & Performance
General bug fixes and improvements
ImprovedThis release includes 1 internal improvements for better reliability and performance.
Internal Improvements
General bug fixes and improvements
ImprovedThis release includes 1 internal improvements for better reliability and performance.
General improvements
ImprovedThis release includes general improvements and maintenance updates.
Performance Improvements
fix(ops): preserve legacy redaction placeholders
ImprovedIgnore 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
ImprovedThe 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
ImprovedContain at the existing caller boundary across 34 non-deposit billing/support routes (38 token operations).
fix(auth): retry deferred session validation
ImprovedKeep the session-validation success timestamp authoritative and separate from a bounded retry timestamp.
fix(api): return recoverable reauthentication on binding loss
ImprovedImplements 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
ImprovedRoute 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
ImprovedFail 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
ImprovedAdds 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
ImprovedAdd 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
ImprovedPlus 7 internal improvements for better reliability and performance.
cover percent-encoded usage tracking credentials
FixedFix 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
FixedHandle 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
FixedFix 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
FixedReturn 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
ImprovedWe 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
ImprovedAPI 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
ImprovedJobs 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
ImprovedPlus 14 internal improvements for better reliability and performance.
Preventing duplicate job execution
FixedThe 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
FixedScraping 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
FixedWe 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
FixedWe 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
SecurityWe 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
Fixedbound ambiguous settlement reconciliation
complete trusted root runtime rollout
Fixedcomplete trusted root runtime rollout
repair Netcup relay candidate recovery
Fixedrepair Netcup relay candidate recovery
align protected storage capture and restore contracts
align protected storage capture and restore contracts
Fixedalign protected storage capture and restore contracts
restore jobs import ordering
restore jobs import ordering
Fixedrestore jobs import ordering
gate shared PX hold success on clean content
Fixedgate shared PX hold success on clean content
preserve clean in-place hold challenge solves
Fixedpreserve clean in-place hold challenge solves
format promotion scraper changes
Fixedformat promotion scraper changes
repair promotion tests and OpenAPI archive
Fixedrepair promotion tests and OpenAPI archive
Fix: include proxy intent in successful scrape cache identity
FixedFix: include proxy intent in successful scrape cache identity
Fix: cast dashboard organization parameters before asyncpg execution
FixedFix: cast dashboard organization parameters before asyncpg execution
preserve terminal settlement when caching fails
Fixedpreserve terminal settlement when caching fails
remove GROUP BY alias from inactivity lifecycle query
Fixedremove GROUP BY alias from inactivity lifecycle query
Fix: align admin CRM queries with production schema
FixedFix: align admin CRM queries with production schema
Fix: type nullable organization parameters in dashboard SQL
FixedFix: type nullable organization parameters in dashboard SQL
Fix: add fail-closed eMemo ownership contract
FixedFix: add fail-closed eMemo ownership contract
Fix: preserve eMemo recovery identity on collision suffixes
FixedFix: preserve eMemo recovery identity on collision suffixes
isolate lifecycle integration-test schemas
Fixedisolate lifecycle integration-test schemas
block direct T4 when proxy-required rotation returns no URL
Fixedblock direct T4 when proxy-required rotation returns no URL
clear stale proxy outcome error type
Fixedclear stale proxy outcome error type
preserve requested country during reactive proxy acquisition
Fixedpreserve requested country during reactive proxy acquisition
Fix CI Downloads classification test runtime
FixedFix CI Downloads classification test runtime
persist reactive proxy requirement across T4 deferral
Fixedpersist reactive proxy requirement across T4 deferral
preserve BYOP type after reactive acquisition
Fixedpreserve BYOP type after reactive acquisition
retain credentials after canonical GET redirects
Fixedretain credentials after canonical GET redirects
Fix: run production identity preflight tests in CI
FixedFix: run production identity preflight tests in CI
Fix: run changelog watermark regression suite in CI
FixedFix: run changelog watermark regression suite in CI
Fix: format API key identity helper
FixedFix: format API key identity helper
Fix: complete API identity test settings
FixedFix: complete API identity test settings
normalize CRM lifecycle event names
Fixednormalize CRM lifecycle event names
normalize smoke identity organization monitoring system
Fixednormalize smoke identity organization monitoring system
Fix: resolve promotion changelog conflict
FixedFix: resolve promotion changelog conflict
Fix: run Marcode production preflight tests in CI
FixedFix: run Marcode production preflight tests in CI
require HTTPS for production test identity
Fixedrequire HTTPS for production test identity
require active PgBouncer waiters for maxwait alerts
Fixedrequire active PgBouncer waiters for maxwait alerts
Fix: repair promotion CI checks
FixedFix: repair promotion CI checks
Fix CI: include retained archive in backup fixture
FixedFix CI: include retained archive in backup fixture
Fix CI: terminate backup fixture COPY blocks
FixedFix CI: terminate backup fixture COPY blocks
Fix CI: model archive redaction in backup fixtures
FixedFix CI: model archive redaction in backup fixtures
repair credential policy SQL query
Fixedrepair credential policy SQL query
enforce protected-volume destination boundaries
Fixedenforce protected-volume destination boundaries
patch web image vulnerabilities
Fixedpatch web image vulnerabilities
preserve historical logical contracts
preserve historical logical contracts
Fixedpreserve historical logical contracts
classify retained production recovery tables
Fixedclassify retained production recovery tables
Secure Retries and Reliable Proxies
Preserve Custom Session Cookie Metadata
ImprovedYour 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
ImprovedRequests 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
ImprovedSuccessfully 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
ImprovedPlus 10 internal improvements for better reliability and performance.
Credentials Kept on Redirects
FixedAuthenticated 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
FixedYour 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
FixedDelayed 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
FixedWhen 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
FixedThe 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
FixedResolved 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
SecurityYour 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
SecurityRequests 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
Fixedreconcile active anti-bot system routing
Fix: preserve Cloudflare solve identity through clearance replay
Fix: preserve Cloudflare solve identity through clearance replay
FixedFix: preserve Cloudflare solve identity through clearance replay
Fix: preserve release history and generation watermark
FixedFix: preserve release history and generation watermark
Smarter Routing and Proxy Safety
Smarter IP Network Routing
ImprovedThe 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
ImprovedThe 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
ImprovedThe 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
ImprovedPlus 4 internal improvements for better reliability and performance.
Consistent Proxy Intent in SDKs
FixedThe 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
FixedWe 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
FixedExplicit 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
FixedWe 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
SecurityGeotargeting 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
ImprovedThis release includes 1 internal improvements for better reliability and performance.
Reliable JavaScript Requests
FixedJavaScript-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
FixedScraping 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
NewStaging Review: middleware accepts legacy unbound session cookies
atomically persist ad-validation state and queue work
Newatomically persist ad-validation state and queue work
Staging Review: admin-proxy rejects but does not expire legacy cookies
NewStaging Review: admin-proxy rejects but does not expire legacy cookies
inspect queued cache work before stale scrape refund/retry
Newinspect queued cache work before stale scrape refund/retry
parse nested template literals in Node SDK signatures (review finding — )
Newparse nested template literals in Node SDK signatures (review finding — )
track n8n runtime base-URL fix for ALT-68
Newtrack n8n runtime base-URL fix for ALT-68
forced render_js ignores Cloudflare proxy routing and sends T4 direct (ALT-73)
Newforced 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)
NewInvestigate: determine ASN-level egress reputation for truepeoplesearch.com WAF class using new ip_reputation telemetry (ALT-40 follow-up)
mark validation scripts executable
Fixedmark validation scripts executable
Decode quoted production dotenv escapes
FixedDecode quoted production dotenv escapes
Fix deployment recovery CI contracts
FixedFix deployment recovery CI contracts
Fix: wire Cloudflare origin regression suite
FixedFix: wire Cloudflare origin regression suite
update ad handoff test fake
Fixedupdate ad handoff test fake
repair staging CI contracts
Fixedrepair staging CI contracts
Fix: enforce dispatch entitlements for scrape fan-out
FixedFix: enforce dispatch entitlements for scrape fan-out
Fix: fence stale organization billing-owner cache
FixedFix: fence stale organization billing-owner cache
scope billing reads to organization principal
Fixedscope billing reads to organization principal
Fix: scope usage reads by organization
FixedFix: scope usage reads by organization
revoke removed organization member keys
Fixedrevoke removed organization member keys
repair organization API key cache coverage
Fixedrepair organization API key cache coverage
retire ad validation handoff marker
Fixedretire ad validation handoff marker
use organization principal for deposits
Fixeduse organization principal for deposits
align dispatch 429 schema with runtime
Fixedalign dispatch 429 schema with runtime
preserve batch billing source contract
Fixedpreserve batch billing source contract
scope personal tier-cap insights
Fixedscope personal tier-cap insights
Workspace Security and Unified Billing
Unified PAYG Balance Tiers
NewFunded 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
ImprovedBoth 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
ImprovedThe 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
ImprovedThis release includes general improvements and maintenance updates.
Multi-Workspace Billing Scoping
FixedUsage 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
FixedCustomer 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
FixedDashboard 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
FixedOwnership 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
FixedFixed 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
FixedResolves 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
FixedCorrected 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
FixedStandardized 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
SecurityHardened 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
SecurityInvited 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
NewConfigure 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
ImprovedScraping 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
ImprovedScraping 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
ImprovedGet 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
ImprovedPlus 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
ImprovedDecode valid quoted dotenv escapes exposed by production.
General improvements
ImprovedThis release includes general improvements and maintenance updates.
Fair billing for failed scrapes
FixedYou 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
FixedOur 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
FixedEvery 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
FixedEnjoy 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
FixedAll 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
FixedWe 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
FixedFix: parse generic raw request calls for SDK response drift
unblock opportunity report migration in CI
Fixedunblock opportunity report migration in CI
migrate unbound session cookies
Fixedmigrate unbound session cookies
enforce session binding on blog admin
Fixedenforce session binding on blog admin
fail closed revoked sessions
Fixedfail closed revoked sessions
reroll served static WAF blocks on fresh egress
Fixedreroll served static WAF blocks on fresh egress
Improved Scraping Reliability and Session Handling
General bug fixes and improvements
ImprovedPlus 1 internal improvement for better reliability and performance.
General improvements
ImprovedThis release includes general improvements and maintenance updates.
Reliable third-party sign-in flows
FixedWe modernized the secure data handoff during sign-ins. This eliminates transient authentication errors and ensures a seamless, reliable login experience.
Enhanced Scraping Reliability
FixedThe 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
FixedWe 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
SecurityActive 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
SecurityAPI 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
ImprovedThis release includes 2 internal improvements for better reliability and performance.
Durable crawl credit refunds
ImprovedScheduled 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
ImprovedThe 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
FixedYour 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
FixedWe 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
Fixedprepare staging for fresh deploy review
Reliable Batching and Cost Controls
Typed batch scraping responses
ImprovedThe 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
ImprovedThe 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
ImprovedThe 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
ImprovedPlus 9 internal improvements for better reliability and performance.
No debits for denied runs
FixedCredit 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
FixedTask 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
FixedA 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
FixedThe 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
SecurityAccess 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
Newdedicated split-screen signin and signup pages
cache mail provider Mail API OAuth token and folder ID across poll cycles
Improvedcache 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)
FixedFix: Netcup live-capacity gate net memory delta (deadlock on shrink+grow deploys)
Fix: phantom in-flight poisons repeat sync scrapes (85s hang + 504)
FixedFix: phantom in-flight poisons repeat sync scrapes (85s hang + 504)
Fix: validate ACTUAL_* replica counts through netcup_is_uint in live-capacity gate
FixedFix: validate ACTUAL_* replica counts through netcup_is_uint in live-capacity gate
Fix: structure-queue :processing LIST periodic reaper + finally-wrapped acks
FixedFix: structure-queue :processing LIST periodic reaper + finally-wrapped acks
Fix: _is_system_proxy misclassifies trailing-dot FQDN gateway hostname as BYOP
FixedFix: _is_system_proxy misclassifies trailing-dot FQDN gateway hostname as BYOP
Fix: document LIST reaper claimed-at hash invariant (review finding — )
FixedFix: document LIST reaper claimed-at hash invariant (review finding — )
Fix: sitemap advertises ~84 dead /docs-md/* URLs (404s)
FixedFix: sitemap advertises ~84 dead /docs-md/* URLs (404s)
Fix: exclude thin blog categories from sitemap to match noindex gate
FixedFix: exclude thin blog categories from sitemap to match noindex gate
Fix: clamp PROCESSING_REAPER_INTERVAL_S to a minimum
FixedFix: clamp PROCESSING_REAPER_INTERVAL_S to a minimum
Fix: release slot when resolve_extraction_route raises 400
FixedFix: release slot when resolve_extraction_route raises 400
Fix: remove dead cloud provider worker monitoring scrape jobs
FixedFix: remove dead cloud provider worker monitoring scrape jobs
Fix: auto-recharge invoices inaccessible in billing Receipts card
FixedFix: auto-recharge invoices inaccessible in billing Receipts card
Fix: add tier-policy escalation gate observability metric
FixedFix: add tier-policy escalation gate observability metric
Fix: AI engine Experiment stable created_at anchors retention window
FixedFix: AI engine Experiment stable created_at anchors retention window
Fix: escalation heuristics fire on byte-count/generic-exceptions without proven detection
FixedFix: escalation heuristics fire on byte-count/generic-exceptions without proven detection
Fix: enforce IP blacklist in rotating proxy mode
FixedFix: enforce IP blacklist in rotating proxy mode
Fix: let well-sampled tier evidence override authoritative min_tier floor
FixedFix: let well-sampled tier evidence override authoritative min_tier floor
Fix: route content-quality T3->T4 escalations through is_escalation_permitted
FixedFix: route content-quality T3->T4 escalations through is_escalation_permitted
Fix: remove customer-facing domain_not_supported dead-end in worker
FixedFix: remove customer-facing domain_not_supported dead-end in worker
Fix: route 3 worker fallback/race header merges through merge_headers_in_order
FixedFix: route 3 worker fallback/race header merges through merge_headers_in_order
capture CB-trip baseline in JobQueue.__init__ not lazily
Fixedcapture CB-trip baseline in JobQueue.__init__ not lazily
Fix: reload monitoring config on normal full deploy
FixedFix: reload monitoring config on normal full deploy
Fix: rate-limit gate honors precise wait_ms instead of flat 5s requeue ceiling
FixedFix: 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
FixedFix: proxy_provided debug log reports mode=rotating after an IP-blacklist reroll
avoid redundant is_domain_well_sampled cache round-trip
Fixedavoid redundant is_domain_well_sampled cache round-trip
Fix: fail closed on TLS parser breakage in chrome-upgrade-safety-gate
FixedFix: fail closed on TLS parser breakage in chrome-upgrade-safety-gate
Fix: auto-recharge falls back to amount+date when PaymentIntent ID is null
FixedFix: auto-recharge falls back to amount+date when PaymentIntent ID is null
Fix: headed semaphore slot stays reserved during bundled fallback in CF solver
FixedFix: headed semaphore slot stays reserved during bundled fallback in CF solver
Fix: normalize chrome136 JA3 field order before TLS drift comparison
FixedFix: normalize chrome136 JA3 field order before TLS drift comparison
Fix: bounded re-verification loop for IP-blacklist reroll (both sticky and rotating branches)
FixedFix: 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
FixedFix: 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)
FixedFix: 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'
FixedFix: 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)
FixedFix: restore RATE_LIMITED_RETRY_DELAY_SECONDS=0 kill switch (fallthrough into escalation delay)
Fix: agent_list_tickets status filter omits 'merged'
FixedFix: agent_list_tickets status filter omits 'merged'
Fix: proxy_provided log still reports mode=rotating for sticky-session domain-blacklist rotations
FixedFix: 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
FixedFix: TLS JA3 normalization sorts cipher field too, widening drift blind spot
correct stale fail-open docstring on verify_admin_api_key_rate_limited
Fixedcorrect stale fail-open docstring on verify_admin_api_key_rate_limited
Fix: cancellation of unregister_headed_solve can inflate soft in-flight counter
FixedFix: cancellation of unregister_headed_solve can inflate soft in-flight counter
Fix: escalate doctype-bearing empty-body shells in content_validator
FixedFix: escalate doctype-bearing empty-body shells in content_validator
Fix: whitespace-only agent note creates blank TicketReply
FixedFix: whitespace-only agent note creates blank TicketReply
Fix: headed-fallback metrics .inc exception swallow
FixedFix: headed-fallback metrics .inc exception swallow
Fix: record tier-3 success on content-quality escalation-denied path at T3
FixedFix: 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
FixedFix: 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
FixedFix: 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)
FixedFix: ALT-XXXX ref int parse can overflow Postgres int4 (500 instead of 400)
Fix: agent-merge audit note commits in same transaction as merge
FixedFix: 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
FixedFix: _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
FixedFix: 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 — )
FixedFix: pending unregister task not cleaned up on test assertion failure (review finding — )
Fix: narrow blanket except in leaked-task drain loop (review finding — )
FixedFix: narrow blanket except in leaked-task drain loop (review finding — )
Fix: set MALLOC_ARENA_MAX to cap glibc arena bloat on Netcup workers
FixedFix: 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)
FixedFix: internal service alert pipeline KeyError 'message' crashes alert_checks (83-92% failure)
Fix: orphan reaper SIGKILLs live Chrome child processes of pooled browsers
FixedFix: orphan reaper SIGKILLs live Chrome child processes of pooled browsers
Fix: authoritative configuration pins bypass browser-saturation downgrade guard
FixedFix: authoritative configuration pins bypass browser-saturation downgrade guard
Fix: jobs.tier_used mislabels browser_pool_exhausted as scraping tier
FixedFix: jobs.tier_used mislabels browser_pool_exhausted as scraping tier
Fix: orphan reaper dual-snapshot TOCTOU window (review finding — )
FixedFix: orphan reaper dual-snapshot TOCTOU window (review finding — )
Fix: batch of P3 reaper findings — orphan reaper
FixedFix: batch of P3 reaper findings — orphan reaper
Fix: Groq spend-cap reliability system doesn't trip on 402 (review finding — )
FixedFix: Groq spend-cap reliability system doesn't trip on 402 (review finding — )
Fix: type _pending_headed_unregister_tasks as set[asyncio.Task]
FixedFix: type _pending_headed_unregister_tasks as set[asyncio.Task]
recompute stale chrome136 TLS JA3 baseline
Fixedrecompute stale chrome136 TLS JA3 baseline
Fix: truncate role_arn in ARN-shape error message
FixedFix: truncate role_arn in ARN-shape error message
Fix: Receipts amount+date Any fallback can hide a real charge
FixedFix: Receipts amount+date Any fallback can hide a real charge
Fix: truncate role_arn in STS-failure warning log
FixedFix: truncate role_arn in STS-failure warning log
Fix: demographic profiles never acquire a real NID, false-green verification, wasted video bandwidth
FixedFix: 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
FixedFix: 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
FixedFix: unescaped $1 in ghost-project awk filter breaks Netcup skip guard
Fix: batch P3 findings — initialization cookie allowlist
FixedFix: batch P3 findings — initialization cookie allowlist
Fix: unbounded exception logging in storage provider clients
FixedFix: unbounded exception logging in storage provider clients
Fix: unbounded scroll-simulation loop causes 300s TIMEOUT on tall/iframe-hosted pages
FixedFix: unbounded scroll-simulation loop causes 300s TIMEOUT on tall/iframe-hosted pages
Fix: decouple cloud provider smoke-tests/Cloudflare sync from Netcup-only staleness
FixedFix: decouple cloud provider smoke-tests/Cloudflare sync from Netcup-only staleness
Fix: scroll_simulation_complete log fires even on deadline-truncated scroll
FixedFix: scroll_simulation_complete log fires even on deadline-truncated scroll
Fix: batch P3 review findings on deploy-/hotfix-
FixedFix: batch P3 review findings on deploy-/hotfix-
Fix: deterministic tiebreak for majority-vote image selector
FixedFix: deterministic tiebreak for majority-vote image selector
Fix: test import + event-loop breakages blocking staging→main CI
FixedFix: test import + event-loop breakages blocking staging→main CI
Fix: worker b2b test poisons session event loop (224 failures)
FixedFix: worker b2b test poisons session event loop (224 failures)
Fix: shared/ — hardcode HTTP client profile literal instead of deriving from CHROME_VERSION
FixedFix: shared/ — hardcode HTTP client profile literal instead of deriving from CHROME_VERSION
Fix: empty-text refund fires on every default-format scrape
FixedFix: empty-text refund fires on every default-format scrape
Fix: PI-less receipt suppresses by array order — wrong recharge can vanish
FixedFix: PI-less receipt suppresses by array order — wrong recharge can vanish
Fix: /blog newsletter "Stay in the Loop" section clipped by sticky reveal footer
FixedFix: /blog newsletter "Stay in the Loop" section clipped by sticky reveal footer
Fix: correct formatter placement of shared.aws.arn imports (CI red on )
FixedFix: correct formatter placement of shared.aws.arn imports (CI red on )
Fix: stop suppressed invoices from hiding their paired recharge
FixedFix: stop suppressed invoices from hiding their paired recharge
Fix: mirror openapi-artifact negation into deploy-
FixedFix: mirror openapi-artifact negation into deploy-
Fix: RecursionError in structurer pool from bs4 object crossing ProcessPoolExecutor boundary
FixedFix: RecursionError in structurer pool from bs4 object crossing ProcessPoolExecutor boundary
Fix: redact secrets from container-ro inspect output
FixedFix: redact secrets from container-ro inspect output
Fix: structure-stage failures never refund the scrape debit
FixedFix: structure-stage failures never refund the scrape debit
Fix: extraction pool bs4 strip recurses into nested list/dict values
FixedFix: extraction pool bs4 strip recurses into nested list/dict values
Fix: monitor-shell exec N<>/dev/tcp read-write redirect guard bypass
FixedFix: monitor-shell exec N<>/dev/tcp read-write redirect guard bypass
Fix: structure_insufficient_credits early-return never refunds scrape debit
FixedFix: structure_insufficient_credits early-return never refunds scrape debit
Fix: container-ro inspect exit code reflects jq's status, not container's
FixedFix: container-ro inspect exit code reflects jq's status, not container's
Fix: container-ro redaction pattern misses bare CREDENTIALS-style var names
FixedFix: container-ro redaction pattern misses bare CREDENTIALS-style var names
Fix: migration 0288 number collision + CI guard for staging PRs
FixedFix: migration 0288 number collision + CI guard for staging PRs
Fix: black-format import block (review finding — )
FixedFix: black-format import block (review finding — )
Fix: check_t4_circuit_breaker docstring overstates recency of cache-backed data
FixedFix: 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
FixedFix: 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)
FixedFix: 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
FixedFix: _record_tier_success decay expiry parity with _record_tier_failure
Fix: precedence-table docstring order mismatch
FixedFix: precedence-table docstring order mismatch
Fix: stale precedence count and authority_source order
FixedFix: stale precedence count and authority_source order
Fix: rebalance billing page layout into actions row + full-width history stack
FixedFix: rebalance billing page layout into actions row + full-width history stack
Fix: has_billing_account optionality mismatch between Pydantic and TS (review finding — )
FixedFix: has_billing_account optionality mismatch between Pydantic and TS (review finding — )
make sync-ssh-guard.sh coverage check recursive
Fixedmake sync-ssh-guard.sh coverage check recursive
Fix: dead hasReceipt conditionals in Receipts.tsx after (review finding)
FixedFix: dead hasReceipt conditionals in Receipts.tsx after (review finding)
Fix: sync-ssh-guard.sh coverage check silently excludes symlinks
FixedFix: sync-ssh-guard.sh coverage check silently excludes symlinks
Fix: validate Location header host in billing receipts redirect proxy
FixedFix: validate Location header host in billing receipts redirect proxy
Fix: appleboy/ssh-action Go-template --format leftover in hotfix- Verify deployment health step
FixedFix: 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
Fixedobserve find's exit status in sync-ssh-guard.sh coverage check
Fix: billing identity fields can't be cleared once set (review finding — )
FixedFix: billing identity fields can't be cleared once set (review finding — )
Fix: sync-ssh-guard.sh mktemp failure now fails loudly
FixedFix: sync-ssh-guard.sh mktemp failure now fails loudly
Fix: add idempotency key to close Stripe customer creation race
FixedFix: add idempotency key to close Stripe customer creation race
Fix: loadBillingIdentity has no org-switch staleness guard
FixedFix: loadBillingIdentity has no org-switch staleness guard
Fix: tax-ID diff not atomic against mid-loop Stripe errors
FixedFix: tax-ID diff not atomic against mid-loop Stripe errors
Fix: account-reclaim never deletes attacker's Stripe Customer object
FixedFix: account-reclaim never deletes attacker's Stripe Customer object
Fix: billing identity form fields missing labels
FixedFix: billing identity form fields missing labels
Fix: Stripe error detail returned verbatim in billing identity 502 response
FixedFix: Stripe error detail returned verbatim in billing identity 502 response
Fix: billing identity fields flash stale org data pre-paint
FixedFix: billing identity fields flash stale org data pre-paint
Fix: billing identity docstring + narrow InvalidRequestError safe-branch
FixedFix: billing identity docstring + narrow InvalidRequestError safe-branch
Fix: staleness guard is check-then-act, not atomic
FixedFix: staleness guard is check-then-act, not atomic
Fix: _strip_bs4_recursive skips __slots__ when object also has __dict__
FixedFix: _strip_bs4_recursive skips __slots__ when object also has __dict__
Fix: install amcheck + arm btree-corruption detection for domain_analytics_pkey
FixedFix: install amcheck + arm btree-corruption detection for domain_analytics_pkey
Fix: reconcile bt_index_check probe timeouts in error-trigger.sh
FixedFix: reconcile bt_index_check probe timeouts in error-trigger.sh
Fix: sticky cookie jar race — non-atomic GET/merge/SETEX drops concurrent captures
FixedFix: sticky cookie jar race — non-atomic GET/merge/SETEX drops concurrent captures
Fix: billing pre-estimate ignores force_tier="4"
FixedFix: billing pre-estimate ignores force_tier="4"
Sync: Update SDKs — sticky_session, sticky_session_ttl (from )
FixedSync: Update SDKs — sticky_session, sticky_session_ttl (from )
Fix: _iter_slot_names re-walks already-scrubbed __dict__ slot in _strip_bs4_recursive
FixedFix: _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
FixedFix: 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
FixedFix: Node SDK omits client-side sticky_session validation present in Python SDK
Fix: pcall-guard incoming cjson.decode in _STICKY_MERGE_LUA (review finding — )
FixedFix: pcall-guard incoming cjson.decode in _STICKY_MERGE_LUA (review finding — )
Fix: amcheck bt_index_check probe has no cross-tick caching/backoff
FixedFix: 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
FixedFix: 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 — )
FixedFix: 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
FixedFix: statement_timeout cancellation misclassified as index corruption in error-trigger.sh
Fix: primary API pre-estimate ignores force_tier="4" (review finding — )
FixedFix: primary API pre-estimate ignores force_tier="4" (review finding — )
Fix: _STICKY_MERGE_LUA guard accepts array-shaped payloads; test fake stricter than Lua
FixedFix: _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
FixedFix: server-side sticky merge re-validates shape/length of existing jar entries
Fix: guard fragile HeaderWriteError import against Python 3.11.x patch skew
FixedFix: guard fragile HeaderWriteError import against Python 3.11.x patch skew
Fix: stdlib-logger kwarg calls in create_job would TypeError if emitted
FixedFix: stdlib-logger kwarg calls in create_job would TypeError if emitted
Fix: T2.6 AMP-discovery quick-fetch egresses proxyless while sticky pinned
FixedFix: T2.6 AMP-discovery quick-fetch egresses proxyless while sticky pinned
Fix: log coverage-gap signal on bt_index_check statement_timeout abort
FixedFix: log coverage-gap signal on bt_index_check statement_timeout abort
Fix: strip control chars from captured sticky-session cookies before persist/replay
FixedFix: strip control chars from captured sticky-session cookies before persist/replay
Fix: capture T3 browser-tier cookies into captured_cookies
FixedFix: capture T3 browser-tier cookies into captured_cookies
bound bt_index_check probe loop with overall latency budget
Fixedbound bt_index_check probe loop with overall latency budget
gate amcheck cooldown reset/memo-clear on real scan pass
Fixedgate amcheck cooldown reset/memo-clear on real scan pass
Fix: stdlib-logger kwarg calls in cancel_job would TypeError if emitted
FixedFix: 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
FixedFix: amcheck transient-probe-failure path lacks a WARN log for on-call visibility
Fix: narrow HeaderWriteError fallback alias catch scope in
FixedFix: narrow HeaderWriteError fallback alias catch scope in
Fix: sanitize cookie jar in before persist/replay
FixedFix: sanitize cookie jar in before persist/replay
Fix: setup-mail-dns.sh interpolates shell vars into inline python3 -c source
FixedFix: 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
FixedFix: 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
FixedFix: store_cookies overwrites valid jar with empty jar on fully-invalid harvest
Fix: ememo runbook container exec psql to obs-psql
FixedFix: ememo runbook container exec psql to obs-psql
Fix: residual shell-to-python3 interpolation in SPF log line
FixedFix: residual shell-to-python3 interpolation in SPF log line
Fix: herald email failover to Resend bypasses SMTP CRLF header-injection guard
FixedFix: herald email failover to Resend bypasses SMTP CRLF header-injection guard
Fix: add missing rollback file for migration 0296 (amcheck extension)
FixedFix: add missing rollback file for migration 0296 (amcheck extension)
Fix: guard index-name interpolation in amcheck auto-repair (defense-in-depth)
FixedFix: guard index-name interpolation in amcheck auto-repair (defense-in-depth)
Fix: get_cookies lacks read-side re-sanitization for rolling-deploy window
FixedFix: get_cookies lacks read-side re-sanitization for rolling-deploy window
Fix: retry-with-differentiation requeue has same force_tier=4 rolling-deploy gap
FixedFix: retry-with-differentiation requeue has same force_tier=4 rolling-deploy gap
Fix: add test coverage for retry-differentiation force_tier routing (review finding — )
FixedFix: add test coverage for retry-differentiation force_tier routing (review finding — )
Fix: scope cross-origin cookies to target domain before sticky jar
FixedFix: scope cross-origin cookies to target domain before sticky jar
Fix: unused Optional import in
FixedFix: unused Optional import in
Fix: cookie bracket-access KeyError risk in _filter_cookies_to_target
FixedFix: cookie bracket-access KeyError risk in _filter_cookies_to_target
Fix: byos_applied mislabeled true for sticky-session-only requests
FixedFix: byos_applied mislabeled true for sticky-session-only requests
Fix: weekly_business_metrics(weeks=0) silently returns all weeks
FixedFix: weekly_business_metrics(weeks=0) silently returns all weeks
Fix: herald CRLF guard doesn't cover Unicode line separators / NUL bytes
FixedFix: herald CRLF guard doesn't cover Unicode line separators / NUL bytes
Fix: _send_via_resend lacks defense-in-depth CRLF guard its docstring implies
FixedFix: _send_via_resend lacks defense-in-depth CRLF guard its docstring implies
Fix: fallback _registrable_domain lacks short-SLD handling
FixedFix: fallback _registrable_domain lacks short-SLD handling
Fix: fail closed on unparseable target URL in cookie scoping
FixedFix: fail closed on unparseable target URL in cookie scoping
Fix: sanitize response cookies in update_cookies
FixedFix: sanitize response cookies in update_cookies
Fix: strip_control_chars misses C1 range and Cf/Zl/Zp categories
FixedFix: strip_control_chars misses C1 range and Cf/Zl/Zp categories
Fix: gate sticky-cookie capture directly on STICKY_SESSIONS_ENABLED kill switch
FixedFix: gate sticky-cookie capture directly on STICKY_SESSIONS_ENABLED kill switch
Fix: rework billing top row to kill card whitespace
FixedFix: rework billing top row to kill card whitespace
Fix: harden sanitize_cookie_jar against lone UTF-16 surrogates
FixedFix: harden sanitize_cookie_jar against lone UTF-16 surrogates
Fix: anti-bot system cookie pool write-starved — replenish from every successful session
FixedFix: anti-bot system cookie pool write-starved — replenish from every successful session
Fix: persist failure_reason in usage-tracking metadata for search 504 timeouts
FixedFix: persist failure_reason in usage-tracking metadata for search 504 timeouts
Fix: anti-bot system/Distil-Imperva engine-selection routing
FixedFix: anti-bot system/Distil-Imperva engine-selection routing
Fix: burned-IP blacklist check skipped on force_sticky / RESERVED_HARD proxy paths
FixedFix: burned-IP blacklist check skipped on force_sticky / RESERVED_HARD proxy paths
Fix: SSR 500 on /dashboard/support/[id] — isomorphic-dompurify jsdom asset ENOENT
FixedFix: SSR 500 on /dashboard/support/[id] — isomorphic-dompurify jsdom asset ENOENT
Fix: single-source cookie_manager sanitize bounds
FixedFix: single-source cookie_manager sanitize bounds
Fix: close portal Configuration create race with idempotency key
FixedFix: close portal Configuration create race with idempotency key
Fix: parallel-IP race fires identical requests at zero stagger
FixedFix: parallel-IP race fires identical requests at zero stagger
Fix: remove stale hardcoded Chrome/120 UA from
FixedFix: remove stale hardcoded Chrome/120 UA from
Fix: ASN reroll closure replicates unlocked session-id read TOCTOU
FixedFix: ASN reroll closure replicates unlocked session-id read TOCTOU
Fix: configuration-hint cold-start fallback missing anti-bot system/Distil-Imperva arms
FixedFix: 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 — )
FixedFix: 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
FixedFix: 4 sibling admin pages may share the SSR-unconditional-dompurify-sanitize crash class
Fix: task1 orphaned if _streaming_ip_race cancelled mid-stagger
FixedFix: task1 orphaned if _streaming_ip_race cancelled mid-stagger
Fix: guarantee browser close on exception paths in cookie harvester
FixedFix: guarantee browser close on exception paths in cookie harvester
Fix: cache pool-key format migration gap misses pre-deploy old-format keys
FixedFix: cache pool-key format migration gap misses pre-deploy old-format keys
Fix: stale sanitized HTML can flash in broadcast preview dialog
FixedFix: stale sanitized HTML can flash in broadcast preview dialog
Fix: sync sec-ch-ua client hints to CHROME_VERSION on live worker Playwright contexts
FixedFix: sync sec-ch-ua client hints to CHROME_VERSION on live worker Playwright contexts
Fix: correct misleading docstring on unused harvested user_agent
FixedFix: correct misleading docstring on unused harvested user_agent
Fix: has_control_chars does not catch lone surrogates (Cs category)
FixedFix: has_control_chars does not catch lone surrogates (Cs category)
Fix: stale sanitized email body can briefly pair with wrong message header
FixedFix: stale sanitized email body can briefly pair with wrong message header
re-check domain/session match before RESERVED_HARD reroll mutation
Fixedre-check domain/session match before RESERVED_HARD reroll mutation
Fix: preserve reroll state in _reroll_ip_if_blacklisted exception handler
FixedFix: preserve reroll state in _reroll_ip_if_blacklisted exception handler
Fix: AI engine experimental hardcodes stale Chrome UA, no client-hint sync
FixedFix: AI engine experimental hardcodes stale Chrome UA, no client-hint sync
Fix: strengthen assertions in
FixedFix: strengthen assertions in
Fix: close residual TOCTOU window in ASN-reroll two-lock structure
FixedFix: close residual TOCTOU window in ASN-reroll two-lock structure
Fix: close sibling unlocked-read TOCTOU in reroll paths
FixedFix: close sibling unlocked-read TOCTOU in reroll paths
SHARED-segment ASN reroll lacks idempotency guard present in RESERVED_HARD reroll
FixedSHARED-segment ASN reroll lacks idempotency guard present in RESERVED_HARD reroll
Fix: disambiguate unverified-reroll mode_suffix in
FixedFix: disambiguate unverified-reroll mode_suffix in
Fix: useLayoutEffect triggers SSR console warning on admin email page
FixedFix: useLayoutEffect triggers SSR console warning on admin email page
Fix: unlocked session-id reads in log statements
FixedFix: unlocked session-id reads in log statements
unblock staging→main deploy
Fixedunblock staging→main deploy
Fix: T2 race sequential composition — T2 starts at t=0
FixedFix: T2 race sequential composition — T2 starts at t=0
Fix: sibling IP/domain-blacklist reroll missing idempotency guard
FixedFix: sibling IP/domain-blacklist reroll missing idempotency guard
Fix: route Kasada/Shape through vendor_engine (write-only detection gap)
FixedFix: route Kasada/Shape through vendor_engine (write-only detection gap)
fall back to legacy pool key in identity selection path
Fixedfall back to legacy pool key in identity selection path
Fix: broadcasts stale-preview guard uses isomorphic layout effect
FixedFix: broadcasts stale-preview guard uses isomorphic layout effect
Fix: extend authoritative min_tier floor override to vendor-class evidence
FixedFix: 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
FixedFix: decay cold-start antibot_skip_t2 counter instead of blanket 14-day expiry lock
Fix: event-driven Turnstile wait (replaces fixed poll loops)
FixedFix: event-driven Turnstile wait (replaces fixed poll loops)
Fix: make T2 race timeout budget-aware, matching T3/T4 pattern
FixedFix: make T2 race timeout budget-aware, matching T3/T4 pattern
Fix: _compute_timezone_offset except clause missing TypeError guard
FixedFix: _compute_timezone_offset except clause missing TypeError guard
Fix: legacy-pool migration path skips size-cap prune
FixedFix: legacy-pool migration path skips size-cap prune
Fix: vendor-class floor override doesn't verify evidence source matches floor origin
FixedFix: 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
FixedFix: cffi_task can leak on exception/cancellation during T2 race head-start window
Fix: remove duplicate assertion in anti-bot system proxy_url test
FixedFix: remove duplicate assertion in anti-bot system proxy_url test
Fix: get_domain_stats double-counts identity during old/new pool-key migration window
FixedFix: get_domain_stats double-counts identity during old/new pool-key migration window
Fix: curl_task can leak on external cancellation in T2 race
FixedFix: curl_task can leak on external cancellation in T2 race
Fix: AsyncMock pipe fixture mismatches sync sadd/expire calls
FixedFix: AsyncMock pipe fixture mismatches sync sadd/expire calls
Fix: legacy-pool migration prune converges to cap in one pass
FixedFix: legacy-pool migration prune converges to cap in one pass
Fix: stub redis.scard in legacy-pool fallback test
FixedFix: stub redis.scard in legacy-pool fallback test
Fix: identity_id_set uses set[str] annotation in get_domain_stats
FixedFix: 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
FixedFix: scope T4 stealth retry to the solve step, not full pipeline re-invocation
Fix: remove TOCTOU EXISTS+SMEMBERS gap on legacy pool key in
FixedFix: remove TOCTOU EXISTS+SMEMBERS gap on legacy pool key in
Fix: distinguish predicate errors from expected teardown in Turnstile wait
FixedFix: distinguish predicate errors from expected teardown in Turnstile wait
Fix: gate stealth-retry wait-skip on actual challenge re-check
FixedFix: gate stealth-retry wait-skip on actual challenge re-check
Fix: cap Turnstile wait_for_function polling to 250ms
FixedFix: cap Turnstile wait_for_function polling to 250ms
Fix: Turnstile solve_mode signal never populated on failure branch
FixedFix: Turnstile solve_mode signal never populated on failure branch
Fix: guard prune size-check with per-domain lock
FixedFix: guard prune size-check with per-domain lock
Fix: narrow movement-task except to CancelledError only
FixedFix: narrow movement-task except to CancelledError only
Fix: add Phase 3 movement-task cancellation tests (review finding )
FixedFix: add Phase 3 movement-task cancellation tests (review finding )
Fix: per-agent CSAT (by_admin) always empty — attribute via reply author fallback
FixedFix: per-agent CSAT (by_admin) always empty — attribute via reply author fallback
Fix: auto-drop orphaned _ccnew/_ccold indexes from interrupted REINDEX CONCURRENTLY
FixedFix: 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
FixedFix: 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
FixedFix: herald_api_conn ememo alert false-fires on Bing indexing events
Fix: exercise Turnstile wait JS predicates against a real page
FixedFix: exercise Turnstile wait JS predicates against a real page
Fix: finally-block release masking original exception in _check_and_prune_pool
FixedFix: finally-block release masking original exception in _check_and_prune_pool
Fix: CSAT LATERAL subquery doesn't exclude internal notes — attribution theft
FixedFix: CSAT LATERAL subquery doesn't exclude internal notes — attribution theft
Fix: adidas empty-query listing rewrite returns Bad Request as billable HTTP 200
FixedFix: adidas empty-query listing rewrite returns Bad Request as billable HTTP 200
Fix: require valid same-table sibling before _ccnew/_ccold auto-drop
FixedFix: require valid same-table sibling before _ccnew/_ccold auto-drop
Fix: clarify _launch_real_chromium docstring re: live_benchmark marker
FixedFix: clarify _launch_real_chromium docstring re: live_benchmark marker
Fix: CSAT LATERAL subquery non-deterministic tiebreak
FixedFix: CSAT LATERAL subquery non-deterministic tiebreak
Fix: tier_intelligence gather short-circuit + log swallowed cache errors
FixedFix: tier_intelligence gather short-circuit + log swallowed cache errors
Fix: AI engine hypothesis generation now self-heals around a dead OpenRouter free model
FixedFix: 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
FixedFix: telemetry outcome misclassified as failed when upstream status is non-2xx
Fix: add debug log to silent CF T2 IP-reputation recorder except block
FixedFix: add debug log to silent CF T2 IP-reputation recorder except block
Fix: surface tier_status_codes in UnifiedScrapeResponse construction sites
FixedFix: surface tier_status_codes in UnifiedScrapeResponse construction sites
Fix: block replies with failed attachments
FixedFix: block replies with failed attachments
Fix: release spend reservations on validation exits
FixedFix: release spend reservations on validation exits
Fix: retry webhook lock heartbeat after cache errors
FixedFix: retry webhook lock heartbeat after cache errors
Fix: compensate debit when webhook validation fails
FixedFix: compensate debit when webhook validation fails
Fix: first_indexed query failure now surfaces as a distinct signal
FixedFix: first_indexed query failure now surfaces as a distinct signal
Fix: assert absence of stall log in disabled-organic-cache test
FixedFix: assert absence of stall log in disabled-organic-cache test
Fix: fail migration runner when transactional SQL aborts
FixedFix: fail migration runner when transactional SQL aborts
Fix: shutdown refund idempotency key mismatch with API reaper (double-refund)
FixedFix: shutdown refund idempotency key mismatch with API reaper (double-refund)
Fix: structure-job refund idempotency key matches API reaper
FixedFix: structure-job refund idempotency key matches API reaper
Fix: restore_from_backup atomic via --single-transaction
FixedFix: restore_from_backup atomic via --single-transaction
Fix: deploy.sh stateful-recreate advisory omits healthcheck changes
FixedFix: deploy.sh stateful-recreate advisory omits healthcheck changes
Fix: failed refunds now durably retried via record_failed_refund
FixedFix: failed refunds now durably retried via record_failed_refund
Fix: shutdown refund exception emits billing_discrepancy for ops alerting
FixedFix: shutdown refund exception emits billing_discrepancy for ops alerting
Fix: deploy.sh Check 4 healthcheck awk extraction uses unanchored test: match
FixedFix: deploy.sh Check 4 healthcheck awk extraction uses unanchored test: match
Fix: replay entry can be stranded by CancelledError mid-replay
FixedFix: replay entry can be stranded by CancelledError mid-replay
Fix: scope deploy.sh Check 4 envsubst call to explicit allowlist
FixedFix: scope deploy.sh Check 4 envsubst call to explicit allowlist
Fix: worker tests assert stale refund idempotency key, red on staging
FixedFix: worker tests assert stale refund idempotency key, red on staging
Fix: refund_retry early dead-letter branches unprotected against CancelledError
FixedFix: refund_retry early dead-letter branches unprotected against CancelledError
Fix: shield refund compensation from CancelledError in shutdown finalize
FixedFix: shield refund compensation from CancelledError in shutdown finalize
Fix: refund_retry logs raw payload at ERROR level
FixedFix: refund_retry logs raw payload at ERROR level
Fix: shutdown early return skips scrape-stage success metrics
FixedFix: shutdown early return skips scrape-stage success metrics
Fix: refund_retry duplicate dead-letter write under cancellation timing
FixedFix: refund_retry duplicate dead-letter write under cancellation timing
Fix: align refund principal test with helper
FixedFix: align refund principal test with helper
document Netcup cache recreation safety
Fixeddocument Netcup cache recreation safety
enforce decrement ledger foreign keys
Fixedenforce decrement ledger foreign keys
clarify storage startup behavior
Fixedclarify storage startup behavior
record cancelled refund retries
Fixedrecord cancelled refund retries
refund_retry dead-letter dedupe field not asserted in 3 test call sites (review finding — )
Fixedrefund_retry dead-letter dedupe field not asserted in 3 test call sites (review finding — )
cover shielded shutdown cancellation
Fixedcover shielded shutdown cancellation
mark local structurer dequeue healthy
Fixedmark local structurer dequeue healthy
prevent destructive historical replays
Fixedprevent destructive historical replays
distinguish equal fallback retry entries
Fixeddistinguish equal fallback retry entries
eagerly acquire system proxy
Fixedeagerly acquire system proxy
compensate ambiguous refund retry requeues
Fixedcompensate ambiguous refund retry requeues
separate local and shared cache health
Fixedseparate local and shared cache health
validate historical preflight during dry-run
Fixedvalidate historical preflight during dry-run
complete spend adjustment after shielded refund cancellation
Fixedcomplete spend adjustment after shielded refund cancellation
route _compensate_api_debit failures into durable refund-retry queue
Fixedroute _compensate_api_debit failures into durable refund-retry queue
Fix: close duplicate-backup-cron detection gap in setup-cron.sh
FixedFix: close duplicate-backup-cron detection gap in setup-cron.sh
Fix: guard post-commit cache invalidation to prevent 500s and skipped audit logs
FixedFix: guard post-commit cache invalidation to prevent 500s and skipped audit logs
Fix: preserve first-run dry-run preview (review finding — )
FixedFix: preserve first-run dry-run preview (review finding — )
Fix: migration 0300 notifications_type_check ACCESS EXCLUSIVE lock (NOT VALID split)
FixedFix: migration 0300 notifications_type_check ACCESS EXCLUSIVE lock (NOT VALID split)
guard credit_balance_cache writes against incomplete-ledger recompute
Fixedguard credit_balance_cache writes against incomplete-ledger recompute
Fix: health checks must detect a schema/table-empty database
FixedFix: health checks must detect a schema/table-empty database
restore repeat-scrape hint dropped by fire-and-forget refactor
Fixedrestore repeat-scrape hint dropped by fire-and-forget refactor
Fix: anchor MANAGED_SCRIPT_PATTERN to path/word boundary in setup-cron.sh
FixedFix: anchor MANAGED_SCRIPT_PATTERN to path/word boundary in setup-cron.sh
assert data-plane health in blue/green gate, not just container status
Fixedassert data-plane health in blue/green gate, not just container status
validate backup integrity before upload or success report
Fixedvalidate backup integrity before upload or success report
wrap container exec in verify_data_plane_health with an outer timeout
Fixedwrap container exec in verify_data_plane_health with an outer timeout
size offsite-backup disk preflight to round-trip verification footprint
Fixedsize offsite-backup disk preflight to round-trip verification footprint
hotfix- stale-backup purge lacks newest-backup floor
Fixedhotfix- stale-backup purge lacks newest-backup floor
add incident lockout to production deploy
Fixedadd incident lockout to production deploy
freeze deploys after a hotfix-cancelled mid-migration run
Fixedfreeze deploys after a hotfix-cancelled mid-migration run
restore rename-swap fails when live database does not exist
Fixedrestore rename-swap fails when live database does not exist
catch material partial data loss in restore plausibility gate
Fixedcatch material partial data loss in restore plausibility gate
Fix: restore recharge_attempts_credited_ledger_id_fkey
FixedFix: restore recharge_attempts_credited_ledger_id_fkey
fail loudly on cancelled-path DEPLOY_FREEZE write failure
Fixedfail loudly on cancelled-path DEPLOY_FREEZE write failure
Fix: backup coverage is a hardcoded exclusion list — new tables are silently unprotected
FixedFix: backup coverage is a hardcoded exclusion list — new tables are silently unprotected
P3 batch — offsite-backup trap order, scratch dir, fail-closed disk checks
FixedP3 batch — offsite-backup trap order, scratch dir, fail-closed disk checks
Fix: refund retry dead-letter write can silently fail after lrem compensation
FixedFix: refund retry dead-letter write can silently fail after lrem compensation
batch P3 fixes — deploy-freeze clear/set asymmetry + verification docs
Fixedbatch P3 fixes — deploy-freeze clear/set asymmetry + verification docs
bound and batch validate-backup.sh manifest, fail-closed role detection
Fixedbound and batch validate-backup.sh manifest, fail-closed role detection
validate RESTORE_MIN_RETENTION_RATIO before use
Fixedvalidate RESTORE_MIN_RETENTION_RATIO before use
set executable bit and use merge-base diff in hotfix-marker coverage check
Fixedset executable bit and use merge-base diff in hotfix-marker coverage check
compensate ambiguous refund retry requeue on CancelledError
Fixedcompensate ambiguous refund retry requeue on CancelledError
P3 batch — restore-safety fail-closed guards, reaper, test coverage
FixedP3 batch — restore-safety fail-closed guards, reaper, test coverage
add rename/copy diff-parsing regression coverage to hotfix-unsafe marker check
Fixedadd rename/copy diff-parsing regression coverage to hotfix-unsafe marker check
fail closed on 5 registry/coverage edge cases in backup-database.sh
Fixedfail closed on 5 registry/coverage edge cases in backup-database.sh
fail closed on FK exposure into data-excluded backup tables
Fixedfail closed on FK exposure into data-excluded backup tables
P3 review-finding batch on run-migrations.sh reap/coverage checks
FixedP3 review-finding batch on run-migrations.sh reap/coverage checks
document and guard migration /CONCURRENTLY-index patterns (batch )
Fixeddocument and guard migration /CONCURRENTLY-index patterns (batch )
batch P3 fixes to backup-database.sh registry parser and FK preflight
Fixedbatch P3 fixes to backup-database.sh registry parser and FK preflight
verify pre-migration dump integrity (gzip -t + completion trailer) in run-migrations.sh
Fixedverify pre-migration dump integrity (gzip -t + completion trailer) in run-migrations.sh
fail closed on offsite-backup scratch-dir and -size failures
Fixedfail closed on offsite-backup scratch-dir and -size failures
fail closed on unparseable WAL archiver failed_count
Fixedfail closed on unparseable WAL archiver failed_count
replace validate-backup.sh eMemo denylist sanitizer with printf-based construction
Fixedreplace validate-backup.sh eMemo denylist sanitizer with printf-based construction
re-read ledger sum before guard call in reconcile_all_inconsistent_balances
Fixedre-read ledger sum before guard call in reconcile_all_inconsistent_balances
add mutual exclusion to validate-backup.sh scratch-DB restore
Fixedadd mutual exclusion to validate-backup.sh scratch-DB restore
revoke PUBLIC EXECUTE on credit_balance_cache_upsert
Fixedrevoke PUBLIC EXECUTE on credit_balance_cache_upsert
paren-depth-aware call slicing in test_repeat_tracking_is_awaited_for_same_request_hint
Fixedparen-depth-aware call slicing in test_repeat_tracking_is_awaited_for_same_request_hint
rate-limit the DB-backed /api/health/ready endpoint
Fixedrate-limit the DB-backed /api/health/ready endpoint
clear stale structure claim during crash recovery
Fixedclear stale structure claim during crash recovery
add disk-space preflight for validate-backup.sh scratch restore
Fixedadd disk-space preflight for validate-backup.sh scratch restore
Fix: isolate per-item claim-clear failures in crash recovery
FixedFix: isolate per-item claim-clear failures in crash recovery
warn on null row-count regardless of registered exclusion
Fixedwarn on null row-count regardless of registered exclusion
Fix: narrow postgres scripts/ read-only mount to wal-archive.sh only
FixedFix: narrow postgres scripts/ read-only mount to wal-archive.sh only
guard WAL archiver lockfile write and init Discord alerting first
Fixedguard WAL archiver lockfile write and init Discord alerting first
Fix: claim-recovery tests write keys outside fixture teardown namespace
FixedFix: claim-recovery tests write keys outside fixture teardown namespace
close validate-backup.sh lock fd for forked subprocesses
Fixedclose validate-backup.sh lock fd for forked subprocesses
remove stranded lockfile on partial write in WAL archiver monitor
Fixedremove stranded lockfile on partial write in WAL archiver monitor
pre-acquire advisory lock in ensure_balance_cache
Fixedpre-acquire advisory lock in ensure_balance_cache
batch P2/P3 review findings — scripts/validate-backup.sh
Fixedbatch P2/P3 review findings — scripts/validate-backup.sh
Fix: claim-recovery fixture teardown SCAN patterns guarded against non-isolated cache db
FixedFix: claim-recovery fixture teardown SCAN patterns guarded against non-isolated cache db
ShutdownManager orphan-cancellation follow-ups (batch #6)
FixedShutdownManager orphan-cancellation follow-ups (batch #6)
surface legacy negative-account ledger/cache divergence
Fixedsurface legacy negative-account ledger/cache divergence
add covering index for credit_balance_mutations retention DELETE
Fixedadd covering index for credit_balance_mutations retention DELETE
reconstruct credit_balance_cache_upsert last-known-good from credit_ledger, not cache
Fixedreconstruct credit_balance_cache_upsert last-known-good from credit_ledger, not cache
harden pre-deploy-migration-rehearsal job (batch )
Fixedharden pre-deploy-migration-rehearsal job (batch )
reconcile_all batch-limit priority, tunability, and boundary warning (batch )
Fixedreconcile_all batch-limit priority, tunability, and boundary warning (batch )
reconcile_all query_canceled lock leak + GUC bounds (batch )
Fixedreconcile_all query_canceled lock leak + GUC bounds (batch )
distinguish git resolution failure from legitimate absence in schedule-check script
Fixeddistinguish git resolution failure from legitimate absence in schedule-check script
redact Postgres DETAIL/CONTEXT lines from restore-failure CI logs
Fixedredact Postgres DETAIL/CONTEXT lines from restore-failure CI logs
pre-flight check for backup-role table access before create_backup
Fixedpre-flight check for backup-role table access before create_backup
pin migration-shadow- privileged scripts to trusted base ref
Fixedpin migration-shadow- privileged scripts to trusted base ref
compute credit_ledger.balance_after from fresh ledger SUM, not guard-substituted value
Fixedcompute credit_ledger.balance_after from fresh ledger SUM, not guard-substituted value
wire backup/restore/migration-safety test suites into CI
Fixedwire backup/restore/migration-safety test suites into CI
add refuse-stub rollback for 0344; close 0339-gap finding as resolved
Fixedadd refuse-stub rollback for 0344; close 0339-gap finding as resolved
route backup-database.sh prune through purge-stale-backups.sh (, batch )
Fixedroute backup-database.sh prune through purge-stale-backups.sh (, batch )
pin pytest and add Postgres service to backup-safety CI job (batch: , )
Fixedpin pytest and add Postgres service to backup-safety CI job (batch: , )
close two redaction bypasses in restore-database.sh log filter
Fixedclose two redaction bypasses in restore-database.sh log filter
discover backup/restore/migration-safety suites by glob, guard against drift
Fixeddiscover backup/restore/migration-safety suites by glob, guard against drift
backup/restore failure signal routing (final sweep, batch H)
Fixedbackup/restore failure signal routing (final sweep, batch H)
build a genuinely flock-free PATH for the missing-flock lock test
Fixedbuild 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
FixedFix: scope SET LOCAL statement_timeout to the SELECT 1 it guards in /api/health/ready
Fix: chmod 600 decrypted secrets output file
FixedFix: chmod 600 decrypted secrets output file
widen structure-job execution-claim try/finally to cover billing calls
Fixedwiden structure-job execution-claim try/finally to cover billing calls
black-format after the execution-claim try/finally widening
Fixedblack-format after the execution-claim try/finally widening
drop redundant _track_job_end on the insufficient-credits return
Fixeddrop redundant _track_job_end on the insufficient-credits return
stop the insufficient-credits path double-refunding the scrape debit
Fixedstop the insufficient-credits path double-refunding the scrape debit
Fix: check exit status of schema_migrations bookkeeping write in apply_migration
FixedFix: check exit status of schema_migrations bookkeeping write in apply_migration
add deploy-time WAL archiving config-drift assertion
Fixedadd deploy-time WAL archiving config-drift assertion
batch — P3 migration file hygiene (rollback gaps, 0339, domain_profiles DROP)
Fixedbatch — 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
FixedFix: 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)
Fixedrestore false-success gate for tier-capped T4 jobs (ALT-51)
make pre-migration restore tolerant of FK into excluded jobs table
Fixedmake 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
Fixedmigration 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
Fixedsync 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
Fixedretire 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
Fixedassert_single_schedule cron guard now covers every installed job
normalize ToS §8.1 spacing wrapper + confirm /maintenance link resolves
Fixednormalize ToS §8.1 spacing wrapper + confirm /maintenance link resolves
run-migrations.sh flock fd leak, FK-rewrite provenance, NOT VALID alert
Fixedrun-migrations.sh flock fd leak, FK-rewrite provenance, NOT VALID alert
provision alterlab_admin and monitor_ro roles in backup-restore-drill scratch Postgres
Fixedprovision 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
Fixedcorrect opentable.com vendor to Shape Security and probe hardcoded min_tier=4 floor
deploy- hardening — concurrency-group conflict, run: interpolation, sequential host deploys
Fixeddeploy- hardening — concurrency-group conflict, run: interpolation, sequential host deploys
retire anti-bot system min_tier:4 pins for rh.com, reuters.com
Fixedretire anti-bot system min_tier:4 pins for rh.com, reuters.com
port NOT-VALID FK rewrite to restore-database.sh
Fixedport NOT-VALID FK rewrite to restore-database.sh
retire imperva-soft/unclassified min_tier:4 pins
Fixedretire imperva-soft/unclassified min_tier:4 pins
harden backup-exclusions sidecar — atomicity, collision-safe keying, prove-it coverage
Fixedharden 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
Fixedtest 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
FixedFix: 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
Fixedadd BEFORE UPDATE trigger for maintenance_windows.updated_at
remove unused non-rate-limited MaintenanceAuth alias
Fixedremove unused non-rate-limited MaintenanceAuth alias
allowlist announcement CTA href scheme at render site
Fixedallowlist announcement CTA href scheme at render site
eliminate nested bash -c double-substitution in check_mail_cert
Fixedeliminate nested bash -c double-substitution in check_mail_cert
narrow backup-restore- container build context + document cron scheduling
Fixednarrow backup-restore- container build context + document cron scheduling
sanitize log samples before Discord/eMemo markdown embedding
Fixedsanitize log samples before Discord/eMemo markdown embedding
BACKUP_CORRUPT_RETENTION_DAYS unvalidated before find -mtime, can abort script under set -e
FixedBACKUP_CORRUPT_RETENTION_DAYS unvalidated before find -mtime, can abort script under set -e
replace unquoted heredoc + sed-denylist in base-backup.sh alert path
Fixedreplace unquoted heredoc + sed-denylist in base-backup.sh alert path
validate $VERSION format before sed interpolation
Fixedvalidate $VERSION format before sed interpolation
pre-restrict decrypted secrets file to 0600 before write
Fixedpre-restrict decrypted secrets file to 0600 before write
fail-closed unresolvable-IP rate-limit bucket, drop spoofable XFF fallback
Fixedfail-closed unresolvable-IP rate-limit bucket, drop spoofable XFF fallback
pass Cloudflare API token via curl stdin config, not argv
Fixedpass Cloudflare API token via curl stdin config, not argv
PGPASSWORD interpolated unescaped into single-quoted SQL literal inside heredoc
FixedPGPASSWORD 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
Fixedbackup-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
Fixedclose protocol-relative/backslash bypass in announcement CTA href validator
reclaim runner disk space and log df -h in backup-restore-drill
Fixedreclaim runner disk space and log df -h in backup-restore-drill
remove credential material from unintended disclosure channels
Fixedremove credential material from unintended disclosure channels
reject auto-recharge threshold a single recharge cannot clear
Fixedreject auto-recharge threshold a single recharge cannot clear
harden decrypt-secrets.sh sibling config writes against symlink planting
Fixedharden decrypt-secrets.sh sibling config writes against symlink planting
remove unused non-rate-limited AdminAuth alias
Fixedremove unused non-rate-limited AdminAuth alias
don't blind-escalate tier on unclassified 429/5xx job retry
Fixeddon't blind-escalate tier on unclassified 429/5xx job retry
correct AutoRechargeSettingsRequest.threshold_microcents default
Fixedcorrect AutoRechargeSettingsRequest.threshold_microcents default
real end-to-end antibot_hint fallback tests, fix kasada/shape telemetry monitoring system loss
Fixedreal end-to-end antibot_hint fallback tests, fix kasada/shape telemetry monitoring system loss
close restore-database.sh host-TCP guard bypass
Fixedclose restore-database.sh host-TCP guard bypass
correct stale pricing pointer + narrow gitignore test blackhole
Fixedcorrect stale pricing pointer + narrow gitignore test blackhole
trust staging deployment scripts in shadow dry run
Fixedtrust staging deployment scripts in shadow dry run
Fix: skip unused proxy identity resolution on trivial scrapes
FixedFix: skip unused proxy identity resolution on trivial scrapes
Fix: retain a bounded cookie-cohort routing session
FixedFix: retain a bounded cookie-cohort routing session
reclaim runner disk in Migration Shadow Dry Run before restore
Fixedreclaim runner disk in Migration Shadow Dry Run before restore
prune oldest objects to fit the storage cap before failing closed
Fixedprune oldest objects to fit the storage cap before failing closed
meter sync downgrade persistence failures (batch )
Fixedmeter sync downgrade persistence failures (batch )
optional prune-credential split for offsite-backup.sh
Fixedoptional prune-credential split for offsite-backup.sh
reduce R2_RETENTION_DAYS default from 3 to 2 to fit 10GB cap
Fixedreduce R2_RETENTION_DAYS default from 3 to 2 to fit 10GB cap
Fix: merge concurrent passive stack cache evidence atomically (batch )
FixedFix: merge concurrent passive stack cache evidence atomically (batch )
Fix: post-result T4 deferral provenance flag is cleared by mixed-origin requeue
FixedFix: post-result T4 deferral provenance flag is cleared by mixed-origin requeue
capture fingerprinted query attribution for Check 8 idle-in-tx
Fixedcapture fingerprinted query attribution for Check 8 idle-in-tx
migration 0349 rollback + natural-key UUID resolution
Fixedmigration 0349 rollback + natural-key UUID resolution
coerce or skip malformed learning elements in transform_claude_learnings
Fixedcoerce or skip malformed learning elements in transform_claude_learnings
wire mail.cf_dns_token primary/fallback sourcing
Fixedwire mail.cf_dns_token primary/fallback sourcing
stop fabricating tier-4 recommendations for domains that have never succeeded
Fixedstop fabricating tier-4 recommendations for domains that have never succeeded
fail ci-pass gate closed on cancelled job results
Fixedfail ci-pass gate closed on cancelled job results
gate jobs.result content.html on html_ref
Fixedgate jobs.result content.html on html_ref
Fix: DomainPlaybooks.get arity crash — deploy blocker
FixedFix: DomainPlaybooks.get arity crash — deploy blocker
link merged confidence to primary vendor, add CAS read-error tolerance
Fixedlink merged confidence to primary vendor, add CAS read-error tolerance
batch fix for error-trigger idle-tx findings
Fixedbatch fix for error-trigger idle-tx findings
resolve vendor-signal review findings (batch)
Fixedresolve vendor-signal review findings (batch)
bound outcome label enum and tighten tier-guard test
Fixedbound outcome label enum and tighten tier-guard test
reject unsafe object names in prune-to-fit fallback
Fixedreject unsafe object names in prune-to-fit fallback
Fix: batch — tier-intelligence fabrication findings ( cohort, )
FixedFix: batch — tier-intelligence fabrication findings ( cohort, )
name log format explicitly on conditional access_log
Fixedname log format explicitly on conditional access_log
reformat at the configured line length
Fixedreformat at the configured line length
provision production-parity roles in shadow migration dry run
Fixedprovision production-parity roles in shadow migration dry run
move CREATE ROLE out of DO block in shadow dry-run privilege step
Fixedmove CREATE ROLE out of DO block in shadow dry-run privilege step
document multi-format html-trim blind spot in false-success audit
Fixeddocument multi-format html-trim blind spot in false-success audit
run server config validation unconditionally on every PR
Fixedrun server config validation unconditionally on every PR
guard decrypt_credentials to stop killing profile_consumer_loop
Fixedguard decrypt_credentials to stop killing profile_consumer_loop
offsite-backup.sh prune-to-fit dot-name filter and remote-collision guard
Fixedoffsite-backup.sh prune-to-fit dot-name filter and remote-collision guard
guard non-numeric total_credits cast in billing audit query
Fixedguard non-numeric total_credits cast in billing audit query
preserve CAS guard on cache_antibot_stack watch failure
Fixedpreserve CAS guard on cache_antibot_stack watch failure
log-monitor.sh scan-window scaling and job_id revalidation ( cohort)
Fixedlog-monitor.sh scan-window scaling and job_id revalidation ( cohort)
refund screenshot/PDF add-on when persistence fails after charge
Fixedrefund screenshot/PDF add-on when persistence fails after charge
restate full 4-condition html-trim guard in audit script
Fixedrestate full 4-condition html-trim guard in audit script
close read transaction before provider network call in proxy_integrations
Fixedclose read transaction before provider network call in proxy_integrations
stop Downloads check paging on scanner 404 noise
Fixedstop Downloads check paging on scanner 404 noise
alert on retention/cap drift before it silently blocks a nightly upload
Fixedalert on retention/cap drift before it silently blocks a nightly upload
scope setup-phase RedisError to the verify retry budget
Fixedscope setup-phase RedisError to the verify retry budget
set executable bit on check-migration-immutability.sh
Fixedset executable bit on check-migration-immutability.sh
widen billing audit regex guard to match native ::int tolerance
Fixedwiden billing audit regex guard to match native ::int tolerance
migration 0349 natural-key author lookup ignores soft-delete
Fixedmigration 0349 natural-key author lookup ignores soft-delete
surface excluded-row count in billing audit sum guards
Fixedsurface excluded-row count in billing audit sum guards
profile_consumer setup-guard refinements ( cohort)
Fixedprofile_consumer setup-guard refinements ( cohort)
tag Postgres connections with application_name for idle-in-tx correlation
Fixedtag Postgres connections with application_name for idle-in-tx correlation
stop DOWNLOADS_NOISE_FILTER prefix list from drifting silently
Fixedstop DOWNLOADS_NOISE_FILTER prefix list from drifting silently
classify evidenced IP-reputation-only vendor blocks in proxy failure subtype
Fixedclassify evidenced IP-reputation-only vendor blocks in proxy failure subtype
profile_consumer error-boundary and -key findings (, )
Fixedprofile_consumer error-boundary and -key findings (, )
Fix: _record_stage_duration_call_sites uses AST parsing instead of raw paren counting
FixedFix: _record_stage_duration_call_sites uses AST parsing instead of raw paren counting
add missing pdf_url field to Node SDK ScrapeResponse
Fixedadd missing pdf_url field to Node SDK ScrapeResponse
route log-monitor 5xx scan truncation to eMemo/STATUS, ASCII-anchor jid state-file guard
Fixedroute log-monitor 5xx scan truncation to eMemo/STATUS, ASCII-anchor jid state-file guard
emit outcome metric for cf_clearance cache-hit-without-cookie
Fixedemit outcome metric for cf_clearance cache-hit-without-cookie
reconcile addon refund against a later successful retry
Fixedreconcile addon refund against a later successful retry
set executable bit on pg-repack-restore-headroom-check.sh
Fixedset executable bit on pg-repack-restore-headroom-check.sh
raise log-monitor.sh truncation floor, add locale-immunity test
Fixedraise log-monitor.sh truncation floor, add locale-immunity test
match attribute-style calls in record_stage_duration test helper
Fixedmatch attribute-style calls in record_stage_duration test helper
remove redundant shallow re-fetch from migration-immutability guard
Fixedremove redundant shallow re-fetch from migration-immutability guard
Fix: log-monitor.sh diagnostic findings ( cohort, batch )
FixedFix: log-monitor.sh diagnostic findings ( cohort, batch )
Fix: get_cached_challenge_cookies emits hit without checking required cookie present
FixedFix: get_cached_challenge_cookies emits hit without checking required cookie present
remove leftover deliberate-break blocking Misc Regression Suites on staging
Fixedremove leftover deliberate-break blocking Misc Regression Suites on staging
executable-bit-check runs on push to staging/main with observable failure alert
Fixedexecutable-bit-check runs on push to staging/main with observable failure alert
sync CHALLENGE_TITLES with canonical list, add drift gate
Fixedsync CHALLENGE_TITLES with canonical list, add drift gate
stop cancel-in-progress from swallowing executable-bit-check push failure alerts
Fixedstop cancel-in-progress from swallowing executable-bit-check push failure alerts
Fix: stop asserting domains 'cannot be scraped' in customer-facing text
FixedFix: stop asserting domains 'cannot be scraped' in customer-facing text
document REDIS_AOF_WARN_MB/REDIS_AOF_CRIT_MB in .env.example
Fixeddocument REDIS_AOF_WARN_MB/REDIS_AOF_CRIT_MB in .env.example
wire infra/ssh-guard/tests/ into the orphan-suite guard
Fixedwire infra/ssh-guard/tests/ into the orphan-suite guard
recognize actual review-verdict format in shadow-dryrun trust escalation
Fixedrecognize actual review-verdict format in shadow-dryrun trust escalation
align trusted-source test fixtures with identity scoping
Fixedalign trusted-source test fixtures with identity scoping
Fix: route empty-DB shadow-migration replay through alterlab_admin
FixedFix: route empty-DB shadow-migration replay through alterlab_admin
clean npm cache so the Trivy scan of the api image stops timing out
Fixedclean npm cache so the Trivy scan of the api image stops timing out
Fix: refund template Option B 1000x over-refund guidance
FixedFix: refund template Option B 1000x over-refund guidance
revert intent-differentiation retarget on alterlab-vs-* blog posts
Fixedrevert intent-differentiation retarget on alterlab-vs-* blog posts
Fix: errexit aborts entire log-monitor run when 5xx SLO psql probe fails
FixedFix: errexit aborts entire log-monitor run when 5xx SLO psql probe fails
quarantine malformed B2B drain members instead of livelocking the batch
Fixedquarantine malformed B2B drain members instead of livelocking the batch
default proxy sticky_session_id to cohort routing identity
Fixeddefault proxy sticky_session_id to cohort routing identity
run local-backup purge on every exit, not just success
Fixedrun local-backup purge on every exit, not just success
Fix: per-stage duration metric cannot record a failure outcome
FixedFix: per-stage duration metric cannot record a failure outcome
run-migrations.sh no longer de-transactionalizes migrations whose data contains commit/concurrently
Fixedrun-migrations.sh no longer de-transactionalizes migrations whose data contains commit/concurrently
Fix: services/herald fails black --check on staging
FixedFix: services/herald fails black --check on staging
run-migrations.sh dollar-quote detection + batch review-finding cohort
Fixedrun-migrations.sh dollar-quote detection + batch review-finding cohort
cooldown CLI fail-closed + atomic stdout (, )
Fixedcooldown CLI fail-closed + atomic stdout (, )
Fix: worker stage_timer records outcome=timeout for CancelledError instead of success
FixedFix: worker stage_timer records outcome=timeout for CancelledError instead of success
DomainRateLimiter expiry coverage and mutex release
FixedDomainRateLimiter expiry coverage and mutex release
close dispatch-entitlement review-finding batch (, )
Fixedclose dispatch-entitlement review-finding batch (, )
distinguish caller-owned vs platform-derived sticky proxy sessions
Fixeddistinguish caller-owned vs platform-derived sticky proxy sessions
guard fallback-branch find -delete calls in purge_stale_local_backups
Fixedguard fallback-branch find -delete calls in purge_stale_local_backups
wire IP-reputation egress re-roll into unwired T3 vendor gates
Fixedwire IP-reputation egress re-roll into unwired T3 vendor gates
production_actions_admin TOCTOU, idempotency, and validation gaps
Fixedproduction_actions_admin TOCTOU, idempotency, and validation gaps
capture field names not type annotations in ecosystem-sync SDK titles
Fixedcapture field names not type annotations in ecosystem-sync SDK titles
grandfather duplicate migration prefix 0356
Fixedgrandfather duplicate migration prefix 0356
Fix: datetime shadowed by nested imports in process_scrape_job — soft-block job.failed webhook never delivered
FixedFix: 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
Fixedcopy error/result from cache truth in stuck-job reconcile
account for pre-poll elapsed time in sync scrape poll deadline
Fixedaccount for pre-poll elapsed time in sync scrape poll deadline
raise shadow-dryrun timeout budgets with measured headroom
Fixedraise shadow-dryrun timeout budgets with measured headroom
profile_consumer setup-guard follow-ups — redaction + bounded cache retry
Fixedprofile_consumer setup-guard follow-ups — redaction + bounded cache retry
production_actions_admin gen-2 review-finding cohort
Fixedproduction_actions_admin gen-2 review-finding cohort
concurrent default-proxy race 500 + reconcile-without-error counter inflation
Fixedconcurrent default-proxy race 500 + reconcile-without-error counter inflation
match PostgreSQL's real dollar-quote-tag grammar in run-migrations.sh
Fixedmatch PostgreSQL's real dollar-quote-tag grammar in run-migrations.sh
stop importlib.reload cross-file class-identity leak in env_validation tests
Fixedstop importlib.reload cross-file class-identity leak in env_validation tests
Netcup downloads force-recreate + artifact-delivery wiring (batch )
FixedNetcup downloads force-recreate + artifact-delivery wiring (batch )
production-action executor follow-ups — gen-2 review-finding cohort
Fixedproduction-action executor follow-ups — gen-2 review-finding cohort
detect cross-branch migration prefix collisions via push trigger
Fixeddetect cross-branch migration prefix collisions via push trigger
cooldown CLI except ValueError also catches unrelated urlparse errors from --check-urls args
Fixedcooldown 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
Fixedrehearsal disk floor REQUIRED_GB=30 is stale — derive it from the actual dump size
services/api/app/routers findings — reconcile, production-actions, proxy defaults
Fixedservices/api/app/routers findings — reconcile, production-actions, proxy defaults
tolerate concurrent recheck resolution in dispatch re-lock, document id.desc tiebreak
Fixedtolerate concurrent recheck resolution in dispatch re-lock, document id.desc tiebreak
make RADWARE T3 gate reachable, restore reroll gate context
Fixedmake RADWARE T3 gate reachable, restore reroll gate context
Fix: jitter low-sample T1 probe cadence to avoid periodicity signal
FixedFix: jitter low-sample T1 probe cadence to avoid periodicity signal
deliver container exec credentials via --env-file, not -e argv
Fixeddeliver container exec credentials via --env-file, not -e argv
add regression coverage for handler-registry execution-call scanner
Fixedadd regression coverage for handler-registry execution-call scanner
Fix: gate idle-in-tx alert on hold duration, not just count
FixedFix: gate idle-in-tx alert on hold duration, not just count
widen IP-reputation egress re-roll trigger to vendor-classified gates
Fixedwiden IP-reputation egress re-roll trigger to vendor-classified gates
rehearsal disk-floor follow-ups — coarse pre-download check, alert-list gap
Fixedrehearsal disk-floor follow-ups — coarse pre-download check, alert-list gap
recognize verifying -> superseded as a benign concurrent resolution
Fixedrecognize verifying -> superseded as a benign concurrent resolution
deliver container exec credentials via --env-file in log-monitor.sh and redis-health.sh
Fixeddeliver container exec credentials via --env-file in log-monitor.sh and redis-health.sh
tier-stats invalidation follow-ups ( cohort, )
Fixedtier-stats invalidation follow-ups ( cohort, )
make custom configuration tier-stats writers atomic with stats_version stamp
Fixedmake custom configuration tier-stats writers atomic with stats_version stamp
deferral-budget cap logging + edge-case test coverage
Fixeddeferral-budget cap logging + edge-case test coverage
add coarse pre-download disk-floor check to backup-restore-
Fixedadd coarse pre-download disk-floor check to backup-restore-
check-branch-protection-drift.sh now covers classic protection on main
Fixedcheck-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)
Fixedinfra/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
Fixeddetect and fail closed on composite FKs in restore-database.sh orphan sweep
custom configuration stats_version follow-ups ( cohort)
Fixedcustom configuration stats_version follow-ups ( cohort)
guard db.rollback in proxy_integrations IntegrityError handlers
Fixedguard db.rollback in proxy_integrations IntegrityError handlers
concurrent probes, dedupe, and statement timeout
Fixedconcurrent probes, dedupe, and statement timeout
scripts/ recovery-tooling follow-ups
Fixedscripts/ recovery-tooling follow-ups
close window-coupling concurrency defects (batch )
Fixedclose window-coupling concurrency defects (batch )
remove spent 0349 migration-immutability allowlist entry
Fixedremove spent 0349 migration-immutability allowlist entry
add operator scrub script for usage data credential rows
Fixedadd operator scrub script for usage data credential rows
defer health-loop session rotation while lease is held
Fixeddefer health-loop session rotation while lease is held
Fix: stop asserting a false homepage-origin narrative on Google SERP requests
FixedFix: stop asserting a false homepage-origin narrative on Google SERP requests
guard identity lease-refresh-failure close against active lease
Fixedguard identity lease-refresh-failure close against active lease
Fix: allow empty subscriptions restore
FixedFix: allow empty subscriptions restore
Fix: remediate image vulnerabilities
FixedFix: remediate image vulnerabilities
Fix: fail closed on stale backup paths
FixedFix: fail closed on stale backup paths
Merge: repair backup redaction CI fixtures
FixedMerge: repair backup redaction CI fixtures
extend Trivy worker scan timeout
Fixedextend Trivy worker scan timeout
Fix: gate SERP search on successful homepage initialization
FixedFix: gate SERP search on successful homepage initialization
Fix: stale detail can mutate the wrong production action
FixedFix: stale detail can mutate the wrong production action
Fix: Reserved rate-limit slots are discarded and reacquired indefinitely
FixedFix: Reserved rate-limit slots are discarded and reacquired indefinitely
Fix: Mutation responses omit prior audit events
FixedFix: Mutation responses omit prior audit events
Fix: Netcup artifact startup and probe fail open
FixedFix: 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
FixedFix: 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
FixedFix: redact demographic profile DB error text
Fix: scraper tier-guard findings from
FixedFix: scraper tier-guard findings from
Fix: SERP thin-result findings from
FixedFix: SERP thin-result findings from
Fix: align thin-result grace timing contract
FixedFix: align thin-result grace timing contract
move attachment probes outside claim gate
Fixedmove attachment probes outside claim gate
harden batch admission and schedule state
Fixedharden batch admission and schedule state
close SERP correctness gaps in batch
Fixedclose SERP correctness gaps in batch
close regression-watch state-machine follow-ups
Fixedclose regression-watch state-machine follow-ups
route default cohorts through DataImpulse session-ID gateway
Fixedroute default cohorts through DataImpulse session-ID gateway
sanitize post-login callback URLs
Fixedsanitize post-login callback URLs
preserve rate-slot clock and live frontiers
Fixedpreserve rate-slot clock and live frontiers
complete FIRST_SCRAPE lifecycle coverage
Fixedcomplete FIRST_SCRAPE lifecycle coverage
normalize cache byte keys before recovery ledger writes
Fixednormalize cache byte keys before recovery ledger writes
keep feature PR gates off staging
Fixedkeep feature PR gates off staging
harden rollback finalization and eMemo delivery
Fixedharden rollback finalization and eMemo delivery
close replay integrity batch
Fixedclose replay integrity batch
retain replay claims on dead-letter failure
Fixedretain replay claims on dead-letter failure
Fix: denied scheduled runs retain debit
FixedFix: denied scheduled runs retain debit
lock sql drop target relation
Fixedlock sql drop target relation
Fix: reject future-dated backup manifests
FixedFix: reject future-dated backup manifests
protect refund outbox drain acknowledgement
Fixedprotect refund outbox drain acknowledgement
align batch response contract and drift check
Fixedalign batch response contract and drift check
quarantine non-object B2B payloads
Fixedquarantine non-object B2B payloads
Fix: restore valid supersede controls
FixedFix: restore valid supersede controls
reconcile rejected mutations
Fixedreconcile rejected mutations
atomically claim low-sample probes
Fixedatomically claim low-sample probes
skip AI engine root install in deploy gate
Fixedskip AI engine root install in deploy gate
v5.0.0
Smarter Search Routing and Redesigned Auth
Redesigned Authentication Pages
NewEnjoy 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
NewTest-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
NewDiscover 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
NewOur 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
NewGet 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
ImprovedOur 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
ImprovedRate-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
ImprovedFully 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
ImprovedWe 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
ImprovedPlus 27 internal improvements for better reliability and performance.
Deduplicated Initial Scrapes
FixedWe 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
FixedWe 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
SecurityWe 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
SecurityWe 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
SecurityOur 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
FixedFix: enforce request-level Google initialization
Fix: refund retry preserves task cancellation
FixedFix: refund retry preserves task cancellation
document terminal batch 200 response body
Fixeddocument terminal batch 200 response body
fence rollback evidence guards
Fixedfence rollback evidence guards
safely retain identity profiles
safely retain identity profiles
Fixedsafely retain identity profiles
harden refund replay fallback capacity
Fixedharden refund replay fallback capacity
Fix: pin SEO guard SSH host key
Feat: require verified external identifier before dispatch reports terminal success
NewFeat: require verified external identifier before dispatch reports terminal success
Feat: distinguish publish attempt, external publish, and verified artifact in blog syndication
NewFeat: distinguish publish attempt, external publish, and verified artifact in blog syndication
Fix: pin SEO guard SSH host key
FixedFix: pin SEO guard SSH host key
window bind-lock reachability, UUID test coverage, baseline docstring ( batch)
Fixedwindow bind-lock reachability, UUID test coverage, baseline docstring ( batch)
reconcile shadow schema drift
reconcile shadow schema drift
Fixedreconcile shadow schema drift
production_actions model follow-ups — gen-2 review-finding cohort
live-state verification probes for production actions
Newlive-state verification probes for production actions
production_actions model follow-ups — gen-2 review-finding cohort
Fixedproduction_actions model follow-ups — gen-2 review-finding cohort
decouple deferral-budget window bound from the count bound
Fixeddecouple deferral-budget window bound from the count bound
detect T4 launch modes that never actually run
Fixeddetect T4 launch modes that never actually run
GFS offsite retention within the 10GB free tier
FixedGFS offsite retention within the 10GB free tier
netcup-env-preflight follow-ups from review
Fixednetcup-env-preflight follow-ups from review
recover Amazon MAP price when add-to-cart present but price hidden
Fixedrecover Amazon MAP price when add-to-cart present but price hidden
grant worker/alterlab UID read access to XAUTHORITY cookie
Fixedgrant worker/alterlab UID read access to XAUTHORITY cookie
bind approval evidence to action id, decouple blast-radius predicate
Fixedbind approval evidence to action id, decouple blast-radius predicate
pgbouncer never sets unix_socket_dir, SHOW POOLS probe never authenticated
Fixedpgbouncer never sets unix_socket_dir, SHOW POOLS probe never authenticated
Netcup .env drift — pin --env-file, fix false env docs
FixedNetcup .env drift — pin --env-file, fix false env docs
stop counting plan-cap rejections and server directory-index noise as platform failures
Fixedstop counting plan-cap rejections and server directory-index noise as platform failures
ops + monitoring shell hardening — review-finding cohort
Fixedops + monitoring shell hardening — review-finding cohort
harden netcup-env-preflight.sh and port it into hotfix-
Fixedharden netcup-env-preflight.sh and port it into hotfix-
guard _run_build_task setup section + document hotfix migration safety
Fixedguard _run_build_task setup section + document hotfix migration safety
credential redaction + secret exposure (security class) — review-finding cohort
Fixedcredential redaction + secret exposure (security class) — review-finding cohort
import content validator symbols in T3 solver path
Fixedimport content validator symbols in T3 solver path
staging review cohort P2 findings
Fixedstaging review cohort P2 findings
proxy default atomicity, b2b terminal-download 409, drain false-positive alert
Fixedproxy default atomicity, b2b terminal-download 409, drain false-positive alert
production-action verification review-finding cohort
Fixedproduction-action verification review-finding cohort
production_actions model + migration invariant hardening
Fixedproduction_actions model + migration invariant hardening
backfill script re-run correctness and orphaned SSH subprocess
Fixedbackfill script re-run correctness and orphaned SSH subprocess
Fix: make Netcup local screenshot artifacts reachable
FixedFix: make Netcup local screenshot artifacts reachable
Fix: make migration-shadow-dryrun reportable so it can become a required status check
FixedFix: make migration-shadow-dryrun reportable so it can become a required status check
Enhanced SDK Capabilities and API Reliability
Clearer Domain Error Messages
ImprovedWe 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
ImprovedOur 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
ImprovedWe 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
ImprovedWe 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
ImprovedPlus 43 internal improvements for better reliability and performance.
General improvements
ImprovedThis release includes general improvements and maintenance updates.
SDK Sync-Downgrade Polling Resilience
FixedBoth 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
FixedWe 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
Improvedinvestigation: the platform's ASN-remediation machinery.
feat(worker): aggregate per-vendor per-tier success-rate telemetry
ImprovedAdds 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
ImprovedCloses 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
ImprovedFour 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
ImprovedBatch 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
ImprovedThe 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
ImprovedBatch 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
ImprovedBatch 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
ImprovedBatch (three members).
fix(api): resolve announcement CTA href residue from
ImprovedResolves 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
ImprovedThree fail-loud-before-use validation gaps, batched by concern per .
fix(ci): reclaim runner disk space and log df -h in backup-restore-drill
ImprovedFixes : 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
ImprovedFour 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
ImprovedPlus 35 internal improvements for better reliability and performance.
fix(infra): stop deleting the local source backup after a verified off-site upload
Improveddeleted the local source after a verified upload.
aggregate per-vendor per-tier success-rate telemetry
aggregate per-vendor per-tier success-rate telemetry
Newaggregate per-vendor per-tier success-rate telemetry
migration-ledger drift detection - reconciliation + content_hash verification
Newmigration-ledger drift detection - reconciliation + content_hash verification
restore 2 of ~11 blog posts as new forward content
Newrestore 2 of ~11 blog posts as new forward content
fail loudly on missing support-inbound credentials at startup
Newfail loudly on missing support-inbound credentials at startup
extend staleness-probe to antibot_hint cold-start engine-profile fallback
Newextend staleness-probe to antibot_hint cold-start engine-profile fallback
surface active and scheduled maintenance on /status
Newsurface active and scheduled maintenance on /status
DR script guards, TOCTOU close, and legacy-sidecar restore coverage
FixedDR script guards, TOCTOU close, and legacy-sidecar restore coverage
announcement CTA model residue — userinfo threat model + PublicCTA length parity
Fixedannouncement CTA model residue — userinfo threat model + PublicCTA length parity
route cold-start antibot_hint fallback through shared vendor_engine
Fixedroute cold-start antibot_hint fallback through shared vendor_engine
resolve announcement CTA href residue from
Fixedresolve announcement CTA href residue from
unvalidated input and missing startup validation — 3 fail-loud-before-use gaps
Fixedunvalidated input and missing startup validation — 3 fail-loud-before-use gaps
per-domain concurrency gate is a third, unaccounted-for min_tier consumer
Fixedper-domain concurrency gate is a third, unaccounted-for min_tier consumer
stop 10 error-trigger.sh checks from silently skipping on cloud provider
Fixedstop 10 error-trigger.sh checks from silently skipping on cloud provider
Default POSTGRES_DB=alterlab / POSTGRES_CONTAINER=alterlab-postgres match production
FixedDefault POSTGRES_DB=alterlab / POSTGRES_CONTAINER=alterlab-postgres match production
retry unclassified origin 5xx via proxy, stop false WAF attribution
Fixedretry unclassified origin 5xx via proxy, stop false WAF attribution
container-ro fails closed when jq is missing, not silently open
Fixedcontainer-ro fails closed when jq is missing, not silently open
polish — declarative patch validation, cancel endpoint, audit-field docs
Fixedpolish — declarative patch validation, cancel endpoint, audit-field docs
Enhanced Scraping Reliability and Accurate Billing
Data retention policy
NewWe 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
ImprovedUpgraded 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
ImprovedUpgraded 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
ImprovedPlus 47 internal improvements for better reliability and performance.
Precise credit refunds
FixedFixed 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
FixedFixed 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
SecurityAdded 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
Newrehearse pending migrations against a restored production-shaped database before deploy
add scheduled backup restore drill
Newadd scheduled backup restore drill
flag .env.example changes with no ENV_VARS.md statement in PR body
Newflag .env.example changes with no ENV_VARS.md statement in PR body
surface backup gate age/status in Slack and Discord deploy notifications
Newsurface backup gate age/status in Slack and Discord deploy notifications
shadow-database migration dry run in CI
Newshadow-database migration dry run in CI
define jobs retention/recovery policy
Newdefine jobs retention/recovery policy
batch of P2/P3 review findings — offsite-backup.sh & backup-database.sh
Fixedbatch 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
Fixedclose 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
Fixedscope jobs pg_dump exclusion to the pre-migration path only
add retention policy for credit_balance_mutations audit table
Fixedadd retention policy for credit_balance_mutations audit table
serialize restore_from_backup and reap_broken_databases with a shared lock
Fixedserialize restore_from_backup and reap_broken_databases with a shared lock
prevent duplicate structure enqueue after ambiguous cache write
Fixedprevent duplicate structure enqueue after ambiguous cache write
set executable bit on five command-target scripts
Fixedset executable bit on five command-target scripts
Sub-100ms Scraping Speed and Billing Precision
Accelerated Structured Extraction
ImprovedWe 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
ImprovedWe 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
ImprovedOur 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
ImprovedLightweight 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
ImprovedAPI 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
ImprovedScraped 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
FixedActive 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
FixedWebhook 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
FixedActive 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
FixedSupport 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
FixedOptimized 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
FixedThis 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
SecurityEnforced 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
NewFeat: replay worker for the billing:refund_retry dead-letter
Fix: format API and internal service CI failures
FixedFix: format API and internal service CI failures
Fix: spend-guard decrement atomicity in structure shutdown finalize
FixedFix: spend-guard decrement atomicity in structure shutdown finalize
Fix: retain discovery cooldown after expired cache write fallback
FixedFix: retain discovery cooldown after expired cache write fallback
Fix: re-read cache write-degraded state after discovery lock wait (review finding - )
FixedFix: re-read cache write-degraded state after discovery lock wait (review finding - )
Fix: surface failed search refunds
FixedFix: surface failed search refunds
Fix: use one principal for debit and refund
FixedFix: use one principal for debit and refund
Fix: enforce attachment size before buffering
FixedFix: enforce attachment size before buffering
Fix: preserve debit metadata for restart recovery refunds
FixedFix: preserve debit metadata for restart recovery refunds
Fix: preserve attachment storage across GC commit failure
FixedFix: preserve attachment storage across GC commit failure
Fix: bound attachment backfill lock during deploy
FixedFix: bound attachment backfill lock during deploy
Fix: enter bounded discovery backoff after cache cache write failure
FixedFix: enter bounded discovery backoff after cache cache write failure
Accelerated Scrapes and Precise Billing
Instant structured job handoffs
ImprovedStructured 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
ImprovedScrape 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
ImprovedWe 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
ImprovedOur 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
ImprovedPlus 15 internal improvements for better reliability and performance.
Billing protection for blocked pages
FixedYou 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
FixedStructured 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
FixedScrapes 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
Unmatched Speed and Automated IP Recovery
Faster passive verification
NewThe 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
NewThe 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
NewWe 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
NewSupport 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
NewYou 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
ImprovedOptimized 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
ImprovedRequest 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
ImprovedUpdated 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
ImprovedFixed 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
ImprovedPlus 34 internal improvements for better reliability and performance.
Optimized request latency
ImprovedWe 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
ImprovedWe 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
ImprovedWe 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
FixedReplaced 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
FixedFixed 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
FixedCorrected 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
FixedFixed 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
FixedSolved 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
FixedResolved 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
FixedWe 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
FixedWe 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
FixedWe 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
NewDedicated 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
NewYou can now manage and cancel subscriptions directly within your customer billing portal. This ensures a smoother and more self-sufficient experience.
Dynamic Timezone Alignment
ImprovedBrowser 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
ImprovedWe enabled IP and provider diversity checks across all scraping requests by default. This automatically routes traffic to avoid localized range blockages.
Multi-System Detection
ImprovedOur platform now detects when websites use multiple overlapping security systems. The API dynamically applies the best routing strategy for each layer.
Modernized Browser Signatures
ImprovedAutomated session tools now utilize fully modernized browser signatures. These profiles correctly align User-Agents with matching client hints.
General bug fixes and improvements
ImprovedPlus 19 internal improvements for better reliability and performance.
Staggered Parallel Requests
FixedResolved an issue where concurrent requests using identical fingerprints were fired instantly. A micro-stagger now prevents target sites from flagging traffic.
Coordinated IP Validation
FixedFixed 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
FixedResolved an issue where concurrent proxy requests could share or overwrite settings. Sticky sessions are now completely isolated across target domains.
Billing Duplication Prevention
FixedAdded idempotency protection when generating billing configurations. This prevents duplicate sessions from being created during concurrent client clicks.
Challenge-Cookie Cache Stability
FixedCookies for target domains with special characters are now correctly cached. This avoids unexpected re-verification loops on secure websites.
Detailed Timeout Metrics
FixedRequest timeouts now record specific failure reasons in your usage tracking metadata. This simplifies troubleshooting for slow target websites.
General Dashboard Improvements
FixedThis 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
NewYou 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
NewYou 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
ImprovedStateful 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
ImprovedCredit 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
ImprovedThe 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
ImprovedPlus 22 internal improvements for better reliability and performance.
Compact Billing Layout
ImprovedThe 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
FixedResolved 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
FixedCaptured 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
FixedRequesting 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
FixedFixed 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
FixedStateful 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
FixedFixed 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
FixedFixed a dashboard issue where balance refresh errors could cause unhandled promise rejections. This stabilizes the developer playground interface during balance updates.
Session Cookie Protection
FixedWe 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
FixedWe 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
SecurityStateful 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
SecurityCaptured 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
SecurityCross-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
SecurityIf 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
SecurityOur 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
SecurityResponse 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
SecurityTo 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
NewAutomatically 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
NewYou can now manage your legal billing identity directly from your organization dashboard. This information automatically synchronizes with our billing systems.
Reliable Google search scraping
ImprovedEnhanced 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
ImprovedScrapes 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
ImprovedImproved session and cookie continuity when retrieving supplementary product and seller offer details. This prevents authorization issues and improves data completeness.
Deterministic image selection
ImprovedThe 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
ImprovedMalformed 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
ImprovedCredentials 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
ImprovedPlus 23 internal improvements for better reliability and performance.
Collect billing details at checkout
ImprovedOur 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
ImprovedSelf-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
ImprovedWe 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
ImprovedThe 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
FixedPrevents 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
FixedResolved issues with advertiser transparency details to consistently return accurate names, verification statuses, and locations. This improves data reliability for marketing research.
Accurate billing history
FixedFixed 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
FixedIf 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
FixedWe 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
FixedRequests 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
FixedWe 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
FixedWe 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
SecurityUpstream 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
SecurityWe 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
SecurityReclaiming 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
NewFeat: billing identity — legal name, address, VAT/tax ID on Organization
Fix: outbound billing-identity PUT vs delayed customer.updated webhook ordering gap
FixedFix: outbound billing-identity PUT vs delayed customer.updated webhook ordering gap
Fix: customer.updated webhook silently drops address/name/tax ID
FixedFix: customer.updated webhook silently drops address/name/tax ID
Fix: Stripe Checkout never collects billing address or VAT/tax ID
FixedFix: Stripe Checkout never collects billing address or VAT/tax ID
Fix: deploy-production honors dispatched --ref instead of silently reverting to main
FixedFix: deploy-production honors dispatched --ref instead of silently reverting to main
Fix: hotfix- bash syntax error from Go-template under appleboy/ssh-action
FixedFix: hotfix- bash syntax error from Go-template under appleboy/ssh-action
Fix: billing page hangs — stop fanning out to Stripe on every render
FixedFix: billing page hangs — stop fanning out to Stripe on every render
generalize deploy sync to cover all infra/ssh-guard/ files
Fixedgeneralize deploy sync to cover all infra/ssh-guard/ files
Fix: Stripe Customer Portal link unreachable for self-serve customers
FixedFix: Stripe Customer Portal link unreachable for self-serve customers
Fix: remove fabricated Spending by Type card from billing page
FixedFix: remove fabricated Spending by Type card from billing page
Fix: demote alterlab from SUPERUSER, add alterlab_admin for migrations
FixedFix: demote alterlab from SUPERUSER, add alterlab_admin for migrations
Fix: changelog generator duplicate version headers
FixedFix: changelog generator duplicate version headers
Fix: CloudFront geo-block pages billed as T4 success
FixedFix: CloudFront geo-block pages billed as T4 success
Fix: restore prod DB reads for monitor via read-only monitor_ro role
FixedFix: restore prod DB reads for monitor via read-only monitor_ro role
Fix: add deploy-time orphan-container detection
FixedFix: add deploy-time orphan-container detection
Fix: monitor user was root-equivalent — allowlist container access, add read-only observability
FixedFix: monitor user was root-equivalent — allowlist container access, add read-only observability
Faster Scraping and Programmatic Triage
Resolve tickets programmatically
NewYou 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
NewYou 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
NewWe 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
ImprovedDeferred 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
ImprovedProxy 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
ImprovedThe 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
ImprovedScraping 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
ImprovedWe 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
ImprovedIP 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
ImprovedWhen 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
ImprovedPlus 47 internal improvements for better reliability and performance.
Hidden Amazon Price Retrieval
ImprovedAutomatically 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
ImprovedLow-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
ImprovedRequests 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
ImprovedEliminated 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
FixedActive 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
FixedRequests 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
FixedWe 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
FixedSubmitting 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
FixedWe 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
FixedRestored 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
FixedResolved 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
ImprovedWe 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
ImprovedPlus 10 internal improvements for better reliability and performance.
Custom Proxy Metadata Isolation
SecurityWe 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
NewUsers 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
ImprovedOur 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
ImprovedA 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
ImprovedWe 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
ImprovedAn 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
ImprovedThe 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
ImprovedAI-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
ImprovedThe 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
ImprovedWe 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
ImprovedWe 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
ImprovedWe 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
FixedFixed 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
FixedFixed 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
FixedFixed 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
FixedFixed 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
FixedResolved 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
FixedEnhanced 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
FixedFixed 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
FixedIncludes 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
FixedWe 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
FixedFixed 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
FixedResolved 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
FixedFixed 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
SecurityImproved 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
SecurityResolved 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
SecurityIntroduced 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
SecurityEnforced 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
NewYou 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
ImprovedHigh-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
ImprovedWe 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
ImprovedThe 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
ImprovedThe 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
ImprovedScraping 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
ImprovedPlus 12 internal improvements for better reliability and performance.
Reliable challenge page retries
FixedFixed 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
FixedFixed 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
FixedImproved 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
FixedFixed 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
FixedFixed 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
NewYou 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
NewCompare 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
NewAnalyze 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
NewTrack 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
ImprovedExporting 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
ImprovedOur 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
ImprovedChanges 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
ImprovedEnterprise-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
ImprovedPlus 31 internal improvements for better reliability and performance.
Restored Complete Metrics Cycles
FixedResolved 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
FixedPolished 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
FixedCorrected 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
SecurityCSV 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
NewYou 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
NewYou 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
NewThe 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
ImprovedWe 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
ImprovedPlus 46 internal improvements for better reliability and performance.
Bulk Results Tracking
FixedFixed 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
FixedResolved 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
FixedFixed 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
SecurityWe 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
ImprovedRefined 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
ImprovedOptimized 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
ImprovedEnforced 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
ImprovedImproved 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
ImprovedPlus 35 internal improvements for better reliability and performance.
Interactive Widget Recognition
FixedExpanded 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
FixedEnhanced 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
FixedCorrected 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
FixedFixed 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
FixedResolved 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
NewAdds 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
NewAdds — 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
NewReplaces 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
ImprovedRemoves 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
ImprovedWhen encounters a cache SET exception (HGETALL healthy, SET fails — the partial-cache-failure scenario), it fails open and returns.
General bug fixes and improvements
ImprovedPlus 56 internal improvements for better reliability and performance.
guard heartbeat done callback with task identity check
FixedGuards 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
FixedAdds 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
FixedThe 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
FixedAdds worker-side unit tests for the per-job liveness heartbeat write path introduced in .
add telemetry to reactive-T4 browser saturation signal path
FixedAdds 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
FixedAdds 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
FixedAdds wall-clock duration telemetry to the three periodic recovery sweep loops in \.
add NX idempotency guards to scrape-refund spend counter decrements
FixedFive 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)
Fixedwas 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
FixedStops 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
NewRefined 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
NewFully 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
NewYou 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
NewA 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
ImprovedOur 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
ImprovedWe 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
ImprovedThe 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
ImprovedPlus 27 internal improvements for better reliability and performance.
Realistic canvas rendering
ImprovedUpgraded 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
ImprovedThis release includes general improvements and maintenance updates.
Expanded MCP tool documentation
ImprovedOur 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
ImprovedYou 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
ImprovedSearch 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
ImprovedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedUpdated 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
FixedCapturing 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
FixedSuccessful 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
FixedJob 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
FixedWe 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
SecurityWe 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
SecurityAdded 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
ImprovedPlus 7 internal improvements for better reliability and performance.
Improved Scraping Success Rates
ImprovedWe 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
ImprovedOur 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
ImprovedWe 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
ImprovedWe 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
ImprovedWe 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
ImprovedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedFixed 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
FixedFixed 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
FixedSucceeded quick deposits with saved cards now complete without error. Your balance will update instantly, and payments will process smoothly.
Streamlined sidebar navigation
FixedWe 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
NewScrape 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
NewEuropean 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
ImprovedStandard 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
ImprovedWe 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
FixedOur 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
FixedWe 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
FixedAll 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
FixedThe 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
FixedThis 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
NewReturning 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
NewYou 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
ImprovedWe 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
ImprovedWe 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
ImprovedWe 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
ImprovedPlus 12 internal improvements for better reliability and performance.
Direct Sidebar Tool Navigation
ImprovedWe 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
ImprovedWe 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
FixedResolved 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
FixedFixed 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
FixedFixed 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
FixedCorrected 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
FixedFixed 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
FixedResolved 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
FixedFixed 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
FixedFixed 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
FixedEnterprise 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
NewWe 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
NewA 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
ImprovedEnjoy 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
ImprovedOur 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
ImprovedScraping 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
ImprovedThe 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
ImprovedAuthenticated 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
ImprovedPlus 9 internal improvements for better reliability and performance.
Automatic fallback proxy rotation
ImprovedIf 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
ImprovedOur 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
ImprovedWe 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
ImprovedWe 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
ImprovedAll 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
ImprovedWe 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
ImprovedWe 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
FixedResolved 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
FixedFixed 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
FixedWe'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
FixedThe 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
FixedWe'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
FixedAPI 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
FixedImproved 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
FixedWe 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
FixedFixed 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
FixedFixed 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
FixedReceive 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
FixedFixed 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
FixedThe 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
SecurityRestricted 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
SecurityWe 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
SecurityWe 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
SecuritySystem 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
SecurityWe 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
SecurityConnection 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
SecurityHeadless 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
SecurityImplemented 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
NewYou 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
ImprovedThe 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
ImprovedThe 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
ImprovedBilling 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
ImprovedOur 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
ImprovedOur 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
ImprovedPlus 32 internal improvements for better reliability and performance.
Consistent detection priority handling
ImprovedOur 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
ImprovedWe 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
FixedTemporary 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
FixedThe 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
FixedThe 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
FixedBrowser 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
FixedWe 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
FixedYou 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
FixedThe 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
FixedBilling 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
SecurityWe 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
SecurityWe 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
NewYou 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
NewWe 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
ImprovedWe 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
ImprovedCritical 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
ImprovedOne-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
ImprovedWe 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
ImprovedWe 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
ImprovedPlus 58 internal improvements for better reliability and performance.
Corrected Unsubscribe Rate Limiting
FixedWe 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
FixedAdded 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
FixedFixed 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
FixedFixed 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
FixedFixed 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
SecurityWe 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
SecurityWe 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
SecurityWe 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
NewEarn 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
NewInvite 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
NewThe 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
NewWe 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
NewThe 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
ImprovedEasily 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
ImprovedWe 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
ImprovedGenerate 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
ImprovedPlus 27 internal improvements for better reliability and performance.
Proactive Routing for Faster Scrapes
ImprovedFor 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
ImprovedWe 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
ImprovedA 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
ImprovedModified 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
ImprovedAligned 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
FixedOur 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
FixedWe 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
FixedYour 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
FixedFixed 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
FixedIntroduced 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
FixedThe \ parameter in the unified scrape endpoint looked up templates by slug without filtering on \.
guard legacy payment affiliate commission behind grant_credits result
FixedGuards 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
FixedFixed 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
FixedCrawl-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
FixedFixed 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
SecuritySecured 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
SecurityWe 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
ImprovedPlus 11 internal improvements for better reliability and performance.
escape mention var in JSON + move state dir outside repo
FixedFixes two minor review findings from :.
implement scrape probe in sla-tracker.sh
FixedImplements 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
FixedRenames 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
FixedThe 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
Fixedinternal service's daily SEO blog batch hits and crashes with 500 ( unique constraint violation).
add monitoring scrape targets for cloud provider worker containers
Fixedcloud 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
FixedFixes 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
FixedCorrects 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
NewOur 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
ImprovedInitial 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
ImprovedWe 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
ImprovedInternal 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
ImprovedPlus 10 internal improvements for better reliability and performance.
Faster dashboard page loading
ImprovedWe 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
ImprovedWe 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
FixedWe 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
FixedIf 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedSaving 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
FixedAdmin 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
FixedYour 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
FixedWe 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
NewTest 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
NewOne-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
ImprovedThis release includes general improvements and maintenance updates.
General bug fixes and improvements
ImprovedPlus 9 internal improvements for better reliability and performance.
Type-Safe Node SDK Search
ImprovedThe 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
ImprovedOur 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
ImprovedWe 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
ImprovedYour 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
FixedGuarantees 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
FixedEnsures 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
FixedResolves 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
FixedFixes 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
FixedIncludes several stability improvements across our platform. We resolved unreachable administrative endpoints, fixed JWT authentication errors, and corrected playground cost calculation inaccuracies.
Guaranteed Tenant Isolation
SecurityIntroduces 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
SecurityHardens 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
ImprovedYou 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
ImprovedPlus 4 internal improvements for better reliability and performance.
Improved Request Routing Reliability
FixedYou 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
FixedDeletes — dead code targeting the decommissioned E2E server ([server]).
use correct load balancer services endpoint for api-active direction check
FixedFixes two wrong load balancer API endpoint URLs in.
log-monitor.sh hardcodes psql -U alterlab unlike sibling scripts
FixedAll 13 psql callsites in hardcoded.
smoke tests probe load balancer routing, not container DNS
FixedSmoke 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
FixedTrivy 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
NewGet 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
NewReceive 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
NewA 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
NewAdded 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
ImprovedAfter 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
ImprovedWe 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
ImprovedSupport 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
ImprovedThe 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
ImprovedPlatform 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
ImprovedPlus 27 internal improvements for better reliability and performance.
Extended limit for complex scrapes
ImprovedThe 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
ImprovedWe 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
FixedResolved 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
FixedFixed 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
FixedFixed 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
FixedWe 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
FixedThe 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
FixedWe 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
FixedFixed 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
FixedResolved 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
FixedFixed 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
SecurityWe 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
SecurityWe 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
NewAttach 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
NewExperience 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
NewWe 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
ImprovedDeduplicated 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
ImprovedIncreased 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
ImprovedWe 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
ImprovedEach 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
ImprovedStandard 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
ImprovedOur 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
ImprovedWe 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
ImprovedThe 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
ImprovedThe 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
ImprovedBrowser 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
ImprovedPlus 18 internal improvements for better reliability and performance.
Improved Block Detection Precision
FixedEnhanced 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
FixedFixed 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
FixedFine-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
FixedResolved 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
FixedFixed 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
FixedWe 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
FixedThe 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
SecurityHardened 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
SecurityThe 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
NewYou 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
NewAPI 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
NewThe 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
ImprovedThe 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
ImprovedScrape 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
ImprovedOur 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
ImprovedPlus 15 internal improvements for better reliability and performance.
Locale-aware geographic routing
FixedScraping 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
FixedAPI 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
FixedReplying 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
FixedAsync 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
FixedWe 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
NewWe 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
ImprovedTimeout 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
ImprovedPlus 22 internal improvements for better reliability and performance.
Optimized Request Headers for API Endpoints
FixedRequests 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
FixedWe 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
FixedLegitimate 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
NewUpgraded 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
ImprovedOptimized 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
ImprovedRaised 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
ImprovedAutomatically 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
ImprovedAdjusted 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
ImprovedPlus 52 internal improvements for better reliability and performance.
Accurate empty schema filtering
FixedFixed 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
FixedResolved 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
FixedFixed 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
FixedStrict 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
SecurityImplemented 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
SecurityEnforced 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
NewThe 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
NewThe 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
ImprovedThe /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
ImprovedPlus 17 internal improvements for better reliability and performance.
Crawl pricing buttons show correct price
FixedCrawl 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
FixedSeven 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
FixedAfter 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
FixedLogin 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
FixedThree 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
FixedThe 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
FixedPage 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
FixedThe 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
FixedBlog 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
SecuritySecurity 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
NewYou 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
ImprovedYou 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
ImprovedYour 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
ImprovedWhen 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
ImprovedYour 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
ImprovedOur 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
ImprovedPlus 40 internal improvements for better reliability and performance.
Actionable batch payload validation
FixedIf 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
FixedYou 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
FixedPassing 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
FixedFixed 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
FixedThe 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
FixedWe 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
FixedOur 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
FixedWe 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
FixedResolved 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
NewPaid 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
ImprovedThe 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
ImprovedPlus 7 internal improvements for better reliability and performance.
JSON API Response Handling
FixedFixed 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
FixedResolved 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
FixedFixed 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
FixedFixed 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
FixedResolved 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
FixedImproved 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
ImprovedYou 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
ImprovedThe 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
ImprovedPlus 4 internal improvements for better reliability and performance.
New 'rejected' job status
ImprovedWe 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
ImprovedBilling-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
ImprovedOur 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
FixedWe 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
FixedInvoice 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
FixedScraping 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
FixedTargeted 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
FixedAutomated 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
FixedBatch 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
FixedSynchronous 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
ImprovedThis release includes 1 internal improvements for better reliability and performance.
Improved Adidas Scraping Capabilities
German Website Success Rates
ImprovedEnhanced 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
ImprovedPlus 9 internal improvements for better reliability and performance.
Adidas Search and Filters
FixedResolved 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
FixedFixed 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
ImprovedUpdated 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
ImprovedPlus 9 internal improvements for better reliability and performance.
Reliable Retail Data Extraction
FixedResolved 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
FixedFixed 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
SecurityHardened 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
Enhanced Browser Scraping and enhanced mode
Advanced stealth capabilities
ImprovedWe 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
ImprovedBrowser 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
ImprovedWe 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
ImprovedExtremely 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
ImprovedPlus 28 internal improvements for better reliability and performance.
Exactly-once job processing
FixedWe 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
FixedAPI 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
FixedSetting 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
FixedSearching 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
SecurityWe 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
ImprovedPlus 1 internal improvement for better reliability and performance.
Enhanced Dynamic Data Extraction
ImprovedWe 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
ImprovedOur 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
ImprovedThe 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
ImprovedWe 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
ImprovedWorkspace 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
FixedResolved 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
FixedFixed 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
FixedImproved 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
FixedResolved 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
FixedWe 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
FixedResolved 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
FixedWe 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
FixedWe 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
ImprovedThis release includes 8 internal improvements for better reliability and performance.
Improved Deep Crawl Reliability
Deep Crawl Reliability Restored
FixedResolved 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
NewYou 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
NewYou 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
ImprovedRequests 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
ImprovedWe 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
ImprovedPlus 3 internal improvements for better reliability and performance.
Refined Schema Extraction Output
ImprovedExtracted 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
ImprovedBeta 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
FixedWe 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
FixedThis 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
SecurityWe 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
SecurityAccess 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
ImprovedPlus 1 internal improvement for better reliability and performance.
Broader advanced evasion support
ImprovedScraping 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
FixedResolved 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
FixedFailed 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
ImprovedThis release includes general improvements and maintenance updates.
General bug fixes and improvements
ImprovedPlus 20 internal improvements for better reliability and performance.
Enforced spend limits for browser scrapes
FixedAdvanced 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
FixedMultiple 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
FixedApplying 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
FixedYour 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
FixedWe 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
FixedWe 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
SecurityStandardized 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
SecurityExtraneous 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
SecurityApplied 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
SecurityOur 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
NewWe'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
ImprovedPlus 46 internal improvements for better reliability and performance.
Meaningful Data Extraction Guards
ImprovedExtractions 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
ImprovedAuto-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
FixedLegitimate 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
FixedScrapes 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
FixedWe 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
FixedThe 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
FixedYou 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
FixedBrowser 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
FixedCharges 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
FixedAccount 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
FixedWe 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
SecurityWe 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
ImprovedPlus 10 behind-the-scenes improvements for better reliability and performance.
Improved table data extraction
FixedFixed 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
ImprovedThis release includes general improvements and maintenance updates.
General bug fixes and improvements
ImprovedPlus 3 behind-the-scenes improvements for better reliability and performance.
Faster billing invoice history
ImprovedWe 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
FixedYou 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
FixedWe 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
FixedWeb 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
FixedScheduled 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
FixedWe 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
NewYou 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
NewYou 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
ImprovedAutomatic 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
ImprovedPlus 1 behind-the-scenes improvements for better reliability and performance.
Advanced Anti-Bot Evasion
ImprovedWe 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
ImprovedThe 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
ImprovedWe 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
ImprovedWe 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
ImprovedYour 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
ImprovedThis release includes general improvements and maintenance updates.
Accurate billing record display
FixedWe 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
FixedWe 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
FixedWe 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
FixedWe 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
FixedYour 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
FixedResolved 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
ImprovedPlus 17 improvements for better reliability and performance.
Accurate deposit history reporting
FixedFixed 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
FixedResolved 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
SecurityApplied 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
NewSearch 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
NewThe 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
ImprovedWe 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
ImprovedPlus 23 behind-the-scenes improvements for better reliability and performance.
Enhanced browser fingerprint consistency
FixedWe 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
FixedResolved 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
NewYou 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
NewThe 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
ImprovedThis release includes general improvements and maintenance updates.
Coherent Browser Identity Matching
ImprovedWe 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
ImprovedWait 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
ImprovedThe 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
ImprovedLong-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
FixedThis 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
NewYou 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
NewThe 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
NewDeposit 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
NewWe 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
NewThe 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
ImprovedYou 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
ImprovedWe 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
ImprovedEvery 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
ImprovedPlus 28 improvements for better reliability and performance.
Accessible deposit pack buttons
FixedDeposit 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
FixedThe 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
FixedAccount 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
FixedDomain 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
FixedWe 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
FixedWe 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
FixedWe 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
ImprovedPlus 11 behind-the-scenes improvements for better reliability and performance.
Adaptive Routing and Enhanced User Experience
Faster data extraction processing
ImprovedWe'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
ImprovedPlus 8 behind-the-scenes improvements for better reliability and performance.
Dynamic Routing Reliability
ImprovedOur 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
ImprovedThe 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
ImprovedWe 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
FixedFixed 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
FixedRerunning 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
FixedThe 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
FixedDisabling 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
FixedResolved 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
FixedFixed 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
FixedWe 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
SecurityEnhanced 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
SecurityUsage 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
NewYou 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
NewAccess 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
ImprovedWe 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
ImprovedWe 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
ImprovedA 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
ImprovedThe 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
ImprovedImproved 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
ImprovedPlus 5 behind-the-scenes improvements for better reliability and performance.
Increased browser scraping capacity
ImprovedWe 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
ImprovedSearch 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
ImprovedWe 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
FixedYour 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
FixedFixed 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
FixedThis 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
FixedPOST 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
FixedBatch 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
FixedAnalytics 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
FixedCustom 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
SecurityEnhanced 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
SecurityWe 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
ImprovedPlus 3 internal improvements for better reliability and performance.
Reliable Batch Error Reporting
FixedAPI 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
SecurityWe 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
NewThe 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
NewWhen 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
NewExperience 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
NewYou 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
ImprovedThe 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
ImprovedPlus 10 internal improvements for better reliability and performance.
Optimized enhanced mode Execution
ImprovedWe 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
ImprovedOur 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
ImprovedYou 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
ImprovedSystem 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
ImprovedPlatform 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
ImprovedThe 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
FixedInfrastructure-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
FixedPerformance 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
FixedCrawl-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
FixedThe 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
FixedThe 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
FixedManual 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
FixedWe 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
SecurityYou 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
NewWe 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
ImprovedThe 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
ImprovedOur 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
ImprovedPlus 13 internal improvements for better reliability and performance.
Flexible file type auto-routing
FixedThe 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
FixedWe 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
FixedThe 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
FixedThe 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
FixedEstimated 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
FixedCode 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
FixedWe 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
FixedThe 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
FixedCached 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
FixedThe 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
FixedCustom 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
FixedScraping 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
NewWe 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
NewYou 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
ImprovedWe 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
ImprovedWhen 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
ImprovedImproved 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
FixedWhen 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
FixedResolved 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
FixedFixed 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
SecurityWe 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
NewAdmins 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
ImprovedMedia 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
ImprovedNew 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
ImprovedWe 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
FixedThe 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
FixedFixed 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
FixedAccount 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
FixedFixed 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
FixedAdvanced 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
FixedHardened 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
FixedVarious minor updates have been applied to improve dashboard synchronization, billing refund reliability, and extraction fallback accuracy.
Improved API Connection Reliability
FixedWe 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
FixedYou 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
FixedBackend 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
FixedWe 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
SecurityResolved 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
ImprovedPlus 4 internal improvements for better reliability and performance.
Stability & Performance
General bug fixes and improvements
ImprovedThis release includes 4 internal improvements for better reliability and performance.
Enhanced Success for High-Protection Sites
Improved regional site success
ImprovedYou 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
ImprovedWe 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
ImprovedAPI 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
ImprovedOur 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
ImprovedThe 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
ImprovedPlus 2 internal improvements for better reliability and performance.
Enhanced Playbook Configuration Feedback
ImprovedYou 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
ImprovedWe 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
FixedWe 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
FixedWe 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
FixedJob 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
FixedThe 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
FixedWe 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
FixedFixed 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
FixedResolved 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
ImprovedWe 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
FixedThe 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
FixedWe 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
FixedOur 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
NewThe 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
ImprovedSearch 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
ImprovedSystem 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
ImprovedScraping 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
ImprovedImprovements 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
ImprovedWe 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
ImprovedConcurrent 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
ImprovedPlus 4 internal improvements for better reliability and performance.
Standardized performance statistics
ImprovedWe 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
FixedWe 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
FixedThe 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
FixedAutomated 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
FixedThe 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
FixedThis 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
FixedThe 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
FixedInternal 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
FixedWe 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
FixedResource 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
FixedThe 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
FixedScraping 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
FixedAutomated 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
SecurityWe'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
ImprovedThis release includes 5 internal improvements for better reliability and performance.
Stability & Performance
General bug fixes and improvements
ImprovedThis release includes 5 internal improvements for better reliability and performance.
Reliable Session Insights and Performance
Intelligent Terminal Failure Detection
ImprovedThe 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
ImprovedOur 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
ImprovedPlus 4 internal improvements for better reliability and performance.
Faster Journey Analytics
ImprovedFunnel 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
ImprovedAnalysis 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
ImprovedThe 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
FixedAdministrative 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
FixedWe 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
FixedAttempting 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
FixedFixed 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
FixedResolved 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
FixedUser 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
FixedWe 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
FixedWe 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
FixedAutomated 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
SecurityWe 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
NewYou 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
NewOur 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
NewNew 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
ImprovedWe 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
ImprovedBrowser 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
ImprovedWe 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
ImprovedThe 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
ImprovedPlus 22 internal improvements for better reliability and performance.
Modern Web Data Extraction
FixedFixed 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
FixedResolved 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
FixedImproved 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
FixedFixed 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
SecurityImprovements 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
SecurityWe’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
SecurityStandardized 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
NewThe 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
ImprovedThe 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
ImprovedSubmitting 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
ImprovedOur 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
ImprovedPlus 8 internal improvements for better reliability and performance.
Support Portal Reliability
FixedWe 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
FixedReplies 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
FixedThe 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
SecurityThis 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
NewYou 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
ImprovedOur 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
ImprovedAll 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
ImprovedWe 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
ImprovedBoth 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
FixedWe 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
FixedSeveral 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
FixedThis 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
SecurityWe 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
SecurityAll 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
SecurityWe 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
NewA 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
NewThe 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
NewThe 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
ImprovedWe 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
ImprovedGeo-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
ImprovedThe 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
ImprovedInput 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
ImprovedPlus 6 internal improvements for better reliability and performance.
Accurate Cancellation Status Reporting
FixedThe 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
FixedResolved 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
FixedBilling 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
FixedValidation 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
SecurityWe 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
SecurityHeader 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
NewThe 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
NewYou 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
NewOur 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
NewYou 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
ImprovedWe 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
ImprovedInternal 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
ImprovedSynchronous 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
FixedWe 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
FixedThe 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
FixedWe 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
FixedLatency 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
SecurityWe 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
SecurityInternal 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
NewAdministrators 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
NewThe 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
ImprovedPlus 17 internal improvements for better reliability and performance.
Corrected usage statistics columns
FixedAdmin panel usage statistics now display accurate credit usage data by using the correct column names in database queries.
Fixed customer activity tracking
FixedCustomer activity displays properly in the CRM pipeline by using the correct session tracking data instead of referencing non-existent columns.
Fixed success rate display
FixedSuccess rate percentages now display correctly in the admin panel by computing the proper percentage values instead of decimal fractions.
Corrected billing information display
FixedBilling settings and recharge information now show accurate data by querying the correct database columns for payment configurations.
Fixed session integration metrics
FixedSession 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
NewA 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
NewThe 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
NewMonitor 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
NewTake 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
NewManage 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
NewOrganize 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
NewPlan 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
NewTrack 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
ImprovedThe 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
ImprovedPer-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
ImprovedError 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
ImprovedMobile 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
ImprovedWorker 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
ImprovedPlus 22 internal improvements for better reliability and performance.
Enhanced Admin Error Handling
ImprovedExperience 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
FixedVarious 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
FixedCritical 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
ImprovedLogo 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
ImprovedThe 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
ImprovedMarketing 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
ImprovedThe 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
FixedAuthentication-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
FixedLogo 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
FixedVarious 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
SecurityDisposable 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
NewThe 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
NewDashboard 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
NewA 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
NewComprehensive 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
ImprovedThe 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
ImprovedHigh 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
ImprovedAll 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
ImprovedPlus 51 internal improvements for better reliability and performance.
Personalized password emails
ImprovedPassword 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
FixedUsage 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...
FixedDisplay credits as dollar amounts in invoice upcoming ema....
Enhanced Reliability and Billing Accuracy
New Automation Entry Points
NewAdded 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
NewImplemented 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
ImprovedReplaced 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
FixedFixed 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
FixedImproved 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
FixedResolved 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
FixedEnhanced 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
FixedFixed 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
FixedAPI 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
FixedThe system now correctly identifies captcha challenges even when JavaScript contains comparison operators, preventing false negatives in automated detection.
Fixed Next.js development path issues
FixedAPI 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
FixedWebhook 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
FixedThe 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
FixedAccount deletion now properly revokes all session tokens before bulk deletion, ensuring complete account cleanup and preventing unauthorized access after deletion.
Enhanced rate limit detection
FixedThe system now correctly identifies rate-limited responses with short HTML bodies, ensuring appropriate escalation and preventing misclassification of blocked requests.
Fixed billing deposit safeguards
FixedDeposits exceeding the maximum limit now trigger automatic refunds and block credit grants, preventing accidental overcharges and maintaining billing integrity.
Resolved session status filtering
FixedExpired 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
FixedWebhook URLs are now validated immediately before delivery, preventing DNS rebinding attacks that could occur between creation and delivery time.
Improved webhook race condition handling
FixedStripe 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
FixedVarious 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
ImprovedPlus 17 internal improvements for better reliability and performance.
Expanded proxy coverage
ImprovedGeographic 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
FixedLegacy 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
FixedThe 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
FixedAmazon 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
FixedThe 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
FixedBackup 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
FixedWebhook 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
FixedText 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
FixedAPI 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
FixedImage 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
FixedLegacy 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
FixedBackup 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
FixedBackup 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
FixedBrowser 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
SecurityCredentials 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
ImprovedAdded 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
ImprovedFixed 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
ImprovedRaised 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
ImprovedIncreased 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
ImprovedLaunched 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
ImprovedIntroduced 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
ImprovedPlus 6 internal improvements for better reliability and performance.
Automatic API key recovery
FixedThe 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
FixedFixed 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
FixedEnhanced 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
ImprovedPlus 29 internal improvements for better reliability and performance.
Batch API key resolution
FixedBatch 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
FixedAdded on-demand API key decryption for batch operations, preventing fallback to truncated UUIDs when keys aren't cached in sessionStorage.
Batch request formatting
FixedCorrected 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
ImprovedWorker 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
ImprovedThe 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
ImprovedCritical 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
ImprovedSystem 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
ImprovedThe 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
FixedVarious 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
FixedImage 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
FixedBrowser 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
FixedAdmin 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
FixedRate 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
FixedAudit 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
SecuritySoft-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
NewA 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
ImprovedInternal refinements to the dashboard layout and component structure for improved consistency and maintainability.
Faster Crawl Job Reconciliation
ImprovedJob 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
ImprovedRate 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
ImprovedAPI 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
ImprovedPlus 5 internal improvements for better reliability and performance.
Enhanced Billing Alerts
FixedLow 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
FixedSpending 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
FixedThe 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
FixedDeposit 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
FixedAmazon 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
NewSet 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
NewDeposit 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
NewThe 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
NewGet 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
NewThe 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
ImprovedAll 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
ImprovedAuto-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
ImprovedVolume 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
ImprovedPlus 30+ additional fixes across billing, accessibility, rate limiting, and dashboard reliability.
Amazon Australia timeout alignment
FixedScraping 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
FixedFixed 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
SecurityThe 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
ImprovedReduced 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
ImprovedPlus 27 internal improvements for better reliability and performance.
Dashboard polling optimization
ImprovedDashboard 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
FixedFixed 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
FixedCredit 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
FixedBroadcast 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
FixedAll 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
SecurityImplemented 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
SecurityYour 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
NewEnhanced 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
ImprovedRevised 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
ImprovedPlus 7 internal improvements for better reliability and performance.
Strengthened demo rate limiting
SecurityAdded 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
NewA 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
ImprovedExtraction 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
ImprovedThe 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
ImprovedPlus 8 internal improvements for better reliability and performance.
Enhanced Analytics & Attribution
Channel ROI Dashboard
NewNew 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
NewCapture 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
NewPython 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
NewAccess 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
NewReceive 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
NewNew 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
NewComprehensive 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
NewSDKs 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
NewAutomated 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
ImprovedNew 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
ImprovedModal 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
ImprovedPlus 27 internal improvements for better reliability and performance.
Improved HTML scraping accuracy
FixedEnhanced 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
ImprovedThe 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
ImprovedPlus 3 internal improvements for better reliability and performance.
Better Shopify carousel detection
ImprovedCarousel 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
FixedHero 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
FixedText 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
FixedThe 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
FixedThe 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
FixedThe 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
FixedLogin 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
FixedThe 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
FixedSDKs 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
FixedHero 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
FixedNavigation, 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
FixedCommas 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
FixedScroll_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
FixedImage 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
FixedPython 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
NewYour 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
NewView 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
NewShare 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
NewNew 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
ImprovedWhen 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
ImprovedPlus 20 internal improvements including homepage visual polish, SEO structured data enhancements, and blog reliability fixes.
Workspace switching reliability
FixedFixed 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
FixedAPI 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
SecurityAdded 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
SecurityAPI 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
SecurityRevoking 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
NewNew 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
NewReceive 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
NewThe 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
NewAll platform emails now include HMAC-signed unsubscribe links and a dedicated unsubscribe page, ensuring full CAN-SPAM compliance.
Platform comparison table on pricing
NewThe pricing page now includes a detailed comparison table showing how AlterLab stacks up against alternatives on features, pricing, and capabilities.
Documentation screenshots
NewTen documentation pages now include interactive screenshots showing real dashboard UI, making it easier to follow along with guides and tutorials.
Credits renamed to Requests
ImprovedThe 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
ImprovedStandardized 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
ImprovedRecent 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
ImprovedPlus 30 internal improvements including mobile sidebar fixes, SEO title rewrites, cookie consent positioning, webhook navigation, and blog cover image enhancements.
Usage page loading reliability
FixedFixed 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
FixedFixed inaccurate competitor pricing claims across comparison and marketing pages. All pricing data now reflects current published rates.
Auth and signup improvements
FixedThe 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
NewNew /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
NewNew 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
NewDedicated 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
ImprovedAll 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
ImprovedPython 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
ImprovedPlus 12 internal improvements including CI permissions, accessibility attributes, blog CTA placement, and pricing page sticky navigation.
Signup flow improvements
FixedDemo 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
FixedFixed 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
SecurityFixed 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
NewScrape 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
NewYou 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
ImprovedThe 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
ImprovedAll 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
FixedFixed 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
FixedFixed 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
NewThe 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
NewYou 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
NewExport 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
NewA 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
NewYou 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
NewYou can now manually trigger a scheduled scrape with the new 'Run Now' button, without waiting for the next cron interval.
Duplicate schedules and batches
NewYou 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
NewBatch and schedule pages now show an itemized cost calculator so you can estimate costs before running jobs.
Account deletion option
NewYou 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
NewYou can now rename your API keys for better organization and regenerate them if compromised, without deleting and recreating.
Profile editing in settings
NewA new profile tab in Settings lets you update your name and other profile information directly from the dashboard.
Dashboard terminal
NewA 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
NewWebhooks now automatically retry with exponential backoff on delivery failure. A delivery log shows the status of each attempt.
Password management restored
FixedFixed 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
FixedFixed an issue where the API key list endpoint returned full key values. Keys are now properly masked in list responses.
Balance display improvements
FixedFixed 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
FixedFixed an issue where the playground page had horizontal overflow on mobile devices, making the response panel inaccessible.
Contact form visible on mobile
FixedFixed the contact form being hidden on mobile viewports. The form is now fully accessible on all screen sizes.
OAuth sign-in loop resolved
FixedFixed 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
FixedFixed spend counter drift that could cause inaccurate usage reporting and billing sync timeouts.
Crawl API, Workflow Studio, and Forgot Password
Crawl API launched
NewYou 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
NewBoth 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
NewThe 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
NewCrawl 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
NewA 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
NewA curated gallery of workflow templates helps you get started quickly. Browse pre-built templates and customize them for your use case.
Workflow run dashboard
NewMonitor your workflow executions in real-time with the run dashboard. View execution history, retry failed runs, and track progress.
Forgot password flow
NewYou 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
NewA 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
NewDocumentation 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
FixedFixed 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
ImprovedThis release includes internal improvements for better reliability and performance.
Authenticated Scraping (BYOS)
Bring Your Own Session (BYOS)
NewScrape 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
NewNew '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
NewPass 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
SecuritySession 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
NewTier cards on the billing page are now interactive, making it easier to compare features and costs across scraping tiers.
Faster page load times
ImprovedReduced initial page load by deferring below-fold JavaScript and heavy 3D animations. Dashboard pages now load noticeably faster.
Improved scraping reliability
ImprovedScraping 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
FixedThe 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
ImprovedThe 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
ImprovedPlus 8 internal improvements for better reliability and performance.
Restored API Service Reliability
FixedWe 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
SecurityWe 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
NewYou 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
NewSet up recurring scrape jobs using cron expressions. Schedules run automatically and apply your BYOP discount when configured.
Batch and schedule dashboards
NewNew dashboard pages for managing batch jobs and schedules, with progress tracking, error details, and usage breakdowns.
Data Processing Agreement page
NewA new DPA page is now available for enterprise customers who need a formal data processing agreement.
Usage chart restored
FixedFixed an issue where the usage chart on the dashboard was showing a placeholder instead of real data.
Failed requests in detailed logs
FixedFailed scrape requests now appear in your detailed usage logs, giving you full visibility into what went wrong.
Performance & Stability
General stability improvements
ImprovedInternal performance optimizations to improve scraping reliability and reduce resource usage under high load.
Compliance & Security Hardening
OAuth sign-in crash fixed
FixedFixed an issue where signing in with Google OAuth could crash due to a logging error in the fingerprint service.
Amazon coupon extraction improved
FixedUpdated extraction selectors for Amazon product pages to correctly capture coupon and promotional offer data.
OFAC sanctions screening
SecurityNew 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
ImprovedThe usage page now shows your current balance prominently and removes misleading hover effects from non-interactive elements.
Google One Tap sign-in fixed
FixedFixed several issues causing Google One Tap sign-in to fail, including session handling errors and redirect loops.
OAuth provider-not-linked error
FixedFixed 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
NewYou 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
NewA new notification bell in the dashboard alerts you to important events like promo code activations and account updates.
Enriched webhook payloads
NewWebhook 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
NewEvery deposit now generates a proper Stripe invoice, making it easier to track payments and manage accounting.
Improved extraction quality
NewBetter text and markdown output from structured data sources. Collection pages, financial data, and generic pages now return richer formatted content.
Blog added to navigation
NewThe AlterLab blog is now accessible from the main site navigation across all pages.
Faster API response times
ImprovedScrape 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
FixedFixed an issue where webhook retries from Stripe could result in duplicate credit grants to your account.
Usage modal data corrected
FixedFixed the usage detail modal showing incorrect format and location information for individual scrape requests.
SSL certificate fallback
FixedSites with incomplete SSL certificate chains no longer fail. The scraper now automatically falls back to handle partial certificate configurations.
Welcome modal scrape count corrected
FixedFixed the welcome modal displaying 1,000 free scrapes instead of the correct 5,000.
Promo Codes & Notification System
Deposit promo codes
NewYou 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
NewA new notification center in the dashboard keeps you informed about promo activations, account events, and important updates.
Deposit invoices via Stripe
NewEvery deposit now generates a Stripe invoice with promo bonus shown as a distinct line item, making your payment history clearer.
Faster scrape responses
ImprovedSynchronous scrape requests now return faster thanks to adaptive polling optimizations and cached extraction output.
SSL fallback for broken certs
FixedSites with incomplete SSL certificate chains no longer fail. The scraper automatically handles partial certificate configurations.
Pricing & Billing Fixes
Updated pricing tiers
ImprovedAdjusted pricing for advanced scraping tiers to better reflect operational costs. Check the pricing page for current rates.
Billing calculation fixes
FixedFixed 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
FixedFixed the usage detail modal showing wrong tier, formats, and location for individual scrape requests.
Smart Extraction & Minimum Deposit Change
Better collection page extraction
NewProduct 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
NewAdded optimized extraction for almaany.com, a major Arabic dictionary site, with dedicated content parsing rules.
Text and markdown from structured data
NewWhen 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
ImprovedSignificantly improved success rates on Cloudflare-protected sites by reducing false challenge detections and eliminating wasted time on unsolvable challenges.
Minimum deposit raised to $10
FixedThe minimum deposit amount has been raised from $5 to $10 to align with payment processing requirements.
Dashboard layout improvements
FixedFixed dead click areas, layout shift issues, and conversion gaps on the playground, billing, and usage pages.
Bug Fixes & Stability
Usage estimate routing fixed
FixedFixed 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)
NewA 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
NewAmazon product scrapes now extract delivery information, promotional offers, and coupon details in the structured response.
OAuth2 authorization server
NewYou can now connect AlterLab to third-party platforms like n8n using standard OAuth2 authorization. Manage connected apps from your dashboard.
Better generic page extraction
ImprovedNon-article pages like homepages, landing pages, and app pages now return significantly better content extraction results.
Email verification required for API keys
SecurityAPI key generation now requires a verified email address, improving account security and preventing abuse.
OTP Security & Pricing Refresh
Redesigned Pricing Page
ImprovedThe 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
SecurityAdded 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
NewAdded 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
NewIntroduced 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
NewImproved product data extraction for major e-commerce platforms, with better metadata parsing and support for client-side rendered product pages.
Social Media Profile Scraping
NewAdded support for scraping social media profile data through dedicated API integrations, bypassing common anti-bot protections.
Scraping Performance Boost
ImprovedApplied 14 performance optimizations across the scraping pipeline, resulting in faster response times especially for browser-based scrapes.
Playground Code Copy Fix
FixedYou can now copy code examples from the playground without needing to be logged in.
2FA Email Delivery Fix
FixedFixed a bug where two-factor verification codes were not being sent via email during account actions.
Playground Code Copy Fix
Copy Code Without Login
FixedYou can now copy code examples from the playground without needing to sign in first.
Markdown-First Output & Request Details
Markdown-First API Output
NewAPI 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
NewThe 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
NewA new requests estimator shows how many scrapes your remaining balance can support, displayed inline with your balance in the header.
Report Issue Button
NewYou can now report scraping issues directly from the dashboard. Your feedback helps improve extraction quality for specific sites.
Source Tracking for Requests
NewUsage logs now distinguish between requests made from the playground versus your API integration, helping you track usage more precisely.
Improved Sign-In Error Messages
ImprovedSign-in errors now show clear, actionable messages instead of generic failures, and the page handles already-authenticated users gracefully.
Playground Layout Improvements
FixedFixed several playground layout issues including results panel height matching and scrolling behavior for a cleaner experience.
OAuth Account Linking
FixedFixed the OAuth account linking flow so you can properly connect Google or GitHub to an existing email account.
Stability Patch
General Stability Improvements
ImprovedInternal maintenance and stability improvements for a smoother experience.
Support Tickets & Billing Fixes
Support Ticket System
NewYou 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
ImprovedThe free tier now clearly shows 5,000 scrapes included, with updated messaging across the platform.
Better Scraping Success Rates
ImprovedImproved stealth capabilities for sites with advanced bot protection, resulting in higher success rates on difficult targets.
Billing Balance Consistency
FixedFixed issues with balance display occasionally showing stale values. Your balance and ledger are now always in sync.
Playground Run Button Feedback
FixedThe 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
NewA 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
ImprovedThe playground configuration panel has been redesigned for better usability and scroll performance, making it easier to set up complex scrape requests.
Faster Dashboard Loading
ImprovedMoved user data fetching to the client side, reducing initial page load time for the dashboard.
Clickable Balance Display
FixedYour balance display in the dashboard header is now clickable and navigates directly to the billing page.
OAuth Error Messages
FixedImproved error messages when OAuth sign-in encounters issues, so you can understand what went wrong.
OTP Verification & Inline Docs
Email OTP Verification
NewNew 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
NewAccess API documentation directly from the dashboard sidebar without leaving your workflow. Includes search to quickly find endpoints and examples.
Redesigned Pricing Page
ImprovedThe pricing page has been redesigned with improved UX, including a highlighted smart routing explanation showing how requests are optimally processed.
Better Firewall Detection
ImprovedImproved 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
FixedAuthenticated users visiting the public playground are now automatically redirected to the dashboard playground with full functionality.
CLI Terminal & Usage Analytics
Dashboard CLI Terminal
NewA 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
NewThe 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
ImprovedDashboard displays have been refined for better readability with clearer labels and improved data presentation.
Mission Control Dashboard & SDK Update
Mission Control Dashboard
NewThe 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)
NewBoth 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
FixedFixed an issue where chart lines could cross the axes in the usage dashboard, improving data visualization accuracy.
Usage Data Accuracy Fix
Accurate Success Tracking
FixedUsage 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
NewAPI responses now include source tracking to distinguish between playground and API requests, helping you monitor usage patterns.
Discord Integration
NewA Discord bot is now available for real-time production monitoring, incident management, and slash commands to interact with the platform.
Improved API Documentation
FixedFixed several documentation issues including extraction schema field names, Python SDK async/await examples, and formatting in code samples.
Schema Field Compatibility
FixedAdded missing field aliases to extraction schemas, ensuring playbook-specific field names map correctly to standard output fields.
General Stability Improvements
General stability improvements
ImprovedMinor internal improvements to ensure consistent behavior across the platform.
Security Hardening & Billing Fixes
Billing system migration completed
FixedCompleted 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
FixedWhen Google One Tap sign-in fails silently, you now see a clear error toast instead of nothing happening.
Rate limit tiers synchronized
FixedRate limits displayed in the dashboard now accurately match the enforced backend limits for each tier.
Security vulnerability fixes
SecurityResolved 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
ImprovedMinor internal improvements to ensure consistent behavior across the platform.
General Stability Improvements
General stability improvements
ImprovedMinor internal improvements to ensure consistent behavior across the platform.
Lossless Extraction by Default
Lossless extraction by default
NewStructured 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
FixedThe 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
NewAlterLab now supports integration with external API marketplaces. Marketplace requests are handled seamlessly with proper authentication and billing.
Searchable documentation
NewDocumentation now includes a dynamic search index, making it much faster to find the endpoint or guide you need.
Node.js SDK documentation
NewComprehensive SDK documentation is now available for both Python and Node.js, with usage examples and badges.
Searchable Documentation
Searchable documentation
NewDocumentation now includes a dynamic search index so you can quickly find any endpoint, guide, or SDK reference.
Node.js SDK documentation
NewComprehensive SDK documentation is now available in the docs sidebar, covering both Python and Node.js SDKs with examples.
v2.0.0
Smarter Content Extraction
Smarter content extraction
NewThe 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
FixedAdvanced 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
NewYou 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
NewJobs 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
NewThe 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
NewAdded 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
NewNew 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
FixedPricing 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
NewAlterLab 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
FixedWhen 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
NewThe 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
FixedResolved an error that could cause the dashboard statistics endpoint to fail with a database connection issue.
Dashboard tier display corrected
FixedFixed 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
NewThe 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
FixedFixed an issue where your current tier was incorrectly displayed in the dashboard due to a normalization bug.
Pricing Update & Performance Boost
Updated pricing structure
NewPricing 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
ImprovedThe 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
NewA 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
NewScraping requests now use parallel IP racing and streaming optimization for significantly faster responses, especially on high-protection domains.
BYOP parallel IP support
NewBring Your Own Proxy users can now benefit from parallel IP racing, improving success rates on difficult sites.
Automatic fallback for blocked sites
ImprovedThe scraping engine now intelligently remembers which approach works best for each domain and automatically skips methods that consistently fail.
Corrected rate limit display
FixedEmail 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
NewYou can now specify geographic locations for all Bring Your Own Proxy providers, enabling country-specific scraping for localized content.
Better anti-bot bypass success
ImprovedImproved success rates on heavily protected sites like ticket marketplaces through enhanced challenge-solving capabilities.
Dynamic extraction from playbooks
ImprovedThe 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
ImprovedImproved automated challenge-solving for sites protected by interactive verification, increasing success rates on heavily guarded domains.
Automatic proxy rotation for protected domains
ImprovedHigh-protection domains like major retailers now automatically use IP rotation for better success rates.
Fixed worker crash on startup
FixedResolved a missing module that could cause scraping workers to crash, improving overall reliability.
Job Monitoring and Auto-Escalation
Automatic proxy escalation
ImprovedWhen a request is blocked, the system now automatically retries with proxy enabled, improving success rates without requiring manual intervention.
Reliable job status tracking
FixedFixed data inconsistencies between the job queue and dashboard, so job statuses now accurately reflect real-time progress.
Fixed sidebar layout on first load
FixedResolved an issue where the dashboard sidebar would render at the wrong width on the initial page load.
Organizations and Mobile Improvements
Organization member permissions
NewOrganization members now have proper permission checks when creating API keys, ensuring team access controls work correctly.
Better mobile experience
ImprovedImproved responsiveness across the entire platform for a smoother experience on phones and tablets.
Clearer insufficient balance errors
FixedWhen 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
NewSign in instantly with a single tap using your Google account, no password required. Available across the platform.
Fixed demo overlay buttons
FixedThe interactive demo buttons on the homepage now work correctly, letting you try the API without signing up.
Fixed signup credit grant
FixedNew signups now correctly receive their welcome credits and email verification even when email delivery is unavailable.
Reddit scraping enabled
FixedReddit scraping now works reliably with automatic proxy routing for consistent results.
Reliability and Pricing Precision
Higher throughput and reliability
ImprovedSignificant reliability improvements ensure failed scrapes return errors immediately instead of silently retrying, giving you faster feedback.
Sub-cent pricing precision
ImprovedPricing now supports 4 decimal places, ensuring accurate billing for high-volume users with sub-cent per-request costs.
Fixed dashboard crash on unknown status
FixedThe dashboard no longer crashes when encountering jobs with unexpected status values.
Horizontal Scaling and Balance-Based Limits
Higher throughput and reliability
NewThe scraping infrastructure now scales horizontally with multiple worker replicas, delivering higher throughput and better reliability under load.
Balance-based rate limits
ImprovedConcurrency 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
FixedThe BYOP proxy integration modal has been redesigned to prevent content clipping and improve usability.
Parallel Scraping and Reddit Support
3x faster with parallel scraping
NewScraping now races multiple approaches in parallel instead of sequentially, dramatically reducing response times especially for protected sites.
Reddit scraping support
NewFull support for scraping Reddit posts, comments, and profiles with optimized extraction that delivers clean structured content.
Request detail modal
NewA new detail modal in the playground shows the full scrape journey for every request, including timing, approach used, and content extracted.
Consolidated JSON output
ImprovedJSON extraction output no longer produces triple-duplicated data, giving you a cleaner and more usable response.
Fixed playground storage error
FixedResolved a localStorage quota error that could prevent the playground from saving your scraping history.
Job status visible in dashboard
FixedScrape 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
NewA new split worker architecture delivers 3x higher throughput, meaning your batch scrapes and concurrent requests complete significantly faster.
Location-based proxy targeting
NewBYOP users can now specify geographic locations for their proxy requests, enabling country-specific scraping for localized content.
Balance-based concurrency tiers
NewConcurrency limits now scale with your account balance instead of fixed plans. Higher balance means more simultaneous requests.
Dashboard shows correct tier
ImprovedThe dashboard now displays your actual balance-based tier instead of a legacy subscription plan name.
Fixed BYOP proxy toggle
FixedResolved a bug where switching proxy providers would carry over stale configuration from the previous provider.
PDF Generation and Organizations
PDF generation
NewGenerate full-page PDF snapshots of any URL through the API. PDFs are served via a dedicated downloads endpoint with direct URL access.
Organization workspaces
NewCreate organizations and invite team members to share API keys, billing, and usage under a single workspace.
Redesigned billing experience
ImprovedThe 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
ImprovedCTA buttons and header navigation now route logged-in users directly to the dashboard instead of showing the sign-in modal.
Welcome modal redesign
ImprovedNew users see a polished welcome experience with clear onboarding guidance after signing up.
Fixed balance display rounding
FixedAccount balance now truncates instead of rounding, preventing misleading display of fractional cents.
Caching is now opt-in
FixedResponse 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.