# OEToolkits 1.7.2¶

This is a new release of the OpenEye Toolkits with versions of the following libraries:

OEChem TK: 1.7.2 1.0.0 1.3.3 2.0.0 2.1.0 1.7.1 2.4.0 1.4.1 1.7.2 1.1.0 1.4.0 2.1.1
• There are two major additions to the OpenEye toolkit suite with this release:

A toolkit for doing 2D molecule similarity. The methods currently implemented are:

• Path based fingerprints
• MACCS key fingerprints
• LINGOS

A toolkit derived from OpenEye’s FILTER technology. This toolkit is useful for calculating an extensive list 2D molecular properties and building custom filters around these properties.

Note

The version number of MolProp TK will track with the FILTER application to indicate similarities.

• This release of OEChem introduces many bug fixes and new features provided they didn’t break source-level compatibility with 1.7.0.

• This release completes the transition from the old LaTeX based documentation system to the new reStructuredText based system. This includes better support for Python and Java in the manuals as separate manuals for every library.

The following release notes are only for the java toolkit:

• JDK1.5 would sometimes crash while loading the 1.7.0 libraries. This bug was introduced in 1.7.0 with the change to make all OpenEye library memory allocation use memory from the Java heap. However, JDK1.5 has a known bug http://bugs.sun.com/view_bug.do?bug_id=6253386 which doesn’t allow accessing the JVM during library initialization. Therefore, we now detect when the OpenEye libraries are being loaded by JDK1.5 and turn off Java heap allocation during library initialization. The amount of memory allocated during library initialization is usually negligible, so this shouldn’t allow programs to exceed the Java heap restrictions very much.

Warning

This fix introduces a rare corner case that could cause the OpenEye libraries to leak memory. It will only occur if the following sequence of events occurs:

Race Condition Causing Memory Leak
Allocate OEChem objects
Deallocate OEChem objects
This thread is terminated causing the OEChem objects to leak

If this occurs OEChem will throw the following warning:

Leaking memory (0x00000000) because OEUseJavaHeap is false
Contact OpenEye support if this message is seen


Note

None of this is possible in JDK1.6.

• OEIter.Target and OEIter.next will now raise NoSuchElementException to better adhere to the Iterable interface.

• Quacpac: Added support for writing a custom OETautomerMolFunction or OETyperMolFunction in Java by deriving from the base class.