Java builds missing from Maven for releases after 0.1.2 #252

Closed
opened 2026-01-29 20:40:46 +00:00 by claunia · 29 comments
Owner

Originally created by @micolous on GitHub (Oct 7, 2018).

It appears that there have been no builds uploaded to Maven repositories of the Java library after 0.1.2.

I looked in these places:

pom.xml doesn't look like it has been updated in a while.

Unfortunately, these older versions of Brotli don't appear to be stream-compatible with files produced by the current version. Correction: I made a mistake in my code, and it seems to work now.

I'm not sure whether the versioning is supposed to be different, but the code that's on Maven Central now is definitely way out of sync with regular releases.

Originally created by @micolous on GitHub (Oct 7, 2018). It appears that there have been no builds uploaded to Maven repositories of the Java library after 0.1.2. I looked in these places: - https://oss.sonatype.org/#nexus-search;quick~org.brotli - https://search.maven.org/search?q=org.brotli [pom.xml](https://github.com/google/brotli/blob/master/java/org/brotli/pom.xml) doesn't look like it has been updated in a while. ~Unfortunately, these older versions of Brotli don't appear to be stream-compatible with files produced by the current version.~ _Correction:_ I made a mistake in my code, and it seems to work now. I'm not sure whether the versioning is supposed to be different, but the code that's on Maven Central now is definitely way out of sync with regular releases.
claunia added the release-v1.1.1 label 2026-01-29 20:40:46 +00:00
Author
Owner

@eustas commented on GitHub (Oct 7, 2018):

Hello.
I've planned rolling of "shared brotli" to master in Q4. Java decoder will also get the update, and it will be the perfect timing for releasing new version of Java library...

@eustas commented on GitHub (Oct 7, 2018): Hello. I've planned rolling of "shared brotli" to master in Q4. Java decoder will also get the update, and it will be the perfect timing for releasing new version of Java library...
Author
Owner

@pmouawad commented on GitHub (Oct 21, 2018):

Hello @eustas ,
Is there some planned date ?
We are interested also at JMeter project:

Thank you
Regards

@pmouawad commented on GitHub (Oct 21, 2018): Hello @eustas , Is there some planned date ? We are interested also at JMeter project: - https://bz.apache.org/bugzilla/show_bug.cgi?id=62842 Thank you Regards
Author
Owner

@eustas commented on GitHub (Oct 22, 2018):

Hopefully brotli v1.0.7 will be released today; Java brotli release will follow soon.

@eustas commented on GitHub (Oct 22, 2018): Hopefully brotli v1.0.7 will be released today; Java brotli release will follow soon.
Author
Owner

@eustas commented on GitHub (Oct 22, 2018):

But IIRC, there is almost no changes to Java decoder since last release.

@eustas commented on GitHub (Oct 22, 2018): But IIRC, there is almost no changes to Java decoder since last release.
Author
Owner

@pmouawad commented on GitHub (Oct 22, 2018):

Hello,
Thanks for feedback.
In JMeter we’re using it for brotli decoding.
It works, but for www.google.com it fails:

I double checked , I see changes in org.brotli.dec.Utils.
I'll wait for the release.
Regards

@pmouawad commented on GitHub (Oct 22, 2018): Hello, Thanks for feedback. In JMeter we’re using it for brotli decoding. It works, but for www.google.com it fails: - https://bz.apache.org/bugzilla/show_bug.cgi?id=62842 I double checked , I see changes in org.brotli.dec.Utils. I'll wait for the release. Regards
Author
Owner

@eustas commented on GitHub (Oct 23, 2018):

Unfortunately, bug is not very descriptive. Could you attach the payload that does not decompress?

In the meanwhile, v1.0.7 is released, so now it is perfect time to fix java decoder, before java build is released...

@eustas commented on GitHub (Oct 23, 2018): Unfortunately, bug is not very descriptive. Could you attach the payload that does not decompress? In the meanwhile, v1.0.7 is released, so now it is perfect time to fix java decoder, before java build is released...
Author
Owner

@eustas commented on GitHub (Oct 23, 2018):

Does not reproduce.
Steps:

  • download https://www.google.com main document with br encoding (in Chrome DevTools, Network Panel, right click, "copy", "copy as cURL"; then paste in terminal and append >> google.br)
  • check out brotli to "switch version" commit aaac88a
  • add file java/dec/Main.java
