--0.8--
Released April 20, 2008

New features:
* the full set of reciprocal trigonometric and hyperbolic functions
  and their inverses (cotangent, secant, etc) is available
* oscillatory quadrature algorithm
* the PSLQ algorithm and constant recognition functions
* Richardson and Shanks transformations for computing limits and series
* Euler-Maclaurin summation of series
* basic ODE solvers (contributed by Ondrej Certik)
* the Lambert W function
* arithmetic-geometric mean function
* generic hypergeometric series and some special hypergeometric
  functions (elliptic integrals, orthogonal polynomials)
* several more mathematical constants
* fast sequential computation of integer logarithms and Bernoulli
  numbers
* Bessel function jv works for complex arguments and noninteger v
* support for trapping complex results
* using Sphinx to generate HTML documentation

Bugfixes, speed enhancements, and other improvements:
* compatibility tests should now pass on systems where Python is
  compiled to use 80-bit registers for floating point operations
* fixed mpmath to work with some versions of Python 2.4 where a
  list indexing bug is present in the Python core
* better algorithms for various complex elementary functions
  (tan and tanh by Fredrik; sqrt, acos, asin, acosh and asinh
  improved by Mario Pernici)
* multiplication and integer powers for complex numbers is faster
  and more accurate
* miscellaneous speed improvements to complex arithmetic (contributed
  by Mario Pernici)
* faster computation of cos and sin when only one of them is needed
  (contributed by Mario Pernici)
* slightly faster square roots at low precision (contributed by
  Mario Pernici)
* fixed computation of exp(n) for negative integers and x**y for
  negative half integers y
* mpf ** complex now works
* faster generation of quadrature nodes (contributed by Mario Pernici)
* faster change of variables for quadrature
* comparisons and conversions have been optimized slightly.
  comparisons with float(nan) also work as intended.
* str() is several times faster at very high precision
* implementations of most elementary functions moved to the lib
  and libmpc modules for cleaner separation of functionality
* the rounding argument for lib and libmpc functions, and for
  some functions also the the prec argument, are now optional,
  resulting in cleaner and slightly faster lib code
* gamma and factorial are about 2x faster
* polyroots returns nicer results
* pickling now works for mpf and mpc instances

--0.7--
Released March 12, 2008

* the interface for switching precision and rounding modes has been
  changed. instead of changing mpf.prec, there is a new object mp
  which holds the precision as mp.prec. this change improves
  flexibility in the implementation. it will unfortunately break
  any existing code written for mpmath, but the broken code should
  be trivial to update.
* the functions workprec, workdps, extraprec, extradps have been
  introduced for switching precision in a more safe manner,
  ensuring that the precision gets reset when finished. they can
  be used with the 'with' statement available in python 2.5
* improved documentation (manual.html)
* the round-half-down and round-half-up modes have been deprecated,
  since they added complexity without being particularly useful.
  round-half-even has been renamed to round-nearest.
* implemented the functions nstr, nprint for printing numbers with
  a small or custom number of digits
* accuracy of cos and sin near roots has been fixed. computing
  sin(x) or cos(x) where x is huge is also much faster
* implemented a magical constant eps that gives the "machine"
  epsilon
* additional mathematical functions: implemented Catalan's constant
  and Bessel functions J_n(x) for integer n and real x
* new functions diff and diffc for numerical differentiation
* implemented the ldexp function for fast multiplication by 2**n
* mpf uses rich comparison methods (contributed by Pearu Peterson)
* epydoc-friendly docstrings (contributed by Pearu Peterson)
* support creating mpf from float nan or inf
* fixed printing of complex numbers with negative imaginary part
* flattened package structure to simplify inclusion of mpmath in other
  packages
* external classes can interoperate with mpf and mpc instances
  by defining _mpf_ or _mpc_ properties
* renamed lib.fpow -> lib.fpowi and implemented lib.fpow for general
  real powers. <mpf> ** <mpf> should now be slightly faster and more
  robust
* the internal number representation has been changed to include
  an explicit sign bit. as a result of this change and other small
  tweaks, arithmetic is up to 20% faster and the total running
  time for mpmath's unit tests has dropped 10%.
* miscellaneous speed improvements:
  * <mpf> ** <int> is 2-3 times faster (contributed by Mario Pernici)
  * <mpf> * <int> and <int> * <mpf> is roughly twice as fast
  * <int> / <mpf> is roughly twice as fast (contributed by Mario
    Pernici)
  * exp and log are about 10% faster
  * fast computation of e and exp(n) when precision is extremely high

--0.6--
Released January 13, 2008

* added the mpi type for interval arithmetic
* powers with integer exponents are computed with directed rounding
  all the way through to preserve interval bounds more robustly
  (however, the code is not fully tested and may have some bugs)
* string input to mpf.__new__() can now be unicode
* mpf.__eq__ now works in pypy
* infs and nans are now implemented in mpmath.lib, resulting in
  considerable simplification of the mpf class implementation
* partial support for infs and nans in functions, e.g.
  exp(inf) -> inf and exp(-inf) -> 0 now work.
* renamed several files. created mpmath.apps and moved tests into
  the main mpmath directory
* wrote script to permit running unit tests without py.test available
* improved bit counting code in fadd, fmul and fdiv, plus other
  small performance tweaks, resulting in a 20-30% speedup for
  arithmetic

--0.5--
Released November 24, 2007

* added the quad module for arbitrary-precision numerical integration
* floor and ceil functions available
* implemented __mod__ and __rmod__ for the mpf class
* partial support for the special numbers +inf, -inf and nan
* faster multiplication and division (up to 40% faster with psyco)
* simplified syntax for conversion function (from_int instead of
  from_int_exact, etc)
* renamed cgamma to euler
* more documentation strings

--0.4--
Released November 3, 2007

* new string conversion code (much faster; unlimited exponents)
* fixed bug in factorial (it gave the wrong value, though gamma worked)
* division now uses a rigorous algorithm for directed rounding
  (mpmath previously used a heuristic that got the last bit wrong
  in 1/10000 of cases)
* misc. performance improvements (arithmetic is 15% faster)
* refactored parts of the code; added many more docstrings and tests
* added a function rand() for generating full-precision random numbers
* rewrote the benchmark script to compare against Decimal and to
  automatically generate timings with psyco both disabled and enabled
* rewrote unit tests to use py.test

--0.3--
Released October 5, 2007

* fixed high-precision accuracy problem in complex sqrt
* fixed high-precision accuracy problem in atan and complex log
* fixed directed rounding for sqrt (always rounded to nearest)
* implemented all hyperbolic and inverse functions (there are some
  accuracy issues left to sort out)
* included gamma, factorial, erf, zeta incomplete gamma functions
* made sin and tan more accurate for complex input very close to 0
* more docstrings
* many more tests
* including a benchmark script

-- 0.2 --
Released October 2, 2007

* 50% faster exponential function
* faster mpf <-> int ops
* fixed import error in pidigits.py; added demos to source distribution
* __rmul__ was missing on mpf
* fixed bitcount bug also for -(2**n-1)
* more docstrings
* more tests; tests included in source distribution
* approximate equality testing (.ae method) supported
* implemented atan and atan2 functions
* tan works for both mpfs and mpcs
* complex logarithms and complex powers supported
* more details in README

-- 0.1 --
Released September 27, 2007

* imported code from SymPy's numerics module
* renamed functions and restructured various parts of the code
* fixed erroneous bitcount for 2**n-1 mantissa with directed rounding
* various small speed improvements and bug fixes
