Background

Hibernate is a series of large projects, and yet its core development team is amazingly small - which means that we need to pick our battles.

One of the lowest-hanging fruits for us in this regard is to maintain just the most recent release series. It is just not practical for us to support more than 1 or 2 branches simultaneously.

Discussions about maintenance invariably depend on discussions about versioning. For the purposes of this discussion, there are a few important considerations:

  • Pre-Final releases (Alpha, Beta and CR) are actively in-development and subject to justifiable API and SPI changes.

  • Final releases are considered stable - aside from changes necessary for bugfixes, the code is considered stable.

  • A {major}.{minor} combination (6.0, 6.1, 6.2, e.g.) is called a series.

  • Branches and maintenance are based on series.

Compatibility affects maintenance as well.

Therefore, "maintain" here means:

  • series against which we accept bug reports (consider them valid);

  • series to which we apply changes;

  • series for which we actively produce releases.

Maintenance Levels

latest-stable/stable

Series which are fully maintained.

Most Hibernate projects limit full maintenance to just the latest series; Hibernate Validator maintains multiple series.

development

Series which are still in pre-Final development are generally maintained at the same level as latest-stable/stable releases, except that we reserve the right to make changes in new API and SPI.

limited-support

A level of maintenance between latest-stable/stable and end-of-life.

Backports to these series are highly restricted and releases are not guaranteed.

We recommend that you upgrade to a newer series if possible or look for paid support: downstream frameworks or commercial offerings (e.g. Red Hat’s) may provide stronger guarantees.

end-of-life

The version has reached the end of its maintenance and support lifecycle.

We recommend that you upgrade to a newer series, if possible, because we are unlikely to fix bugs or provide new releases for this series.

Take-aways

  • Only bug-reports verified against the latest-stable/stable and development series are accepted.

  • Bug-fixes and improvements are only applied to latest-stable/stable and development (and sometimes to limited-support) series.

  • Only development and latest-stable/stable series are actively released. Occasional releases of limited-support series may happen, but should not be expected.

Back to top