Throughout the API documentation, new classes and methods are indicated with a disclaimer "Since: version 2.1." Documentation, in general should be more thorough and complete.
One major change is that the library uses the same header #include
paths as external code. This documentation attempts to uniformly use the correct style, e.g.: #include <openbabel/mol.h>
Another major change was to increase the indexing of atoms and bonds. Previously only 2^16 atoms or bonds were possible.
The OBNodeBase, OBEdgeBase, and OBGraphBase classes were deprecated. Typedef declarations provide backwards compatibilty by mapping to OBAtom, OBBond, and OBMol, respectively.
In addition, this page gives a general list of additions to the library.
- obiter.h - Additional iterators, including breadth-first and depth-first iterators for atoms in OBMol, convenience iterators for rings, angles, torsions, and 1-4 non-bonded atom pair interactions.
- OBGenericData - Generic data is now inherited through OBBase for most types, including OBAtom, OBBond, OBMol, OBResidue, OBReaction, and OBGrid.
- OBForceField - Generic interface to molecular mechanics force fields, including Ghemical (Tripos-like) methods, and ultimately others such as MM2, MMFF94, etc.
- pluginiter.h - Generic interface to "plugin" classes, including force fields, and fingerprints.
- vector3 - General cleanup.
- matrix3x3 - General cleanup.
- OBMol - Copy and assignment now copy associated OBGenericData objects.
- OBResidueData - Now available for public use, rather than left as private to PDB format.
- OBSetData - Hierarchical sets of generic data.
- LineEndingExtractor - New class to correct DOS and Classic Mac line endings to UNIX-style newline characters.