Hi all,
We’re going to have a relatively rapid set of FHIR2 module releases in the coming weeks, so I wanted to provide a quick overview of what will be happening and why.
First, we will be shortly releasing 2.8.0. This is planned to be the last major version with 2.x as the main development line. However, we will create a module-level 2.x branch for any fixes and changes that are backportable.
After that, we will be releasing 3.0.0. 3.x is intended to be basically backwards compatible with 2.x. What is changing is the FHIR2 DAO layer. The FHIR2 module DAO layer in 2.x relies heavily on the Hibernate Criteria API, which offers a great deal of flexibility in generating queries, but which is deprecated in newer versions of Hibernate and will be removed. Consequently, for 3.x the DAO layer will be re-written to use the JPA2 Criteria API. Because of how the FHIR2 module is structured, this will only really impact modules that leveraged the FHIR2 DAO API classes to implement their own DAOs, as there are no changes to the other classes. You can follow along with these changes in this PR.
Once 3.0.0, the plan is to start moving to supporting newer versions of Java and updating to newer versions of the underlying HAPI library. This means that we will likely be releasing a version 4.0.0 that will require JDK 11 (at least) as a minimum within the next few months.
Thanks for your attention! Let me know if there are any questions!