All Versions
12
Latest Version
Avg Release Cycle
134 days
Latest Release
1346 days ago

Changelog History
Page 1

  • v1.0.9 Changes

    August 27, 2020

    🔒 SECURITY: decoder: fix integer overflow when input chunk is larger than 2GiB

    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 Changes

    August 26, 2020

    🔒 SECURITY: decoder: fix integer overflow when input chunk is larger than 2GiB

    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 Changes

    October 23, 2018
    • 👍 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 Changes

    September 19, 2018

    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 Changes

    June 27, 2018

    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
  • v1.0.4 Changes

    April 10, 2018
    • 🛠 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
  • v1.0.3 Changes

    March 02, 2018

    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
  • v1.0.2 Changes

    November 29, 2017

    🚀 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
  • v1.0.1 Changes

    September 22, 2017

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

    • ⚡️ updated README.md
    • 🛠 fixed parallel exeuction of CMake "compatibility" tests
  • v1.0.0 Changes

    September 21, 2017

    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