Releases: google/brotli
Releases · google/brotli
v1.2.0
SECURITY
- python: added
Decompressor::can_accept_more_datamethod and optional
output_buffer_limitargumentDecompressor::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:
brcatalias; 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
compresspass 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)
- pick changes from Debian patch by @copybara-service[bot] in #1349
- pick changes from Alpine patch by @copybara-service[bot] in #1348
- pick VCPKG patches by @copybara-service[bot] in #1350
- fix copy-paste in Java decoder by @copybara-service[bot] in #1357
dev/null
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_datamethod and optional
output_buffer_limitargumentDecompressor::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:
brcatalias; 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
compresspass 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.1.0
Added
- decoder:
BrotliDecoderAttachDictionary - decoder:
BrotliDecoderOnFinishcallback behindBROTLI_REPORTING - decoder:
BrotliDecoderSetMetadataCallbacks - encoder:
BrotliEncoderPrepareDictionary,
BrotliEncoderDestroyPreparedDictionary,
BrotliEncoderAttachPreparedDictionary - decoder:
BrotliEncoderOnFinishcallback behindBROTLI_REPORTING - common:
BrotliSharedDictionaryCreateInstance,
BrotliSharedDictionaryDestroyInstance,
BrotliSharedDictionaryAttach - CLI:
--dictionaryoption - 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_PORTABLEoption
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 frames
v1.1.0rc
Added
- decoder:
BrotliDecoderAttachDictionary - decoder:
BrotliDecoderOnFinishcallback behindBROTLI_REPORTING - decoder:
BrotliDecoderSetMetadataCallbacks - encoder:
BrotliEncoderPrepareDictionary,
BrotliEncoderDestroyPreparedDictionary,
BrotliEncoderAttachPreparedDictionary - decoder:
BrotliEncoderOnFinishcallback behindBROTLI_REPORTING - common:
BrotliSharedDictionaryCreateInstance,
BrotliSharedDictionaryDestroyInstance,
BrotliSharedDictionaryAttach - CLI:
--dictionaryoption - 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_PORTABLEoption
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 frames
v1.0.9
SECURITY: decoder: fix integer overflow when input chunk is larger than 2GiB (CVE-2020-8927)
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
v1.0.8
SECURITY: decoder: fix integer overflow when input chunk is larger than 2GiB (CVE-2020-8927)
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
v1.0.7
- cross compilation support:
- added ability to run cross-compiled ARM tests in
qemu - added
arm-linux-gnueabihf-gccentry to Travis build matrix
- added ability to run cross-compiled ARM tests in
- faster decoding on ARM:
- implemented prefetching
HuffmanCodeentry asuint32_tif target platform is ARM - fixed
NEONextension detection - combed Huffman table building code for better readability
- implemented prefetching
- improved precision of window size calculation in CLI
- minor fixes:
- fixed typos
- improved internal comments / parameter names
- fixed
BROTLI_PREDICT_TRUE/_FALSEdetection for SunPro compiler - unburdened JNI (Bazel) builds from fetching the full JDK
v1.0.6
No 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