Skip to content

Update dependency @sparticuz/chromium to v137 #2617

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 16, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@sparticuz/chromium ^133.0.0 -> ^137.0.0 age adoption passing confidence

Release Notes

Sparticuz/chromium (@​sparticuz/chromium)

v137.0.1

Compare Source

@​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: Sparticuz/chromium@v137.0.0...v137.0.1

v137.0.0

Compare Source

@​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: Sparticuz/chromium@v133.0.0...v137.0.0


Configuration

📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

vercel bot commented Jun 16, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
mdx ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 16, 2025 1:34am

@github-actions github-actions bot added the 👋 phase/new Post is being triaged automatically label Jun 16, 2025
Copy link

github-actions bot commented Jun 16, 2025

Hi! It seems you removed the template which we require. Here are our templates (pick the one you want to use and click *raw* to see its source):

I won’t send you any further notifications about this, but I’ll keep on updating this comment, and hide it when done!

Thanks,
— bb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
👋 phase/new Post is being triaged automatically
Development

Successfully merging this pull request may close these issues.

0 participants