Open Babel 2.5.0 (2017-XX-XX)

Open Babel 2.4.0 (2016-9-15)

Open Babel 2.3.0 (2010-10-23)

This release represents a major update and should be a stable upgrade,
strongly recommended for all users of Open Babel. Highlights include a
completely rewritten stereochemistry engine, Spectrophore fingerprint
generation, 2D depiction, improved 3D coordinate generation, conformer
searching, and more. Many formats are improved or added, including
CIF, PDBQT, SVG, and more. Improved developer API and scripting
support and many, many bug fixes are also included.

What's New from 2.2.3:

* Completely rewritten stereochemistry perception, including support
  for tetrahedral, square planar, and higher-order stereochemistry.
* Dramatically improved canonicalization algorithm (Note that in general, canonical SMILES have changed since the 2.2.x release.)
* 2D depiction, including SVG vector graphics generation using code from MCDL.
* New Spectrophore generation, contributed by Silicos NV.
* New ChargeMethod API including support for partial charge assignment
  from Gasteiger, MMFF94, QEq, QTPIE methods and plugin interface for
  adding more.
* Improved 3D coordinate generation.
* New conformer generation framework, including support for diverse
  conformer generation and genetic algorithm lowest-energy searching.
* Improved user documentation.
* Improved aromaticity / Kekule bond assignment.
* Improved unit test suite using the CMake-based CTest program.
* Improved support for crystallographic unit cells (e.g., in CIF format).
* Improved UFF force field method, including hypervalent 5, 6, 7 and higher coordination numbers.
* Support for the GAFF (Generalized Amber Force Field) method.
* Support for reading geometry optimizations as multiple conformers
  from Gaussian, GAMESS-US, and other quantum chemistry packages.
* Support for reading molecular orbital energies from quantum chemistry formats.
* Several memory leaks fixed.
* Fixed many compiler warnings.
* Fixed support for MinGW and Cygwin environments.
* Fixed bugs with Gaussian 09 output files.
* Latest released version of the InChI library (1.0.3) generating standard InChI.
* Many more bug fixes and small feature improvements.

==New Command-Line Operations==

* --canonical: Output atoms in canonical order for any file format (i.e., not just SMILES)
* --conformer: Run a conformer search on the input molecules (has many options)
* --gen2D: Generate a 2D depiction of the molecule
* --partialcharge <model>: Use the partial charge model supplied to
  generate charges (i.e., instead of default Gasteiger sigma model)
* --sort <descriptor>: Sort molecules by a specified descriptor
* --unique: Only output unique molecules (as determined by InChI generation)

==New File Formats==

Import & Export:
- DL-POLY CONFIG
- FHIaims XYZ
- PDBQT

Import only:
- DL-POLY HISTORY
- GULP output
- PWscf output
- Text

Export only:
- MNA (Multilevel Neighborhoods of Atoms)
- SVG vector graphics


Open Babel 2.2.3 (2009-07-31)

What's New from 2.2.2:

This release represents an important bug-fix upgrade, strongly recommended
for all users of Open Babel.

- Fixed bug in fingerprints in 2.2.2, where the default fingerprint
  format and bit length was changed inadvertently.
- Fixed detection of shared_ptr in tr1/memory.
- Fixed additional aromaticity / Kekule assignment bugs.
- Fixed several bugs in the MMCIF format.
- Additional bug fixes.

Open Babel 2.2.2 (2009-07-04)

What's New from 2.2.1:

This release represents a major bug-fix release and is a stable
upgrade, strongly recommended for all users of Open Babel. While there
may not be many new features, many crashes and other bugs have been
fixed since 2.2.1.

- Upgraded to the new InChI 1.02 release to produce standardized InChI
  and InChIKey output.
- Fixed many stereochemistry errors when reading/writing SMILES. This
  is part of a larger project which will be finished in the 2.3
  release.
- Fixed compilation and installation on Cygwin and MinGW platforms.
- Significantly improved aromaticity and Kekule bond assignment.
- Improved 2D -> 3D coordinate generation
- Improved coordinate generation using the --gen3d command-line
  operation