package org.brotli.dec;
public class Main {
  public static void main(String[] args) throws java.io.IOException {
    BrotliInputStream bis = new BrotliInputStream(new java.io.FileInputStream(args[0]));
    byte[] buffer = new byte[16384];
    int len = 0, total = 0;
    while ((len = bis.read(buffer)) != -1) total += len;
    System.out.println(total);
    bis.close();
  }
}
  • added build rule to java/dec/BUILD:
java_binary(
    name = "main",
    main_class = "org.brotli.dec.Main",
    runtime_deps = [":lib"],
)
  • build binary: bazel build java/dec:all
  • run binary bazel-bin/java/dec/main google.br

Result of execution: number that corresponds to uncompressed size. For me it is the same as produced by C decoder. No exceptions -> decompression finished normally.

@eustas commented on GitHub (Oct 23, 2018): Does not reproduce. Steps: * download `https://www.google.com` main document with `br` encoding (in Chrome DevTools, Network Panel, right click, "copy", "copy as cURL"; then paste in terminal and append `>> google.br`) * check out brotli to "switch version" commit `aaac88a` * add file `java/dec/Main.java` ``` package org.brotli.dec; public class Main { public static void main(String[] args) throws java.io.IOException { BrotliInputStream bis = new BrotliInputStream(new java.io.FileInputStream(args[0])); byte[] buffer = new byte[16384]; int len = 0, total = 0; while ((len = bis.read(buffer)) != -1) total += len; System.out.println(total); bis.close(); } } ``` * added build rule to `java/dec/BUILD`: ``` java_binary( name = "main", main_class = "org.brotli.dec.Main", runtime_deps = [":lib"], ) ``` * build binary: `bazel build java/dec:all` * run binary `bazel-bin/java/dec/main google.br` Result of execution: number that corresponds to uncompressed size. For me it is the same as produced by C decoder. No exceptions -> decompression finished normally.
Author
Owner

@eustas commented on GitHub (Oct 23, 2018):

BTW, though there is no "bug-fixes" to decoder, the new version should become faster, slimmer, and won't suffer from JDK 8 <-> 9 incompatibility (NoSuchMethodError for ByteBuffer methods)

@eustas commented on GitHub (Oct 23, 2018): BTW, though there is no "bug-fixes" to decoder, the new version should become faster, slimmer, and won't suffer from JDK 8 <-> 9 incompatibility (`NoSuchMethodError` for `ByteBuffer` methods)
Author
Owner

@pmouawad commented on GitHub (Oct 24, 2018):

Hello,
After double checking our code, there is no issue in dec, sorry for the noise.
And thanks for your rapid and great quality feedback.

Regards

@pmouawad commented on GitHub (Oct 24, 2018): Hello, After double checking our code, there is no issue in dec, sorry for the noise. And thanks for your rapid and great quality feedback. Regards
Author
Owner

@eustas commented on GitHub (Oct 25, 2018):

Phew, then Java release is unblocked =)
Going to prepare and publish "large window" mode then, to make Java decoder in par with C one, and then release version 0.2.0.

@eustas commented on GitHub (Oct 25, 2018): Phew, then Java release is unblocked =) Going to prepare and publish "large window" mode then, to make Java decoder in par with C one, and then release version 0.2.0.
Author
Owner

@re-thc commented on GitHub (Jan 22, 2019):

@eustas did you end up having time to make the Java release?

@re-thc commented on GitHub (Jan 22, 2019): @eustas did you end up having time to make the Java release?
Author
Owner

@eustas commented on GitHub (Jan 23, 2019):

Sorry, was busy working on pik / JPEG XL. Hopefully, will have time for brotli in mid-February.

@eustas commented on GitHub (Jan 23, 2019): Sorry, was busy working on pik / JPEG XL. Hopefully, will have time for brotli in mid-February.
Author
Owner

@LukeButters commented on GitHub (May 17, 2019):

How did you go?
would we also have access to the encoder in java?

@LukeButters commented on GitHub (May 17, 2019): How did you go? would we also have access to the encoder in java?
Author
Owner

@eustas commented on GitHub (Jul 18, 2019):

Hot period seem to be over. Hopefully will get java next release soon =)

@eustas commented on GitHub (Jul 18, 2019): Hot period seem to be over. Hopefully will get java next release soon =)
Author
Owner

@scriptkids commented on GitHub (Aug 4, 2019):

Hope to get the new release soon~

@scriptkids commented on GitHub (Aug 4, 2019): Hope to get the new release soon~
Author
Owner

@ajarosz commented on GitHub (Sep 6, 2019):

