Skip to content

Conversation

@patchback
Copy link
Contributor

@patchback patchback bot commented Dec 2, 2025

This is a backport of PR #11749 as merged into 3.14 (8116039).

Bumps brotli from 1.1.0 to 1.2.0.

Release notes

Sourced from brotli's releases.

v1.2.0

SECURITY

  • python: added Decompressor::can_accept_more_data method and optional output_buffer_limit argument Decompressor::process; that allows mitigation of unexpectedly large output; reported by Charles Chan (https://github.com/charleswhchan)

Added

  • decoder / encoder: added static initialization to reduce binary size
  • python: allow limiting decoder output (see SECURITY section)
  • CLI: brcat alias; allow decoding concatenated brotli streams
  • kt: pure Kotlin decoder
  • cgo: support "raw" dictionaries
  • build: Bazel modules

Removed

  • java: dropped finalize() for native entities

Fixed

  • java: in compress pass correct length to native encoder

Improved

  • build: install man pages
  • build: updated / fixed / refined Bazel buildfiles
  • encoder: faster encoding
  • cgo: link via pkg-config
  • python: modernize extension / allow multi-phase module initialization

Changed

  • decoder / encoder: static tables use "small" model (allows 2GiB+ binaries)

v1.2.0 RC2

What's Changed (compared to RC1)

v1.2.0 RC1

IMPORTANT: though this is a pre-release for v1.2.0, it is expected that some changes will be added before release; most notably concerning build files: patches applied by Alpine, Debian, Conan, VCPKG will be partially/fully integrated.

SECURITY

  • python: added Decompressor::can_accept_more_data method and optional output_buffer_limit argument Decompressor::process; that allows mitigation of unexpectedly large output; reported by Charles Chan (https://github.com/charleswhchan)

Added

  • decoder / encoder: added static initialization to reduce binary size
  • python: allow limiting decoder output (see SECURITY section)

... (truncated)

Changelog

Sourced from brotli's changelog.

[1.2.0] - 2025-10-27

SECURITY

  • python: added Decompressor::can_accept_more_data method and optional output_buffer_limit argument Decompressor::process; that allows mitigation of unexpectedly large output; reported by Charles Chan (https://github.com/charleswhchan)

Added

  • decoder / encoder: added static initialization to reduce binary size
  • python: allow limiting decoder output (see SECURITY section)
  • CLI: brcat alias; allow decoding concatenated brotli streams
  • kt: pure Kotlin decoder
  • cgo: support "raw" dictionaries
  • build: Bazel modules

Removed

  • java: dropped finalize() for native entities

Fixed

  • java: in compress pass correct length to native encoder

Improved

  • build: install man pages
  • build: updated / fixed / refined Bazel buildfiles
  • encoder: faster encoding
  • cgo: link via pkg-config
  • python: modernize extension / allow multi-phase module initialization

Changed

  • decoder / encoder: static tables use "small" model (allows 2GiB+ binaries)
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [brotli](https://github.com/google/brotli) from 1.1.0 to 1.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/brotli/releases">brotli's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.0</h2>
<h3>SECURITY</h3>
<ul>
<li>python: added <code>Decompressor::can_accept_more_data</code> method
and optional
<code>output_buffer_limit</code> argument
<code>Decompressor::process</code>;
that allows mitigation of unexpectedly large output;
reported by Charles Chan (<a
href="https://github.com/charleswhchan">https://github.com/charleswhchan</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li><strong>decoder / encoder: added static initialization to reduce
binary size</strong></li>
<li>python: allow limiting decoder output (see SECURITY section)</li>
<li>CLI: <code>brcat</code> alias; allow decoding concatenated brotli
streams</li>
<li>kt: pure Kotlin decoder</li>
<li>cgo: support &quot;raw&quot; dictionaries</li>
<li>build: Bazel modules</li>
</ul>
<h3>Removed</h3>
<ul>
<li>java: dropped <code>finalize()</code> for native entities</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>java: in <code>compress</code> pass correct length to native
encoder</li>
</ul>
<h3>Improved</h3>
<ul>
<li>build: install man pages</li>
<li>build: updated / fixed / refined Bazel buildfiles</li>
<li>encoder: faster encoding</li>
<li>cgo: link via pkg-config</li>
<li>python: modernize extension / allow multi-phase module
initialization</li>
</ul>
<h3>Changed</h3>
<ul>
<li>decoder / encoder: static tables use &quot;small&quot; model (allows
2GiB+ binaries)</li>
</ul>
<h2>v1.2.0 RC2</h2>
<h2>What's Changed (compared to RC1)</h2>
<ul>
<li>pick changes from Debian patch by <a
href="https://github.com/copybara-service"><code>@​copybara-service</code></a>[bot]
in <a
href="https://redirect.github.com/google/brotli/pull/1349">google/brotli#1349</a></li>
<li>pick changes from Alpine patch by <a
href="https://github.com/copybara-service"><code>@​copybara-service</code></a>[bot]
in <a
href="https://redirect.github.com/google/brotli/pull/1348">google/brotli#1348</a></li>
<li>pick VCPKG patches by <a
href="https://github.com/copybara-service"><code>@​copybara-service</code></a>[bot]
in <a
href="https://redirect.github.com/google/brotli/pull/1350">google/brotli#1350</a></li>
<li>fix copy-paste in Java decoder by <a
href="https://github.com/copybara-service"><code>@​copybara-service</code></a>[bot]
in <a
href="https://redirect.github.com/google/brotli/pull/1357">google/brotli#1357</a></li>
</ul>
<h2>v1.2.0 RC1</h2>
<p><strong>IMPORTANT</strong>: though this is a pre-release for v1.2.0,
it is expected that some changes will be added before release; most
notably concerning build files: patches applied by Alpine, Debian,
Conan, VCPKG will be partially/fully integrated.</p>
<h3>SECURITY</h3>
<ul>
<li>python: added <code>Decompressor::can_accept_more_data</code> method
and optional
<code>output_buffer_limit</code> argument
<code>Decompressor::process</code>;
that allows mitigation of unexpectedly large output;
reported by Charles Chan (<a
href="https://github.com/charleswhchan">https://github.com/charleswhchan</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li><strong>decoder / encoder: added static initialization to reduce
binary size</strong></li>
<li>python: allow limiting decoder output (see SECURITY section)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/google/brotli/blob/master/CHANGELOG.md">brotli's
changelog</a>.</em></p>
<blockquote>
<h2>[1.2.0] - 2025-10-27</h2>
<h3>SECURITY</h3>
<ul>
<li>python: added <code>Decompressor::can_accept_more_data</code> method
and optional
<code>output_buffer_limit</code> argument
<code>Decompressor::process</code>;
that allows mitigation of unexpectedly large output;
reported by Charles Chan (<a
href="https://github.com/charleswhchan">https://github.com/charleswhchan</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li><strong>decoder / encoder: added static initialization to reduce
binary size</strong></li>
<li>python: allow limiting decoder output (see SECURITY section)</li>
<li>CLI: <code>brcat</code> alias; allow decoding concatenated brotli
streams</li>
<li>kt: pure Kotlin decoder</li>
<li>cgo: support &quot;raw&quot; dictionaries</li>
<li>build: Bazel modules</li>
</ul>
<h3>Removed</h3>
<ul>
<li>java: dropped <code>finalize()</code> for native entities</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>java: in <code>compress</code> pass correct length to native
encoder</li>
</ul>
<h3>Improved</h3>
<ul>
<li>build: install man pages</li>
<li>build: updated / fixed / refined Bazel buildfiles</li>
<li>encoder: faster encoding</li>
<li>cgo: link via pkg-config</li>
<li>python: modernize extension / allow multi-phase module
initialization</li>
</ul>
<h3>Changed</h3>
<ul>
<li>decoder / encoder: static tables use &quot;small&quot; model (allows
2GiB+ binaries)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google/brotli/commit/028fb5a23661f123017c060daa546b55cf4bde29"><code>028fb5a</code></a>
release v1.2.0</li>
<li><a
href="https://github.com/google/brotli/commit/390de5b472ec8c40a7b8e5029e47fd6493f7a755"><code>390de5b</code></a>
build and test csharp decoder</li>
<li><a
href="https://github.com/google/brotli/commit/3499acbb7ac7818c1b929a8c9c5c5f8a634751da"><code>3499acb</code></a>
regenerate go/kt/js/ts</li>
<li><a
href="https://github.com/google/brotli/commit/8ca2312c61f1f5853be0708f9b1d6a6ad002d2a4"><code>8ca2312</code></a>
fix release workflow</li>
<li><a
href="https://github.com/google/brotli/commit/ee771daf20bab6533cbc629407c50cff1c87d9f1"><code>ee771da</code></a>
fix copy-paste in Java decoder</li>
<li><a
href="https://github.com/google/brotli/commit/42aee3289154cb3e8db1c7a8ebfa639c857578b9"><code>42aee32</code></a>
try to fix release workflow</li>
<li><a
href="https://github.com/google/brotli/commit/392c06bac05cc1d098ab105cbbda766f19853d92"><code>392c06b</code></a>
redesign release resource uploading</li>
<li><a
href="https://github.com/google/brotli/commit/1964cdb1b9e16a2a0c27fbd3b2a3bccb2c1a8294"><code>1964cdb</code></a>
ramp up all GH actions plugins</li>
<li><a
href="https://github.com/google/brotli/commit/61605b1cb34ba84ae71c13b383d850a59cac85b2"><code>61605b1</code></a>
pick VCPKG patches</li>
<li><a
href="https://github.com/google/brotli/commit/4b0f27b6f985b4301ad5cec4a31b9792ecf252bc"><code>4b0f27b</code></a>
pick changes from Alpine patch</li>
<li>Additional commits viewable in <a
href="https://github.com/google/brotli/compare/go/cbrotli/v1.1.0...v1.2.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=brotli&package-manager=pip&previous-version=1.1.0&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 8116039)
@patchback patchback bot requested review from asvetlov and webknjaz as code owners December 2, 2025 00:36
@Dreamsorcerer Dreamsorcerer enabled auto-merge (squash) December 2, 2025 00:42
@codspeed-hq
Copy link

codspeed-hq bot commented Dec 2, 2025

CodSpeed Performance Report

Merging #11779 will not alter performance

Comparing patchback/backports/3.13/81160396facbbcdedb84b0e9e6459225d7af755e/pr-11749 (a5a61d4) with 3.13 (de9d490)

Summary

✅ 59 untouched

@codecov
Copy link

codecov bot commented Dec 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.26%. Comparing base (de9d490) to head (a5a61d4).
⚠️ Report is 1 commits behind head on 3.13.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             3.13   #11779   +/-   ##
=======================================
  Coverage   98.26%   98.26%           
=======================================
  Files         128      128           
  Lines       44035    44035           
  Branches     2393     2393           
=======================================
  Hits        43271    43271           
  Misses        588      588           
  Partials      176      176           
Flag Coverage Δ
CI-GHA 98.14% <ø> (ø)
OS-Linux 97.90% <ø> (ø)
OS-Windows 95.61% <ø> (ø)
OS-macOS 97.13% <ø> (-0.01%) ⬇️
Py-3.10.11 96.67% <ø> (ø)
Py-3.10.19 97.17% <ø> (ø)
Py-3.11.14 97.36% <ø> (ø)
Py-3.11.9 96.86% <ø> (ø)
Py-3.12.10 96.94% <ø> (-0.01%) ⬇️
Py-3.12.12 97.45% <ø> (-0.01%) ⬇️
Py-3.13.9 97.68% <ø> (+0.01%) ⬆️
Py-3.14.0 97.66% <ø> (+<0.01%) ⬆️
Py-3.14.0t 96.76% <ø> (+<0.01%) ⬆️
Py-3.9.13 96.57% <ø> (ø)
Py-3.9.25 97.07% <ø> (ø)
Py-pypy3.11.13-7.3.20 96.93% <ø> (+<0.01%) ⬆️
VM-macos 97.13% <ø> (-0.01%) ⬇️
VM-ubuntu 97.90% <ø> (ø)
VM-windows 95.61% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Dreamsorcerer Dreamsorcerer merged commit 351989c into 3.13 Dec 2, 2025
41 checks passed
@Dreamsorcerer Dreamsorcerer deleted the patchback/backports/3.13/81160396facbbcdedb84b0e9e6459225d7af755e/pr-11749 branch December 2, 2025 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants