Version 1.0.9 contains a fix to "integer overflow" problem. This
happens when "one-shot" decoding API is used (or input chunk for
streaming API is not limited), input size (chunk size) is larger
than 2GiB, and input contains uncompressed blocks. After the overflow
happens, `memcpy` is invoked with a gigantic `num` value, that will
likely cause the crash.
1.0.7
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
1.0.6
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
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
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 is a generic-purpose lossless compression algorithm that compresses data
using a combination of a modern variant of the LZ77 algorithm, Huffman coding
and 2nd order context modeling, with a compression ratio comparable to the best
currently available general-purpose compression methods. It is similar in speed
with deflate but offers more dense compression.