Skip to content

Releases: puppeteer/puppeteer

v1.4.0

09 May 05:13
808bf8e

Choose a tag to compare

Big Changes

  • Chromium 68.0.3419.0 (r555668)

API changes

Added

Changed

Bug Fixes

  • #1860 - Docs missing for page.waitForNavigation()
  • #1879 - Navigation Timeout Exceeded when page returns a 204 code or contains iframe returning 204
  • #1923 - API link should point to the latest stable version
  • #1939 - Uncaught browser console error message
  • #2275 - Add .browser() methods to page class~
  • #2386 - onbeforeunload not called when page.close() called
  • #2394 - NSP is reporting vulnerabilities with the dependancies debug and mime.
  • #2411 - Page.goto returns null for some URLs since version 1.3.0
  • #2448 - DeviceDescriptors: add pixel2/pixel2 xl
  • #2502 - Page.evaluate should bypass user gestures

Raw notes

88b9968 - feat(ElementHandle): introduce elementHandle.$eval (#2407)
1d225cf - fix: allow user gesture restricted code to be run in page.evaluate (#2503)
1db4986 - feat(Chromium): roll Chromium to r555668 (#2495)
a310d57 - feat(Page): add option to run 'beforeunload' when closing the page (#2478)
3760188 - feat(Chromium): roll Chromium to r554716 (#2477)
afee010 - docs(README): add a debugging section (#2467)
e236887 - feat(Page): report 'Log' domain entries as 'console' events (#2400)
58c4668 - fix(Page): fix page.goto to return Response when page pushes new state (#2468)
a2a9100 - docs(examples): add a link for jest-puppeteer (#2466)
eb1826b - feat(DeviceDescriptors): add pixel2/pixel2 xl (#2464)
f797f8c - docs(api.md): add explanation to page.waitForNavigation (#2354)
eded38c - test: verify file url interception works as expected (#2451)
8a62b10 - chore: testrunner's ".not" should print appropriate message (#2459)
9ae64f2 - docs(troubleshooting): newest Chromium package supported on Alpine (#2453)
b96815a - test: verify Page.goto fails when server returns 204 (#2452)
d9bb7ee - chore: add a bunch of non-needed files to .npmignore (#2450) ...

Read more

v1.3.0

13 Apr 18:05
6f4a52b

Choose a tag to compare

Big Changes

  • Chromium 67.0.3391.0 (r549031)
  • Anchor-navigation is fixed. See #257
  • Page's CSP can be by-passed with page.setBypassCSP. See #1229.

API changes

Added

Changed

Bug Fixes

  • #257 - Hash-only navigation doesn't work
  • #563 - page.screenshot() rejects when slowMo >= 1000 and https cert is self-signed even with ignoreHTTPSErrors
  • #1229 - Page with CSP breaks puppeteer
  • #1357 - Feature: improve boundingBox method at ElementHandle
  • #1429 - slowMo + userDataDir = Error: Protocol error (Browser.close): Target closed.
  • #1537 - Test 'userDataDir option should restore cookies' is flaky
  • #1834 - Add --disable-dev-shm-usage to default launch flags
  • #1936 - When a frame fails to load due to a mixed content issue, the main Page is never considered loaded.
  • #2037 - Improve error message for timeouts
  • #2082 - Tests: break into smaller files
  • #2148 - Tracing: stop() should return Promise
  • #2200 - page.waitForFunction does not support disable timeout
  • #2236 - [win10] run coverage -> rm is not defined
  • #2279 - TypeScript 2.8.0 fails to lint types
  • #2283 - Chromium binary permissions is only -rwx------
  • #2295 - page.evaluate() throws and hangs if returned value is an array with Symbol

Raw notes

98bb261 - feat(Tracing): return a buffer from tracing.stop (#2360)
04991ad - test: consolidate network tests in one file (#2355)
f8cba45 - fix(Network): explicitly throw on content request for redirect response (#2352)
18f2ecd - fix(Launcher): launch chrome with --disable-dev-shm-usage by default (#2351)
0b64242 - test: add missing rm function to test.js (#2349)
a7d59b5 - fix(Page): Page.waitForNavigation should correctly handle mixed content (#2339)
5089d2e - fix(BrowserFetcher): ensure executable has proper permissions (#2342)
beea6f9 - chore(testrunner): fix typo in readme
fafd156 - fix(Page): support anchor navigation (#2338)
2b95774 - docs(api.md): mention header/footer template limitations in page.pdf. (#2341)
c5902de - fix(Page): fix Page.evaluate with Symbols in arrays (#2340)
5d106f7 - test: flatten tests (#2337)
06d6191 - test: refactor utils.waitForEvents into utils.waitEvent (#2336)
c86c12e - fix(Launcher): consume protocol errors when initiating browser.close() (#2332)
a052b9e - docs(troubleshooting): Adding Travis CI mention (#2334)
717d4a7 - docs(api): warn about slow screenshots on OS X (#2326)
57fa690 - fix(Connection): do not assert that methods always have callbacks. (#2330)
294f33b - chore(types): type check the rest of the protocol (#2328)
45d97e5 - feat(Chromium): roll Chromium to r549031 (#2327)
8c54f41 - chore(types): generate a d.ts file for protocol types (#2325)
35e34db - feat(Page): introduce Page.setBypassCSP (#2324)
dfcee2e - feat(Chromium): roll Chromium to r548690 (#2323)
846c080 - feat(Page): Page.addScriptTag should throw when blocked by CSP (#2320)
4663b43 - test: add test on Page.evaluateOnNewDocument with CSP (#2319)
1fdd338 - docs(api.md): fix minor spelling errors (#2314)
2370618 - chore(types): upgrade to TypeScript 2.8.1 (#2304)
3b88d0d - docs(readme): add googlechromelabs repo. (#2306)
98093f0 - feat(Chromium): roll Chromium to r548153 (#2312)
f925158 - test: add test for page.waitForFunction with script CSP (#2305)
94c32e4 - feat(Launcher): introduce pipe option (#2288)
f51a315 - docs(README): Removed --save flag for npm install (#2302)
dde45fa - feat(FrameManage): improve errors from frame.waitFor* methods (#2292)
8b0fd0a - feat(install): support npm config for chromium revision (#2290)
c4da19b - test(ElementHandle.boxModel): remake test to make it more readable (#2287)
c6c60aa - feat(Chromium): roll Chromium to r546920 (#2286)
41d5838 - feat(ElementHandle): add ElementHandle.boxModel method (#2256)
d4f24f1 - docs(README): add checkly to list of services (#2209)
5061035 - feat(install): introduce PUPPETEER_CHROMIUM_REVISION (#2246)
ebe1737 - chore: break page.spec.js to smaller files (#2257)
abb05e0 - feat(page): add an option to disable timeout for waitForFunction (#2252)
71a07bb - chore: fixate TypeScript to ~2.7.0 (#2280)
9af02a0 - docs(api.md): fix some links (#2253)
d46e157 - feat(Page): page 'close' event (#2232)
4748196 - test: Break 'page.spec.js' to smaller files (#2218)
38c6873 - test: break test.js into smaller files (#2193)
311f307 - chore: bump version to v1.2.0-post (#2205)

v1.2.0

16 Mar 02:20
f2fae9f

Choose a tag to compare

Big Changes

  • Chromium 67.0.3372.0 (r543305)

API changes

Added

Bug Fixes

  • #433 - No way to associate Frame object with the <iframe> element it represents
  • #1491 - page.close() followed by browser.pages() includes closed page
  • #1768 - Feature Request: LCOV or Istanbul format code coverage
  • #1779 - Screenshot element larger than viewport
  • #1816 - Expose redirect chain for requests
  • #2021 - page.evaluate unpredictable when it triggers a reload
  • #2046 - Using the dumpio setting throws an error in v1.1.0
  • #2053 - Allow Chromium process "detached" argument to be configurable?
  • #2062 - Docs: emphasise the differences between Page.evaluate/ Page.evaluateHandle and JSHandle / ElementHandle
  • #2078 - addScriptTag type=module
  • #2116 - page.goto with file:/// URI returns non-ok response
  • #2165 - Add URL to invalid address

Raw notes

4e1f2e2 - fix(Launcher): killing a process can throw (#2102)
ec3025f - feat(Network): implement request.redirectChain() api (#2194)
c4b1ac9 - test: another attempt to fix sw test #2201
150e5a9 - test: eliminate racy pattern in multiple tests (#2202)
309cafb - feat(Chromium): roll chromium to r543305 (#2196)
d79eb70 - fix(node6): fix one line await arrow functions #2198
7d387d8 - chore(FrameManager): remove extra space (#2187)
c082a82 - fix(Launcher): do not detach child process on windows (#2081)
afcc74e - test: fix Matcher.toEqual to not depend on key insertion order (#2091)
4b7fbf8 - test: fix serviceWorker test flakiness (#2195)
625c7eb - feat(FrameManager): add type=module to addScriptTag (#2090)
552be1a - docs(README): Add's page.removeListener to Page class examples (#2122)
554bd59 - chore(CI): add experimental Cirrus CI (#2181)
fc7e4d1 - chore(CI): fix node.js version on Travis and AppVeyor (#2180)
5af70e8 - docs(api.md): fix typo (#2177)
52d3bc0 - feat(Page): introduce url at error message at page.goto (#2174)
826fe42 - fix(Network): response.ok should be true for file:// urls (#2152)
cad71d9 - chore: removed duplicated jsdoc annotation in NetworkManager.js (#2132)
0defecf - fix(test): add missing test for making sure chrome is closed (#2109)
44d8000 - docs(README): clarify how to launch scripts (#2133)
edc510c - docs: add documentation referencing puppeteer-to-istanbul (#2135)
c857aef - docs(api.md): fix snippet to await page.setViewport() (#2113)
ffe5b63 - chore: refactor Browser.js into seperate files (#2097)
8578283 - docs(api.md): Fix evaluateOnNewDocument sample syntax error (#2063)
2a84f9f - docs(api.md): add link to the v1.1.1 (#2096)
3c6ed67 - chore: bump v1.1.1-post (#2095)
223b592 - feat(ElementHandle): implement ElementHandle.contentFrame() (#2094)
e2b96df - chore(test): simplify element screenshot tests (#2093)
56a475f - feat: elHandle:screenshot captures full element (#1787)
b07e705 - docs(README): mention testing prelease (#2088)
fc2a104 - fix(evaluate): throw error when page reloads during page.evaluate. (#2073)
6688774 - fix(Launcher): fix dumpio bug (#2071)
ee7ebd6 - docs(README): drop scraping bullet (#2080)
80078d9 - fix(Connection): swallow all the ws errors after connection's closed (#2077)
28f88e8 - feat(Chromium): roll Chromium to r538022 (#2072)
090590a - docs(api.md): Add more explanation for page.evaluateHandle() (#1867)
d75fdb7 - fix(Browser): wait for the page to close in the browser in page.close (#2064)
8508180 - chore: bump version to 1.1.0-post (#2043)

v1.1.1

24 Feb 06:09

Choose a tag to compare

Big Changes

No big changes.

API changes

No API changes.

Bug Fixes

  • #2046 - Using the dumpio setting throws an error in v1.1.0

Raw notes

42b0082 - chore: mark version v1.1.1
7a1e09b - fix(Launcher): fix dumpio bug (#2071)

v1.1.0

16 Feb 17:17
fecbbac

Choose a tag to compare

Big Changes

API Changes

Changed:

Added:

Bug Fixes

  • #379, #1835 - docs(troubleshooting): add docker alpine example (#1836)
  • #1051 - feat(Frame): add Frame.evaluateHandle (#1885)
  • #1391 - fix: page.goto should support pages with self requests (#1391) (#1781)
  • #1421 - docs(api.md): added page.click + waitForNavigation example (#1792)
  • #1551 - feat(Response): add Response.fromCache / Response.fromServiceWorker (#1971)
  • #1556 - feat(Page): add setCacheEnabled(enabled) to Page object (#1609)
  • #1580 - feat: add Page.Events.DOMContentLoaded (#1730)
  • #1748 - feat: Introduce BrowserFetcher class (#1983)
  • #1757 - feat(Page): introduce Page.waitForXPath (#1767)
  • #1824 - docs(troubleshooting): Add fonts to docker example to support major charsets (#1842)
  • #1874 - fix(Docs): fix Console example (#1961)
  • #1901 - Fix: Remove key codes from _pressedKeys Set after keyboard.up() is called (#1928)
  • #1960 - fix: allow timeouts of be 0 (#1964)

Raw Notes

fc94f98 - feat(Targets): expose browser target (#2036)
e8a085c - feat(appMode): support pipes for appMode (#2032)
3656cc2 - docs(api.md): fix nits in securityDetails description (#2023)
43c0feb - fix(Network): fulfill security details for response redirects (#2025)
4a53bca - feat(Chromium): roll Chromium to r536395 (#2024)
ee5ec3e - test: await browser closing in tests (#2022)
ae22ef3 - feat(ExecutionContext): introduce ExecutionContext.frame() (#1972)
885c93a - docs(troubleshooting): Add AWS Lambda solution (#2003)
856c431 - feat(Network): introduce response.securityDetails() method (#1880)
700244a - test: dont race against the mutation observer (#2016)
1b6ee37 - fix(test): merge _pressedKeys test into the .repeat test (#2017)
f3ba436 - Fix: Remove key codes from _pressedKeys Set after keyboard.up() is called (#1928)
b275e66 - chore: Spelling and Markdown Consistency (#1998)
070243e - docs(CONTRIBUTING): update contributing.md (#1973)
ac1b9a0 - feat(Page): add setCacheEnabled(enabled) to Page object (#1609)
18a1fb9 - docs(README): Correcting Chrome dependency size (#1946)
cde6d6c - docs: add the word the everywhere (#1988)
a363a73 - feat: Introduce BrowserFetcher class (#1983)
18c9755 - test: create tmp folder in os.tmp() folder (#1982)
4046415 - docs(README): mention troubleshooting.md in FAQ (#1911)
ecc3adc - feat(Response): add Response.fromCache / Response.fromServiceWorker (#1971)
660b657 - feat(Frame): add click(), focus(), hover(), tap() and type() (#1970)
48218fa - docs(api.md): page.error event dispatchers error
2f1157b - fix(Docs): fix Console example (#1961)
bc69026 - fix: allow timeouts of be 0 (#1964)
37a1e17 - chore: remove unused parameter in EmulationManager (#1968)
e998ac9 - docs(README): Adding in browserless to README (#1962)
cfb728b - feat(Chromium): roll to r533271 (#1938)
1716a74 - docs(troubleshooting): add aws lambda resources (#1926)
bae44a8 - test: teach test reporter to highlight test stackframe on failures. (#1930)
4886d03 - docs: fix typo in troubleshooting.md (#1909)
ddc59b2 - docs(api.md): fix exposeFunction example (#1900)
189deb8 - feat(Frame): add Frame.evaluateHandle (#1885)
5175d8e - fix(Page): fix Page.select() behavior to be on par with docs (#1886)
a39d96e - docs(api.md): fix sample code in API doc, request.url -> request.url() (#1889)
f2b6016 - chore: switch to npm from yarn (#1878)
b61e67d - feat: add slowMo option to puppeteer.connect (#1864)
797b561 - docs(README): Update debugging tips (#1868)
cb684eb - feat(Page): introduce Page.waitForXPath (#1767)
62597bf - docs(troubleshooting): Add fonts to docker example to support major charsets (#1842)
102f10c - docs(api.md): Fix sample code in API doc (#1821)
2bf42fd - docs(troubleshooting): fix a link (#1845)
d2715d1 - docs(api.md): fix typo on api docs (#1849)
e031264 - docs(api): fix coverage example and typo (#1854)
49d3799 - docs(troubleshooting): add docker alpine example (#1836)
59f6d42 - feat: add Page.Events.DOMContentLoaded (#1730)
25b35c5 - docs(api.md): fix missing await in examples (#1801)
8c93084 - docs(examples/readme.md): Add one more link to the examples repository (#1807)
31a1f9a - docs(api.md): added page.click + waitForNavigation example (#1792)
c866c17 - fix: page.goto should support pages with self requests (#1391) (#1781)
aed7019 - chore: bump version to 1.0.0-post (#1789)

v1.0.0

12 Jan 03:52
12b57e3

Choose a tag to compare

Big Changes

API Changes

Changed:

Added:

Bug Fixes

  • #31 - Expose raw protocol in the API
  • #280 - API consistency: property getters vs methods
  • #373 - Possibility for page numbers in PDF?
  • #537 - Handle XPath selectors
  • #754 - [Question] Frame html content
  • #827 - frame.title() throws protocol error when used with framenavigated
  • #872 - Add an API to override default launcher arguments
  • #880 - INTERNAL ERROR: failed to find request for interception redirect
  • #980 - Document cookie.session property
  • #1201 - Preloading a Script
  • #1231 - Docs: document page.once()
  • #1350 - setCookie() doesn't work?
  • #1363 - Intermittent TypeError: Cannot read property 'url' of undefined
  • #1367 - Chromium process does not close if main nodejs process crashes
  • #1373 - Page crash when HTTPS referer is set
  • #1417 - page.waitForNavigation() timeout=0 does not disable timeout, but actually sets it to zero
  • #1492 - page.screenshot.type not respected
  • #1510 - page.evaluate incorrectly serializes undefined as null
  • #1514 - Global timeout settings.
  • #1516 - Clarify whether this uses Chrome or Chromium
  • #1539 - Feature request: Give access to created processes
  • #1557 - Example: search.js should demo something other than google.com
  • #1578 - Demo: new search + scrape demo using protocol viewer
  • #1579 - Attribute network requests to frames
  • #1582 - (docs proposal) add example tool: headless-chrome-crawler
  • #1627 - Docker installation instructions miss required library (libgconf-2.so.4)
  • #1654 - page.waitForFunction should treat ElementHandle arguments as DOM elements
  • #1703 - .waitForFunction() should return a value
  • #1705 - [Feature Request] Return All Nodes from XPath
  • #1706 - Needs more information for browser.version()
  • #1724 - waitForFunction should accept and ElementHandle in page function arguments
  • #1729 - page.goto returns a promise to null when intercepting request and modifying referer together
  • #1737 - Commit #1712 breaks my scripts with 'UnhandledPromiseRejectionWarning'
  • #1740 - Not support install form a mirror host that use 3xx http status code

Raw Notes

12b57e3 - chore: mark version v1.0.0 (#1786)
d68033a - chore(examples): indent all examples (#1783)
891a553 - docs(troubleshooting): add note on using ldd to find missing deps (#1780)
9b06ed2 - docs(README): updates to make d.g.c/web/ happy (#1773)
5368051 - feat: expose raw devtools protocol connection (#1770)
ec8e40f - feat(Page): Add global navigation timeout setting (#1728)
3985dee - docs(A...

Read more

v0.13.0

11 Nov 02:26

Choose a tag to compare

Big Changes

  • Chromium 64.0.3264.0 (r515411)
  • browser.pages can be used to access all pages in Chromium, even those created by window.open. (32398d1)
  • browser.close now closes Chromium even if used with pupeteer.connect (2b79514)

Api Changes

Changed:

Added:

Bug Fixes

  • #386 - Support anchor navigation
  • #443 - Request: browser.currentPage() or similar way to access Pages
  • #508 - Recursive $/$$
  • #690 - Expose function doesn't add to frames the first time.
  • #723 - Keyboard API is confusing
  • #733 - Clip rectangles with odd-numbered height and width dimensions produce even-sized images.
  • #805 - Waiting for both load and networkIdle
  • #877 - Adopt plznavigate in puppeteer
  • #894 - Page closes itself silently
  • #901 - Provide reason for failed requests
  • #918 - userDataDir + headless = browser and script (node) hang
  • #946 - Provide 'DOMContentLoaded' option for waitUntil in page.goto()
  • #951 - Add possibility to configure download mirror
  • #955 - coverage script fail on windows
  • #989 - No way to close a browser instance that was opened with connect()
  • #1003 - Strange breaking change in page.evaluate()
  • #1020 - Request Interception enhancements
  • #1044 - LICENSE should be fixed
  • #1061 - Error when clicking on Shadow DOM element
  • #1082 - ElementHandle.click() broken in 0.12
  • #1126 - Click doesn't work as expected in non-Headless
  • #1139 - Missing ElementHandle.select; impossible (?) to make selection in a frame
  • #1163 - Test "Puppeteer.launch should support ignoreHTTPSErrors option" is flaky
  • #1173 - waitForNavigation should wait for all frames instead of only main frame
  • #1179 - Add an option to set data attributes on elements added by the API
  • #1195 - Test Page.goto should fail when navigating to bad SSL is flaky
  • #1218 - page.goto is littered with races
  • #1244 - Add page bringToFront method
  • #1276 - page.select() should error if it can't find an option with requested value
  • #1294 - Broken Click after upgrading to 0.12.0
  • #1315 - elementHandle.screenshot clip object uses wrong y value

Raw Notes

b0b2219 fix(ElementHandle.screenshot): account for scroll (#1323)
2c8f658 fix(Navigation): wait for lifecycle events for the frame subtree (#1356)
f8d19e7 fix(Page.waitForSelector): "visible" option should check parent visibility (#1354)
44d1e83 fix(Navigation): correctly wait for navigation in Page.goto (#1355)
9b907b9 docs(api): javascript -> JavaScript (#1338)
9c1935b feat(Chromium): roll chromium to r515411 (#1346)
7075c4c docs(troubleshooting): fix typo (#1327)
7d18275 Test: add tests to cover clicking checkbox (#1125)
73f5b80 fix(install): support for npm no_proxy (#1314)
b7566c1 docs: document osx keyboard shortcuts not working (#1311)
cbe3dc5 Revert "feat(Page): teach Page.setContent to wait for resources to load (#1152)" (#1312)
b58d319 fix(Page.click): throw a meaningful message for invisible elements (#1309)
3cb0f1a fix: make exposeFunction work for frames (#1295)
8c9332b docs(Readme): add loading extensions example (#1308)
77f5852 feat(Page): introduce Page bringToFront method (#1252)
9de3449 Additional Docker tips (#1235)
a467d35 chore(doclint): do not attempt to lint non-documentation markdown
cc5e8a9 fix(Page.type): Add assertion to page.type() (#1301)
2f7c778 feat: roll chromium to r514418 (#1299)
8e44573 feat(Frame): reject error for addScriptTag/addStyleTag (#1287)
bdd5718 docs(examples): added pupperender (#1293)
5e154dc fix(Page.select): assert all values are of type "string". (#1280)
03fefb5 feat(browser): add browser.disconnected event (#960)
88ba52a refactor: use Page.getFrameTree instead of Page.getResourceTree (#1275)
7bc55ab docs(api.md): fix return values of page.add*Tag() (#1269)
e0f5b93 feat(Frame): addStyleTag and addScriptTag now return ElementHandles.
f08f334 test: validate headless reading cookies written by headful (#1266)
cee3081 docs(api.md): fix return value of frame.select() (#1251)
ac55e69 feat(Chromium): roll chromium to r513435. (#1259)
fede264 feat(Frame): introduce Frame.select
bc7f211 docs(contributing): define semantic commit message rules (#1233)
f5bb333 fix: support PlzNavigate in puppeteer. (#1239)
b9266c7 feat(Page): rename Page.getMetrics into Page.metrics (#1240)
9f071bf fix(Navigation): do not race with security error for navigation (#1237)
e70f98d feat(Page.select): return selected options from Page.select (#1099)
9f19641 chore: Fix typo in comment for Events (#1234)
0bb2157 Explain how to run examples (#1226)
c9a26e1 fix(ElementHandle): teach ElementHandle to work with shadowdom (#1227)
557aa94 chore(license): fix license (#1220)
6dec7cf typo in api.md (#1216)
23382df Adding simple guide to run puppeteer on Heroku (#1199)
3bf18f2 chore(examples): use news.google.com for block-images.js (#1192)
380bb6a docs: use debug namespace instead of all namespaces (#1174)
d9acf1e test: remove irrelevant test (#1172)
e11dbd7 docs: add more keyboard examples for typing (#1176)
f9b017e chore(examples): update search example (#1181)
5ffbd0d feat(ElementHandle): add ElementHandle.$ and ElementHandle.$$ (#1151)
9e39f5f docs(troubleshooting): Add new buildpack url that adds additional fonts (#1161)
655b94d fix(touch): requestAnimationFrame before sending tap (#1142)
d1f044e test: disable ignoreHTTPSErrors test (#1164)
ab9b34c fix(Launcher): force-kill chrome on process exit and interruption (#1155)
b9ab6fe fix(interception): Disable newtork caching when intercepting (#1154)
ce005d4 feat(Chromium): Roll chromium to r511134 (#1153)
80ee469 feat(Page): teach Page.setContent to wait for resources to load (#1152)
f38c8bb feat(Page.goto): support multiple events in waitUntil option (#1147)
ef369e5 feat(Page.goto): add a 'domcontentloaded' option to the Page.goto (#1145)
ce8a952 refactor: migrate NavigatorWatcher to lifecycle events (#1141)
126ab7b feat(keyboard): Accept codes (#1116)
945a826 feat(install): add environment variable to overwrite ...

Read more

v0.12.0

14 Oct 16:58

Choose a tag to compare

Big Changes

API changes

Changed:

Added:

Removed:

  • page.injectFile - page.addScriptTag now should be used. (c310f13)
  • page.plaintText - innerText/textContent could be obtained with page.evaluate. (1fbf2a8)

Bug Fixes

  • #63 - Emulate offline
  • #241 - Add keyboard.type
  • #304 - Add memory heap snapshot API
  • #309 - Is there a way to measure page performance?
  • #324 - evaluate - strange execute sequence
  • #382 - Implement object handles
  • #613 - Hwo can I set HTML select element value?
  • #625 - Introduce page.$eval and page.$$eval
  • #684 - Clicking element inside iFrame does not give any response
  • #734 - Request.resourceType doesnt match DevTools
  • #744 - Feature request: console level
  • #750 - Throw error with stack trace when launching with an invalid executablePath option
  • #782 - Constantly getting Navigation Timeout Error
  • #839 - Chromium is not closed completely gracefully
  • #864 - Is there a way to open DevTools progammaticaly?
  • #869 - URI malformed exception that is not handled
  • #884 - What is the reason of using a sync version of writeFile for pdf save?
  • #892 - Add addStyleTag(url) API
  • #949 - Replace injectFile to injectScript and add injectCSS
  • #1010 - ElementHandle screenshot does not count padding (or add options to count the padding/margin)

Raw notes

b555151 - chore: mark version 0.12.0
6a8865c - feat(keyboard): make keyboard.down generate input event by default (#1016)
a02347e - feat(Page): implement page.setOfflineMode (#1032)
fd88eb5 - feat(chromium): roll chromium to r508693 (#1031)
8511db9 - feat(page): waitForSelector hidden option (#967)
8f430fb - fix(ElementHandle.boundingBox): account for margin, padding, and border in element.boxModel (#1017)
1c52830 - feat: roll to 508367 (#1027)
053534b - chore: update yarn lock #1025
c310f13 - feat(Frame): Support options in addScriptTag and addStyleTag (#996)
0426e3c - Roll chromium to 508268 (#1019)
c893bf3 - fix(input) Send .code with keyboard events (#1015)
23c0ba0 - feat(Page): introduce Page.queryObjects (#1005)
3f9f0f4 - feat(Page.pdf): add 'A6' page format
9ecf20f - chore: Allow development under Windows platform (#992)
ff08e45 - fix: Remove synchronous operation with file system. (#879)
7a8aa73 - feat(Page): introduce Page.$$eval method (#1006)
464b6a9 - fix(Page.getMetrics): do not report a few metrics (#1001)
b82d319 - feat(Page): Support Page.getMetrics and metrics event. (#939)
77d3c29 - test(launcher): add a test for invalid executablePath option
13f100b - docs(api): fix typo
1fbf2a8 - feat(Page): kill the page.plainText method (#994)
079db90 - fix(JSHandle.toString): clearer description for primitives (#993)
c3fb367 - fix(Request): convert resourceType to all small-caps (#990)
7e28dba - feat(ElementHandle): add EH.boundingBox and EH.screenshot
515f2cd - feat: Roll to r507565 (#987)
e59172d - chore: Use Typescript to lint JSDoc annotations (#986)
7b5d7dd - docs(readme): fix typo (#988)
f1aa18a - feat(Launcher): add devtools option (#953)
e6af6e1 - feat(console): dispatch JSHandles as console arguments (#975)
8d1d9fe - chore(doc): replace 'could' with 'can'
52f92c9 - fix(input): clicking an element should take into account frame position (#971)
a7672ac - fix: return undefined when Page.evaluate encounters circular JSON (#983)
3ecd98d - fix(Page.select): synthesized events should bubble
44cdf85 - chore(doc): fix a link (#977)
4e55867 - chore(doc): fix nits after JSHandles PR (#976)
3214bb7 - chore(doc): fix implicit link to JSHandle
0af0d7d - feat(Input): Add keyboard methods to elementHandle (#801)
0d0f9b7 - feat(JSHandles): introduce JSHandles (#943)
59bcc2e - chore(docs): fix console example in docs/api.md
d3976cb - test: add failing test for storing data in custom userDataDir
c225b93 - feat(Launcher): Allow environment variables definition when launching chromium (#912)
97e40e6 - feat(Frame): Add addStyleTag API to frame - fixes #892 (#947)
d87480b - Node6: Remove parentheses around the body of async arrow functions (#942)
dc4c878 - chore(doclint): fix doclint tests (#941)
017429e - chore(doclint): exclude constructors by default (#938)
6c9a994 - chore(doclint): support classes inheritance (#935)
8bcf550 - chore(doclint): add basic tests for documentation parsers (#934)
41fd4b5 - chore(doclint): move doclint tests expectations into test folders (#932)
f9640a5 - chore(doc): add a note about using ElementHandle instances (#925)
215b349 - fix(Page): remove event listeners to avoid MaxListenersExceededWarning
53531c9 - feat(page): Allow Page.goto's timeout to be 0 to disable timeout (#887)
bafd937 - chore(tests): fix a few typos in tests (#911)
a6cf823 - feat(Launcher): introduce appMode option
1c292e9 - chore(doc): fix browser.wsEndpoint() return value format (#898)
c46c41d - fix(Launcher): Launcher should handle chrome process errors (#863)
cb280c5 - fix(Launcher): Terminate chrome gracefully on Windows (#876)
f625502 - feat(Console): Introduce ConsoleMessage type (#909)
cfece34 - fix(Network): Do not attempt to normalize malformed URLs. (#875)
ec760ab - chore: update yarn lock (#889)
72161c4 - [roll] Roll chromium to r503964 (#878)
0164b7c - Added info on how to find the browserWSEndpoint (#780)
9b0a062 - [docs] clarify env variables usage with npmrc
2babcb0 - [feat] Support PUPPETEER_SKIP_CHROMIUM_DOWNLOAD in npmrc
45f2640 - [api] Introduce Page.select method (#779)
acdb588 - doc: fix a link (#856)
ccf8fb1 - readme: add try-puppeteer link (#849)
c2b3fe9 - Remove --...

Read more

v0.11.0

21 Sep 05:46

Choose a tag to compare

Big Changes

  • Chromium 63.0.3205.0 (r499413)

API changes

Changed:

Added:

Removed:

  • elementHandle.evaluate was removed: element handles could be passed as arguments into page.evaluate (9292a56)

Bug Fixes

  • #426 - Implement HTTP Authentication API
  • #527 - using --user-data-dir=profilepath corrupts settings and remove all extensions
  • #572 - Script evaluation throws sometimes with SyntaxError
  • #627 - Protocol error Invalid InterceptionId on cancelled requests
  • #648 - Proxy settings should be taken from npm config before environment variables
  • #713 - page.setExtraHTTPHeaders not working
  • #738 - Cant catch errors with .goto
  • #745 - Feature request: Run browser process as different user
  • #756 - [CI] travis doesn't run tests for node6
  • #770 - No argument is passed to waitForFunction/waitFor

Raw notes

611f51b - [doc] Fix thal link (#806)
aa58f25 - doc: add await to browser.close in usage examples (#797)
e2cad56 - page.waitFor should send ...args to page.waitForFunction (#775)
d562db3 - Assert that all extra HTTP header values are strings (#781)
86b05da - disable extensions and google translate by default (#774)
a20df0d - [Doc] add link to environment variable wiki page (#792)
166c909 - [tests] fix a few tests to avoid unhandled promise rejection (#778)
f398e69 - [api] Launcher: Close gracefully when a userDataDir is specified (#700)
d7e6736 - [api] add Puppeteer.executablePath() method (#771)
89e923d - Fix cookies test on windows (#772)
0108720 - Cleanup tests (#769)
9779085 - Add info about deploying puppeteer to Heroku (#762)
9292a56 - [api] Teach page.evaluate to accept element handles as parameters (#725)
69e707a - Build node6 before running tests for it (#757)
a71f287 - Fix evaluation in case of first "undefind" argument (#732)
e5c17ee - Carefully manage unhandled rejections for navigation (#741)
0db6165 - [api] Implement page.authenticate method (#729)
0bea42b - Do not leave dangling promises when sending messages over protocol (#742)
f11e09d - resources.md -> readme.md so it renders on /examples (#753)
568b7bd - Proposal: adding RESOURCES.md for examples (#743)
30541cc - block-images example: use reuters.com (#747)
c4a3d44 - Roll chromium to r499413 (#731)
d791583 - [tests] Skip flaky test (#730)
b8bb80a - support npm proxy configuration for the installation script (#692)
8d2a427 - Docker example (#721)
272fb4d - block-images example: switch from bbc to news.google.com (#708)
d2d951d - Better issue template (#712)
eb86253 - Issue template (#710)
e12ce80 - Output path as chromium gets successfully downloaded (#689)
51a507b - readme: add PUPPETEER_SKIP_CHROMIUM_DOWNLOAD note (#671)

v0.10.2

02 Sep 04:06

Choose a tag to compare

Big Changes

  • Chromium 62.0.3198.0 (r497674)

API changes

Changed:

Added:

Bug Fixes

  • #558 - apple.com page hanged when intercepting requests
  • #547 - Headers in Response/Request object are case sensitive
  • #509 - setExtraHTTPHeaders: support both object and Map as headers argument
  • #411 - Introduce --user-data-dir as part of launcher options
  • #423 - dragging
  • #594 - EventEmitter memory leak detected. 11 exit listeners added
  • #615 - instance.close() let zombie process
  • #647 - Errors suppressed when downloading chromium through the install script
  • #568 - Can't click mobile version UI (touch event only)
  • #569 - how to fire touch event in page.emulate(iPhone)

Raw notes

9d0ad79 - fail installation when puppeteer errors downloading chromium (#654)
64124df - [api] add touchScreen.tap (#639)
e95fb96 - Throw an error when Chromium download is failed (#619)
42fa3af - Remove promise jsdoc (#641)
62ececb - Implement page.$eval (#638)
bf66696 - correct license to be a valid SPDX license expression
a052cdb - Update package.json with Apache License 2.0 (#632)
ce01e84 - [doc] Clarify networkIdleInflight default in docs. (#630)
9d7929c - Add environment variable to skip download (#606)
3365562 - Add DEBUG=* debugging guide to readme (#622)
66676c0 - Kill child process group (#621)
223a106 - Drop deasync: this is a left-over from phantomShim (#607)
c9b0a6c - Fix launcher to not leak event listeners (#605)
11ce8b2 - Implement Request.resourceType getter (#590)
8f74cc8 - [api] Add "step" option to mouse.move method (#601)
77600c6 - Implement ElementHandle.attribute() method (#543)
74c53f3 - Roll chromium to r497674 (#588)
8f66f73 - Fix launcher in case of empty arguments (#582)
d5327e6 - [api] Allow a custom userDataDir to be specified (#555)
66912a7 - [api] use object instead of map for headers (#567)
39b9081 - Bump version to 0.10.2-alpha (#566)
59fc757 - [docs] a mistake in allowed values of page.evaluateMedia (#580)
f9abc8e - readme: move up note about Page.pdf working on headless only (#577)
da85b44 - [docs] Add CentOS troubleshooting notes (#579)
225e880 - doc: Clarify that examples need Node v8 (#559)
e921a1c - Fix Request Interception (#565)