Skip to content

Releases: google/brotli

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

Brotli v1.0.2

29 Nov 13:13
0ad94ee
Compare
Choose a tag to compare

This is a build-maintenance release. Major changes:

  • added Autotools build files
  • switched shared library version to libtool scheme

In this release semantic suffix and libtool suffix are the same: 1.0.2. Don't expect them to match in future releases.

Minor changes:

  • BrotliDictionary members are not const now
  • ZopfliNode distance could be up to 128MiB
  • fixed API documentation typos
  • total_out is always set by decoder
  • fixed BROTLI_ENSURE_CAPACITY macro; no-op in preprocessed output

Other changes:

  • fixed scripts for oss-fuzz, test them with Travis
  • made Bazel JNI tests less messy
  • fixed linter warnings in JS decoder
  • fixed permissions of various files
  • added Bazel build to Appveyor matrix
  • added Sieve dictionary generator

Brotli v1.0.1

22 Sep 12:10
Compare
Choose a tag to compare

This is a source-only release. Binaries (except version) are the same

  • updated README.md
  • fixed parallel exeuction of CMake "compatibility" tests

Brotli v1.0.0

21 Sep 08:44
Compare
Choose a tag to compare

API changes

  • new CLI; bro -> brotli; + man page
  • remove "custom dictionary" support
  • add ability to side-load brotli RFC dictionary
  • add decoder API to avoid ringbuffer reallocation
  • PY streaming decompression support
  • PY wrapper accepts memview

New features

  • C# decoder (transpiled from Java)
  • JS decoder (transpiled from Java)
  • JNI wrappers

Improvements

  • speedup Java decoder
  • speedup compression of RLE-ish data