# Release History

Releases follow the `major.minor.micro` scheme recommended by PEP440, where

- `major` increments denote a change that may break API compatibility with previous `major` releases

- `minor` increments add features but do not break API compatibility

- `micro` increments represent bugfix releases or improvements in documentation

## 0.2.2 - Bugfix release

This release modifies an example to show how to parameterize a solvated system, cleans up backend code, and makes several improvements to the README.

### Bugfixes

- PR #279: Cleanup of unused code/warnings in main package `__init__`

- PR #259: Update T4 Lysozyme + toluene example to show how to set up solvated systems

- PR #256 and PR #274: Add functionality to ensure that links in READMEs resolve successfully

## 0.2.1 - Bugfix release

This release features various documentation fixes, minor bugfixes, and code cleanup.

### Bugfixes

- PR #267: Add neglected `<ToolkitAM1BCC>` documentation to the SMIRNOFF 0.2 spec

- PR #258: General cleanup and removal of unused/inaccessible code.

- PR #244: Improvements and typo fixes for BRD4:inhibitor benchmark

## 0.2.0 - Initial RDKit support

This version of the toolkit introduces many new features on the way to a 1.0.0 release.

### New features

- Major overhaul, resulting in the creation of the SMIRNOFF 0.2 specification and its XML representation

- Updated API and infrastructure for reference SMIRNOFF `ForceField` implementation

- Implementation of modular `ParameterHandler` classes which process the topology to add all necessary forces to the system.

- Implementation of modular `ParameterIOHandler` classes for reading/writing different serialized SMIRNOFF forcefield representations

- Introduction of `Molecule` and `Topology` classes for representing molecules and biomolecular systems

- New `ToolkitWrapper` interface to RDKit, OpenEye, and AmberTools toolkits, managed by `ToolkitRegistry`

- API improvements to more closely follow PEP8 guidelines

- Improved documentation and examples

## 0.1.0

This is an early preview release of the toolkit that matches the functionality described in the preprint describing the SMIRNOFF v0.1 force field format: [DOI].

### New features

This release features additional documentation, code comments, and support for automated testing.

### Bugfixes

#### Treatment of improper torsions

A significant (though currently unused) problem in handling of improper torsions was corrected. Previously, non-planar impropers did not behave correctly, as six-fold impropers have two potential chiralities. To remedy this, SMIRNOFF impropers are now implemented as three-fold impropers with consistent chirality. However, current force fields in the SMIRNOFF format had no non-planar impropers, so this change is mainly aimed at future work.