http://open-source-security-software.net/project/brotli/releases.atomRecent releases for brotli2026-06-06T01:30:27.520884+00:00python-feedgenbrotli v0.1.0brotli v0.1.02015-08-11T12:06:47+00:002015-08-11T12:06:47+00:00brotli v0.2.0brotli v0.2.02015-09-01T15:22:31+00:002015-09-01T15:22:31+00:00brotli v0.3.0brotli v0.3.02016-01-06T09:26:13+00:002016-01-06T09:26:13+00:00brotli v0.4.0brotli v0.4.02016-06-14T13:39:55+00:00- fixed decoder bugs
- made low quality compression faster; added quality level 0
- made decoding faster
- reduced encode and decoder memory usage
- updated API documentation and made API simpler
- improved compiler and platform compatibility
- fixed compilation warnings
2016-06-14T13:39:55+00:00brotli v0.5.2brotli v0.5.22016-08-11T16:23:12+00:00- Extracted common parts: constants, dictionary, etc.
- Converted encoder to plain C
- Supported build systems: Bazel, CMake, Premake
2016-08-11T16:23:12+00:00brotli v0.6.0brotli v0.6.02017-04-10T09:33:47+00:00 * better compression on 1MiB+ files
* update "common" API to make dictionary fetching more flexible
* fix decoder bug #502
* faster compression on mid-low quality levels
* update Python wrapper #479, etc.
* fix encoder q10-11 slowdown after long copy #468
* introduce `Brotli*TakeOutput` API
C API is expected to be final. The only difference in v1.0.0 will be the removal of methods (and constants) marked as deprecated.
2017-04-10T09:33:47+00:00brotli v1.0.0brotli v1.0.02017-09-21T08:44:59+00:00### API changes
* new CLI; bro -> brotli; + man page
* remove "custom dictionary" support
* add ability to side-load brotli RFC dictionary
* add decoder API to avoid ringbuffer reallocation
* PY streaming decompression support
* PY wrapper accepts memview
### New features
* C# decoder (transpiled from Java)
* JS decoder (transpiled from Java)
* JNI wrappers
### Improvements
* speedup Java decoder
* speedup compression of RLE-ish data2017-09-21T08:44:59+00:00brotli v1.0.1brotli v1.0.12017-09-22T12:10:25+00:00This is a source-only release. Binaries (except version) are the same
* updated `README.md`
* fixed parallel exeuction of CMake "compatibility" tests2017-09-22T12:10:25+00:00brotli v1.0.2brotli v1.0.22017-11-29T13:13:00+00:00This is a build-maintenance release. Major changes:
* added `Autotools` build files
* switched shared library version to libtool scheme
In this release semantic suffix and libtool suffix are the same: `1.0.2`. Don't expect them to match in future releases.
Minor changes:
* `BrotliDictionary` members are not `const` now
* `ZopfliNode` distance could be up to 128MiB
* fixed API documentation typos
* `total_out` is always set by decoder
* fixed `BROTLI_ENSURE_CAPACITY` macro; no-op in preprocessed output
Other changes:
* fixed scripts for `oss-fuzz`, test them with `Travis`
* made Bazel JNI tests less messy
* fixed linter warnings in JS decoder
* fixed permissions of various files
* added Bazel build to Appveyor matrix
* added `Sieve` dictionary generator
2017-11-29T13:13:00+00:00brotli v1.0.3brotli v1.0.32018-03-02T15:07:52+00:00Key changes:
* new feature: "Large Window Brotli"
* new dictionary generator
Other changes:
* improved compression ratio: sub-blocks stitching
* improved compression ratio: eliminated floating numbers rounding
* improved compression ratio: make the zopflification aware of `NDIRECT`, `NPOSTFIX`
* improve automake build
* improve `BrotliEncoderMaxCompressedSize` precision
* fix API documentation / typos
* fix code style
* make hashers host-endianness-independent
* Java: added "eager" decoding both to JNI wrapper and pure decoder
* CLI: window size is auto-adjusted
* added dictionaryless compressed dictionary2018-03-02T15:07:52+00:00brotli v1.0.4brotli v1.0.42018-04-10T12:48:29+00:00 * fix unaligned access for `aarch64`-cross-`armhf` build
* fix `aarch64` target detection
* allow CLI to compress with enabled "large window" feature
* add `NPOSTFIX` / `NDIRECT` encoder parameters
* automatic NDIRECT/NPOSTFIX tuning (better compression)
* fix "memory leak" in python tests
* fix bug in `durchschlag`
* fix source file lists (add `params.h`)
* fix Bazel/MSVC compilator options
* fix "fall though" warnings
2018-04-10T12:48:29+00:00brotli v1.0.5brotli v1.0.52018-06-27T15:09:39+00:00No API / ABI changes.
Other changes:
* improve q=1 compression on small files
* inverse Bazel workspace tree
* add rolling-composite-hasher for large-window mode
* add tools to download and transform static dictionary data
2018-06-27T15:09:39+00:00brotli v1.0.6brotli v1.0.62018-09-19T12:36:26+00:00No API / ABI changes.
### Fixes ###
* fix unaligned 64-bit accesses on AArch32
* add missing files to the sources list
* add ASAN/MSAN unaligned read specializations
* fix CoverityScan "unused assignment" warning
* fix JDK 8<->9 incompatibility
* unbreak Travis builds
* fix auto detect of bundled mode in cmake
2018-09-19T12:36:26+00:00brotli v1.0.7brotli v1.0.72018-10-23T11:13:37+00:00 * cross compilation support:
* added ability to run cross-compiled ARM tests in `qemu`
* added `arm-linux-gnueabihf-gcc` entry to Travis build matrix
* faster decoding on ARM:
* implemented prefetching `HuffmanCode` entry as `uint32_t` if target platform is ARM
* fixed `NEON` extension detection
* combed Huffman table building code for better readability
* improved precision of window size calculation in CLI
* minor fixes:
* fixed typos
* improved internal comments / parameter names
* fixed `BROTLI_PREDICT_TRUE`/`_FALSE` detection for SunPro compiler
* unburdened JNI (Bazel) builds from fetching the full JDK2018-10-23T11:13:37+00:00brotli v1.0.8brotli v1.0.82020-08-26T16:30:27+00:00SECURITY: decoder: fix integer overflow when input chunk is larger than 2GiB
Other changes:
* add support WASM (emscripten) build
* `brotli -v` now reports raw / compressed size
* build files / docs maintenance
* reduce sources tarball size
* decoder: minor speed / memory usage improvements
* encoder: fix rare access to uninitialized data in ring-buffer
* encoder: improve support for platforms that does not have `log2`
* encoder: better support for MSVC (replacement for `__builtin_clz` and `__builtin_ctzll`
* python: `decompress` now reports error if there is unused after the end of compressed input
2020-08-26T16:30:27+00:00brotli v1.0.9brotli v1.0.92020-08-27T14:14:11+00:00SECURITY: decoder: fix integer overflow when input chunk is larger than 2GiB
Other changes:
* add support WASM (emscripten) build
* brotli -v now reports raw / compressed size
* build files / docs maintenance
* reduce sources tarball size
* decoder: minor speed / memory usage improvements
* encoder: fix rare access to uninitialized data in ring-buffer
* encoder: improve support for platforms that does not have log2
* encoder: better support for MSVC (replacement for __builtin_clz and __builtin_ctzll
* python: decompress now reports error if there is unused after the end of compressed input
2020-08-27T14:14:11+00:00brotli v1.1.0rcbrotli v1.1.0rc2023-08-21T13:52:58+00:00### Added
- decoder: `BrotliDecoderAttachDictionary`
- decoder: `BrotliDecoderOnFinish` callback behind `BROTLI_REPORTING`
- decoder: `BrotliDecoderSetMetadataCallbacks`
- encoder: `BrotliEncoderPrepareDictionary`,
`BrotliEncoderDestroyPreparedDictionary`,
`BrotliEncoderAttachPreparedDictionary`
- decoder: `BrotliEncoderOnFinish` callback behind `BROTLI_REPORTING`
- common: `BrotliSharedDictionaryCreateInstance`,
`BrotliSharedDictionaryDestroyInstance`,
`BrotliSharedDictionaryAttach`
- CLI: `--dictionary` option
- java: encoder wrapper: `Parameters.mode`
- java: `Brotli{Input|Output}Stream.attachDictionary`
- java: wrapper: partial byte array input
- typescript: decoder (transpiled from Java)
### Removed
- build: `BROTLI_BUILD_PORTABLE` option
### Fixed
- java: JNI decoder failed sometimes on power of 2 payloads
### Improved
- java / js: smaller decoder footprint
- decoder: faster decoding
- encoder: faster encoding
- encoder: smaller stack frames2023-08-21T13:52:58+00:00brotli v1.1.0brotli v1.1.02023-08-31T08:21:23+00:00### Added
- decoder: `BrotliDecoderAttachDictionary`
- decoder: `BrotliDecoderOnFinish` callback behind `BROTLI_REPORTING`
- decoder: `BrotliDecoderSetMetadataCallbacks`
- encoder: `BrotliEncoderPrepareDictionary`,
`BrotliEncoderDestroyPreparedDictionary`,
`BrotliEncoderAttachPreparedDictionary`
- decoder: `BrotliEncoderOnFinish` callback behind `BROTLI_REPORTING`
- common: `BrotliSharedDictionaryCreateInstance`,
`BrotliSharedDictionaryDestroyInstance`,
`BrotliSharedDictionaryAttach`
- CLI: `--dictionary` option
- java: encoder wrapper: `Parameters.mode`
- java: `Brotli{Input|Output}Stream.attachDictionary`
- java: wrapper: partial byte array input
- typescript: decoder (transpiled from Java)
### Removed
- build: `BROTLI_BUILD_PORTABLE` option
### Fixed
- java: JNI decoder failed sometimes on power of 2 payloads
### Improved
- java / js: smaller decoder footprint
- decoder: faster decoding
- encoder: faster encoding
- encoder: smaller stack frames2023-08-31T08:21:23+00:00brotli dev/nullbrotli dev/null2023-09-12T11:47:46+00:00**This tag is used for debugging release workflows. Do NOT consider it as a "release".**2023-09-12T11:47:46+00:00