kc3-lang/brotli

Branch :


Log

Author Commit Date CI Message
2c034825 2018-03-23 02:09:00 Fix "memory leak" in python tests (#652) OOMs on RPi (1GB)
a238f5ba 2018-03-20 07:53:32 Update README.md (#646) Add mention of Dart native bindings
631fe194 2018-03-20 17:37:41 Update (#651) * 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
533843e3 2018-03-02 15:49:58 Update (#643) 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
35e69fc7 2018-02-26 09:04:36 New feature: "Large Window Brotli" (#640) * 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.
3af18990 2018-02-08 14:38:10 Update go and closure bazel rules (#637) * 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
b5033d0e 2018-02-08 12:48:24 Fix brotlidump.py crashing when complex prefix code has exactly 1 non-zero code length (#635) 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.
da254cff 2017-12-12 14:33:12 Update (#630) * 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`
63e15bb3 2017-12-07 14:39:07 Don't set rpath (#629)
62194f20 2017-12-04 15:17:49 Work around Linuxisms (#627) 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!)
2d6b298e 2017-11-30 20:54:04 Update Travis matrix (#626) * 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
c8c8389e 2017-11-30 11:02:54 Do not rely on bash arithmetic in `bootstrap` (#625)
1ca15159 2017-11-29 22:38:16 Fix missing symbols errors in libbrotlienc and dec (#623) 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
0ad94eed 2017-11-28 15:37:28 Update (#620) * 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
273de5a2 2017-11-17 01:38:05 Update shared-brotli-fetch-spec.txt
a755ba3b 2017-11-16 19:15:13 Update shared-brotli-fetch-spec.txt
bdda95ee 2017-11-16 19:13:39 Create shared-brotli-fetch-spec.txt
3e58ea5f 2017-10-13 14:50:51 Update (#617) * remove `const` on `BrotliDictionary` members * extend `ZofliNode` distance range to 128MiB * add missing `port.h` include to `quality.h` * fix typo in encoder API-doc * regenerate `decode.min.js`
39ef4bbd 2017-10-13 11:25:03 Add new (fast) dictionary generator engine. (#616) Add CLI for dictionary generation. Add BUILD file for research folder
9c75a2a2 2017-10-11 22:26:37 Use bazel in appveyor (#612) +publish jni dll
a0c7dafe 2017-10-10 11:24:13 Fix permissions of various files in project (#613) Move from 755 to 644.
42d78807 2017-10-09 17:07:34 Improve Bazel/JNI portability (#611) * Improve Bazel/JNI portability * Update go and closure bazel addons
4f8cd4c0 2017-09-26 13:49:30 Fix fuzzer test script and add it to travis matrix (#606)
5b476999 2017-09-22 14:05:06 Ramp up to version to 1.0.1
bf6a6cda 2017-09-22 13:13:22 Fix parallel test execution
7748a1dc 2017-09-22 10:28:15 Update README.md
c6056359 2017-09-20 15:02:01 Fix API documentation + theoretical NPEs (#602)
b6a01749 2017-09-20 10:04:06 Install static libraries as well (#601)
37fb83ec 2017-09-19 15:57:15 Update: (#600) * encoder: relax backward references candidates asserts * encoder: make RNG more platform-independent * encoder: remove "unused" param (context mode) * CLI: improve first-encounter experience * Java: update SynthTest * Java: refine proguard config * Java/JNI: fix one-shot compression workflow
61a50159 2017-09-19 11:29:55 Update README.md
4760f7db 2017-09-19 11:25:55 Update MANIFEST.in
248bddd0 2017-09-19 10:46:10 Update README.md
52f04833 2017-09-19 09:40:48 Build both static and shared libs with CMake (#599)
87b43eb6 2017-09-18 13:52:53 Reduce / update travis build matrix. (#598)
6b1d0ab5 2017-09-18 13:05:47 CI config * Appveyor: publish artifacts on bintray * Appveyor & Travis: build only master branch
26a34a43 2017-09-14 16:14:05 Employ make/gcc on Appveyor + push artifacts (#596)
d7bce1e0 2017-09-07 20:27:49 Update (#593) * Update: * fix CLI error messages * fix CLI console IO on Windows
fe09a503 2017-09-04 14:54:51 Update README.md
a629289e 2017-08-28 11:31:29 Update (#590) * add transpiled JS decoder * make PY wrapper accept memview * fix dictionary generator * speedup compression of RLEish data
65354354 2017-08-24 13:29:48 Update (#589) * cleanup * fix `unbrotli` CLI * Java retouch for faster JS decoder
4f455cac 2017-08-23 19:45:13 disable buidling/deployment of python wheels (#583) * [appveyor] remove 'deploy' stage; only test python 2.7 and 3.6 all the other python versions are being built and tested on https://github.com/google/brotli-wheels/blob/d571d63/appveyor.yml * remove terrify submodule as not needed any more * [travis] just test py2.7 and 3.6 on linux; remove extra osx python builds All the other python versions for OSX are being built/tested on: https://github.com/google/brotli-wheels/blob/d571d63/.travis.yml Also, there's no need to build and deploy wheels here, as that's done in the separate repository. * [setup.py] only rebuild if dependency are newer; fix typo in list of 'depends' https://github.com/python/cpython/blob/v3.6.2/Lib/distutils/command/build_ext.py#L485-L500 * [ci] only run 'python setup.py test' if we run 'python setup.py built test', the setuptools 'test' command will forcibly re-run the build_ext subcommand because it wants to pass the --inplace option (it ignores whether it's up to date, just re-runs it all the time). with this we go from running built_ext twice, to running it only once per build * [Makefile] run 'build_ext --inplace' instead of 'develop' as default target The 'develop' command is like 'install' in the sense that it modifies the user's python environment. The default make target should be less intrusive, i.e. just building the extension module in-place without modify anything in the user's environment. We don't need to tell make about the dependency between 'test' and 'build' target as that is baked in the `python setup.py test` command. * [Makefile] add 'develop' target; remove unnecessary 'tests' target `make test` is good enough * [Makefile] `setup.py test` requires setuptools; run `python -m unittest` This will work even if setuptools is not installed, which is unlikely nowadays but still our `setup.py` works with plain distutils, so we may well have our tests work without setuptools. * [python/README.md] add ref to 'develop' target; remove 'tests', just 'make test' * [setup.py] import modules as per nicksay's comment https://github.com/google/brotli/pull/583#discussion_r131981049 * [Makefile] add 'develop' to .PHONY targets remove 'tests' from .PHONY * [appveyor] remove unused setup scripts We don't need to install custom python versions, we are using the pre-installed ones on Appveyor. * [appveyor] remove unneeded setup code
019091f9 2017-08-08 04:25:39 Python: Update bro_test to reference script directly (#582)
3917011d 2017-08-04 15:40:57 Add link to 7Zip plugin
d63e8f75 2017-08-04 10:02:56 Update API, and more (#581) Update API, and more: * remove "custom dictionary" support * c/encoder: fix #580: big-endian build * Java: reduce jar size * Java: speedup decoding * Java: add 32-bit CPU support * Java: make source code JS transpiler-ready
06082531 2017-08-02 10:59:46 Python: Add a "make install" command and clarify installation docs (#578) Closes #576
bc541f74 2017-08-02 10:58:43 Add an EditorConfig file to provide consistent style across editors. (#579)
52441069 2017-07-21 10:07:24 Update (#574) * Update * decoder: better behavior after failure * encoder: replace "len_x_code" with delta * research: add experimental dictionary generator * python: test combing
172a378d 2017-07-11 18:22:44 add BROTLI_DEC_API to methods (#572)
5aabc7a6 2017-07-10 22:27:05 Added windows platform support to premake (#567) * Added windows platform support to premake Win32 and Win64 configuration support for visual studio solutions * Update premake5.lua Fixed platform support for linux, made x64 default * Update premake5.lua Fix typo
1becbbf2 2017-06-30 13:09:50 Update (#569) * add misssing fclose in `brotli.c` * add basic tests for python `Decompressor` type * minor lint fixes in `_brotli.cc`
58f5c37f 2017-06-28 16:32:28 Python: Decompressor: Streaming decompression support (#546) python-brotli has Compressor for streaming compression but nothing for streaming decompression. This is a straight-forward copy of the Compressor code into the new class Decompressor.
efdff3f1 2017-06-22 11:38:49 Fix linux-bazel build (#566) Install bazel via apt-source
e51eae56 2017-06-22 10:58:13 Update .travis.yml
a423b33a 2017-06-22 10:07:07 Update Related projects (#565) Add BrotliHaxe
a4d2956d 2017-06-21 10:59:38 Update wrappers (#564) * golang: add build information via `cgo.go` * golang: fix lgwin parameter behavior * Java: add proguard configuration
00cacfdf 2017-06-17 13:22:07 Fix compilation issue with BROTLI_ALLOC macro using GCC 7 (-Wint-in-bool-context) (#562)
05d5f3d7 2017-06-13 12:52:56 Update (#560) Update: * add decoder API to avoid ringbuffer reallocation * fix MSVC warnings * remove dead code
0fceb906 2017-06-07 12:47:48 Fix bazel go build (#558)
31d0629b 2017-06-06 22:58:46 Readme improvements (#557) * [README] Use tools.ietf.org for displaying RFC7932 tools.ietf.org has HTML links which is helpful when reading in browser * [README] Add appveyor badge
19dc934e 2017-06-01 13:51:18 Add JNI wrappers. (#556)
03739d2b 2017-05-29 17:55:14 Update (#555) Update: * new CLI; bro -> brotli; + man page * JNI wrappers preparation (for bazel build) * add raw binary dictionary representation `dictionary.bin` * add ability to side-load brotli RFC dictionary * decoder persists last error now * fix `BrotliDecoderDecompress` documentation * go reader don't block until necessary * more consistent bazel target names * Java dictionary data compiled footprint reduced * Java tests refactoring
2c001010 2017-05-24 17:19:34 Unify artifact installation (#544)
0a84e9bf 2017-05-07 17:40:12 Transpile Java speedup (#548)
4363f2d7 2017-05-07 17:13:03 Speedup Java decoder. (#547) * geo corpus decodes ~5% faster * fetchlogs corpus decodes ~25% faster
a015b426 2017-05-04 20:27:42 turn java library into an OSGi bundle (#545)
d00ccae5 2017-04-28 13:16:59 Split auto-CMake and plain CMake build manual
6ece1d87 2017-04-23 14:07:08 Move files & update paths (#541) * Move files & update paths * Rename build to scripts. * Fix paths * Fix script.
04de756a 2017-04-13 20:05:36 Simplify go brotli wrapper. (#540) Based on PR #533. Kudos to Bryan (bcmillis@).
f2aa4d1e 2017-04-10 21:16:08 Add C# transpilation script. (#538)
66e798d4 2017-04-10 15:39:00 Update API to v1.0.0 (#537) Make Java decoder fully transpilable to C#.
46c1a881 2017-04-10 10:42:24 Pull down version for v0.6.0 release
21c118ba 2017-04-05 18:50:01 Update c- and java-decoder: (#536) * speedup java decoder * avoid masking * avoid excessive fillBits * streamline uncompressed block processing * make java decoder more transpilation-friendly * avoid non-essential goto in c-decoder
e12a7a2d 2017-04-04 13:21:36 Add Brotli logo to README head (#535)
7a09531f 2017-03-30 16:50:06 Cleanup
e5b7c16b 2017-03-24 14:49:02 Same file name is not permitted overall! (#532)
e77799b0 2017-03-24 14:31:30 Fix bintray release structure (#531) Same file name is not allowed across packages in one version.
51d6780b 2017-03-24 13:40:30 Actually publich artifacts to Bintray (#530)
6715130c 2017-03-24 13:03:16 Fix bintray json (#529)
187904a4 2017-03-24 12:54:20 Upload binaries to bintray (#528)
29ad4db4 2017-03-23 16:23:57 Break build on sha256sum mismatch (#527)
22421ebe 2017-03-23 13:35:53 Bazel build on linux/osx (#526)
ee5c7190 2017-03-22 19:13:59 Build and test java decoder with Maven
a657d996 2017-03-22 12:41:19 Add go wrapper, streamline java decoder: (#524) * add (c)brotli golang wrapper * remove (language-specific) enums in java decoder
8a06e029 2017-03-21 16:08:23 Better compression (#523) Better compression: * use more complex content modeling on 1MiB+ files
1ff78b87 2017-03-10 16:01:49 Prevent fuzzer timeouts on compression-bomb samples (#522) * Prevent fuzzer timeouts on compression-bomb samples. * Fix fuzzer lanucher
52ce8670 2017-03-09 17:34:16 Fix typos (#521)
cdca91b6 2017-03-06 14:22:45 Update common, decoder, encoder, java (#520) Common: * wrap dictionary data into `BrotliDictionary` structure * replace public constant with getter `BrotliGetDictionary` * reformat dictionary data Decoder: * adopt common changes * clarify acceptable instance usage patterns * hold reference to dictionary in state Encoder: * adopt common changes * eliminate PIC spots in `CreateBackwardReferences` * add per-chunk ratio guards for q0 and q1 * precompute relative distances to avoid repeated calculations * prostpone hasher allocation/initialization * refactor Hashers to be class-like structure * further improvements for 1MiB+ inputs * added new hasher type; made hashers more configurable Java: * Pull byte->int magic to `IntReader` from `BitReader`
aaa4424d 2017-03-02 00:19:57 Fix CMakeLists.txt specifying a nonexistent pkgconfig package (#518)
c931e576 2017-02-28 16:59:52 Move `java/` to `java/org/brotli/` to fix `sources.jar` structure (#517) Also added man pages to `docs/`
aaac88a1 2017-02-20 16:16:45 Switch to 0.2.0-SNAPSHOT (#515)
527db7af 2017-02-20 15:51:48 Release org.brotli.* 0.1.0 (#514)
56a7fda8 2017-02-20 14:04:55 Java: fix typos and adjust visibility. (#513)
d03c38da 2017-02-19 01:06:13 Blacklist PGI from using conformant array parameters. (#511) * Blacklist PGI from using conformant array parameters. There is a bug in pgcc with conformant array parameters where the length argument is a pointer which triggers a compiler error (PGC-S-0094, to be specific). The issue has been reported to PGI and is being tracked internally as TPR 23778. For more information, see https://www.pgroup.com/userforum/viewtopic.php?t=5501 * travis: Add PGI Community Edition build. For details on the installation script, see https://github.com/nemequ/pgi-travis
53366083 2017-02-17 15:39:34 Prepare org.brotli.dec for deployment. (#512)
9fa1ad5a 2017-02-08 21:14:01 Fix "zero-distance-code", take 2 (#506)
0749d9ca 2017-02-07 15:35:03 Fix #502 decoder bug (#505) Decoder may have produced invalid output if: * at offset 0..3 dictionary word with index 3..0 for some length N is used and distance is encoded with direct distance code 0, and * at least one of next 4 commands use value from distance ringbuffer
11df843c 2017-02-06 14:20:43 Update encoder (#504) * pull `BROTLI_MAX_BACKWARD_LIMIT` to constants * split generic and Zopfli backward references code * pull hashers init and stitch invocation to encoder * make `dictionary_hash` a compilation unit * add `size hint` parameter * add new hasher * use `size hint` to pick new hasher for q4 * modernize clz guard (fix #495) * move `hash to binary tree` to separate file * add `Initialize` and `Cleanup` to all hashers * do not raise OOM if malloc(0) == NULL (fix #500)
8d3fdc1d 2017-01-26 11:32:18 Update encoder (#497) * pad dictionary LUTs to length 32, etc. (#493) * avoid using INFINITY constant (#496) * make dictionary_hash.h more compact * add "disable literal context modelling" parameter
7e347a7c 2016-12-22 15:55:05 Update encoder (#492) * fix comment position in `context.h` * fix typo in internal quality constant name * deduplicate `BuildMetaBlockGreedy` code * simplify aggregation in `ChooseContextMap`
27d94590 2016-12-22 13:03:28 Research (#491) * add advanced mode for optimal references generator * fix #489 Thanks to Ivan Nikulin for working on it.