Version 1.0 2012-06-02
======================

1.0 is out!


Version 1.0b4 2012-05-24
========================

Generate a semi-canonical SMARTS instead of a full SMARTS because the
canonicalization time, used to improve SMARTS match caching, was
noticible slower than doing the SMARTS matches in the first place.

Bug fix for --output-format fragment-sdf

Included more sample data sets.

Version 1.0b3 2012-05-15
========================

New command-line options:

  Specify the output file (default: stdout)
    --output <filename>
  
  Specify the output format. (default: smarts)
     --output-format  {smarts,fragment-smiles,fragment-sdf,complete-sdf}
  
  Write all of the SMILES or SDF records to --output instead
  of only the first match
    --output-all  
  
  Various options for how to save information to an SD tag:
    --save-atom-class-tag TAG
    --save-atom-indicies-tag TAG 
    --save-smiles-tag TAG
    --save-smarts-tag  TAG
  
Removed "--atom-compare ignore-aromaticity" because it violated
transitivity, which made the MCS order dependent if there were more
than two molecules.

Added isotope comparison, which can be used to implement
user-specified atom classes, especially given SMILES input.

Added support for a user-defined atom class field using an SD tag. The
atom classes are a space separated list of integers.

Improved README documentation.

Fixed bug in the SMARTS generation of bond closure values >= 10



Version 1.0b2 2012-05-11
========================

Support atom-compare=elements. This is used as the basis for
user-defined atom matching.

Support user-defined atom matching via the --atom-class-tag. This
specifies the SD tag whose value is a whitespace separated list of
atom classes, one value per atom. The values must be integers in the
range 1 - 10,000. Atoms match if and only if they are members of the
same class.

Support for outputing (sub)structures and not just the SMARTS. The SD
outputs also let you add the MCS SMARTS, MCS counts, and fragment
SMILES to tags of your choice.


Version 1.0b1 2012-04-27
========================

New --complete-rings-only option which requires that if a bond was in
a ring in the original structure then it must also be in a ring in the
MCS. Enabling this also enables --ring-matches-ring-only.

Individual --atom-compare and --bond-compare options, with the
original --compare option available as a handy shortcut. Changed some
of the names.

Use the --verbose option twice to also send progress details to
stdout.

Fixed a bug in the new pruning algorithm. It didn't include the list
of excluded bonds in the search for the number of remaining atoms and
bonds available for seed growth. The fixed version gives the same
answers, but in about 30% faster time.

Various optimizations, code cleanups, documentation improvements,
minor fixes, and other tweaks.



Version 0.95 2012-04-20
=======================

Improved the pruning algorithm to reduce search space if it can be
shown that the number of remaining atoms/bonds for seed growth can
never be better than the current best structure. Search times improved
by about 25-30%.

Fixed a bug in the maximize atoms comparison.

Added --timeout support which actually works.

Micro-optimization speedups of about 2%.

Version 0.9  2012-04-13
=======================

Initial release to client
