PackageTrack
Sign in Get early access

puppeteer

A high-level API to control headless Chrome over the DevTools Protocol. This is a port of Puppeteer in Dart.

3.26.0 317K downloads/mo #664 most downloaded on pub.dev xvrh/puppeteer-dart

What this package is like to depend on

Last release 11 days ago

13 Aug 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 86 of 95 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

95 releases · first in 2019

9 releases in the last 12 months

see the full history below

Release timeline

95 releases · Apr 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 95
  1. 3.26.0 13 Aug 2026
    Release notes
    • Update to Chrome 152.0.7977.42.
    Open source →
    Release notes
    • Update to Chrome 152.0.7977.42.
    Open source →
  2. 3.25.1 20 Jun 2026
    Release notes
    • Complete WASM compatibility: route dart:isolate through the same shim.
    Open source →
    Release notes
    • Complete WASM compatibility: route dart:isolate through the same shim.
    Open source →
  3. 3.25.0 20 Jun 2026
    Release notes
    • The package is now WASM-compatible, so web keeps full marks for platform support. puppeteer.connect() and page interaction over the DevTools websocket can be compiled to WebAssembly (dart compile wasm). Internally, dart:io is now reached through a conditional shim that re-exports the real dart:io on native platforms (so the public API is unchanged there) and a stub on web/WASM. On web/WASM, puppeteer.launch(), downloadChrome and the File/IOSink convenience overloads throw UnsupportedError — only connect() and CDP-based page interaction are supported.
    Open source →
    Release notes
    • The package is now WASM-compatible, so web keeps full marks for platform support. puppeteer.connect() and page interaction over the DevTools websocket can be compiled to WebAssembly (dart compile wasm). Internally, dart:io is now reached through a conditional shim that re-exports the real dart:io on native platforms (so the public API is unchanged there) and a stub on web/WASM. On web/WASM, puppeteer.launch(), downloadChrome and the File/IOSink convenience overloads throw UnsupportedError — only connect() and CDP-based page interaction are supported.
    Open source →
  4. 3.24.1 20 Jun 2026
    Release notes
    • Fix downloadChrome on Windows: download coordination is now keyed per platform, so fetching multiple platforms of the same Chrome version (e.g. windows32 and windows64) no longer collides on the .downloading rename.
    Open source →
    Release notes
    • Fix downloadChrome on Windows: download coordination is now keyed per platform, so fetching multiple platforms of the same Chrome version (e.g. windows32 and windows64) no longer collides on the .downloading rename.
    Open source →
  5. 3.24.0 20 Jun 2026
    Release notes
    • Add the Locator API (page.locator() / frame.locator()): auto-waits for the
      element and retries the whole action on failure. Includes map/filter/
      Locator.race, ElementHandle.asLocator() and page.locatorFunction().
    • Add Puppeteer-specific selectors anywhere a selector is accepted:
      ::-p-text(...), ::-p-xpath(...), deep combinators >>>/>>>> (pierce
      shadow DOM) and the text//xpath//pierce/ prefixes. (::-p-aria not yet.)
    • waitForFunction now awaits asynchronous (Promise-returning) predicates.
    await page.locator('::-p-text(Sign in)').click();
    Open source →
    Release notes
    • Add the Locator API (page.locator() / frame.locator()): auto-waits for the element and retries the whole action on failure. Includes map/filter/ Locator.race, ElementHandle.asLocator() and page.locatorFunction().
    • Add Puppeteer-specific selectors anywhere a selector is accepted: ::-p-text(...), ::-p-xpath(...), deep combinators >>>/>>>> (pierce shadow DOM) and the text//xpath//pierce/ prefixes. (::-p-aria not yet.)
    • waitForFunction now awaits asynchronous (Promise-returning) predicates.
    await page.locator('::-p-text(Sign in)').click();
    
    Open source →
  6. 3.23.0 04 May 2026
    Release notes
    • Update to Chrome 148.0.7778.97.
    • downloadChrome is now safe to call concurrently across isolates and
      processes: only one caller actually downloads Chrome; others wait and
      share the result. Useful when multiple dart test isolates each call
      puppeteer.launch() against an empty cache.
    • Default cachePath moved from .local-chrome/ to
      .dart_tool/puppeteer/local-chrome/ (under the current Dart project or
      workspace root), per Dart's project-specific tool caching convention. For
      AOT-compiled binaries with no package config, falls back to an OS user
      cache dir (~/Library/Caches/puppeteer, ~/.cache/puppeteer, or
      %LOCALAPPDATA%\puppeteer). Existing .local-chrome/ directories on disk
      can be deleted manually.
    Open source →
    Release notes
    • Update to Chrome 148.0.7778.97.
    • downloadChrome is now safe to call concurrently across isolates and processes: only one caller actually downloads Chrome; others wait and share the result. Useful when multiple dart test isolates each call puppeteer.launch() against an empty cache.
    • Default cachePath moved from .local-chrome/ to .dart_tool/puppeteer/local-chrome/ (under the current Dart project or workspace root), per Dart's project-specific tool caching convention. For AOT-compiled binaries with no package config, falls back to an OS user cache dir (~/Library/Caches/puppeteer, ~/.cache/puppeteer, or %LOCALAPPDATA%\puppeteer). Existing .local-chrome/ directories on disk can be deleted manually.
    Open source →
  7. 3.22.0 09 Apr 2026
    Release notes
    • Update to Chrome 147.0.7727.56.
    Open source →
    Release notes
    • Update to Chrome 147.0.7727.56.
    Open source →
  8. 3.21.0 09 Mar 2026
    Release notes
    • Update to Chrome 146.0.7680.66.
    Open source →
    Release notes
    • Update to Chrome 146.0.7680.66.
    Open source →
  9. 3.20.0 10 Sep 2025
    Release notes
    • Update to Chrome 140.0.7339.82.
    Open source →
    Release notes
    • Update to Chrome 140.0.7339.82.
    Open source →
  10. 3.19.0 10 Jul 2025
    Release notes
    • Update to Chrome 138.0.7204.94.
    Open source →
    Release notes
    • Update to Chrome 138.0.7204.94.
    Open source →
  11. 3.18.0 16 Apr 2025
    Release notes
    • Update to Chrome 135.0.7049.95.
    Open source →
  12. 3.17.0 12 Feb 2025
    Release notes
    • Update to Chrome 133.0.6943.53.
    Open source →
  13. 3.16.0 20 Dec 2024
    Release notes
    • Update to Chrome 131.0.6778.204
    Open source →
  14. 3.15.0 18 Sep 2024
    Release notes
    • Update to Chrome 129.0.6668.58
    • Change close code for websocket in web to 1000
    Open source →
  15. 3.14.0 11 Sep 2024
    Release notes
    • Update to Chrome 128.0.6613.137
    Open source →
  16. 3.13.0 22 Aug 2024
    Release notes
    • Update to Chrome 127.0.6533.119
    Open source →
  17. 3.12.0 26 Jun 2024
    Release notes
    • Update to Chrome 126.0.6478.126
    Open source →
  18. 3.11.0 17 May 2024
    Release notes
    • Update to Chrome 125.0.6422.60
    • Fix navigation error
    Open source →
  19. 3.10.0 13 May 2024
    Release notes
    • Update to Chrome 124.0.6367.201
    • Small bug fix
    Open source →
  20. 3.9.0 23 Apr 2024
    Release notes
    • Update to Chrome 123.0.6312.122
    Open source →
  21. 3.8.0 26 Feb 2024
    Release notes
    • Update to Chrome 122.0.6261.69
    Open source →
  22. 3.7.0 17 Feb 2024
    Release notes
    • Update to Chrome 121.0.6167.184
    • Requires Dart 3.3.0
    Open source →
  23. 3.6.0 02 Nov 2023
    Release notes
    • Update to Chrome 119.0.6045.105
    • Fix new lints from package:lints v3.0.0
    Open source →
  24. 3.5.0 20 Oct 2023
    Release notes
    • Update to Chrome 118.0.5993.70
    Open source →
  25. 3.4.1 29 Sep 2023
    Release notes
    • Update to Chrome 117.0.5938.92
    Open source →
  26. 3.4.0 19 Sep 2023
    Release notes
    • Update to Chrome 117
    Open source →
  27. 3.3.0 20 Aug 2023
    Release notes
    • Update to Chrome 116
    • Require Dart 3.1.0
    Open source →
  28. 3.2.0 06 Aug 2023
    Release notes
    • Update to Chrome 115
    Open source →
  29. 3.1.1 15 Jun 2023
    Release notes
    • Update to Chrome 114.0.5735.133
    • Widen constraint on dependency package:http
    Open source →
  30. 3.1.0 13 Jun 2023
    Release notes
    • Update to Chrome 114
    • Fix a bug on Windows when a relative directory was passed to userDataDir
    Open source →
  31. 3.0.0 10 May 2023
    Release notes
    • Download "Chrome for Testing" instead of Chromium.
    • Update to Chrome 113
    • Cache the browser binaries by default in .local-chrome instead of .local-chromium
    • Replace int revision parameter with String version in downloadChrome
    • Require minimum Dart 3.0.0 version.
    Open source →
  32. 2.25.1 22 Aug 2024

    Nothing published for this version

  33. 2.25.0 21 May 2024

    Nothing published for this version

  34. 2.24.0 24 Mar 2023
    Release notes
    • Update to Chromium 112
    Open source →
  35. 2.23.0 27 Feb 2023
    Release notes
    • Update to Chromium 111
    • Check for null child node/Ids in Accessibility
    Open source →
  36. 2.22.0 28 Jan 2023
    Release notes
    • Add additional screenshot parameters
    • Add onDownloadProgress callback on downloadChrome function
    Open source →
  37. 2.21.0 12 Jan 2023
    Release notes
    • Update to Chromium 110
    Open source →
  38. 2.20.0 22 Dec 2022
    Release notes
    • Fixed a bug: page.waitForSelector('#selector', timeout: Duration.zero) throws instantly instead of disabling timeout #210.
    • Internal refactor of target management to use auto discover feature of Chromium.
    Open source →
  39. 2.19.0 08 Dec 2022
    Release notes
    • Update to Chromium 109
    • Adds a setter for the TargetInfo type
    Open source →
  40. 2.18.0 02 Dec 2022
    Release notes
    • Expose Worker class
    • Update the default arguments used to launch the chromium process
    Open source →
  41. 2.17.0 26 Oct 2022
    Release notes
    • Update to Chromium 108
    Open source →
  42. 2.16.0 25 Oct 2022
    Release notes
    • Upgrade package:petitparser to version 5.1.0
    • Fix some lint rules
    Open source →
  43. 2.15.0 21 Oct 2022
    Release notes
    • Allow puppeteer.connect to be called on the Web platform (Dart code compiled to JavaScript).
    Open source →
  44. 2.14.0 09 Oct 2022
    Release notes
    • Update to Chromium 107
    Open source →
  45. 2.13.0 23 Sep 2022
    Release notes
    • Fix a bug during request interception. In NetworkManager.continueRequest original headers were discarded.
    Open source →
  46. 2.12.0 24 Jul 2022
    Release notes
    • Update to Chromium 105
    Open source →
  47. 2.11.0 25 Jun 2022
    Release notes
    • Update to Chromium 104
    Open source →
  48. 2.10.0 02 Jun 2022
    Release notes
    • Update to Chromium 103
    • Use dart enhanced enums for all enumerations in the protocol
    Open source →
  49. 2.9.3 13 Jan 2023

    Nothing published for this version

  50. 2.9.2 05 Jan 2023

    Nothing published for this version

  51. 2.9.1 10 Nov 2022

    Nothing published for this version

  52. 2.9.0 10 May 2022
    Release notes
    • Update to Chromium 102
    Open source →
  53. 2.8.0 20 Apr 2022
    Release notes
    • Update to Chromium 101
    Open source →
  54. 2.7.0 07 Mar 2022
    Release notes
    • Update to Chromium 100
    • Resolving browser paths in windows
    Open source →
  55. 2.6.0 07 Feb 2022
    Release notes
    • Update to Chromium 99
    Open source →
  56. 2.5.0 08 Dec 2021
    Release notes
    • Add BrowserPath to have access to installed browser executable path.
    var browser = await puppeteer.launch(executablePath: BrowserPath.chromeCanary);
    
    • Fix bug to make current version work with chrome stable 96
    Open source →
  57. 2.4.0 30 Nov 2021
    Release notes
    • Update Chromium to version 97
    Open source →
  58. 2.3.0 15 Aug 2021
    Release notes
    • Update Chromium to version 93
    Open source →
  59. 2.2.1 12 Jul 2021
    Release notes
    • Make defaultViewport nullable in the connect method.
    Open source →
  60. 2.2.0 04 Jun 2021
    Release notes
    • Update Chromium to version 92
    • Add drag-and-drop support
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive