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.