- Improved performance for coordinate generation.
- New --fillUC command-line operation for babel.
- Fixes to pH-dependent hydrogen addition.
- Added support for reading vibrational data from Molden, Molpro, and
  NWChem output files.
- Updated atomic radii from recent theoretical calculations.
- Fixed bug when reading gzip-compressed Mol2 or XML files.
- Close files after an error. Fixes a bug with Pybel where files would
  remain open.
- Many more bug fixes and small feature improvements.

==New File Formats==

Import & Export:
- Molpro input and output.
- VASP coordinate files (CONTCAR and POSCAR).

Open Babel 2.2.1 (2009-03-01)

What's New from 2.2.0:

This release represents a major bug-fix release and is a stable
upgrade, strongly recommended for all users of Open Babel. While there
may not be many new features, many crashes and other bugs have been
fixed since 2.2.0.

- Improved scripting interfaces, including Python 3 support and improved
  Java and C# support.
- Added support for MACCS fingerprints. Thanks to the RDKit project.
- Many fixes and enhancements to the force field code. In particular,
  the UFF force field implementation should handle many more molecules.
- Improved 3D coordinate generation, particularly with ring
  fragments. You can give this a try with the obgen utility.
- Fixed a variety of PDB import errors with atom types.
- Added support for reading charges and radii from PQR file formats.
- Added support for reading and writing unit cells in PDB formats.
- New "output" file format for taking generic ".out", ".log", and
  ".dat" files and reading with appropriate file type based on
  contents. Currently works extremely well for quantum chemistry
  packages.
- Added improved error handling and reporting when unable to load file
  formats.
- Improved CIF file format support.
- Many, many, many additional bug fixes and small enhancements.


Open Babel 2.2.0 (2008-07-04)

What's New from 2.1.1:

- New support for 3D coordinate generation using the OBBuilder class.
    Note that this code directly supports non-chiral compounds
    Stereochemistry may or may not be supported in this release
- Significantly faster force fields (up to 200x faster) and support
    for constrained optimization.
- New force fields, including complete UFF, MMFF94, and MMFF94s implementations.
- Monte Carlo conformer search support, including a new obconformer tool.
- Unified framework for plugin classes, including easy-to program file
    formats, descriptors, filters, force fields, fingerprints, etc.
- A new "descriptor" plugin framework for QSAR descriptors, etc.
   Initial descriptors include hydrogen-bond donors, acceptors,
    octanol/water partition, topological polar surface area, molar
    refractivity, molecular weight, InChI, SMARTS, titles, Lipinski
    Rule of Five, etc.
- A new "filter" plugin framework for selecting molecules by title,
    molecular weight, etc.
- Facility to add new "ops", commandline options or operations on the
    conversion process as plugin code.
   Initial operations include 3D coordinate generation, tautomer
    standarization, and addition of polar hydrogens.
- Code for integrating Open Babel and the BOOST graph library.
- Improved scripting support, including new bindings for C# and
    improved Java, Ruby, Python, and Perl bindings.
- Space group support and thoroughly revised and improved CIF format.
- Initial support for 3D point group symmetry perception.
- Improved support for "grids" or "cubes" of molecular data, such as
    from quantum mechanics programs. (See below for supported file
    formats.)
- Initial support for reading trajectories and animations.
- Improved support for reaction formats, including CML, RXN, and
    Reaction SMILES.
- Improved residue handling in PDB and Mol2 formats.
- Improved pH-dependent hydrogen addition.
- Latest released version of the InChI library, including use of the
    latest "preferred" options for InChI generation.
- Support for the cross-platform CMake build system.
- File format modules are now installed in a version-specific
    directory on unix, preventing problems between 2.2.x and 2.1.x (or
    older) plugin libraries.
- Framework to support "aliases" for group abbreviations, partially
    implemented for MDL formats.
- Many more bug fixes and small feature improvements.

==New File Formats==

Import & Export:
 Chemkin
 Gaussian Cube
 Gaussian Z-matrix
 GROMACS xtc trajectories
 MCDL
 mmCIF
 OpenDX cube (e.g., from APBS)
 Reaction SMILES
Import only:
 Accelrys/MSI Cerius II MSI text format
 ADF output
 ADF Tape41 ASCII data
 GAMESS-UK input and output
 Molden structure
 PNG (for embedded chemical data)
 PQR
Export only:
 MSMS input
 ADF input
 InChI Keys

Open Babel 2.1.1 (2007-07-07)

What's New from 2.1.0:

- Improved scripting support, including dictionary-support for
   OBGenericData in pybel, casting from OBUnitCell, etc. Improved
   access to OBRings from OBMol.GetSSSR().
- Added support for descriptors (e.g., PSA, logP) from scripting
   interfaces.
- Added support for reading all PDB records (beyond current atom and
   bond connections). Records not handled directly by Open Babel are
   added as key/value pairs through OBPairData.
- Added a new configure flag --with-pkglibdir to allow Linux package
   distributors to define version-specific directories for file format
   plugins.
- Fixed a bug which would not output chirality information for
   canonical SMILES with 3D files.
- Fixed problems with new line-ending code. Now correctly reads DOS
   and old Mac OS files with non-UNIX line endings.
- Correctly rejects SMILES with incorrect ring closures. Thanks to
   Craig James for the report.
- Fixed a crash when output to canonical SMILES.
- Fixed a crash when converting from SMILES to InChI.
- Fixed a crash when reading some PDB files on Windows.
- Fixed a crash when reading invalid MDL/SDF files.
- Fixed a bug which made it impossible to read some GAMESS files.
- Fixed a problem when reading ChemDraw CDX files on Mac OS X.
- A large number of additional fixes, including some rare crashes.

Open Babel 2.1.0    (2007-04-07)

What's New from 2.0.2:

- Now handles molecules with >65536 atoms or bonds. Some PDB entries,
   in particular have such large molecular systems.
- New features for molecular mechanics force fields, including energy
   evaluation and geometry optimization. Ultimately, this will enable
   coordinate generation and refinement for SMILES and other formats.
   (A flexible force field framework is available for developers.)
- Implementation of the open source Ghemical all atom force field.
- Framework for canonical atom numbering, including a new canonical
   SMILES format.
- New support for Ruby and Java interfaces to the Open Babel library.
- Improved scripting interfaces through Perl and Python, including the new "pybel"
  module with a more Python-like syntax.
- Automatically handles reading from text files with DOS or Mac OS 9
   line endings.
- Many enhancements to the Open Babel API: See the Developers API Notes for
   more information.
- New obenergy tool - evaluate the energy of a molecule using
   molecular mechanics.
- New obminimize tool - optimize the geometry of structures using
   molecular mechanics.
- Improved obprop tool - outputs a variety of molecular properties including
   Topological Polar Surface Area (TPSA), Molar Refractivity (MR), and logP.
- The babel tool can now setting program keywords for some quantum mechanics
   formats from the command-line, including: GAMESS, Gaussian, Q-Chem, and
   MOPAC. (This feature can also be accessed by developers and
   expanded to other formats.)
- New options for babel tool, including:
   -e for continuing after errors
   -k for translating computational keywords (e.g., GAMESS, Gaussian, etc.)
   --join to join all input molecules into a single output
   --separate to separate disconnected fragments into separate molecular records
   -C (combine mols in first file with others having the same name)
   --property to add or replace a property (e.g., in an MDL SD file)
   --title to add or replace the molecule title
   --addtotitle to append text to the current molecule title
   --addformula to append the molecular formula to the current title
- Many more bug fixes and small feature improvements.

New File Formats:
  Import & Export:
    Carine's ASCII Crystal (ACR)
    ChemDraw CDX & CDXML
    Crystallographic Interchange Format (CIF)
    Fasta Sequence
    Thermo Format
  Import:
    Gaussian fchk
    InChI
  Export:
    Open Babel MolReport
    Titles

Open Babel 2.0.2 (2006-07-24)

What's New from 2.0.1:

- Substantial fixes to the SMILES and SMARTS parsing support, thanks
  to a variety of bug reports.
- A variety of fixes to aromaticity perception and Kekule form
  assignment.
- Fixed gzip support, broken in version 2.0.1 inadvertantly.
- Output a warning when a multi-molecule files is converted to a
  single-molecule format.
- Better support for command-line tools such as obgrep on Cygwin.
- Fixed a variety of crashes.
- Countless other bug fixes.

Open Babel 2.0.1 (2006-04-17)

What's New from 2.0.0:

- Support for dynamic building on the Cygwin environment. This fixes a
  long-standing problem that made Open Babel useless to Cygwin users.
- Fixed a variety of memory leaks and improved overall memory use.
  More work to reduce memory consumption is underway for the 2.1 release.
- Improved Perl and Python scripting wrappers, including many
  bug-fixes.
- Fixes to the "make check" test suite, which should prevent problems
  running before babel is installed.
- Fixes compilation problems with AIX, Fedora Core 4, and the
  newly-released GCC-4.1.
- Fixed several reported compilation problems with Windows builds
  using VisualC++.
- Fixed several reported crashes.
- Fixed problems with the Turbomole format, thanks to Mikael
  Johansson.
- Fixed a bug with PDB files with coordinates < -1000 Ang.
- Improved support for the Sybyl mol2 format, thanks to Kevin Parkes.
- Fixed a variety of typos in the API documentation.
- Countless bug fixes.


Open Babel 2.0 (2005-11-26)

What's New from 1.100.2:

This release represents Open Babel's fourth "birthday" and a milestone for
a stable, flexible interface for developers and users alike.

- New conversion framework. The new framework allows dynamic
   loading/unloading of file translator modules (i.e., shared
   libraries, DLLs, DSO, etc.). More importantly, it facilitates adding
   new formats, since each format is self-contained and no editing of
   other files is required.
- Improved support for XML chemistry formats, including CML, PubChem XML,
- Support for fingerprinting and calculation of Tanimoto coefficients for
   similarity consideration.
   (A flexible fingerprint framework is available for developers.)
- New support for Perl and Python "wrappers" of the Open Babel library.
- Many enhancements to the Open Babel API: See the Developers API Notes for
   more information. Some code will require updating, see the
   Developer's Migration Guide for details.
- Support for automatically reading .gz compressed files.
   (e.g., 1abc.pdb.gz is uncompressed and treated as a PDB file)
   Use of the -z flag creates gzip-compressed output files.
- Support for the new IUPAC InChI identifiers.
- Improved bond order typing, including flexible SMARTS matching in
   bondtyp.txt.
- New Kekulization routine -- improves aromaticity detection in aromatic amines
   like pyrroles, porphyrins, etc.
- Improved support for radicals and spin multiplicity, including
   assignment of hydrogens to radicals.
- Improved support for 2D vs. 3D file formats.
- New error logging framework keeps an "audit log" of changes to files
   (hydrogen addition, bond order assignment) and different levels of
   error reporting / debugging.
   Use the "---errorlevel 4" flag to access this information.
- Improved atom typing and hydrogen addition rules.
- Improved obfit utility will output RMSD and find matches with the
   best RMSD.
- Updated isotope data from 2003 IUPAC standard.
- Updated elemental data from the Blue Obelisk Data Repository.
   (project started, in part, to validate the old Open Babel data)
- Improved z-matrix code (CartesianToInternal / InternalToCartesian).
- Countless bug fixes.

New File Formats:
  Import & Export:
	  ChemDraw CT (Connection Table)
	  CML Reaction files
	  MDL Molfile V3000
	  MDL Rxn files
	  Open Babel free-form fractional (crystallographic coordinates)
	  Open Babel fastsearch database format
	  Open Babel fingerprint formats
	  PCModel format
	  YASARA.org YOB format
	  Turbomole
          Improved CML support
  	  Improved Gaussian 98/03 support
	  Improved SMILES import / export
  Import-Only:
          PubChem XML
  Export-Only:
 	  MPQC input
	  Open Babel "copy" format (i.e., copy the raw input file)
	  Sybyl MPD descriptor format
	  IUPAC InChI descriptor

  Changed formats:
          MMADS - eliminated
	  bin - OpenEye binary v 1, eliminated
	  GROMOS96 - changed from separate g96a & g96nm types to a
	    unified g96 type. Defaults to output Angstroms, Use -xn
	    to output nm.
	  Titles - eliminated -- can be produced with SMILES -xt

