After two years of development, Google has released Brotli 1.2, a significant update to its widely used open-source compression library for Linux systems, web servers, and browsers. The previous version, 1.1, dates back to August 2023, making this release a long-awaited modernization for one of the most efficient compression tools in modern computing.
In the security area, the Python bindings gain a new Decompressor::can_accept_more_data method and an optional output_buffer_limit parameter in Decompressor::process. These help mitigate scenarios in which untrusted input could produce unexpectedly large decompressed output.
From a performance perspective, both the encoder and decoder now feature static initialization, reducing binary size and improving startup time. Encoding itself is faster, making Brotli even more attractive for web and system-level compression tasks.
The release also includes:
- A new Kotlin-based decoder for JVM-based applications.
- A
brcatcommand-line alias, enabling users to decode concatenated Brotli streams more easily. - CGo support for “raw” dictionaries, improving integration with C-based applications.
- Updated Bazel build modules and installed man pages for better maintainability and documentation.
On the cleanup side, Brotli 1.2 removes the deprecated finalize() usage in its Java bindings and corrects an encoding-length issue in the Java compressor. The build system has been streamlined with pkg-config linking and modernized Python extensions that support multi-phase module initialization.
For more information, see the changelog.
