Skip to content

Conversation

KhafraDev
Copy link
Member

It has shipped in Safari 18.4, I don't see a reason to hold off until the spec is written.

Refs: whatwg/compression#34

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. web streams labels Aug 13, 2025
@KhafraDev KhafraDev changed the title Compressionstream brotli stream: add brotli support to CompressionStream and DecompressionStream Aug 13, 2025
@KhafraDev KhafraDev force-pushed the compressionstream-brotli branch from b170e35 to ea16859 Compare August 13, 2025 22:20
Copy link

codecov bot commented Aug 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.88%. Comparing base (9ec68af) to head (42dd5f6).
⚠️ Report is 67 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #59464      +/-   ##
==========================================
- Coverage   89.88%   89.88%   -0.01%     
==========================================
  Files         656      664       +8     
  Lines      192967   194951    +1984     
  Branches    37848    38296     +448     
==========================================
+ Hits       173451   175232    +1781     
- Misses      12070    12184     +114     
- Partials     7446     7535      +89     
Files with missing lines Coverage Δ
lib/internal/webstreams/compression.js 97.77% <100.00%> (+0.08%) ⬆️

... and 91 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Member

@LiviaMedeiros LiviaMedeiros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 on adding this, but is there a consensus if the format should be called brotli or br, or if one should be an alias for another?
If not, perhaps we should emit experimental warning for this.

@LiviaMedeiros LiviaMedeiros added semver-minor PRs that contain new features and should be released in the next minor version. notable-change PRs with changes that should be highlighted in changelogs. labels Aug 14, 2025
Copy link
Contributor

The notable-change PRs with changes that should be highlighted in changelogs. label has been added by @LiviaMedeiros.

Please suggest a text for the release notes if you'd like to include a more detailed summary, then proceed to update the PR description with the text or a link to the notable change suggested text comment. Otherwise, the commit will be placed in the Other Notable Changes section.

@KhafraDev
Copy link
Member Author

Safari shipped as 'brotli'

@KhafraDev KhafraDev added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 14, 2025
@github-actions github-actions bot added request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. and removed request-ci Add this label to start a Jenkins CI on a PR. labels Aug 14, 2025
Copy link
Contributor

Failed to start CI
   ⚠  No approving reviews found
   ✘  Refusing to run CI on potentially unsafe PR
https://github.com/nodejs/node/actions/runs/16979245607

@KhafraDev KhafraDev added the review wanted PRs that need reviews. label Aug 15, 2025
Copy link
Contributor

@Uzlopak Uzlopak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KhafraDev
Copy link
Member Author

cc @nodejs/web-standards @nodejs/whatwg-stream

@KhafraDev KhafraDev force-pushed the compressionstream-brotli branch from ea16859 to 42dd5f6 Compare August 19, 2025 22:03
@KhafraDev KhafraDev added request-ci Add this label to start a Jenkins CI on a PR. and removed request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. labels Aug 20, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 20, 2025
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Aug 20, 2025

@KhafraDev KhafraDev added the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 21, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Aug 21, 2025
@nodejs-github-bot nodejs-github-bot merged commit 44d9e6d into nodejs:main Aug 21, 2025
60 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 44d9e6d

targos pushed a commit that referenced this pull request Aug 21, 2025
Refs: whatwg/compression#34
PR-URL: #59464
Reviewed-By: Mattias Buelens <[email protected]>
Reviewed-By: Jason Zhang <[email protected]>
Reviewed-By: Ethan Arrowood <[email protected]>
nodejs-github-bot added a commit that referenced this pull request Aug 26, 2025
Notable changes:

crypto:
  * (SEMVER-MINOR) add AES-OCB Web Cryptography algorithm (Filip Skokan) #59539
  * update root certificates to NSS 3.114 (Node.js GitHub Bot) #59571
  * (SEMVER-MINOR) support ML-KEM in Web Cryptography (Filip Skokan) #59569
  * (SEMVER-MINOR) support ML-KEM, DHKEM, and RSASVE key encapsulation mechanisms (Filip Skokan) #59491
  * (SEMVER-MINOR) add argon2() and argon2Sync() methods (Ranieri Althoff) #50353
  * (SEMVER-MINOR) support ML-DSA spki/pkcs8 key formats in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) subject some algorithms in Web Cryptography on BoringSSL absence (Filip Skokan) #59365
  * (SEMVER-MINOR) add ChaCha20-Poly1305 Web Cryptography algorithm (Filip Skokan) #59365
  * (SEMVER-MINOR) add subtle.getPublicKey() utility function in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHA-3 Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHAKE Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SubtleCrypto.supports feature detection in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-DSA in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-KEM KeyObject (Filip Skokan) #59461
doc:
  * (SEMVER-MINOR) compress Web Cryptography Algorithm matrix (Filip Skokan) #59365
http:
  * (SEMVER-MINOR) add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) #59315
http2:
  * (SEMVER-MINOR) add support for raw header arrays in h2Stream.respond() (Tim Perry) #59455
lib:
  * (SEMVER-MINOR) refactor kSupportedAlgorithms (Filip Skokan) #59365
sea:
  * (SEMVER-MINOR) support execArgv in sea config (Joyee Cheung) #59314
stream:
  * (SEMVER-MINOR) add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) #59464
test:
  * (SEMVER-MINOR) add Web Cryptography wrap/unwrap vectors (Filip Skokan) #59365
  * (SEMVER-MINOR) cleanup test-webcrypto-supports (Filip Skokan) #59365

PR-URL: #59629
targos pushed a commit that referenced this pull request Aug 26, 2025
Notable changes:

crypto:
  * update root certificates to NSS 3.114 (Node.js GitHub Bot) #59571
  * (SEMVER-MINOR) add AES-OCB Web Cryptography algorithm (Filip Skokan) #59539
  * (SEMVER-MINOR) support ML-KEM in Web Cryptography (Filip Skokan) #59569
  * (SEMVER-MINOR) support ML-KEM, DHKEM, and RSASVE key encapsulation mechanisms (Filip Skokan) #59491
  * (SEMVER-MINOR) add argon2() and argon2Sync() methods (Ranieri Althoff) #50353
  * (SEMVER-MINOR) support ML-DSA spki/pkcs8 key formats in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add ChaCha20-Poly1305 Web Cryptography algorithm (Filip Skokan) #59365
  * (SEMVER-MINOR) add subtle.getPublicKey() utility function in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHA-3 Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHAKE Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SubtleCrypto.supports feature detection in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-DSA in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-KEM KeyObject (Filip Skokan) #59461
http:
  * (SEMVER-MINOR) add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) #59315
http2:
  * (SEMVER-MINOR) add support for raw header arrays in h2Stream.respond() (Tim Perry) #59455
sea:
  * (SEMVER-MINOR) support execArgv in sea config (Joyee Cheung) #59314
stream:
  * (SEMVER-MINOR) add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) #59464

PR-URL: #59629
targos pushed a commit that referenced this pull request Aug 27, 2025
Notable changes:

crypto:
  * update root certificates to NSS 3.114 (Node.js GitHub Bot) #59571
  * (SEMVER-MINOR) add AES-OCB Web Cryptography algorithm (Filip Skokan) #59539
  * (SEMVER-MINOR) support ML-KEM in Web Cryptography (Filip Skokan) #59569
  * (SEMVER-MINOR) support ML-KEM, DHKEM, and RSASVE key encapsulation mechanisms (Filip Skokan) #59491
  * (SEMVER-MINOR) add argon2() and argon2Sync() methods (Ranieri Althoff) #50353
  * (SEMVER-MINOR) support ML-DSA spki/pkcs8 key formats in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add ChaCha20-Poly1305 Web Cryptography algorithm (Filip Skokan) #59365
  * (SEMVER-MINOR) add subtle.getPublicKey() utility function in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHA-3 Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHAKE Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SubtleCrypto.supports feature detection in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-DSA in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-KEM KeyObject (Filip Skokan) #59461
http:
  * (SEMVER-MINOR) add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) #59315
http2:
  * (SEMVER-MINOR) add support for raw header arrays in h2Stream.respond() (Tim Perry) #59455
sea:
  * (SEMVER-MINOR) support execArgv in sea config (Joyee Cheung) #59314
stream:
  * (SEMVER-MINOR) add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) #59464

PR-URL: #59629
targos pushed a commit that referenced this pull request Aug 27, 2025
Notable changes:

crypto:
  * update root certificates to NSS 3.114 (Node.js GitHub Bot) #59571
  * (SEMVER-MINOR) add AES-OCB Web Cryptography algorithm (Filip Skokan) #59539
  * (SEMVER-MINOR) support ML-KEM in Web Cryptography (Filip Skokan) #59569
  * (SEMVER-MINOR) support ML-KEM, DHKEM, and RSASVE key encapsulation mechanisms (Filip Skokan) #59491
  * (SEMVER-MINOR) add argon2() and argon2Sync() methods (Ranieri Althoff) #50353
  * (SEMVER-MINOR) support ML-DSA spki/pkcs8 key formats in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add ChaCha20-Poly1305 Web Cryptography algorithm (Filip Skokan) #59365
  * (SEMVER-MINOR) add subtle.getPublicKey() utility function in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHA-3 Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SHAKE Web Cryptography digest algorithms (Filip Skokan) #59365
  * (SEMVER-MINOR) add SubtleCrypto.supports feature detection in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-DSA in Web Cryptography (Filip Skokan) #59365
  * (SEMVER-MINOR) support ML-KEM KeyObject (Filip Skokan) #59461
http:
  * (SEMVER-MINOR) add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) #59315
http2:
  * (SEMVER-MINOR) add support for raw header arrays in h2Stream.respond() (Tim Perry) #59455
sea:
  * (SEMVER-MINOR) support execArgv in sea config (Joyee Cheung) #59314
stream:
  * (SEMVER-MINOR) add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) #59464

PR-URL: #59629
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-ci PRs that need a full CI run. notable-change PRs with changes that should be highlighted in changelogs. review wanted PRs that need reviews. semver-minor PRs that contain new features and should be released in the next minor version. web streams
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants