All notable changes to this project will be documented in this file.
_list_head request limit at _MAX_HEAD_ITEMS (#869) (1716a2a) by @vdusekmax_total_charge_usd=0 instead of treating it as unlimited (#870) (714334c) by @vdusekevent_listeners_timeout in Actor.reboot (#872) (03e73d3) by @vdusekdefault alias as default storage when in schema (#827) (1610d0d) by @Pijukatel__aexit__ to prevent cascading failures (#842) (68c2acf) by @vdusekreturn_exceptions (#843) (ed13597) by @vdusekServiceConflictError when reusing Actor across sequential context (#804) (9e5078f) by @Mantisus, closes #678ACTOR_PERMISSION_LEVEL to the configuration (#689) (68012c7) by @stepskop, closes #690ApifyFileSystemStorageClient compatible with the apify cli (#677) (a32274f) by @PijukatelActor.push_data with PPE and a strict charging limit (#664) (8f2e4b2) by @janbucharJSONDecodeError (#679) (17c13d1) by @Pijukatel, closes #672cloud_storage_client in SmartApifyStorageClient (#642) (3bf285d) by @vdusekid (#633) (76886ce) by @Pijukatel, closes #630unique_key in list_head by fetching full request data (#631) (4238086) by @vdusek, closes #627add_batch_of_requests (#534) (dd03c4d) by @Pijukatel, closes #514ApifyRequestQueueClient (#574) (21f6782) by @Pijukatel, closes #1344APIFY_USER_IS_PAYING env var to the configuration (#507) (0801e54) by @stepskopclient_key for Actor created request_queue and improve its metadata estimation (#552) (7e4e5da) by @Pijukatel, closes #536httpx with impit (#560) (cca3869) by @Mantisus, closes #558Request.id field (#553) (445ab5d) by @PijukatelActor initialization stricter and more predictable (#576) (912222a) by @PijukatelAPIFY_USER_IS_PAYING env var to the configuration (#507) (0de022c)logger argument on Actor.call to control log redirection from started Actor run (#487) (aa6fa47) by @PijukatelRemainingTime option for timeout argument of Actor.call and Actor.start (#473) (ba7f757) by @Pijukatel, closes #472exit_process option (#424) (994c832) by @vdusek, closes #396, #401rate_limit_errors property for ApifyStorageClient (#387) (89c230a) by @Mantisus, closes #318nest-asyncio (#390) (96949be) by @vdusek, closes #148, #176, #392Actor.charge (#393) (78888c4) by @janbuchar, closes #374Actor.config (#351) (7b6478c) by @fnesvedaActor.reboot() from migrating handler, align reboot behavior with JS SDK (#361) (7ba0221) by @fnesvedawebsockets dependency to <14.0.0 (#322) (15ad055) by @PijukateluniqueKey field of the request, aligning it with the Crawlee.to_apify_request serialization failuresRequest.dont_filter works.ApifyScheduler, to_apify_request and apply_apify_settings.ApifyRetryMiddleware and stay with the Scrapy's default oneheaders fields in Apify <--> Scrapy request translationuserData and headers fields in Apify <--> Scrapy request translationapply_apify_settings function to Scrapy subpackageApifyHttpProxyMiddlewarenested_event_loop in the Scheduler.__del__ApifyHttpProxyMiddlewareApifyRetryMiddleware.process_exception(), where requests were getting stuck in the request queuescrapy extraisinstance())pytest-randomly Pytest pluginapify-client and apify-shared to improve compatibility with their newer versionsActor.reboot method to use the new reboot endpointapify-shared libraryflake8-simplifyACTOR_ instead of some with prefix APIFY_apify-client and apify-shared to prevent their implicit updates from breaking SDKis_terminal flag in status message updateActor.exit()