ChemAxon update - changes to Java, .NET and OLE support

news · 2 months ago

In the upcoming LTS (long term support) release, we are streamlining ChemAxon’s support of Java and .Net.

JAVA 8 SUPPORT WILL CEASE

According to the Oracle Java Support roadmap the premier support period for Java 8 is going to expire in March 2022. After that Oracle will provide extended support to Java 8 as a paid service.
In accordance with this, ChemAxon will phase out Java 8 support in 2021. The next LTS release (expected in September 2021) will be the last version built on Java 8. After that release, both LTS and frequent releases will require Java 11 as a minimum runtime environment.

Java 11 is a more modern and secure Java version that has been available for 3 years now, most of the maintained Java libraries have been made compatible with it already. This upgrade is important for keeping our tools and libraries state-of-the-art, future-proof and secure.
We have been fully Java 11 compatible for years now, so upgrading should be easy and seamless for all of you. This change will only affect you if you are embedding our applications within something that is not Java 11 compatible.
Java 11 is currently the latest available LTS version of Java, and Oracle provides extended support for it until September 2024. In addition to this, ChemAxon officially supports and recommends AdoptOpenJDK as a runtime environment, which plans to provide updates “at least until October of 2024” for free or even longer if the original source code (maintained by Oracle experts) keeps updating after that date.

IKVM, JCHEM .NET API AND OLE COPY SUPPORT WILL CEASE

Because of the Java changes, ChemAxon will leave IKVM support after the next LTS release. And it means that we will remove the support of JChem .Net API as well. As a consequence, the OLE copy (and the so-called MarvinOLEServer) support will cease after the next LTS version release. We have used IKVM for many years to compile our Java libraries to .Net compatible DLLs. This technology was abandoned by the creator years ago, and now we are leaving it behind as well.

The last LTS supporting IKVM will have an extended support period to ease the switch from the current solution to the next one.

What is IKVM?
IKVM is a reimplementation of Java in .Net. It was used as a bridging technology to provide access to our libraries and tools written in Java. When Java 9 was released the official support of IKVM was stopped. ChemAxon plans to migrate to newer Java technologies with the next upcoming LTS, which will block us from supporting IKVM in the future.

The ability to copy/paste editable chemical structures from chemical editors into MS Office documents and to edit/convert legacy OLE objects (including those from foreign vendors) will be provided by JChem for Office Lite.

The ChemAxon .Net package will remain available and every functionality in it will remain, but rewritten to support future developments. If you find any features missing, please don’t hesitate to contact us about it. The new solution will use the officially supported bridging interfaces of Java, so we can provide a futureproof, more secure, more performant experience.

What are the differences between JChem .Net API and ChemAxon .Net API?
ChemAxon .Net API is a more convenient tool for C# developers written in C# and using the ChemAxon .Net API behind the scenes. JChem .Net API is an exact transpilation of our Java tools that is executed in the IKVM.