Skip to content

v3.18.0

Latest

Choose a tag to compare

@apify-service-account apify-service-account released this 04 Aug 14:30

3.18.0 (2026-08-04)

Bug Fixes

  • allow any clickOptions in enqueueLinksByClickingElements (#3823) (abcbfb1)
  • avoid duplicate final crawler persistence (#3866) (79dd6c4), closes #3167
  • basic-crawler: declare @apify/datastructures as a dependency (#3815) (4e9d227)
  • core: avoid re-submitting already-enqueued requests in addRequestsBatched (#3843) (704c269), closes #2456 #2456 #2456 #3120
  • core: cap retries for unprocessed requests in addRequestsBatched (#3765) (b3170a6), closes #3764
  • core: clear AutoscaledPool.pause() polling interval on timeout (#3847) (42b8914)
  • core: ignore explicitly undefined baseUrl in enqueueLinks helpers (#3924) (a58a9c1)
  • core: keep crawler enqueue limits when options carry explicit undefined (#3927) (5f1b0ab), closes #3924 #3924
  • core: keep same-domain filtering after an off-domain redirect (#3923) (9b312ef), closes #3921
  • core: remove RequestList persist state listener on teardown (#3846) (63394ee)
  • core: skip malformed cookie fragments in mergeCookies (#3822) (b3c3ef2)
  • core: unblock backpressured sitemap load on persistState (#3863) (0b31a8b)
  • declare missing dependencies (#3817) (5a9a661)
  • filter sitemap-derived URLs by enqueue strategy (#3797) (9dc3160)
  • impit-client: honor redirect handler for session cookie parity (#3938) (9371301)
  • make crawler terminal status message reliably delivered (#3733) (7aed264)
  • memory-storage: don't increment handledRequestCount when updating a handled request (#3827) (4739d48)
  • memory-storage: prevent storage names from escaping the storage directory (#3715) (a04c297)
  • memory-storage: use platform basename in key-value store warning (#3864) (dcefe01)
  • playwright,puppeteer: only intercept requests for non-GET methods or payloads (#3819) (1942f1e)
  • playwright: silence transient errors in enqueueLinksByClickingElements (#3732) (7b98cc3), closes #3216
  • read properties directly from GotScrapingHttpClient response (#3807) (c673c8d)
  • respect falsy transformRequestFunction return in context enqueueLinks (#3925) (6cb4fc3), closes #3920
  • sitemap: recognize sitemap_index as a valid input sitemap url (#3909) (eacab5e)
  • stagehand: wait for Stagehand to register a page before using it (#3865) (238214f)
  • update handleCloudflareChallenge for new Cloudflare challenge markup (#3717) (5baa8bd), closes #3629 apify/camoufox-js#283 #3629
  • utils: advance the CPU tick baseline in systemInfoV2 getCurrentCpuTicks (#3824) (bb23800)
  • utils: allow apostrophes and asterisks in extracted URLs (#3790) (e9baffd), closes #2755
  • utils: prevent ReDoS in social email regex (#3845) (d6a2b39)
  • utils: prevent sitemap metadata leak across url without loc (#3795) (895ed62)
  • utils: use article:* selectors for article Open Graph properties (#3789) (b660506)

Features

Performance Improvements

  • core: improve RequestList initialization speed on large arrays (#3754) (c451c13), closes #3750