Open Babel 1.100.2 (2004-02-22)

What's New from 1.100.1:

 -Shared library (version 0:0:0) built by default on POSIX systems
  (e.g. Linux, BSD, Mac OS X...)
 -Fixed installation of header files. The headers in the math/
  subdirectory were not installed alongside the other headers.
 -Added tools/ directory with small examples of using libopenbabel:
   * obgrep: Use SMARTS patterns to grep through multi-molecule files.
   * obfit:  Use SMARTS patterns to align molecules on substructures.
   * obrotate: Rotate a torsional bond matching a SMARTS pattern.
 -Improved PDB support: uses HETATM records more appropriately, attempts to
  determine chain/residue information if not available.
 -Fixed a variety of bugs in ShelX support.
 -Added support for handling atom and molecule spin multiplicity.
 -Updated documentation -- not yet complete, but significantly improved.
 -Fixed major omissions in CML readers and writers. All versions of CML are now
  supported (CML1/2 and array/nonArray). Also added *.bat
  file for roundtripping between these formats for both 2- and 3-D data.
  Fixed bugs in test/cmltest/cs2a.mol.cml.
 -Building and running the test-suite in a build-directory other than the
  source-directory is now fully supported.
 -Support for the Intel C++ Compiler on GNU/Linux.
 -Miscellaneous fixes to make it easier to compile on non-POSIX machines.

New File Formats:

  -Export: Chemtool
           Chemical Resource Kit (CRK) 2D and 3D
           Parallel Quantum Solutions (PQS)
  -Import: CRK 2D and 3D
           PQS

Open Babel 1.100.1 (2003-6-24)

What's New from 1.100.0:

 -Much better bond typing overall for files converted from formats
  without bond information (e.g. XYZ, QM codes). Fixed some bugs in
  1.100.1 and added additional improvments.
 -Support for the command-line "babel" program to convert some or
  all structures in a file with multiple molecules. By default this
  version will convert all molecules in a file. To change this, use
  the -f and -l command-line options as documented in the man page.
 -Isotope support, including exact masses in the "report" file
  format and SMILES data.
 -Updated API documentation.
 -Support for the Borland C++ compiler.
 -Fixed a variety of bugs in the PDB file format support, including
  better bond typing.
 -Support for output of residue information in the Sybyl Mol2 file
  format.
 -Some support for conversion of unit cell information, both in the
  library and in some file formats (i.e. DMol3, Cacao).
 -Coordinates now use double-precision floating point libraries for
  greater accuracy in conversions.
 -Fixed a variety of bugs uncovered in roundtrip testing.
 -Fixed a bug when attempting to perceive bond information on 2D
  structures.
 -Fixed several rare bugs that could cause segmentation faults.

New File Formats:

  -Import: ShelX
  -Export: ZINDO input


Open Babel 1.100.0 (2002-12-12)

What's New from 1.99:

 -Bond order typing is performed when importing from formats with no notion of
  bonds (quantum chemistry programs, XYZ, etc.).  -Now better conforms to the ISO
  C++ standard, should compile on most modern C++ compilers.
 -Improved test suite, including "roundtrip" testing, ensuring more accurate translations.
 -Support for the Chemical Markup Language (CML) and other file formats. (see below)
 -Improved PDB support -- should read PDB files more accurately and hew closer to the current PDB standard for export.
 -Improved Gaussian input generation.
 -Added support for the Chemical MIME standards, including command-line switches.
 -Added support for using the babel program as a pipe for a "translation filter" for other programs.
 -Can add hydrogen atoms based on pH.
 -Fixed a variety of memory leaks, sometimes causing other bugs.
 -Fixed a wide variety of bugs in various file formats.
 -Faster SMARTS matching and some overall speedups across the program.
 -API documentation using the Doxygen system.
 -Of course there are *many* other bug-fixes and improvements.

New File Formats:

  -Import: NWChem Output
  -Export: POV-Ray, NWChem Input
  -Both: CML, ViewMol, Chem3D

