• IMP::atom::read_pdb() now has some documentation concerning what it produces, especially in regards to HETATM records. In brief, ligands are put intoIMP::atom::Residue along with actual residues (amino acids and nucleotides). The RESIDUE IMP::atom::Hierarchy::Type has been renamed to AMINOACIDand a type LIGAND has been added. See the IMP::atom::Hierarchy docs.
• IMP::atom::Mass has been added for decorating particles with mas. IMP::atom::Atom mass has been changed to use that. Non-atomic representations of molecules should also use that decorator.
• The way to generate IMP::atom::AtomType strings from non-residue atoms has now been specified. Code which produces/consumes such atoms should follow the conventions..
• IMP::atom::get_chain() now returns an IMP::atom::Chain. IMP::atom::root() was renamed to IMP::atom::get_root() for consistency.
• swig files are now generated from a file called swig.i in the pyext directory. This file only has to contain module-specific commands such as lines to wrap headers and instantiate module templates. No more broiler-plate.
• the contents of bin are moving to tools since the two directories both contained assorted development tools (not all of which were executable). For now, bin/imppy.sh will still work, but that will go away eventually. It really shouldn't be used outside of IMP development anyway.
• IMP::Decorator::show() now just takes the stream (it used to take a prefix also, which was often ignored). Anyone who implemented a decorator will have to delete the second argument of their show function.
Please make sure any behavior that you depend on of code in IMP is well documented. Documentation is the only way to tell what is intended behavior from what just happens to be that way as a result of how things are implemented. The latter should not be counted on to stay stable.