OEAssignAromaticFlags performance is significantly improved for molecules with a large number of rings, such as buckyballs. Since OEAssignAromaticFlags is called when reading from every file format OEChem supports this solves problems where OEChem would appear to hang indefinitely trying to read certain molecules. OEAssignAromaticFlags will now automatically adjust the maximum path considered for aromaticity perception based upon the following heuristics:
In the case of buckyballs and other fused ring systems of 5 and 6 membered rings, this change has no effect other than to significantly improve the speed of the perception.
Isomeric canonical smiles improved in the following ways:
Several new functions have been added for the perception and handling of protein secondary structural elements:
Sheets, helices, and turns are perceived using the method of Kabsch & Sander 1983, and are stored in atoms’ OEResidue records. Secondary structure perception is performed by default when reading PDB files, but can be controlled with a new PDB input flavor, OEIFlavor::PDB::SecStruct.
OEColorGradientBase::GetColorAt fixed to correctly round color components after interpolation.
OESystem::OEGeom3DGetOverlayRotTrans renamed from OEGeomGetOverlayRotTrans and argument order changed to mimic other 3D geometry functions.
The following OEColor functions and methods will automatically clamp color values to the range [0,255] and [0.0, 1.0] for integers and floating point numbers respectively:
A warning will be thrown to OEThrow if a clamping occurs.
Valgrind warning silenced caused by mismatching new  and delete in OEChem’s small object memory allocator. The proper delete  is now used though no real issue was observed by this bug in production.
OEInterface no longer returns duplicate and confusing error messages by properly respecting the error_level argument in all failure conditions instead of using OEThrow.Error.