Closed mgerlach closed 6 months ago
Not really as per https://semver.org/:
Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
Now we can discuss switching to 1.x in the future, but a 0.x is considered unstable and 0.25.0 was perfectly legal.
It's true that it's documented like that. IMHO it's not a very useful rule, as there are possibilities to have -alpha.X, -beta.X etc. version suffixes to mark unstable versions. But I'm happy to close this. Just wanted to create some awareness.
Follow up on this, I just released 1.0.0 so you shouldn't have any bad surprise anymore.
Release 0.25.0 introduces a breaking change as it does not support Java 8 runtimes anymore, but requires >= 11.
So it should rather be 1.0.0.
One of our build pipelines automerged the minor release 0.25.0, upgrading from 0.24.3. Because the build pipeline itself uses Java 17 (to produce Java 8 bytecode for our custom code), this didn't break our build and the 0.25.0 jar was included (by maven shade plugin) in our build output (an Apache Spark driver uber jar)
However, when running the Spark driver in AWS Glue ETL, the job broke with this exception:
Exception in User Class: java.lang.UnsupportedClassVersionError : org/zendesk/client/v2/Zendesk$Builder has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
I recommend dropping the 0.25.0 release, or better, releasing a 0.25.1 that is again compatible with Java 8, and releasing 1.0.0 for Java 11.