2.0.2
-----

Added new method **iterfind** in **mzid**, **pepxml** and **mzml**.

2.0.1
-----

API changes
...........

  - **parser.peptide_length** is renamed to **length**.

2.0.0
-----

Added **mzid** module for parsing of mzIdentML files.

Fixed bugs, improved tests.

API changes
...........

  - top-module functions in **fasta**, **mgf**, **mzml**, **pepxml**, as well
  as **mzid**, are now called **read**.

  - in **parser**, **parse_sequence** renamed to **parse**. It now accepts
  an optional parameter `allow_unknown_modifications`.   

  - **mgf.write_mgf** and **fasta.write_fasta** renamed to **write**.

  - the output format of all **read** functions has changed.

1.2.5
-----

Include Apache license version 2.0:
http://www.opensource.org/licenses/Apache-2.0

Minor bugfix in **fasta**.

1.2.4
-----

Changes in **mass**.

API changes
...........

    - **Composition** objects can be created using positional first argument,
    which will be treated as a sequence or (upon failure) as a formula. That
    means that all functions relying on Composition (**calculate_mass**,
    **most_probable_isotopic_composition**, **isotopic_composition_abundance**)
    allow that as well. However, it's of no use for the latter.

    - **Composition** entries for modifications can be added to *aa_comp* and
    used in composition and mass calculations. This way the specified group will
    be added to any residue bearing this modification.

    - That being said, the **add_modifications** function is not needed anymore
    and has been removed.

    - Addition and subtraction of **Composition** objects now produces a
    **Composition** object, allowing addition/subtraction of multiple objects.

    - **Composition** is now a subclass of **collections.defaultdict** so one
    can safely retrieve values without checking if a key exists.

1.2.3
-----

**parser.isoforms** now allows terminal modifications.

Bugfixes in **parser.parse_sequence**.

New function **parser.tostring** converts parsed sequences to strings.
Helper function **parser.is_modX** added to check *modX* labels.

API changes
...........

    - **parser.isoforms** now returns a generator object

1.2.2
-----

Bugfix in **pepxml**: modification info is now extracted.
New optional bool argument 'split' in **parser.parse_sequence()** allows to
generate a list of tuples where modifications are separated from the residues
instead of a regular list of labels. In *labels* not only *modX* labels are
now allowed, but also separate *mod* prefixes. Such modificatiuons are assumed
to be applicable to any residue.


1.2.1
-----

Memory usage **significantly** decreased when parsing large mzML and pepXML
files.

1.2.0
-----

Added support for Python 3. Python 2.7 is still supported, Python 2.6 is not.

1.1.1
-----

New function called **add_modifications()** added in
**pyteomics.mass**. It updates *aa_comp*. Also,
**isoforms()** is a new method in **parser** to get all possible modified
sequences of a peptide.

1.1.0
-----

New module added - **pyteomics.mgf**. It is intended for reading and writing
files in Mascot Generic Format.

1.0.2
-----

In **pepxml** module, now all search hits are read from file (not only the top
hit).

API changes:
............

    - *pepxml*: information specific to search hits is now stored in a list
    under the 'search_hits' key. The list is sorted by hit rank.


1.0.1
-----

Fix compatibility issues in **pepxml** module.

1.0.0
-----

The first public release of Pyteomics.

API changes:
............

    - *achrom*: rename 'length correction factor' to 'length correction parameter'.
      achrom.get_RCs_vary_lcf() was renamed to achrom.get_RCs_vary_lcp(),
      'length_correction_factor' keyword argument of achrom.get_RCs() was 
      renamed to 'lcp'.
      

