@eustas eustas released this Sep 19, 2018

Assets 2

No API / ABI changes.


  • 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

@eustas eustas released this Jun 27, 2018 · 6 commits to master since this release

Assets 2

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

@eustas eustas released this Apr 10, 2018 · 22 commits to master since this release

Assets 6
  • 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

@eustas eustas released this Mar 2, 2018 · 28 commits to master since this release

Assets 6

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

@eustas eustas released this Nov 29, 2017 · 38 commits to master since this release

Assets 2

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

@eustas eustas released this Sep 22, 2017 · 48 commits to master since this release

Assets 2

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

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

@eustas eustas released this Sep 21, 2017 · 51 commits to master since this release

Assets 6

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


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

@eustas eustas released this Apr 10, 2017 · 95 commits to master since this release

Assets 13
  • better compression on 1MiB+ files
  • update "common" API to make dictionary fetching more flexible
  • fix decoder bug #502
  • faster compression on mid-low quality levels
  • update Python wrapper #479, etc.
  • fix encoder q10-11 slowdown after long copy #468
  • introduce Brotli*TakeOutput API

C API is expected to be final. The only difference in v1.0.0 will be the removal of methods (and constants) marked as deprecated.