Changes from version 1.0 to 2.0:

- Replaced Fibonacci heaps with pairing heaps 
  (M. Fredman, R. Sedgewick, D. Sleator, R. Tarjan, Algorithmica 1(1):111-129, 1986).
  Pairing heaps take less memory (namely, 2 pointers per edge less) compared to Fibonacci heaps,
  and seem to be marginally faster.

  Finonacci heaps are still available - replace PQ.h with PQ-Fibonacci.h .

- Changed data structures so that the time in SHRINK operations
  is O(m log n) per augmentation (I believe). This was not the case
  in version 1.0 (see footnote 5 in the MPC paper).

I re-ran experiments corresponding to tables 1,3,4,5,9 in the paper.
The new version was marginally faster (e.g. up to 10% faster) on all examples
except for lrb744710, where it was about 3 times faster.

Changes from version 2.0 to 2.01 (thanks to Nic Schraudolph and Dmitry Kamenetsky for useful suggestions):

- Fixed bug in block.h (replaced "new char[] ... delete ..." with "new char[] ... delete[] ...";
in the first case the behavious is not specified, though most compilers would compile it correctly.)

- Removed PQ-Fibonacci.h

- Added disclaimer about using floating point numbers

Changes from version 2.01 to 2.02:

- Tweaks to stop compiler warnings,
  changed "delete rev_mapping" to "delete [] rev_mapping" in misc.cpp (thanks to Nic Schraudolph for suggestions)

- Added a statement to license conditions

Changes from version 2.02 to 2.03:

- Fixed a bug: if the number of expands was too large (more than node_num/4) then the previous version could have crashed.
This was more likely to happen when dynamic updates were used (with multiple calls to PerfectMatching::Solve()).

Changes from version 2.03 to 2.04:

- Changes to make it compile under OS X and with latest gcc compilers, such as gcc 4.7.0 or 4.8.0
(thanks to Adam Whiteside and Michael Cook for suggesting these changes).



