1. Mar 29, 2018
  2. Mar 28, 2018
    • Eugene Kliuchnikov's avatar
      Update (#656) · 0f3c84e7
      Eugene Kliuchnikov authored
       * proper fix for the "fall through" warning"
       * automatic NDIRECT/NPOSTFIX tuning (better compression)
       * fix unaligned access for `aarch64`-cross-`armhf` build
       * fix `aarch64` detection (10% decoder speedup)
       * expose `large_window` CLI option
       * make default window size 16MiB
       * ramp up version to 1.0.4
      0f3c84e7
  3. Mar 26, 2018
  4. Mar 23, 2018
  5. Mar 20, 2018
    • Tobe O's avatar
      Update README.md (#646) · a238f5ba
      Tobe O authored
      Add mention of Dart native bindings
      a238f5ba
    • Eugene Kliuchnikov's avatar
      Update (#651) · 631fe194
      Eugene Kliuchnikov authored
      * fix `bazel` build (ignore switch case fall-through)
      * add `NPOSTFIX` / `NDIRECT` encoder parameters
      * fix source file lists (add `params.h`)
      * fix bug in `durchschlag`
      * print clarifying messages wheb CLI argument parsing fails
      631fe194
  6. Mar 02, 2018
    • Eugene Kliuchnikov's avatar
      Update (#643) · 533843e3
      Eugene Kliuchnikov authored
      Update
       * make the zopflification aware of `NDIRECT`, `NPOSTFIX`
         (better compression in `font` mode)
       * add small and simple decoder tool
       * fix typo
       * Java: wrapper: make decoder channel more async-friendly
      
      Ramp up version to 1.0.3 / 1.0.3
      533843e3
  7. Feb 26, 2018
    • Eugene Kliuchnikov's avatar
      New feature: "Large Window Brotli" (#640) · 35e69fc7
      Eugene Kliuchnikov authored
      * New feature: "Large Window Brotli"
      
      By setting special encoder/decoder flag it is now possible to extend
      LZ-window up to 30 bits; though produced stream will not be RFC7932
      compliant.
      
      Added new dictionary generator - "DSH". It combines speed of "Sieve"
      and quality of "DM". Plus utilities to prepare train corpora
      (remove unique strings).
      
      Improved compression ratio: now two sub-blocks could be stitched:
      the last copy command could be extended to span the next sub-block.
      
      Fixed compression ineffectiveness caused by floating numbers rounding and
      wrong cost heuristic.
      
      Other C changes:
       - combined / moved `context.h` to `common`
       - moved transforms to `common`
       - unified some aspects of code formatting
       - added an abstraction for encoder (static) dictionary
       - moved default allocator/deallocator functions to `common`
      
      brotli CLI:
       - window size is auto-adjusted if not specified explicitly
      
      Java:
       - added "eager" decoding both to JNI wrapper and pure decoder
       - huge speed-up of `DictionaryData` initialization
      
      * Add dictionaryless compressed dictionary
      
      * Fix `sources.lst`
      
      * Fix `sources.lst` and add a note that `libtool` is also required.
      
      * Update setup.py
      
      * Fix `EagerStreamTest`
      
      * Fix BUILD file
      
      * Add missing `libdivsufsort` dependency
      
      * Fix "unused parameter" warning.
      35e69fc7
  8. Feb 08, 2018
    • Eugene Kliuchnikov's avatar
      Update go and closure bazel rules (#637) · 3af18990
      Eugene Kliuchnikov authored
      * Update go and closure bazel rules
      * Follow the new bazel go rules guide
      * Swap go & closure rules initialization
      * Update bazel to 0.10.0 in appveyor build
      3af18990
    • Daniel Chýlek's avatar
      Fix brotlidump.py crashing when complex prefix code has exactly 1 non-zero code length (#635) · b5033d0e
      Daniel Chýlek authored
      According to the format specification regarding complex prefix codes:
      
      > If there are at least two non-zero code lengths, any trailing zero
      > code lengths are omitted, i.e., the last code length in the
      > sequence must be non-zero.  In this case, the sum of (32 >> code
      > length) over all the non-zero code lengths must equal to 32.
      
      > If the lengths have been read for the entire code length alphabet
      > and there was only one non-zero code length, then the prefix code
      > has one symbol whose code has zero length.
      
      The script does not handle a case where there is just 1 non-zero code
      length where the sum rule doesn't apply, which causes a StopIteration
      exception when it attempts to read past the list boundaries.
      
      An example of such file is tests/testdata/mapsdatazrh.compressed. I made
      sure this change doesn't break anything by processing all *.compressed
      files from the testdata folder with no thrown exceptions.
      b5033d0e
  9. Dec 12, 2017
    • Eugene Kliuchnikov's avatar
      Update (#630) · da254cff
      Eugene Kliuchnikov authored
       * merge {dec|enc}/port.h into common/platform.h
       * fix one-shot q=10 1-byte input compression
       * fix some unprefixed definitions
       * make hashers host-endianness-independent
       * extract enc/params.h from enc/quality.h
       * fix API documentation / typos
       * improve `BrotliEncoderMaxCompressedSize`
      da254cff
  10. Dec 08, 2017
  11. Dec 04, 2017
    • Bernard Spil's avatar
      Work around Linuxisms (#627) · 62194f20
      Bernard Spil authored
      Missed this in my previous tests. Sorry for that.
      
      On BSDs, both bc and sed are part of the base operating system. For sed this results in an error as the check construct (--version) is a GNU-ism and only works for GNU sed, not for bsd sed.
      Similarly, BSD sed does not take parameters after the filename(s) operated on. Moving `-i` to the front fixes that. `-r` is provided for GNU compat in BSD sed as an alias of `-E`. The `-i` option in BSD sed requires an extension to work in-place.
      
      (thank you for picking up the nginx module too!)
      62194f20
  12. Dec 01, 2017
    • Eugene Kliuchnikov's avatar
      Update Travis matrix (#626) · 2d6b298e
      Eugene Kliuchnikov authored
      * Use Clang-5.0
      * Disable unholy ASAN leak detector (to unbreak build)
      * Reduce build matrix and use faster env, where compiler version is not important
      * Add autotools build to Travis matrix
      2d6b298e
  13. Nov 30, 2017
    • Eugene Kliuchnikov's avatar
    • Bernard Spil's avatar
      Fix missing symbols errors in libbrotlienc and dec (#623) · 1ca15159
      Bernard Spil authored
      When using autotools to build the binary and libraries, the resulting libraries don't link `brotlicommon` or `m`.
      This was detected when building cURL 7.57.0 which has now has brotli support. During configure it was failing
      ```
      checking run-time libs availability... failed
      configure: error: one or more libs available at link-time are not available run-time. Libs used at link-time: -lbrotlidec -lz -L/usr/local/lib
      ```
      inspection of config.log showed missing symbols from libbrotlicommon as the cause.
      
      This patch results in the encryption and decryption libs to be properly linked against libbrotlicommon and libm.
      See also https://bugs.freebsd.org/223966
      1ca15159
  14. Nov 28, 2017
    • Eugene Kliuchnikov's avatar
      Update (#620) · 0ad94eed
      Eugene Kliuchnikov authored
      * add autotools build
      * separate semantic and ABI version
      * extract sources.lst (used by CMake and Automake)
      * share pkgconfig templates (used by CMake and Automake)
      * decoder: always set `total_out`
      * encoder: fix `BROTLI_ENSURE_CAPACITY` macro (no-op after preprocessor)
      * decoder/encoder: refine `free_func` contract
      0ad94eed
  15. Nov 17, 2017
  16. Oct 13, 2017
  17. Oct 12, 2017
  18. Oct 10, 2017
  19. Oct 09, 2017
  20. Sep 26, 2017
  21. Sep 22, 2017
  22. Sep 20, 2017
  23. Sep 19, 2017
  24. Sep 18, 2017
  25. Sep 14, 2017
  26. Sep 08, 2017