- BREAKING: Node 8 and 9 are no longer supported. Please use Node 10.17.0 or higher.
- DEPRECATED:
Apify.callTask()
body
andcontentType
options are now deprecated.
Useinput
instead. It must be ofcontent-type: application/json
. - Add default
SessionPool
implementation toBasicCrawler
. - Add the ability to create ad-hoc webhooks via
Apify.call()
andApify.callTask()
. - Add an example of form filling with
Puppeteer
. - Add
country
option toApify.getApifyProxyUrl()
. - Add
Apify.utils.puppeteer.saveSnapshot()
helper to quickly save HTML and screenshot of a page. - Add the ability to pass
got
supported options torequestOptions
inCheerioCrawler
thus supporting things such ascookieJar
again. - Switch Puppeteer to web socket again due to suspected
pipe
errors. - Fix an issue where some encodings were not correctly parsed in
CheerioCrawler
. - Fix parsing bad Content-Type headers for
CheerioCrawler
. - Fix custom headers not being correctly applied in
Apify.utils.requestAsBrowser()
. - Fix dataset limits not being correctly applied.
- Fix a race condition in
RequestQueueLocal
. - Fix
RequestList
persistence of downloaded sources in key-value store. - Fix
Apify.utils.puppeteer.blockRequests()
always including default patterns. - Fix inconsistent behavior of
Apify.utils.puppeteer.infiniteScroll()
on some websites. - Fix retry histogram statistics sometimes showing invalid counts.
- Added regexps for Youtube videos (
YOUTUBE_REGEX
,YOUTUBE_REGEX_GLOBAL
) toutils.social
- Added documentation for option
json
in handlePageFunction ofCheerioCrawler