## Wednesday, July 28, 2010

### CDK 1.2.6: the changes and the authors

Like all release in the 1.2 series after CDK 1.2.0, release 1.2.6 is a bug fix release. Anyone running a CDK 1.2 version is advised to upgrade. New in this release is the availability of a torrent for the cdk-1.2.6.jar (see BitTorrents for Science). Please find below the changes and the authors that contributed to this release.

The changes
• Updated the DebugBond unit test too now: new DebugBond() has zero atoms 6ef1fb1
• Backport patch, to make the patches compile with cdk-1.2.x ce9b1bd
• Additional patch to reduce atom count on setAtom(null, int) and unit tests for the setAtom(IAtom, int) behavior. 6cf95db
• Also fix the new NNBond() == 0 atoms for the nonotify module 23d9685
• Fixed Bond() constructor to create a bond with zero atoms. Also fixed setAtom(IAtom, int) to increase the atom count if a null entry is filled with a non-null IAtom. 916ab96
• Updated test to assume new Bond() creates a bond with zero atoms 4ac7111
• Exceptions when clone atomless ISingleElectron and ILonePair too c5d4cd3
• Unit test for ArrayIndexOutOfBoundsException occuring when trying to clone an IAtomContainer with an IBond with no IAtoms d71c31c
• Added unit tests for SMILES with failing atom typing, from email on the cdk-devel mailing list June 11 2010 890d0f5
• Added the N.oxide atom type, for structures like (CH3)N=O bb431e3
• Fixed reading of SD properties: keep the first line too 3133a18
• Fixed unit test: surely there is no atom with symbol 0... how long has this been failing?? c888e4f
• Added a test class to aromaticity of three compounds: the last incorrectly fails a454ab8
• Also except N.amide as part of an aromatic ring 3357113
• Added a test class to repeat atom type perception and test consistency 0bd5b42
• Unit test fix: the molecules *is* aromatic, as we should assume it is. Fixes a big goof up cd83236
• Replace special chars where spaces are supposed to occur, fixing the fail of the unit tests every now and then 483c856
• Improved javadoc generation using a link tag, so that references to java library classes are resolved properly 1f8bb2d
• Removed use of the proprietary DocCheck utility 1523f66
• Use the new tests in more situations e8b13b2
• Introducing PMD test for CDK specific issues: 406930b
• Replaced outdated URL with entry in WikiPedia (fixes #3002741) ad2bd3e
• Fixed a ClassCastException in a unit test; I messed up (mea culpa) b5fa3dc
• Fixed NullPointerExceptions for LonePair's and SingleElectron's constructed with the no-argument constructors 5f34897
• Added missing cloning of single electrons 2d4c122
• Do not try to clone the atom if it does not exist 9672df0
• converted uses of indexOf to startsWith/contains 7b9d84e
• Updated HIN reader to fix bug 2984581 f95c632
• Added unit test to see of arrays are properly cloned, and that array entries of the original are not overwritten 38d5f8d
• Unit test that the IAtom[] array is properly cloned, and overwriting entries in the clone does not overwrite entries on the original 3c1b07e
• Removed duplication of cloning. 216c160
• Apparently the super.clone() does not clone the pointer to the IAtomContainer[], causing a clone() followed by changing containers in the clone to overwrite the original IAtomContainer[]. Fixed by creating a new array. 4e5d6a1
• Moved test from the specific class to the abstract tests, as the behavior should be the same for NNMoleculeSet and DebugMoleculeSet too 068fb3b
• Two more tests for the issue: atom typing works fine; aromaticity detection fails: one ring is detected as aromatic (that with two nitrogesn), so that it does not consider the double ring, marking the other ring as non-aromatic 3be2367
• Fixed taking into account larger ring systems when one ring is in itself already aromatic (fixes #2976054) 891049f
• Fixed cloning of properties with null values by always using HashMap (fixes #2975800) 2f722f0
• Added four and six coordinate neutral platinum atom types. 407d793
• Shortened the SMILES to only contain the aromatic atoms, allowing a foreach loop: replaced for-loop by a foreach-loop, solving also the not testing all atoms in the testAromaticty() test. 6fcc3d0
• Added InChI, and link to existing pyrolle test, using a different SMILES f088cd6
• Added tests for two cases of aromatic rings c26ae95
• Added @cdk.bug annotation, and restricted testing to the bug 3b08f1a
• Removed try/catch to retain the stacktrace of where the NPE occurs ce11b52
• Test checking for NPE when cloning with property with null as value 0aa632a
• Loosened the perception of N.planar3 atom types: the Hueckel system consist of more than one ring, so looking just at the ring to which the atom belongs does not make sense d651c25
• Added unit tests for atom type perception of more N.planar3 atom types 83423a7
• Removed unused import e1c03fb
• Removed last bits of implementation details from the API: now uses List<> instead of ArrayList<> 7727b72
• Removed output to STDOUT 14e1d12
• Ant has a release 1.8 that should be accepted in build.xml 4398cc4
• The IMapping interface had a class comment which probably was a copy&paste artefact. Changed this. 05c857c
• Fixed license info .meta file for JavaCC d9e15bb
• Bumped version to differ form the 1.2.5 release 17a6f08

The authors
The below numbers are based on the number of commits, but keep in mind that some developers, like myself, need more commits for the same number of changed lines.
49  Egon Willighagen
3  Rajarshi Guha
2  Stefan Kuhn
1  Arvid Berg
1  Mark Rynbeek
1  maclean


The reviewers
The below list is based on who signed off the patches. Anyone who reviews patches in the patch tracker can basically do this. Ask on cdk-devel on how to do this.
41  Rajarshi Guha
3  Egon Willighagen