Any chances on getting latest release from maven soon @eustas?

@ajarosz commented on GitHub (Sep 6, 2019): Any chances on getting latest release from maven soon @eustas?
Author
Owner

@Darkhax commented on GitHub (Dec 29, 2019):

Will we still be getting an updated version for Java on maven? Some of these changes will be really helpful and I am looking forward to them.

@Darkhax commented on GitHub (Dec 29, 2019): Will we still be getting an updated version for Java on maven? Some of these changes will be really helpful and I am looking forward to them.
Author
Owner

@eustas commented on GitHub (Dec 29, 2019):

Going to push a new version, as soon as get a slice of free time.
One important feature is still not finished - dictionary support. So, one more version will be released after that =)

@eustas commented on GitHub (Dec 29, 2019): Going to push a new version, as soon as get a slice of free time. One important feature is still not finished - dictionary support. So, one more version will be released after that =)
Author
Owner

@eperret commented on GitHub (May 13, 2020):

I still don't see a new version of the brotli library on maven central after version 0.1.2 (2017). https://mvnrepository.com/artifact/org.brotli. Should we consider this project dead for maven?

@eperret commented on GitHub (May 13, 2020): I still don't see a new version of the brotli library on maven central after version 0.1.2 (2017). https://mvnrepository.com/artifact/org.brotli. Should we consider this project dead for maven?
Author
Owner

@eustas commented on GitHub (May 13, 2020):

Sorry for the unfulfilled promises. I believe dictionary support is now finished (modulo transpilation of new version from Java to JS). So it is time to release a version =)

@eustas commented on GitHub (May 13, 2020): Sorry for the unfulfilled promises. I believe dictionary support is now finished (modulo transpilation of new version from Java to JS). So it is time to release a version =)
Author
Owner

@eperret commented on GitHub (Jun 4, 2020):

Any update @eustas ?

@eperret commented on GitHub (Jun 4, 2020): Any update @eustas ?
Author
Owner

@eperret commented on GitHub (Jun 15, 2020):

I still don't see a new version of the brotli library on maven central after version 0.1.2 (2017). https://mvnrepository.com/artifact/org.brotli. Should we consider this project dead for maven?

This repo does not support maven and only supports bazel.

@eperret commented on GitHub (Jun 15, 2020): > I still don't see a new version of the brotli library on maven central after version 0.1.2 (2017). https://mvnrepository.com/artifact/org.brotli. Should we consider this project dead for maven? This repo does not support maven and only supports bazel.
Author
Owner

@eperret commented on GitHub (Jan 6, 2021):

Sorry for the unfulfilled promises. I believe dictionary support is now finished (modulo transpilation of new version from Java to JS). So it is time to release a version =)

@eustas Is there an update? Is there something I can help with?

@eperret commented on GitHub (Jan 6, 2021): > Sorry for the unfulfilled promises. I believe dictionary support is now finished (modulo transpilation of new version from Java to JS). So it is time to release a version =) @eustas Is there an update? Is there something I can help with?
Author
Owner

@martin-g commented on GitHub (Feb 9, 2021):

+1 for a new release!

@martin-g commented on GitHub (Feb 9, 2021): +1 for a new release!
Author
Owner

@martin-g commented on GitHub (Feb 11, 2021):

I've found about https://github.com/hyperxpro/Brotli4j. It has recent releases and natives for Linux x86_64/aarch64, windows and macos x86_64. Both Decoder and Encoder.

@martin-g commented on GitHub (Feb 11, 2021): I've found about https://github.com/hyperxpro/Brotli4j. It has recent releases and natives for Linux x86_64/aarch64, windows and macos x86_64. Both Decoder and Encoder.
Author
Owner

@vfsfitvnm commented on GitHub (May 26, 2022):

Any update? @eustas

@vfsfitvnm commented on GitHub (May 26, 2022): Any update? @eustas
Author
Owner

@eustas commented on GitHub (Aug 3, 2023):

Moved to umbrella #1056

@eustas commented on GitHub (Aug 3, 2023): Moved to umbrella #1056
Author
Owner

@stacktracer commented on GitHub (Nov 21, 2024):

Can we reopen this issue? #1056 was closed without addressing it.

@stacktracer commented on GitHub (Nov 21, 2024): Can we reopen this issue? #1056 was closed without addressing it.
Author
Owner

@eustas commented on GitHub (Sep 10, 2025):

See #1327

@eustas commented on GitHub (Sep 10, 2025): See #1327
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/brotli#252