java


Log

Author Commit Date CI Message
Evgenii Kliuchnikov a896e79d 2025-10-01T03:25:54 Java: ramp-up artifact versions in pom files PiperOrigin-RevId: 813673237
Evgenii Kliuchnikov 85d46ce6 2025-09-16T01:23:08 Drop finalize() Now it is solely embedders responisbility to close things that hold native resources. No more "safety net". Consider "try-with-resources". For longer lasting items (e.g. native PreparedDictionary) use Cleaner as a last resort. PiperOrigin-RevId: 807584792
Evgenii Kliuchnikov 9a4ba593 2025-08-15T06:18:13 internal change PiperOrigin-RevId: 795452145
Evgenii Kliuchnikov 3efb30f9 2025-06-12T08:47:30 Comb UTF-8 literal processing PiperOrigin-RevId: 770672448
Evgenii Kliuchnikov ee5f3bb9 2025-06-10T07:07:49 Refresh JS/TS/KT PiperOrigin-RevId: 769617330
Evgenii Kliuchnikov 08bdaebb 2025-06-10T00:27:22 modify Java decoder in a way it could be transpiled to exception unfriendly languages PiperOrigin-RevId: 769488037
Evgenii Kliuchnikov 271be114 2025-06-04T01:04:28 Prepare for transpilation to golang PiperOrigin-RevId: 767024321
Evgenii Kliuchnikov 6270bb54 2025-05-28T04:17:18 update CI pipelines PiperOrigin-RevId: 764197690
Andreas Deininger 93d0ac53 2025-05-27T09:47:01 Fix typos (#1242) Co-authored-by: Eugene Kliuchnikov <eustas.ru@gmail.com>
Evgenii Kliuchnikov 281b0aa5 2025-01-08T10:12:41 Fix most of build_test pipeline
Evgenii Kliuchnikov 95b81fcc 2025-01-06T23:51:35 Partially pick https://github.com/google/brotli/pull/1232 PiperOrigin-RevId: 712791222
Evgenii Kliuchnikov 7347e81d 2024-11-11T14:03:12 Fix Java Bazel build
Evgenii Kliuchnikov 4303850b 2024-11-11T07:50:54 No public description PiperOrigin-RevId: 695336284
Michael Hoisie 8a626fd4 2024-05-22T08:53:34 No public description PiperOrigin-RevId: 636183145
Brotli b6f2d49f 2024-04-03T05:17:51 Add `load()` statements for the builtin Bazel java rules Loads are being added in preparation for moving the rules out of Bazel and into `rules_java`. PiperOrigin-RevId: 621489058
Evgenii Kliuchnikov ccec9628 2024-02-21T02:32:23 add pure-kotlin decoder PiperOrigin-RevId: 608917286
Evgenii Kliuchnikov c1362a79 2024-02-02T03:26:05 further preparations for Kotlin transpilation PiperOrigin-RevId: 603638823
Evgenii Kliuchnikov 200f3798 2024-01-23T23:46:34 prepare java decoder for transpilation to Kotlin PiperOrigin-RevId: 601023149
Evgenii Kliuchnikov 02458f34 2024-01-16T03:36:27 further simplify Java build PiperOrigin-RevId: 598790414
Evgenii Kliuchnikov 1045ab52 2024-01-04T03:32:33 Fix/simplify/improve Bazel build PiperOrigin-RevId: 595656443
Evgenii Kliuchnikov 082c9626 2024-01-03T08:18:15 add test for one-shot encoding/decoding with offset PiperOrigin-RevId: 595407007
Aayush Atharva 428d056d 2023-12-28T22:19:02 Fix Encoder bug
Evgenii Kliuchnikov 6ba678a7 2023-11-29T10:47:47 pull "InputStream" reference out of "pure" code PiperOrigin-RevId: 586390725
Evgenii Kliuchnikov 9ff341da 2023-08-10T04:45:38 Replace TS strict_checks with source-level suppressions. PiperOrigin-RevId: 555445920
Evgenii Kliuchnikov 0300be36 2023-07-28T01:06:17 add "repeat" to Java toy decoder PiperOrigin-RevId: 551770992
Evgenii Kliuchnikov c2848d55 2023-07-14T07:25:47 add synth test for metadata block PiperOrigin-RevId: 548120163
Evgenii Kliuchnikov de52bc7c 2023-07-14T01:03:38 add "zero cost command" synth test PiperOrigin-RevId: 548050521
Evgenii Kliuchnikov 70e7b1ae 2023-07-06T11:56:38 simplify building of fuzzer PiperOrigin-RevId: 545950923
Evgenii Kliuchnikov 413b0985 2023-07-06T08:36:03 Fix integration .pom PiperOrigin-RevId: 545910020
Evgenii Kliuchnikov 11b8d7cb 2023-07-05T14:12:51 update .pom files PiperOrigin-RevId: 545659932
Evgenii Kliuchnikov efe140ad 2023-04-25T14:56:37 add brotli.ts PiperOrigin-RevId: 526966561
Evgenii Kliuchnikov ffbe1123 2023-04-25T09:58:13 JS: stronger typing PiperOrigin-RevId: 526909255
Sean C. Sullivan 2ce0feba 2023-01-22T06:30:06 avoid array allocation in Encoder.Mode enum
Brotli 36533a86 2023-01-16T18:04:35 Internal change PiperOrigin-RevId: 502401179
Eugene Kliuchnikov e3ea91d5 2023-01-04T15:38:17 Java wrapper: allow using partial byte arrays (#999)
Eugene Kliuchnikov c48ebca4 2022-12-20T12:25:26 Fix bazel build (#989)
Aayush Atharva 3914999f 2022-11-17T19:19:55 Fix typo (#951)
Evgenii Kliuchnikov a8f5813b 2022-11-17T13:03:09 Update Documentation: - add note that brotli is a "stream" format, not an archive-like - regenerate .1 with Pandoc Build: - drop legacy "BROTLI_BUILD_PORTABLE" option - drop "BROTLI_SANITIZED" definition Code: - c: comb includes - c/enc: extract encoder state into separate header - c/enc: drop designated q10 codepath - c/enc: dealing better with flushing of empty stream - fix MSVC compilation API: - py: use library version instead of one in version.h - c: add plugable API to report consumed input / produced output - c/java: support "lean" prepared dictionaries (without copy of source)
Eugene Kliuchnikov 8376f72e 2021-11-10T10:34:39 Prepare for copybara (#939) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov 62662f87 2021-09-08T09:18:45 Strip "./" in includes (#925) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov 0e42caf3 2021-08-31T14:07:17 Migrate to github actions (#920) Not all combinations are migrated to the initial configuration; corresponding TODOs added. Drive-by: additional combinations uncovered minor portability problems -> fixed Drive-by: remove no-longer used "script" files. Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov 68f1b90a 2021-08-18T19:15:07 Update (#918) Prepare to use copybara worklow.
Eugene Kliuchnikov 19d86fb9 2021-08-04T14:42:02 Merge-in SharedDictionary feature (#916) Co-authored-by: Eugene Kliuchnikov <eustas@chromium.org>
Eugene Kliuchnikov 630b5084 2021-07-29T22:29:43 Update (#914) * slimmer stack frames in encoder * fix MSAN problem in hasher_composite (not dangerous, only in large_window mode) * fix JNI decoder wrapper - power-of-two payloads fail to decode sometimes * reformat polyfil.js and decode_test.js
Eugene Kliuchnikov f8c67177 2021-06-23T09:40:57 Update (#908) * re-enable Js build/test * improve decoder performance * rewrite dictionary data in Java/Js to a shorter uncompressed form * improve dictionary generation tool
Martin Grigorov bbe5d72b 2021-03-24T22:23:03 [Java] make it possible to set modes (generic, text, font) (#887) * [Java] make it possible to set modes (generic, text, font)
Eugene Kliuchnikov 2f9277ff 2021-03-24T15:05:23 Update bazel WORKSPACE files (#896) * Update bazel WORKSPACE files * Use fresh OSX image * Cache homebrew dirs for faster startup
Eugene Kliuchnikov 5692e422 2021-01-18T10:56:39 Update (#852) * Update * comments and clarifications in block_splitter * power-of-2 aligned allocations for Hasher * refresh decode.js from Java sources * disable JS build
Aayush Atharva f1684561 2021-01-08T17:54:44 Fix typo in variable name (#854) * Fix typo in variable name * Fix compile error
dependabot[bot] 4969984a 2021-01-08T13:21:02 Bump junit from 4.12 to 4.13.1 in /java/org/brotli/dec (#853) Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Eugene Kliuchnikov 7f740f13 2020-05-15T11:06:21 Update (#807) - fix formatting - fix type conversion - fix no-op arithmetic with null-pointer - improve performance of hash_longest_match64 - go: detect read after close - java decoder: support compound dictionary - remove executable flag on non-scripts
Eugene Kliuchnikov f83aa516 2020-03-31T14:38:01 Update bazel to 2.2 + update config (#798) Newer bazel does not support `maven_jar` rule anymore...
Eugene Kliuchnikov ca21dac8 2019-08-07T10:51:55 Add an option to avoid building shared libraries. (#766) Add an option to avoid building shared libraries (for building with EMCC) Drive-by: * maven: ramp up java level to minimal required * travis: replace deprecated clang-5.0 with clang-7 * maven: fallback to jdk10 to void javadoc bug
Eugene Kliuchnikov c8b37e8f 2019-07-17T14:39:56 Update (#762) * put LICENSE file into .jar * fix typo * add clarification comment in PY wrapper
Eugene Kliuchnikov 40f0fdcd 2019-07-16T17:49:14 Explicitly mark tests/testdata/* as binary. (#761) Fixes #760 Drive-by: * update go_rules * modernize brotli_inc * fix wrapper build * update PY to 3 in Travis / OSX / Bazel build * upgrade JS Bazel rules.
Eugene Kliuchnikov 78e7bbc3 2019-05-03T11:51:11 Update (#753) * fix executable mode of decode.js * explain clang-analyser about non-nullability * fix "dead assignment" * rename proguard.cfg -> proguard.pgcfg
Eugene Kliuchnikov 4b2b2d4f 2019-04-12T13:57:42 Update (#749) Update: * Bazel: fix MSVC configuration * C: common: extended documentation and helpers around distance codes * C: common: enable BROTLI_DCHECK in "debug" builds * C: common: fix implicit trailing zero in `kPrefixSuffix` * C: dec: fix possible bit reader discharge for "large-window" mode * C: dec: simplify distance decoding via lookup table * C: dec: reuse decoder state members memory via union with lookup table * C: dec: add decoder state diagram * C: enc: clarify access to static dictionary * C: enc: improve static dictionary hash * C: enc: add "stream offset" parameter for parallel encoding * C: enc: reorganize hasher; now Q2-Q3 require exactly 256KiB to avoid global TCMalloc lock * C: enc: fix rare access to uninitialized data in ring-buffer * C: enc: reorganize logging / checks in `write_bits.h` * Java: dec: add "large-window" support * Java: dec: improve speed * Java: dec: debug and 32-bit mode are now activated via system properties * Java: dec: demystify some state variables (use better names) * Dictionary generator: add single input mode * Java: dec: modernize tests * Bazel: js: pick working commit for closure rules
Eugene Kliuchnikov d0ffe60b 2018-10-24T16:06:09 Verbose CLI + start pulling "Shared-Brotli" (#722) * Verbose CLI + start pulling "Shared-Brotli" * vesbose CLI output; fix #666 * pull `SHIFT` transforms; currently this is semantically dead code; later it will be used by "Shared-Brotli"
Eugene Kliuchnikov a799e34c 2018-10-18T17:25:05 Remove dependency to full JDK. This should speedup clean builds. (#719) * Remove dependency to full JDK. This should speedup clean builds. * Upgrade appveyor bazel
Eugene Kliuchnikov 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
Eugene Kliuchnikov 09cd3e87 2018-06-11T15:17:26 Update
Eugene Kliuchnikov 8544ae85 2018-06-09T11:17:13 Update (#680) * fix MSVC warnings * cleanups
Eugene Kliuchnikov 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...
Eugene Kliuchnikov 60003961 2018-04-20T14:10:55 Remove unprefixed macros from public headers (#662)
Eugene Kliuchnikov 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
Eugene Kliuchnikov 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.
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 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 65354354 2017-08-24T13:29:48 Update (#589) * cleanup * fix `unbrotli` CLI * Java retouch for faster JS decoder
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
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
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 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 66e798d4 2017-04-10T15:39:00 Update API to v1.0.0 (#537) Make Java decoder fully transpilable to C#.
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 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 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`
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)
Eugene Kliuchnikov 53366083 2017-02-17T15:39:34 Prepare org.brotli.dec for deployment. (#512)
Eugene Kliuchnikov 396309a5 2016-11-30T13:36:20 Update (#470) * condense generated `static_dict_lut.h` * implement BrotliInputStream.close()
Eugene Kliuchnikov e9b278ac 2016-10-31T14:33:59 Update docs and add more java tests (#463) * doxygenize and update API documentation * fix spelling * add "fuzz" corpus for java decoder to improve coverage * use upper-case-snake names for dictionary constant definitions * use `LDFLAGS` in conventional `Makefile`
Eugene Kliuchnikov d18c7369 2016-10-18T15:28:43 Fix POM files sources paths * also add javadocs and sources generation
Eugene Kliuchnikov 5025365d 2016-10-17T14:04:59 Add Java port of Brotli decoder.