[hibernate-dev] Explaining versioning and dependency compatibility

Gunnar Morling gunnar at hibernate.org
Mon Jul 14 06:21:40 EDT 2014


2014-07-13 14:47 GMT+02:00 Sanne Grinovero <sanne at hibernate.org>:

> I've been explaining $subject to a forum user [1]. I'm confident it's
> only a problem for newcomers, but are we expecting more expert
> developers to pass this lore by word of mouth?
>

Not so sure whether it's not a problem for expert users as well every now
and then.

Looking at OGM for instance, we're currently in the situation that we
depend on a specific micro version of ORM (4.3.6 once it's out), which may
be a surprising fact. Personally, I think it'd be rational for a user to
expect compatibility based on minor version families of our projects, e.g.
that each OGM 4.1.x release is compatible with each ORM 4.3.x release.

As we can't guarantee this due to the rapid evolvement atm. (e.g. we add
new SPIs in ORM micro releases for the sake of OGM), some clear
documentation is highly desirable.

I think we should add an explanation on these on the website but I'm
> not sure where this would be more appropriate to present.
>
> Should we highlight compatible versions of other integration points on
> each sub section?
> For example I could edit the Search area to mention which versions of
> ORM, OGM, Lucene, Validator, Envers, Infinispan(we might have two
> different ones!), Commons Annotations, etc.. are supposed to work for
> each release.
>

Documenting the matching/required versions of upstream projects in each
project area may be one way. E.g. Search could document its requirements,
OGM its own etc. I don't think Search should document any expectations
towards OGM versions as the dependency is the other way around?

Speaking in Maven terms, I still think that providing this information in
form of bill-of-materials POMs would be the approach most helpful to users.
Such project BOM would contain the versions of all its components and
dependencies. Users would reference this BOM using the "import" scope in
their dependency management configuration and thus get matching versions
when declaring a dependency to any of the artifacts listed in the BOM.

I vaguely remember though that in the past there had been reservations
towards providing such BOMs?

@Davide, I've created https://hibernate.atlassian.net/browse/OGM-574 to do
this for OGM; Shall we give it a try?

--Gunnar



> [1] https://forum.hibernate.org/viewtopic.php?f=31&t=1035292
>
> -- Sanne
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>


More information about the hibernate-dev mailing list