jai-imageio / jai-imageio-core

JAI ImageIO Core (without javax.media.jai dependencies)
Other
234 stars 87 forks source link

Release 1.4.0 #49

Closed Jugen closed 6 years ago

Jugen commented 6 years ago

Its been more than two years since the last release, and there have been some changes pertinent to Java 9, so could we please have a new release.

pejobo commented 6 years ago

@stain Anything holding back a release?

JamzTheMan commented 6 years ago

waiting on that java 9 fix as well...

stain commented 6 years ago

Hi, sorry about the delay, I promised I would get it done over Easter holiday - turns out family is quite demanding even when supplied with chocolate! Will have another go this week.

Jugen commented 6 years ago

Family is more important, so no worries (Hope you had a good time :-). And thanks for getting back to us .....

stain commented 6 years ago

As I merged #41 with Java 9 support (which needs newer Maven and Java 1.6 to compile) I'll bump to 1.4.0 instead of 1.3.2 to follow https://semver.org/ rules.

Updating README now.

stain commented 6 years ago
stain commented 6 years ago

jai-imageio 1.4.0 Release Candidate 1 available now in bintray.

Could I have anyone testing it (say in a real application) before I push it to Maven Central? Particularly interested in Java 9 testers.

ansell commented 6 years ago

In my case, excluding javax.media:jai-imageio:1.1 that GeoTools-19.0 pulls in through its dependencies, and replacing it with this release, fixed a bug I was having on initialisation of the image io classes on Java-9, and doesn't seem to have generated any further issues.

For anyone finding the same issue, pasting the error here may help them:

java.lang.NumberFormatException: For input string: ""
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.base/java.lang.Integer.parseInt(Integer.java:662)
    at java.base/java.lang.Integer.parseInt(Integer.java:770)
    at com.sun.media.imageioimpl.common.ImageUtil.processOnRegistration(ImageUtil.java:1408)
    at com.sun.media.imageioimpl.plugins.bmp.BMPImageWriterSpi.onRegistration(BMPImageWriterSpi.java:107)
    at java.desktop/javax.imageio.spi.SubRegistry.registerServiceProvider(ServiceRegistry.java:788)
    at java.desktop/javax.imageio.spi.ServiceRegistry.registerServiceProvider(ServiceRegistry.java:330)
    at java.desktop/javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:212)
    at java.desktop/javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:136)
    at java.desktop/javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:157)
    at java.desktop/javax.imageio.ImageIO.<clinit>(ImageIO.java:66)

Having said that, as far as I am aware I am only writing out to PNG, which has its writer provider implemented by the JDK, so unless GeoTools-19.0 are using the other ImageIO providers internally I don't think I am testing its functionality fully myself.

Compiling this release using Java-9 worked for me with no warnings or errors with unit tests or compilation. There are a large number of javadoc warnings although not sure how many exactly as the javadoc processor may have stopped counting at 99.

JamzTheMan commented 6 years ago

Awesome! I will test it as soon as I can this week. I mostly use it to access jpeg2000.

mykolap commented 6 years ago

We use Java 9 and use this lib for checking if Tiff has premultiplied transperancy or not. Now we are using master snapshot with fixes for Java 9, I will check with release candidate today.

Jugen commented 6 years ago

Release candidate works with Java 10 accessing jpeg2000 images :-)

stain commented 6 years ago

Thanks for checking, folks! I can let it rest till Monday if you need time for testing. Would be silly if we need to roll a 1.4.1 right away..

@ansell you are right in that PNG will be done by the JDK's provider, but good to know compile/test works in Java 9.

@Jugen I have not prepared a corresponding release candidate for jai-imageio-jpeg2000 yet (would appreciate help with some outstanding pull requests there).

Do you mean you used the older jai-imageio-jpeg2000 with the newer jai-imageio-core?

Jugen commented 6 years ago

Yes, I used jai-imageio-jpeg2000 1.3.0 with core rc 1.4.0 One of those PR's is mine, how can I help ?

mykolap commented 6 years ago

rc 1.4.0 works fine for me (java 9, we use it only for images with tiff format)

stain commented 6 years ago

@Jugen, perhaps just have a look on jai-imageio-jpeg2000 if the Travis tests can be fixed? Travis fails on your PR jai-imageio/jai-imageio-jpeg2000#24, but it might be related to changes in Travis.

You can upgrade the dependency to the RC 1.4.0 by using the pom.xml snippets from https://github.com/jai-imageio/jai-imageio-core/releases/tag/jai-imageio-core-1.4.0

stain commented 6 years ago

Thanks, @mykolap - can you check that you are not accidentally testing with the java.desktop-provided TIFF reader? See https://github.com/jai-imageio/jai-imageio-core/blob/master/src/test/java/com/github/jaiimageio/TiffTest.java#L137 (of course equivalent for Reader then)

JamzTheMan commented 6 years ago

Reporting in, 1.4.0 is working a-ok with my project running under Java 9.04

stain commented 6 years ago

thanks for checking, @JamzTheMan! I'm pushing the Maven Central button then :)

stain commented 6 years ago

jai-imageio-core 1.4.0 now published to Maven Central - should appear in a couple of hours after mirroring.

stain commented 6 years ago

Official release notes: https://github.com/jai-imageio/jai-imageio-core/releases/tag/jai-imageio-core-1.4.0 Tweet: https://twitter.com/soilandreyes/status/985785864524623872

stain commented 6 years ago

Thanks for the help, everyone! I will see if it's easy to do a corresponding jdk9-compatible jai-imageio-jpeg2000 release too.