Skip to content

Releases

v1.2.1

Choose a tag to compare

@eustas eustas released this 21 Oct 19:27

SECURITY

v1.1.1

Choose a tag to compare

@eustas eustas released this 21 Oct 19:27

SECURITY

v1.0.10

Choose a tag to compare

@eustas eustas released this 21 Oct 19:26

SECURITY

v1.2.0

Choose a tag to compare

@eustas eustas released this 27 Oct 16:03

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)

v1.2.0 RC2

v1.2.0 RC2 Pre-release
Pre-release

Choose a tag to compare

@eustas eustas released this 21 Oct 13:23

What's Changed (compared to RC1)

dev/null

dev/null Pre-release
Pre-release

Choose a tag to compare

@eustas eustas released this 21 Oct 12:49

This tag is used for debugging release workflow.

v1.2.0 RC1

v1.2.0 RC1 Pre-release
Pre-release

Choose a tag to compare

@eustas eustas released this 06 Oct 13:32

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)

v1.1.0

Choose a tag to compare

@eustas eustas released this 31 Aug 08:21

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

v1.1.0rc Pre-release
Pre-release

Choose a tag to compare

@eustas eustas released this 21 Aug 13:52

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

Choose a tag to compare

@eustas eustas released this 27 Aug 14:14

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