|
6eba239a
|
2018-09-13T19:31:23
|
|
Fix auto detect of bundled mode (#704)
Set bundled mode to ON when parent directory is not empty. Due to the
peculiarities of CMake if, comparing an undefined variable to the empty
string is false, so this likely never triggered.
|
|
2216a0dd
|
2018-09-13T08:09:32
|
|
Update (#706)
Update
* add ASAN/MSAN unaligned read specializations
* add "brotli" prefix to u_uint64 type
* increment version to 1.0.06
* fix CoverityScan "unused assignment" warning
* fix JDK 8<->9 incompatibility
* add encoder optimization for empty input
* regenerate JS decoder
* unbreak Travis builds
|
|
d4cd6cdf
|
2018-07-25T10:43:06
|
|
platform: fix unaligned 64-bit accesses on AArch32 (#702)
Ensures that Aarch32 Arm builds with an Armv8 compiler do not set
BROTLI_64_BITS.
This scenario is possible with ChromeOS builds, as they may use a
toolchain with the target armv7-cros-gnueabi, but with -march=armv8.
This will set __ARM_ARCH to 8 (defining BROTLI_TARGET_ARMV8), but will
also set __ARM_32BIT_STATE and not __ARM_64BIT_STATE. Without this,
illegal 64-bit non-word-aligned reads (LDRD) may be emitted.
Also fix unaligned 64-bit reads on AArch32 - STRD was still possible to
emit.
|
|
8a073bd9
|
2018-07-24T17:32:13
|
|
Revert "platform: fix unaligned 64-bit accesses on AArch32 (#699)" (#701)
This reverts commit 6d027d1648d957c5fee92e535a66420413fd6537.
|
|
6d027d16
|
2018-07-24T16:29:50
|
|
platform: fix unaligned 64-bit accesses on AArch32 (#699)
Ensures that Aarch32 Arm builds with an Armv8 compiler do not set
BROTLI_64_BITS.
This scenario is possible with ChromeOS builds, as they may use a
toolchain with the target armv7-cros-gnueabi, but with -march=armv8.
This will set __ARM_ARCH to 8 (defining BROTLI_TARGET_ARMV8), but will
also set __ARM_32BIT_STATE and not __ARM_64BIT_STATE. Without this,
illegal 64-bit non-word-aligned reads (LDRD) may be emitted.
Also fix unaligned 64-bit reads on AArch32 - STRD was still possible to
emit.
|
|
fc4d3459
|
2018-07-09T01:40:08
|
|
Fix missing header files (#695)
Our dist tarball is missing hash_rolling_inc.h and
hash_composite_inc.h, which causes subsequent autotools
builds to fail. Fix this by adding it to the sources list.
Signed-off-by: William A. Kennington III <william@wkennington.com>
|
|
b601fe81
|
2018-06-27T17:03:45
|
|
Ramp up version to 1.0.5
|
|
ee2a5e15
|
2018-06-26T09:08:07
|
|
Update go_library to use standard importpath (#690)
* Update go_library to use standard importpath
Instead of using go_prefix, which is deprecated, the importpath attribute is made explicit.
* Add description to go/BUILD
|
|
eb12ec04
|
2018-06-20T15:14:10
|
|
Update (#688)
* add rolling-composite-hasher for large-window mode
* make API methods explicitly public
|
|
7505290e
|
2018-06-18T14:39:38
|
|
Convert fuzzer to C99. (#686)
|
|
ff05c351
|
2018-06-18T13:13:23
|
|
Add VS2017 release Appveyor build (#685)
|
|
09cd3e87
|
2018-06-11T15:17:26
|
|
Update
|
|
8544ae85
|
2018-06-09T11:17:13
|
|
Update (#680)
* fix MSVC warnings
* cleanups
|
|
1e7ea1d8
|
2018-06-04T17:53:16
|
|
Inverse bazel project/workspace tree (#677)
* Inverse bazel workspace tree.
Now each subproject directly depends on root (c) project.
This helps to mitigate Bazel bug bazelbuild/bazel#2391; short summary:
Bazel does not work if referenced subproject `WORKSPACE` uses any
repositories that embedding project does not.
Bright side: building C project is much faster;
no need to download closure, go and JDK...
|
|
29dc2cce
|
2018-05-31T13:21:04
|
|
Update golang and JS Bazel plugins to latest stable versions. (#676)
|
|
f9b8c026
|
2018-05-22T14:35:04
|
|
Add RISC-V 64-bit (riscv64) platform configuration (#669)
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
|
|
48a25b3f
|
2018-05-18T22:07:52
|
|
Fix #671 (#672)
|
|
a4581c15
|
2018-05-16T12:59:09
|
|
Add tools to download and transform static dictionary data. (#670)
|
|
f5ed35d0
|
2018-05-03T11:16:21
|
|
Update (#664)
* Update
* fix ifdef style
* get back to fine-compiler-version-based-macros (use Hedley)
* fix q=0 histogram collection for very long copy/insert commands
|
|
f94cd51b
|
2018-04-20T18:31:51
|
|
appveyor: fix issue self-upgradig pip to v10 (#663)
Installing with --user will leave the old pip.exe script in the $PATH,
but running this will fail because pip 10 moved 'main' to internal
modules.
https://github.com/pypa/pip/issues/5240#issuecomment-382989420
|
|
60003961
|
2018-04-20T14:10:55
|
|
Remove unprefixed macros from public headers (#662)
|
|
68db5c02
|
2018-04-13T11:44:34
|
|
Update (#660)
* Update
* improve q=1 compression on small files
* fix "left shift before promotion"
* fix osx Travis builds
|
|
c6333e1e
|
2018-03-29T10:37:07
|
|
Fix MSVC compilation (#657)
* tell bazel not to pass strict options to a fancy compiler
* fix signed-unsigned comparison warning found by MSVC
|
|
0f3c84e7
|
2018-03-27T22:29:22
|
|
Update (#656)
* 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
|
|
515fc623
|
2018-03-26T16:41:18
|
|
Tell CMake to not check for a C++ compiler (#653)
By default CMake checks both for C and C++ compilers, while the latter
is not needed. Setting the list of languages to just "C" in the call to
project() removes the unneeded check.
|
|
2c034825
|
2018-03-23T02:09:00
|
|
Fix "memory leak" in python tests (#652)
OOMs on RPi (1GB)
|
|
a238f5ba
|
2018-03-20T07:53:32
|
|
Update README.md (#646)
Add mention of Dart native bindings
|
|
631fe194
|
2018-03-20T17: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-02T15: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-26T09: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-08T14: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-08T12: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-12T14: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-07T14:39:07
|
|
Don't set rpath (#629)
|
|
62194f20
|
2017-12-04T15: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-30T20: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-30T11:02:54
|
|
Do not rely on bash arithmetic in `bootstrap` (#625)
|
|
1ca15159
|
2017-11-29T22: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-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
|
|
273de5a2
|
2017-11-17T01:38:05
|
|
Update shared-brotli-fetch-spec.txt
|
|
a755ba3b
|
2017-11-16T19:15:13
|
|
Update shared-brotli-fetch-spec.txt
|
|
bdda95ee
|
2017-11-16T19:13:39
|
|
Create shared-brotli-fetch-spec.txt
|
|
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`
|
|
39ef4bbd
|
2017-10-13T11:25:03
|
|
Add new (fast) dictionary generator engine. (#616)
Add CLI for dictionary generation.
Add BUILD file for research folder
|
|
9c75a2a2
|
2017-10-11T22:26:37
|
|
Use bazel in appveyor (#612)
+publish jni dll
|
|
a0c7dafe
|
2017-10-10T11:24:13
|
|
Fix permissions of various files in project (#613)
Move from 755 to 644.
|
|
42d78807
|
2017-10-09T17:07:34
|
|
Improve Bazel/JNI portability (#611)
* Improve Bazel/JNI portability
* Update go and closure bazel addons
|
|
4f8cd4c0
|
2017-09-26T13:49:30
|
|
Fix fuzzer test script and add it to travis matrix (#606)
|
|
5b476999
|
2017-09-22T14:05:06
|
|
Ramp up to version to 1.0.1
|
|
bf6a6cda
|
2017-09-22T13:13:22
|
|
Fix parallel test execution
|
|
7748a1dc
|
2017-09-22T10:28:15
|
|
Update README.md
|
|
c6056359
|
2017-09-20T15:02:01
|
|
Fix API documentation + theoretical NPEs (#602)
|
|
b6a01749
|
2017-09-20T10:04:06
|
|
Install static libraries as well (#601)
|
|
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
|
|
61a50159
|
2017-09-19T11:29:55
|
|
Update README.md
|
|
4760f7db
|
2017-09-19T11:25:55
|
|
Update MANIFEST.in
|
|
248bddd0
|
2017-09-19T10:46:10
|
|
Update README.md
|
|
52f04833
|
2017-09-19T09:40:48
|
|
Build both static and shared libs with CMake (#599)
|
|
87b43eb6
|
2017-09-18T13:52:53
|
|
Reduce / update travis build matrix. (#598)
|
|
6b1d0ab5
|
2017-09-18T13:05:47
|
|
CI config
* Appveyor: publish artifacts on bintray
* Appveyor & Travis: build only master branch
|
|
26a34a43
|
2017-09-14T16:14:05
|
|
Employ make/gcc on Appveyor + push artifacts (#596)
|
|
d7bce1e0
|
2017-09-07T20:27:49
|
|
Update (#593)
* Update:
* fix CLI error messages
* fix CLI console IO on Windows
|
|
fe09a503
|
2017-09-04T14:54:51
|
|
Update README.md
|
|
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
|
|
65354354
|
2017-08-24T13:29:48
|
|
Update (#589)
* cleanup
* fix `unbrotli` CLI
* Java retouch for faster JS decoder
|
|
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
|
|
019091f9
|
2017-08-08T04:25:39
|
|
Python: Update bro_test to reference script directly (#582)
|
|
3917011d
|
2017-08-04T15:40:57
|
|
Add link to 7Zip plugin
|
|
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
|
|
06082531
|
2017-08-02T10:59:46
|
|
Python: Add a "make install" command and clarify installation docs (#578)
Closes #576
|
|
bc541f74
|
2017-08-02T10:58:43
|
|
Add an EditorConfig file to provide consistent style across editors. (#579)
|
|
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
|
|
172a378d
|
2017-07-11T18:22:44
|
|
add BROTLI_DEC_API to methods (#572)
|
|
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
|
|
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`
|
|
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.
|
|
efdff3f1
|
2017-06-22T11:38:49
|
|
Fix linux-bazel build (#566)
Install bazel via apt-source
|
|
e51eae56
|
2017-06-22T10:58:13
|
|
Update .travis.yml
|
|
a423b33a
|
2017-06-22T10:07:07
|
|
Update Related projects (#565)
Add BrotliHaxe
|
|
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
|
|
00cacfdf
|
2017-06-17T13:22:07
|
|
Fix compilation issue with BROTLI_ALLOC macro using GCC 7 (-Wint-in-bool-context) (#562)
|
|
05d5f3d7
|
2017-06-13T12:52:56
|
|
Update (#560)
Update:
* add decoder API to avoid ringbuffer reallocation
* fix MSVC warnings
* remove dead code
|
|
0fceb906
|
2017-06-07T12:47:48
|
|
Fix bazel go build (#558)
|
|
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
|
|
19dc934e
|
2017-06-01T13:51:18
|
|
Add JNI wrappers. (#556)
|
|
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
|
|
2c001010
|
2017-05-24T17:19:34
|
|
Unify artifact installation (#544)
|
|
0a84e9bf
|
2017-05-07T17:40:12
|
|
Transpile Java speedup (#548)
|
|
4363f2d7
|
2017-05-07T17:13:03
|
|
Speedup Java decoder. (#547)
* geo corpus decodes ~5% faster
* fetchlogs corpus decodes ~25% faster
|
|
a015b426
|
2017-05-04T20:27:42
|
|
turn java library into an OSGi bundle (#545)
|
|
d00ccae5
|
2017-04-28T13:16:59
|
|
Split auto-CMake and plain CMake build manual
|
|
6ece1d87
|
2017-04-23T14:07:08
|
|
Move files & update paths (#541)
* Move files & update paths
* Rename build to scripts.
* Fix paths
* Fix script.
|
|
04de756a
|
2017-04-13T20:05:36
|
|
Simplify go brotli wrapper. (#540)
Based on PR #533.
Kudos to Bryan (bcmillis@).
|
|
f2aa4d1e
|
2017-04-10T21:16:08
|
|
Add C# transpilation script. (#538)
|
|
66e798d4
|
2017-04-10T15:39:00
|
|
Update API to v1.0.0 (#537)
Make Java decoder fully transpilable to C#.
|
|
46c1a881
|
2017-04-10T10:42:24
|
|
Pull down version for v0.6.0 release
|
|
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
|
|
e12a7a2d
|
2017-04-04T13:21:36
|
|
Add Brotli logo to README head (#535)
|
|
7a09531f
|
2017-03-30T16:50:06
|
|
Cleanup
|
|
e5b7c16b
|
2017-03-24T14:49:02
|
|
Same file name is not permitted overall! (#532)
|