Skip to content

Releases: Sparticuz/chromium

v141.0.0

06 Oct 14:52

Choose a tag to compare

@sparticuz/chromium v141.0.0, @sparticuz/chromium-min v141.0.0

The chromium-v141.0.0-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v141.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v141.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v141.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v141.0.0-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v141.0.0-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

What's Changed

New Contributors

Full Changelog: v140.0.0...v141.0.0

v140.0.0

30 Sep 14:29

Choose a tag to compare

@sparticuz/chromium v140.0.0, @sparticuz/chromium-min v140.0.0

The chromium-v140.0.0-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v140.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v140.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v140.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v140.0.0-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v140.0.0-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

What's Changed

Full Changelog: v138.0.2...v140.0.0

v138.0.2

22 Jul 16:20

Choose a tag to compare

@sparticuz/chromium v138.0.2, @sparticuz/chromium-min v138.0.2

The chromium-v138.0.2-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v138.0.2-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v138.0.2-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v138.0.2" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v138.0.2-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v138.0.2-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

Full Changelog: v138.0.1...v138.0.2

v138.0.1

11 Jul 19:48

Choose a tag to compare

@sparticuz/chromium v138.0.1, @sparticuz/chromium-min v138.0.1

The chromium-v138.0.1-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v138.0.1-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v138.0.1-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v138.0.1" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v138.0.1-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v138.0.1-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

Full Changelog: v138.0.0...v138.0.1

v138.0.0

09 Jul 20:36

Choose a tag to compare

@sparticuz/chromium v138.0.0, @sparticuz/chromium-min v138.0.0

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

The chromium-v138.0.0-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v138.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v138.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v138.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v138.0.0-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v138.0.0-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

What's Changed

Full Changelog: v137.0.1...v138.0.0

v137.0.1

16 Jun 18:56

Choose a tag to compare

@sparticuz/chromium v137.0.1, @sparticuz/chromium-min v137.0.1

The chromium-v137.0.1-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v137.0.1-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v137.0.1-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v137.0.1" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v137.0.1-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v137.0.1-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your
contribution helps cover monthly maintenance costs and ensures ongoing improvements.

  • Fixed NPM Package missing binaries

Full Changelog: v137.0.0...v137.0.1

v137.0.0

14 Jun 00:18

Choose a tag to compare

@sparticuz/chromium v137.0.0, @sparticuz/chromium-min v137.0.0

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

!!! Do not blindly update to 137, read the following and make the needed code changes !!!

The chromium-v137.0.0-layer.ARCH.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v137.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v137.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v137.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v137.0.0-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v137.0.0-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Notable Changes

Lots has changed since the last public release of @sparticuz/chromium 133.

Breaking Changes

  • Nearly all opinionated code has been removed. Users must now specify both the headless type as well as the viewport. A lot of args have also been removed.

Removed Args

  • ALL of Puppeteer's included args have been removed. This is replaced by using puppeteer.defaultArgs(). Playwright also includes a set of default args. The only args included are those required to run in serverless environments.
--allow-pre-commit-input
--disable-background-networking
--disable-background-timer-throttling
--disable-backgrounding-occluded-windows
--disable-breakpad
--disable-client-side-phishing-detection
--disable-component-extensions-with-background-pages
--disable-component-update
--disable-default-apps
--disable-dev-shm-usage
--disable-extensions
--disable-hang-monitor
--disable-ipc-flooding-protection
--disable-popup-blocking
--disable-prompt-on-repost
--disable-renderer-backgrounding
--disable-sync
--enable-automation
--enable-blink-features=IdleDetection
--export-tagged-pdf
--force-color-profile=srgb
--metrics-recording-only
--no-first-run
--password-store=basic
--use-mock-keychain
--disable-features="Translate,BackForwardCache,AcceptCHFrame,MediaRouter,OptimizationHints"
--enable-features="NetworkServiceInProcess2"
--disable-speech-api
--mute-audio
--hide-scrollbars
--window-size=1920,1080

Removed Opinionated Viewport

The User must now specify the viewport for Puppeteer. The following is a good default.

const viewport = {
  deviceScaleFactor: 1,
  hasTouch: false,
  height: 1080,
  isLandscape: true,
  isMobile: false,
  width: 1920,
}

Removed chromium.headless

The User must now specify the headless type for their library.

  • "shell" for Puppeteer
  • true for Playwright

arm64 Support

Finally! It's here! A layer and a pack are now built for arm64.

Dependencies

Dependencies (fonts and lib packs) are now built instead of manually curated files.

Summary of the PRs that make this release

