Skip to content

Releases: google/brotli

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

Brotli v1.0.3

02 Mar 15:07
533843e
Compare
Choose a tag to compare

Key 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 dictionary