All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
maxCrawlDepth warning is logged only once (#3337) (9d01334), closes #3336BasicCrawler.stop() calls correctly (#3324) (9c0580b), closes @crawlee/stagehand package for AI-powered browser automation (#3331) (a89cb5a), closes #3064handleCloudflareChallenge more configurable (#3247) (629daf8), closes #3127discoverValidSitemaps utility (#3339) (29f52ed)_timeoutAndRetry (#3206) (9c1cf6d), closes /github.com/apify/crawlee/pull/3188#discussion_r2410256271AdaptivePlaywrightCrawler (#3188) (9569d19)ImpitHttpClient respects the internal Request timeout (#3103) (a35376d)proxyUrls list can contain null (#3142) (dc39cc2), closes #3136exportData calls on empty datasets (#3115) (298f170), closes #2734maxCrawlDepth with a custom enqueueLinks transformRequestFunction (#3159) (e2ecb74)Note: Version bump only for package @crawlee/root
pre|postLaunchHooks prematurely (#3062) (681660e)exclude option in enqueueLinksByClickingElements (#3058) (013eb02)HttpCrawler (#3060) (b5fcd79), closes /github.com/apify/crawlee/blob/f68d2a95d67cc6230122dc1a5226c57ca23d0ae7/packages/browser-crawler/src/internals/browser-crawler.ts#L481-L486 #3029systemInfoV2 in snapshotter (#2961) (4100eab), closes #2958KVS.setRecord calls (#2962) (d31d90e)_createPageForBrowser in browser pool (#2950) (27ba74b), closes #2789[@apilink](https://github.com/apilink) to [@link](https://github.com/link) on build (#2949) (abe1dee), closes #2717autoscaledPoolOptions.isTaskReadyFunction option (#2948) (fe2d206), closes #2922context.body (#2838) (32d6d0e), closes #2401camoufox template correctly (#2864) (a9d008c), closes #2863handleCloudflareChallenge helper (#2865) (9a1725f)impit streaming (#2833) (af2fe23), closes #2756.trim() urls from pretty-printed sitemap.xml files (#2709) (802a6fe), closes #2698fingerprintGeneratorOptions types (#2705) (fcb098d), closes #2703forefront request fetching in RQv2 (#2689) (03951bd), closes #2669prolong- and deleteRequestLock forefront option (#2690) (cba8da3), closes #2681 #2689 #2669.isFinished() before RequestList reads (#2695) (6fa170f)UInt8Array in KVS.setValue() (#2682) (8ef0e60)errorHandler for session errors (#2683) (7d72bcb), closes #2678username and password (#2696) (0f0fcc5)ignoreHTTPSErrors to acceptInsecureCerts to support v23 (#2684) (f3927e6)forefront option in MemoryStorage's RequestQueue (#2681) (b0527f9), closes #2669SitemapRequestList.teardown() doesn't break persistState calls (#2673) (fb2c5cd), closes /github.com/apify/crawlee/blob/f3eb99d9fa9a7aa0ec1dcb9773e666a9ac14fb76/packages/core/src/storages/sitemap_request_list.ts#L446 #2672@crawlee/browser package (#2532) (3357c7f)useState in adaptive crawler (#2530) (7e195c1)context.request.loadedUrl and id as required inside the request handler (#2531) (2b54660)waitForAllRequestsToBeAdded option to enqueueLinks helper (925546b), closes #2318useState implementation into crawling context (eec4a71)crawler.log publicly accessible (#2526) (3e9e665)launchOptions on type level (0519d40), closes #1849crawler.log when creating child logger for Statistics (0a0d75d), closes #2412requestHandler is provided in AdaptiveCrawler (#2518) (31083aa)URL_NO_COMMAS_REGEX regexp to allow single character hostnames (#2492) (ec802e8), closes #2487