Skip to content

Releases: google/brotli

v1.2.0 RC1

06 Oct 13:32
Compare
Choose a tag to compare
v1.2.0 RC1 Pre-release
Pre-release

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)
  • 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

12 Sep 11:47
Compare
Choose a tag to compare
dev/null Pre-release
Pre-release

This tag is used for debugging release workflows. Do NOT consider it as a "release".

v1.1.0

31 Aug 08:21
Compare
Choose a tag to compare

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 frames

v1.1.0rc

21 Aug 13:52
Compare
Choose a tag to compare
v1.1.0rc Pre-release
Pre-release

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 frames

v1.0.9

27 Aug 14:14
Compare
Choose a tag to compare

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

27 Aug 14:05
Compare
Choose a tag to compare

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

23 Oct 11:13
d6d9895
Compare
Choose a tag to compare
  • 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 JDK

v1.0.6

19 Sep 12:36
Compare
Choose a tag to compare

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

27 Jun 15:09
Compare
Choose a tag to compare

No 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

Brotli v1.0.4

10 Apr 12:48
c6333e1
Compare
Choose a tag to compare
  • 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