Releases: google/brotli
Releases · google/brotli
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
argumentDecompressor::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)
dev/null
This tag is used for debugging release workflows. Do NOT consider it as a "release".
v1.1.0
Added
- decoder:
BrotliDecoderAttachDictionary
- decoder:
BrotliDecoderOnFinish
callback behindBROTLI_REPORTING
- decoder:
BrotliDecoderSetMetadataCallbacks
- encoder:
BrotliEncoderPrepareDictionary
,
BrotliEncoderDestroyPreparedDictionary
,
BrotliEncoderAttachPreparedDictionary
- decoder:
BrotliEncoderOnFinish
callback behindBROTLI_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 frames
v1.1.0rc
Added
- decoder:
BrotliDecoderAttachDictionary
- decoder:
BrotliDecoderOnFinish
callback behindBROTLI_REPORTING
- decoder:
BrotliDecoderSetMetadataCallbacks
- encoder:
BrotliEncoderPrepareDictionary
,
BrotliEncoderDestroyPreparedDictionary
,
BrotliEncoderAttachPreparedDictionary
- decoder:
BrotliEncoderOnFinish
callback behindBROTLI_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 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-gcc
entry to Travis build matrix
- added ability to run cross-compiled ARM tests in
- faster decoding on ARM:
- implemented prefetching
HuffmanCode
entry asuint32_t
if target platform is ARM - fixed
NEON
extension 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
/_FALSE
detection 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
v1.0.5
Brotli v1.0.4
- 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