Chromium 137 (#359)

  • Upgraded bundled Chromium to version 137.
  • Enhanced documentation for "Extra Args" and contributions.
  • Updated build and test infrastructure:
    • Improved workflow scripts to better separate and handle x64 and arm64 builds, making artifact naming and handling explicit for both architectures.
    • Refined Makefile and Ansible scripts for multi-architecture support (archs now supports both x64 and arm64).
    • Improved test automation and artifact cleanup steps.
  • Code and integration test improvements:
    • Adjusted test event hashes and handler logic to match new Chromium and test requirements.
    • Refined TypeScript and handler implementations for clarity and maintainability.

Make an arm64 layer also (#353)

  • Introduced explicit build and packaging for an ARM64 Lambda Layer.
  • Major refactoring to workflow scripts:
    • release.yml, test-arm.yml, and test-x64.yml updated to handle separate ARM64 and x64 artifacts.
    • Added and updated paths, artifact names, and packaging logic to support publishing both architectures.
    • Updates to Makefile and project files to ensure correct installation and packaging per architecture.
  • Moved binary artifacts to bin/x64 and bin/arm64 directories for clarity and separation.
  • Package configuration (package.json) updated to exclude unnecessary arch-specific files from wrong releases.

Major refactor, arm64 support, auto-gen dependencies (#351)

  • Significant codebase refactor:
    • Dropped support for Node 16 and Node 18 (AL2), now requiring Node 20+.
    • Removed "opinionated" code: users must now explicitly specify viewport, headless mode, and args as needed.
      • Default viewport is no longer set; consumers should specify their own.
      • Headless mode is now set to 'shell' for Puppeteer and defaults to true for Playwright.
      • Args are now merged using Puppeteer's and Playwright's built-in logic.
    • All binary files (fonts.tar.br, al2023.tar.br) are now auto-generated.
  • Documentation overhaul:
    • README.md substantially revised for accuracy, clarity, and improved guidance.
    • Updated bug-report templates and references to reflect new Node.js and architecture support.
  • Improved Makefile and build/test scripts:
    • Test workflows and Makefile rules updated to handle only supported Node.js versions and architectures.
    • Reworked artifact naming and upload logic for clarity.
  • Removed legacy and redundant scripts and handlers; replaced with modern TypeScript/ESM implementations.

Note: This changelog is based on analysis of code changes in #351, #353, and #359. For full details and diff, view the PR "Files changed" tab for each PR.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

What's Changed

New Contributors

Full Changelog: v133.0.0...v137.0.0

v135.0.0-next.3

02 May 20:20

Choose a tag to compare

@sparticuz/chromium v135.0.0-next.3, @sparticuz/chromium-min v135.0.0-next.3

The chromium-v135.0.0-next.3-layer.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && archType="x64" && \
aws s3 cp chromium-v135.0.0-next.3-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v135.0.0-next.3-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v135.0.0-next.3" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v135.0.0-next.3-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)

The chromium-v135.0.0-next.3-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

What's Changed

Full Changelog: v135.0.0-next.0...v135.0.0-next.3

v135.0.0-next.0

02 May 17:05

Choose a tag to compare

@sparticuz/chromium v135.0.0-next.0, @sparticuz/chromium-min v135.0.0-next.0

This is a Beta release.

It includes ARM64 support, as well as a Major refactor of the code. Please test.

The chromium-v135.0.0-next.0-layer.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && \
aws s3 cp chromium-v135.0.0-next.0-layer.zip "s3://${bucketName}/chromiumLayers/chromium-v135.0.0-next.0-layer.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v135.0.0-next.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v135.0.0-next.0-layer.zip" --compatible-runtimes nodejs --compatible-architectures x86_64

The chromium-v135.0.0-next.0-pack.ARCH.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

Support this project's continued development by becoming a sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.

What's Changed

  • fix: handle error event for remote font by @Juneezee in #350
  • Major refactor, arm64 support, auto-gen dependencies by @Sparticuz in #351

New Contributors

Full Changelog: v133.0.0...v135.0.0-next.0

v133.0.0

03 Mar 20:37

Choose a tag to compare

@sparticuz/chromium v133.0.0, @sparticuz/chromium-min v133.0.0

The chromium-v133.0.0-layer.zip file may be uploaded directly as a layer in AWS Lambda using the following code

bucketName="chromiumUploadBucket" && \
aws s3 cp chromium-v133.0.0-layer.zip "s3://${bucketName}/chromiumLayers/chromium-v133.0.0-layer.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v133.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v133.0.0-layer.zip" --compatible-runtimes nodejs --compatible-architectures x86_64

The chromium-v133.0.0-pack.tar file may be uploaded to any https endpoint and the remote location may be used as the input variable in the chromium.executablePath(input) function.

What's Changed

New Contributors

Full Changelog: v132.0.0...v133.0.0