Skip to content

4.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Jul 09:35
dd4f419

4.0.0 (2026-07-20)

🚀 Features

🐛 Bug Fixes

  • scrapy: Correct proxy middleware exception log and import (#953) (5bd6eb9) by @vdusek
  • scrapy: Skip a request that fails to convert instead of crashing the run (#952) (db9444f) by @vdusek
  • scrapy: [breaking] Serialize requests and HTTP cache as JSON instead of pickle (#951) (a87e8d1) by @vdusek
  • scrapy: Make logging configuration idempotent (#954) (2cc5602) by @vdusek
  • Bump typing-extensions floor to 4.4.0 (#960) (b7e7d9c) by @vdusek
  • Preserve decorated symbol types in docs_group and docs_name (#964) (6c359a7) by @vdusek
  • Exit already-entered contexts when Actor or event manager init fails (#969) (c1a15a7) by @vdusek
  • scrapy: Dump pydantic models in JSON mode when serializing requests (#961) (f2ccae1) by @vdusek
  • Accept arbitrary JSON userData in ApifyRequestList (#966) (2cfd8a5) by @vdusek
  • Coerce null stats in Apify request queue metadata (#974) (63eb771) by @vdusek
  • Allow Actor.reboot() to be retried after a failed or cancelled attempt (#968) (7d46ec5) by @vdusek
  • Correct reclaim_request count adjustment for already-handled requests (#973) (86f4cd5) by @vdusek
  • scrapy: Drop deprecated spider arg from Scrapy proxy middleware methods (#977) (49dd836) by @vdusek
  • Redirect input key in all file-system key-value store operations (#976) (1fbdce2) by @vdusek
  • Respect explicit zero custom_after_sleep in metamorph and reboot (#971) (e8cda0a) by @vdusek
  • Reconnect to platform events websocket after connection drop (#967) (5653a22) by @vdusek
  • Forward all Webhook fields to ad-hoc webhooks (#963) (726620b) by @vdusek
  • scrapy: Avoid mutating request userData during Scrapy-Apify conversion (#978) (b0b7df7) by @vdusek
  • scrapy: Async-thread startup race, shutdown lifecycle, and timeout setting (#979) (ae12935) by @vdusek
  • Commit request queue dedup cache only after batch_add_requests succeeds (#975) (078ab87) by @vdusek
  • Prevent request queue softlock by adding is_finished and correcting is_empty (#1008) (4ead0c6) by @Mantisus
  • [breaking] Honor explicit exit codes and control-flow signals in Actor exit (#1048) (573e3a3) by @vdusek
  • Limit timeout to minimum of 1 seconds when timeout='inherit' (#1051) (54e52e6) by @Pijukatel
  • Don't disable Actor exit_process just because scrapy is importable (#1049) (9d154ae) by @vdusek

🚜 Refactor

⚡ Performance

⚙️ Miscellaneous Tasks