Log

Author Commit Date CI Message
Eugene Kliuchnikov 0ad94eed 2017-11-28T15: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
Lode Vandevenne 273de5a2 2017-11-17T01:38:05 Update shared-brotli-fetch-spec.txt
Lode Vandevenne a755ba3b 2017-11-16T19:15:13 Update shared-brotli-fetch-spec.txt
Lode Vandevenne bdda95ee 2017-11-16T19:13:39 Create shared-brotli-fetch-spec.txt
Eugene Kliuchnikov 3e58ea5f 2017-10-13T14: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`
Eugene Kliuchnikov 39ef4bbd 2017-10-13T11:25:03 Add new (fast) dictionary generator engine. (#616) Add CLI for dictionary generation. Add BUILD file for research folder
Eugene Kliuchnikov 9c75a2a2 2017-10-11T22:26:37 Use bazel in appveyor (#612) +publish jni dll
Tomáš Popela a0c7dafe 2017-10-10T11:24:13 Fix permissions of various files in project (#613) Move from 755 to 644.
Eugene Kliuchnikov 42d78807 2017-10-09T17:07:34 Improve Bazel/JNI portability (#611) * Improve Bazel/JNI portability * Update go and closure bazel addons
Eugene Kliuchnikov 4f8cd4c0 2017-09-26T13:49:30 Fix fuzzer test script and add it to travis matrix (#606)
Eugene Kliuchnikov 5b476999 2017-09-22T14:05:06 Ramp up to version to 1.0.1
Eugene Kliuchnikov bf6a6cda 2017-09-22T13:13:22 Fix parallel test execution
Eugene Kliuchnikov 7748a1dc 2017-09-22T10:28:15 Update README.md
Eugene Kliuchnikov c6056359 2017-09-20T15:02:01 Fix API documentation + theoretical NPEs (#602)
Eugene Kliuchnikov b6a01749 2017-09-20T10:04:06 Install static libraries as well (#601)
Eugene Kliuchnikov 37fb83ec 2017-09-19T15: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
Eugene Kliuchnikov 61a50159 2017-09-19T11:29:55 Update README.md
Eugene Kliuchnikov 4760f7db 2017-09-19T11:25:55 Update MANIFEST.in
Eugene Kliuchnikov 248bddd0 2017-09-19T10:46:10 Update README.md
Eugene Kliuchnikov 52f04833 2017-09-19T09:40:48 Build both static and shared libs with CMake (#599)
Eugene Kliuchnikov 87b43eb6 2017-09-18T13:52:53 Reduce / update travis build matrix. (#598)
Eugene Kliuchnikov 6b1d0ab5 2017-09-18T13:05:47 CI config * Appveyor: publish artifacts on bintray * Appveyor & Travis: build only master branch
Eugene Kliuchnikov 26a34a43 2017-09-14T16:14:05 Employ make/gcc on Appveyor + push artifacts (#596)
Eugene Kliuchnikov d7bce1e0 2017-09-07T20:27:49 Update (#593) * Update: * fix CLI error messages * fix CLI console IO on Windows
Eugene Kliuchnikov fe09a503 2017-09-04T14:54:51 Update README.md
Eugene Kliuchnikov a629289e 2017-08-28T11:31:29 Update (#590) * add transpiled JS decoder * make PY wrapper accept memview * fix dictionary generator * speedup compression of RLEish data
Eugene Kliuchnikov 65354354 2017-08-24T13:29:48 Update (#589) * cleanup * fix `unbrotli` CLI * Java retouch for faster JS decoder
Cosimo Lupo 4f455cac 2017-08-23T19: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
Alex Nicksay 019091f9 2017-08-08T04:25:39 Python: Update bro_test to reference script directly (#582)
Eugene Kliuchnikov 3917011d 2017-08-04T15:40:57 Add link to 7Zip plugin
Eugene Kliuchnikov d63e8f75 2017-08-04T10: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
Alex Nicksay 06082531 2017-08-02T10:59:46 Python: Add a "make install" command and clarify installation docs (#578) Closes #576
Alex Nicksay bc541f74 2017-08-02T10:58:43 Add an EditorConfig file to provide consistent style across editors. (#579)
Eugene Kliuchnikov 52441069 2017-07-21T10: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
Denys Tsomenko 172a378d 2017-07-11T18:22:44 add BROTLI_DEC_API to methods (#572)
Reza Tavakoli 5aabc7a6 2017-07-10T22: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
Eugene Kliuchnikov 1becbbf2 2017-06-30T13:09:50 Update (#569) * add misssing fclose in `brotli.c` * add basic tests for python `Decompressor` type * minor lint fixes in `_brotli.cc`
Janek 58f5c37f 2017-06-28T16: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.
Eugene Kliuchnikov efdff3f1 2017-06-22T11:38:49 Fix linux-bazel build (#566) Install bazel via apt-source
Eugene Kliuchnikov e51eae56 2017-06-22T10:58:13 Update .travis.yml
Dominik Homberger a423b33a 2017-06-22T10:07:07 Update Related projects (#565) Add BrotliHaxe
Eugene Kliuchnikov a4d2956d 2017-06-21T10:59:38 Update wrappers (#564) * golang: add build information via `cgo.go` * golang: fix lgwin parameter behavior * Java: add proguard configuration
Elouan Martinet 00cacfdf 2017-06-17T13:22:07 Fix compilation issue with BROTLI_ALLOC macro using GCC 7 (-Wint-in-bool-context) (#562)
Eugene Kliuchnikov 05d5f3d7 2017-06-13T12:52:56 Update (#560) Update: * add decoder API to avoid ringbuffer reallocation * fix MSVC warnings * remove dead code
Eugene Kliuchnikov 0fceb906 2017-06-07T12:47:48 Fix bazel go build (#558)
Mike Tzou 31d0629b 2017-06-06T22: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
Eugene Kliuchnikov 19dc934e 2017-06-01T13:51:18 Add JNI wrappers. (#556)
Eugene Kliuchnikov 03739d2b 2017-05-29T17: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
Eugene Kliuchnikov 2c001010 2017-05-24T17:19:34 Unify artifact installation (#544)
Eugene Kliuchnikov 0a84e9bf 2017-05-07T17:40:12 Transpile Java speedup (#548)
Eugene Kliuchnikov 4363f2d7 2017-05-07T17:13:03 Speedup Java decoder. (#547) * geo corpus decodes ~5% faster * fetchlogs corpus decodes ~25% faster
Stefan Bodewig a015b426 2017-05-04T20:27:42 turn java library into an OSGi bundle (#545)
Eugene Kliuchnikov d00ccae5 2017-04-28T13:16:59 Split auto-CMake and plain CMake build manual
Eugene Kliuchnikov 6ece1d87 2017-04-23T14:07:08 Move files & update paths (#541) * Move files & update paths * Rename build to scripts. * Fix paths * Fix script.
Eugene Kliuchnikov 04de756a 2017-04-13T20:05:36 Simplify go brotli wrapper. (#540) Based on PR #533. Kudos to Bryan (bcmillis@).
Eugene Kliuchnikov f2aa4d1e 2017-04-10T21:16:08 Add C# transpilation script. (#538)
Eugene Kliuchnikov 66e798d4 2017-04-10T15:39:00 Update API to v1.0.0 (#537) Make Java decoder fully transpilable to C#.
Eugene Kliuchnikov 46c1a881 2017-04-10T10:42:24 Pull down version for v0.6.0 release
Eugene Kliuchnikov 21c118ba 2017-04-05T18: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
Eugene Kliuchnikov e12a7a2d 2017-04-04T13:21:36 Add Brotli logo to README head (#535)
Eugene Kliuchnikov 7a09531f 2017-03-30T16:50:06 Cleanup
Eugene Kliuchnikov e5b7c16b 2017-03-24T14:49:02 Same file name is not permitted overall! (#532)
Eugene Kliuchnikov e77799b0 2017-03-24T14:31:30 Fix bintray release structure (#531) Same file name is not allowed across packages in one version.
Eugene Kliuchnikov 51d6780b 2017-03-24T13:40:30 Actually publich artifacts to Bintray (#530)
Eugene Kliuchnikov 6715130c 2017-03-24T13:03:16 Fix bintray json (#529)
Eugene Kliuchnikov 187904a4 2017-03-24T12:54:20 Upload binaries to bintray (#528)
Eugene Kliuchnikov 29ad4db4 2017-03-23T16:23:57 Break build on sha256sum mismatch (#527)
Eugene Kliuchnikov 22421ebe 2017-03-23T13:35:53 Bazel build on linux/osx (#526)
Eugene Kliuchnikov ee5c7190 2017-03-22T19:13:59 Build and test java decoder with Maven
Eugene Kliuchnikov a657d996 2017-03-22T12:41:19 Add go wrapper, streamline java decoder: (#524) * add (c)brotli golang wrapper * remove (language-specific) enums in java decoder
Eugene Kliuchnikov 8a06e029 2017-03-21T16:08:23 Better compression (#523) Better compression: * use more complex content modeling on 1MiB+ files
Eugene Kliuchnikov 1ff78b87 2017-03-10T16:01:49 Prevent fuzzer timeouts on compression-bomb samples (#522) * Prevent fuzzer timeouts on compression-bomb samples. * Fix fuzzer lanucher
Eugene Kliuchnikov 52ce8670 2017-03-09T17:34:16 Fix typos (#521)
Eugene Kliuchnikov cdca91b6 2017-03-06T14: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`
Ian Duncan aaa4424d 2017-03-02T00:19:57 Fix CMakeLists.txt specifying a nonexistent pkgconfig package (#518)
Eugene Kliuchnikov c931e576 2017-02-28T16:59:52 Move `java/` to `java/org/brotli/` to fix `sources.jar` structure (#517) Also added man pages to `docs/`
Eugene Kliuchnikov aaac88a1 2017-02-20T16:16:45 Switch to 0.2.0-SNAPSHOT (#515)
Eugene Kliuchnikov 527db7af 2017-02-20T15:51:48 Release org.brotli.* 0.1.0 (#514)
Eugene Kliuchnikov 56a7fda8 2017-02-20T14:04:55 Java: fix typos and adjust visibility. (#513)
Evan Nemerson d03c38da 2017-02-19T01: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
Eugene Kliuchnikov 53366083 2017-02-17T15:39:34 Prepare org.brotli.dec for deployment. (#512)
Eugene Kliuchnikov 9fa1ad5a 2017-02-08T21:14:01 Fix "zero-distance-code", take 2 (#506)
Eugene Kliuchnikov 0749d9ca 2017-02-07T15: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
Eugene Kliuchnikov 11df843c 2017-02-06T14: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)
Eugene Kliuchnikov 8d3fdc1d 2017-01-26T11: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
Eugene Kliuchnikov 7e347a7c 2016-12-22T15: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`
Eugene Kliuchnikov 27d94590 2016-12-22T13:03:28 Research (#491) * add advanced mode for optimal references generator * fix #489 Thanks to Ivan Nikulin for working on it.
Eugene Kliuchnikov fe9f9a91 2016-12-22T08:57:44 Split brotli common/dec/enc .pc files (#490) Add URL, and use DEPENS_PRIVATE generator params
Alex Nicksay 6ab0a5ce 2016-12-21T04:17:11 Python: Create Makefile for development shortcuts (#488)
Eugene Kliuchnikov fd96151b 2016-12-20T18:00:51 Move brotlidump.py to research/ (#487)
Eugene Kliuchnikov 58144387 2016-12-20T17:45:40 Add configure-cmake (#474) (#486) * Add configure-cmake * `curl https://raw.githubusercontent.com/nemequ/configure-cmake/7b0464af79bbaca535f0279316558e1d84e5c124/configure > configure-cmake` * Add `--disable-shared-libs` parameter. * Unix-friendly script prologue. * Update README.md
jneb f62cd2bc 2016-12-20T14:41:47 brotlidump.py: disassemble brotli file (revisited) (#314) * Create brotlidump.py Sorry, I am a newbie. I couldn't find my file anymore when I wanted to edit it. Hope I don't waste your time. * Fixed a bug where it couldn't read its own compression. The problem was that a prefix code ending with a 16 "repeat" didn't realize the table was full already. Also minor bug fixes, comments and stuff. * Major refactoring Rewrote almost everything. Now can dump its own compression. * Now more or less complete Appears to handle all files completely (including metablock data). Used as inspiration for the the hex example (see makehexexample.py)
Alex Nicksay 89a5b6e6 2016-12-20T08:40:47 Python: Simplify test suite generation by using unittest discovery (#485)
Alex Nicksay 6f227228 2016-12-12T04:28:44 Python: Use a temporary directory for generated files in tests (#481)
Alex Nicksay 4651f7c0 2016-12-12T04:28:15 Python: Format bro.py with yapf (#480)
Eugene Kliuchnikov 0ee41613 2016-12-12T10:27:13 Update python brotli wrapper (#479) * Update python brotli wrapper * release GIL on CPU intensive blocks, fixes #476 * use BrotliDecoderTakeOutput (less memory, less memcpy) * Python: Convert bro.py tests to unittest style (#478) * Create unittest-style tests for `bro.py` decompression and compression * Delete old tests for `bro.py` * Update test method generation to properly create a Cartesian product of iterables using `itertools.product` * Update python brotli wrapper * release GIL on CPU intensive blocks, fixes #476 * use BrotliDecoderTakeOutput (less memory, less memcpy)
Alex Nicksay 4a60128c 2016-12-09T07:44:05 Python: Convert bro.py tests to unittest style (#478) * Create unittest-style tests for `bro.py` decompression and compression * Delete old tests for `bro.py` * Update test method generation to properly create a Cartesian product of iterables using `itertools.product`
Frank Denis 50bc3a71 2016-12-09T08:58:13 Do not assume that bash is installed in /bin (#477) This is required in order to run the tests on *BSD.
Eugene Kliuchnikov ccabf811 2016-12-08T12:55:18 Added fuzzer and updated decoder (#475) * log dictionary usage * remove dead assignment * added fuzzer for https://github.com/google/oss-fuzz * added standalone test for fuzzer
Eugene Kliuchnikov 222564a9 2016-12-02T13:32:20 Fix encoder (#472) * fix undefined behavior introduced with PR #468