Saturday, March 23, 2013

CDK 1.4.16: the changes, the authors, and the reviewers

Yes, quite overdue, but here's the changelog of CDK 1.4.16. This release is about bug fixing. The first CDK 1.4 release is long behind us, and the CDK project is working hard on stabilizing the 'master' branch for the first beta releases. Because this release introduced a nasty bug, you are not supposed to use this version, but the newer 1.4.17 version instead!

The list is quite long, and includes a mix of fixes (also of unit tests), improvements, and better documentation. Things to look out for include a distribution that includes the unit tests, important fixes in comparators (affecting canonical SMILES generation), used in sorting (mind the note above, and use 1.4.17!), and a fix in the output length the ProtonTotalPartialChargeDescriptor descriptor. As always, you are recommended to upgrade, but skip this version, and go immediately for 1.4.17.

The Changes
  • Now also has a task to create a source distrib that includes the unit tests (per user request) 26384a5
  • Expanded explanation of Sigma Electronegativity Descriptor 3f02b74
  • Added missing literature reference, and minimal additional information requested in bug #1285 4cf0f31
  • Correct unit test name and added missing unit tests and annotations. 601d0af
  • Added unit test and annotation for moment generation (3D Similarity) 33c99d1
  • Added explicit atom typing and aromaticity detection to several failing fingerprinter tests. ff8d374
  • Changed saturation conditional to also check that a bond is not aromatic. f37cfa7
  • Throw an error when a non-ring is attempted to be closed 9c4bd5e
  • C1C1 is an invalid SMILES; expect an thrown error fc63102
  • Properly pad the resulting descriptor value list to MAX_PROTON_COUNT, fixing two failing unit tests 7627dhttp://1.4.1784
  • Small fixes: remove STDOUT use and proper int-based assertEquals() method 7a81ea3
  • Typed the input class and added support for IChemFile.class input 51cf991
  • Added a missing dependency on the test data 76ade35
  • Added a missing dependency 2e6fc94
  • Properly implemented for data and silent 09868f4
  • And the Groovy deps for the CDKSourceCodeWriterTest 2e62bde
  • Also updated the Eclipse .classpath 3f88256
  • Also updated the other two PMD config files for 5.0.1 fa99bc8
  • Updated PMD to version 5.0.1 44572c6
  • Updated comparator on AtomPlacer. The comparator now uses the built in Integer comparator. To avoid null pointer exceptions the access to the weight value is wrapped in a private method which return the minimum integer value when the weight is not set (i.e. null). 0d658df
  • Corrected null handling on AtomContainer 2D centre comparison. Previous if either container was null the comparator would incorrectly return '0' indicating they were equal. The method was changed to always provide a minimum Point2d when an atom container is null. This will sort all null containers lower then non-null containers. ed399df
  • Replaced subtraction based comparator. This comparator is unlikely to overflow but the safety of using the equalities ensures the proper behaviour of this comparator. e5b1bc6
  • Replaced subtraction based comparison. When the difference (which is a double) is converted to an integer the result may overflow. This overflow can occur in rare cases but would cause the comparator to be non-transitive. 425c795
  • OK, simple fix: reset the test graph before each test method call 40536af
  • Make sure the tests are also run with JUnit4 6e8533a
  • Corrected canonical label sorting in the SmilesGenerator. This canonical labels are long and thus when the difference between two values is taken the result may be larger then the largest possible integer. This in rare cases cause the value to overflow and thus make the comparator non-transitive. 704280a
  • corrected handling of null value in the TreeNodeComparator. Previous if any node or atom were null the comparator would return '0' which is incorrect. If one is null and the other is not the objects are not equal. d7a55d3
  • Generified comparators, removing redundant casts 5a5db14
  • Corrected comparator in InvPair sorting. The current comparison was in violation of the comparable contract which was throwing an IllegalArgumentException on JRE 7. 2f92c91
  • A few unit tests uncovering some issues with == comparisons 46d48f9
  • Added accessor for the bond length in StructureDiagramGenerator 75b5fe6
  • Updated the @cdk.bugs taglet to support the new SourceForge project pages fbebbe0
  • Replaced IBond.Order.ordinal() usages with IBond.Order.numeric() 427fac6
  • Added a field to the bond order enumeration allow access to the numeric value for that order. 8c34bfe
  • unit test 7d5ce83
  • unit test 5bc24fa
  • unit test for bug 1269 (atom... not placed by SDG, causing NPE), remove catch statements, set expected e3c3590
The Authors

21  Egon Willighagen
14  John May
 4  Ralf Stephan

The Reviewers

12  Egon Willighagen 
12  John May 
 1  Gilleain Torrance