On 12.05.2023 11:16, Robert Munteanu wrote:
Hi Arnout,
On Tue, 2023-05-09 at 09:57 +0200, Arnout Engelen wrote:
Hi,
Jackrabbit uses the fine mechanism of releasing unstable versions on
'x.y' version lines where 'y' is odd, and stable releases where 'y'
is
even.
This scheme is not super well-known in the Maven ecosystem, and I
think there's a risk of people being on unstable versions without
realizing it.
First of all I think it would be good to have a statement on what an
'unstable' release means. I scanned the downloads page [1] but I didn't
find a definition:
- are unstable versions less validated than stable ones?
No.
- are API breakages OK to be introduced in unstable versions?
Yes. There are no promises for API compat.
Of course that's ultimately on them, but I wonder if it wouldn't be
better to have only the stable releases on Maven Central, and have
the
unstable versions only on https://repository.apache.orgĀ - that way
people might somewhat more consciously 'opt in' to also seeing the
unstable releases?
A simpler change might be to specific qualifiers ( reference at [2] )
and keep the current process, e.g. after version 1.52.0 the next
unstable release would be 1.53.0-milestone-X, with the initial stable
release being 1.53.0 . This would cut down on some of the confusion.
At the same time, I think the odd/even versioning has some implications
on OSGi bundle deployments, but I am not sure how important this is for
Oak. In Sling we follow the same scheme, but we only release even
version, odd versions are only snapshots.
Clarification: we do not use unstable releases in Oak anymore. This is
just a Jackrabbit classic question.
Thanks,
Robert
[1]: https://jackrabbit.apache.org/jcr/downloads.html
[2]: https://maven.apache.org/pom.html#version-order-specification
Best regards, Julian