Releases: Sparticuz/chromium
Release list
v149.0.0
@sparticuz/chromium v149.0.0, @sparticuz/chromium-min v149.0.0
The chromium-v149.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-v149.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v149.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v149.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v149.0.0-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" "nodejs24.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)
The chromium-v149.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.
If you or your company has financially benefited from this project, please support it's continued development by becoming a monthly sponsor on GitHub. Your contribution helps cover monthly maintenance costs and ensures ongoing improvements.
What's Changed
- Breaking: Dropped CommonJS support. Ecmascript module support only. This mirrors puppeteer's removal of CJS.
- Breaking: Puppeteer now returns a promise for
puppeteer.defaultArgs(). This must beawaited in your code if you use it. - Breaking: Chromium to 149.0.7827.22, Puppeteer Updates by @github-actions[bot] in #503
Full Changelog: v148.0.0...v149.0.0
v148.0.0
@sparticuz/chromium v148.0.0, @sparticuz/chromium-min v148.0.0
The chromium-v148.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-v148.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v148.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v148.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v148.0.0-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" "nodejs24.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)
The chromium-v148.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
- chore: bump Chromium to 148.0.7778.56 (revision 1610480) by @github-actions[bot] in #502
Full Changelog: v147.0.2...v148.0.0
v147.0.2
@sparticuz/chromium v147.0.2, @sparticuz/chromium-min v147.0.2
The chromium-v147.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-v147.0.2-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v147.0.2-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v147.0.2" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v147.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-v147.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.
What's Changed
- fix: workflow improvements for PR label state and VR comparison by @Sparticuz in #501
- refactor: migrate from tsup to tsdown by @Sparticuz in #500
Full Changelog: v147.0.1...v147.0.2
v147.0.1
@sparticuz/chromium v147.0.1, @sparticuz/chromium-min v147.0.1
The chromium-v147.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-v147.0.1-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v147.0.1-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v147.0.1" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v147.0.1-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" "nodejs24.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)
The chromium-v147.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.
Breaking Changes
- Minimum Node.js version raised to 22.17.0 β required for stable native fetch and Readable.fromWeb() stream interop, which replace the follow-redirects dependency. Node 20 reaches EOL in October 2026, and even earlier on Lambda. (The package also most likely still works with node 20)
Changes
- Removed follow-redirects dependency β HTTP downloads now use Node's built-in fetch with Readable.fromWeb() for stream piping. Download timeout set to 300s for large files.
- Dual ESM/CJS builds via tsup β replaced tsc build with tsup bundler. CJS consumers get a proper CommonJS build at build/cjs/index.cjs
Infrastructure
- Replaced Ansible build system with EC2 user-data architecture β builds are now fire-and-forget: a GitHub Actions workflow launches a spot EC2 instance with a self-contained build script. The instance builds Chromium, uploads binaries to S3, and calls back to GitHub when done.
- Visual regression testing β PRs automatically get screenshot comparisons (example.com + WebGL) across x64 and arm64, with cross-architecture diff reporting
- Unified test workflow β single test.yml replaces separate test-x64.yml and test-arm.yml, with CJS test matrix
Full Changelog: v147.0.0...v147.0.1
v147.0.0
@sparticuz/chromium v147.0.0, @sparticuz/chromium-min v147.0.0
The chromium-v147.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-v147.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v147.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v147.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v147.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-v147.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
- Chromium 147 by @Sparticuz in #488
Full Changelog: v143.0.4...v147.0.0
v143.0.4
@sparticuz/chromium v143.0.4, @sparticuz/chromium-min v143.0.4
The chromium-v143.0.4-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-v143.0.4-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v143.0.4-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v143.0.4" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v143.0.4-layer.${archType}.zip" --compatible-runtimes "nodejs20.x" "nodejs22.x" --compatible-architectures $(if [ "$archType" = "x64" ]; then echo "x86_64"; else echo "$archType"; fi)
The chromium-v143.0.4-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: v143.0.0...v143.0.4
v143.0.0
@sparticuz/chromium v143.0.0, @sparticuz/chromium-min v143.0.0
The chromium-v143.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-v143.0.0-layer.${archType}.zip "s3://${bucketName}/chromiumLayers/chromium-v143.0.0-layer.${archType}.zip" && \
aws lambda publish-layer-version --layer-name chromium --description "Chromium v143.0.0" --content "S3Bucket=${bucketName},S3Key=chromiumLayers/chromium-v143.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-v143.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
- fix example code in README.md by @cognettings in #475
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #473
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #469
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #468
- Node 24 & Chromium 143 by @Sparticuz in #476
New Contributors
- @cognettings made their first contribution in #475
Full Changelog: v141.0.0...v143.0.0
v141.0.0
@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
- Update the chromium version to 141.0.7382 by @gauravrmazra in #447
- Update the Chromium version to 141 by @Sparticuz in #454
New Contributors
- @gauravrmazra made their first contribution in #447
Full Changelog: v140.0.0...v141.0.0
v140.0.0
@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
- Chromium 140 by @Sparticuz in #451
Full Changelog: v138.0.2...v140.0.0
v138.0.2
@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