OpenMRS Platform 2.4.0 Released

Hello community

Am pleased to announce that OpenMRS Platform 2.4.0 has been released. :smiley:

Major key highlights in this release include :-

  • Replacing the fhir module with fhir2 module and support for R4

  • Upgrading spring to 5.2.9

  • Upgrading Hibernate to 5.4.21

  • Adding support for Java 9, 10, 11, 12, 13, 14, 15 while not losing support for Java 8

  • Upgrade to Liquibase 3.10.2 and avoid running legacy liquibase changesets

  • Upgrade a number of other underlying libraries. e.g Log4j 2, JUnit 5, etc

  • Add support for PostgreSQL versions 8.2 up to the latest 12

  • Add support for all MySQL versions from 5.6 to the latest 8.0

Feel free to check it out here plus the release notes. Many thanks to everyone who has contributed to making this a success ie the developers.testers and implementations. Its been a great pleasure working with you all.

Best Regards

Cliff

7 Likes

Congratulation @gcliff

1 Like

Congratulations @gcliff well done :ok_hand:

@gcliff the release notes say the exact opposite of the actual work done in this release.

@dkayiwa i have fixed it

@gcliff not yet. Take a look at the technical roadmap: Technical Roadmap - Documentation - OpenMRS Wiki

Great work @gcliff.

1 Like

What a massive effort!! Huge kudos to you @gcliff and the many others who made this happen, such as @dkayiwa, @tendomart, @wolf, @mogoodrich, @mksd, @k.joseph, @herbert24, @sharif, @jwnasambu, @mozzy, @achilep, @samuel34, @burke, @aman, @irenyak1, @reagan, and the many others I may be missing here.

5 Likes

@gcliff it would also be great for the release announcement to include the major highlights that one should expect in this release.

2 Likes

@gcliff are you done with all the release steps?

yes am done

@gcliff did we delete the step for creating a blog about the release?

@dkayiwa have created it here

I thought it should be here: https://openmrs.org/

Did we change the instructions?

i dont think we have the instructions for the platform to create the blog post , i have been going through the platform release process but i haven’t seen the step for creating a blog about the release (correct me if am wrong on this)

Thanks

I have just noticed that we have it for the reference application release process but not platform. Do you mind copying the exact same instructions from there reference application release process page and paste them into the platform release process page? Then do the needful. :slight_smile:

let me change that

hello im seing this after running the jar file of standalone 2.3.0 The following error occurred at startup: Error occurred while trying to get the updates needed for the database. Unable to get a connection to the database. Please check your openmrs runtime properties file and make sure you have the correct connection.username and connection.password set java.lang.RuntimeException: Error occurred while trying to get the updates needed for the database. Unable to get a connection to the database. Please check your openmrs runtime properties file and make sure you have the correct connection.username and connection.password set at org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:630) at org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:587) at org.openmrs.util.DatabaseUpdater.updatesRequired(DatabaseUpdater.java:252) at org.openmrs.web.Listener.setupNeeded(Listener.java:217) at org.openmrs.web.Listener.contextInitialized(Listener.java:179) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5197) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5720) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1705) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1695) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.Exception: Unable to get a connection to the database. Please check your openmrs runtime properties file and make sure you have the correct connection.username and connection.password set at org.openmrs.util.DatabaseUpdater.getLiquibase(DatabaseUpdater.java:361) at org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:615) … 13 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2094) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2019) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:776) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at org.openmrs.util.DatabaseUpdater.getConnection(DatabaseUpdater.java:423) at org.openmrs.util.DatabaseUpdater.getLiquibase(DatabaseUpdater.java:358) … 14 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create socket factory ‘com.mysql.management.driverlaunched.ServerLauncherSocketFactory’ due to underlying exception: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861) at com.mysql.jdbc.MysqlIO.createSocketFactory(MysqlIO.java:3330) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:296) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2186) at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2035) … 28 more Caused by: java.lang.ClassCastException: com.mysql.management.driverlaunched.ServerLauncherSocketFactory cannot be cast to com.mysql.jdbc.SocketFactory at com.mysql.jdbc.MysqlIO.createSocketFactory(MysqlIO.java:3328) … 31 more

See the server log for full output.

Share the full server log via pastebin.com