Changelog has been taken from 
	http://eigen.tuxfamily.org/index.php?title=3.0
and
	http://eigen.tuxfamily.org/index.php?title=ChangeLog


== Eigen 3.0.1 ==

Released May 30, 2011

Changes since 3.0.0:

* Fix many bugs regarding ARM and NEON (Now all tests succeed on ARM/NEON).
* Fix compilation on gcc 4.6
* Improved support for custom scalar types:
** Fix memory leak issue for scalar types throwing exceptions.
** Fix implicit scalar type conversion.
** Math functions can be defined in the scalar type's namespace.
* Fix bug in trapezoidal matrix time matrix product.
* Fix asin.
* Fix compilation with MSVC 2005 (SSE was wrongly enabled).
* Fix bug in EigenSolver: normalize the eigen vectors.
* Fix Qt support in Transform.
* Improved documentation.


== Eigen 3.0.0 ==

Released March 19, 2011, at the [[Paris_2011_Meeting|meeting]].

See the [[3.0|Eigen 3.0 release notes]].

Only change since 3.0-rc1:
* Fixed compilation of the unsupported 'openglsupport' test.


== Eigen 3.0-rc1 ==

Released March 14, 2011.

Main changes since 3.0-beta4:

* Core: added new EIGEN_RUNTIME_NO_MALLOC option and new set_is_malloc_allowed() option to finely control where dynamic memory allocation is allowed. Useful for unit-testing of functions that must not cause dynamic memory allocations.
* Core: SSE performance fixes (follow-up from bug 203).
* Core: Fixed crashes when using EIGEN_DONT_ALIGN or EIGEN_DONT_ALIGN_STATICALLY (bug 213 and friends).
* Core: EIGEN_DONT_ALIGN and EIGEN_DONT_ALIGN_STATICALLY are now covered by unit tests.
* Geometry: Fixed transform * matrix products (bug 207).
* Geometry: compilation fix for mixing CompactAffine with Homogeneous objects
* Geometry: compilation fix for 1D transform
* SVD: fix non-computing constructors (correctly forward computationOptions) (bug 206)
* Sparse: fix resizing when the destination sparse matrix is row major (bug 37)
* more Eigen2Support improvements
* more unit test fixes/improvements
* more documentation improvements
* more compiler warnings fixes
* fixed GDB pretty-printer for dynamic-size matrices (bug 210)


== Eigen 3.0-beta4 ==

Released February 28, 2011.

Main changes since 3.0-beta3:

* Non-vectorization bug fixes:
** fix bug 89: work around an extremely evil compiler bug on old GCC (<= 4.3) with the standard assert() macro
** fix Umfpack back-end in the complex case
* Vectorization bug fixes:
** fix a segfault in "slice vectorization" when the destination might not be aligned on a scalar (complex<double>)
** fix bug 195: fast SSE unaligned loads fail on GCC/i386 and on Clang
** fix bug 186: worked around a GCC 4.3 i386 backend issue with SSE
** fix bug 203: SSE: a workaround used in pset1() resulted in poor assembly
** worked around a GCC 4.2.4 internal compiler error with vectorization of complex numbers
** lots of AltiVec compilation fixes
** NEON compilation fixes
* API additions and error messages improvements
** Transform: prevent bad user code from compiling
** fix bug 190: directly pass Transform Options to Matrix, allowing to use RowMajor. Fix issues in Transform with non-default Options. 
** factorize implementation of standard real unary math functions, and add acos, asin
* Build/tests system 
** Lots of unit test improvements
** fix installation of unsupported modules
** fixed many compiler warnings, especially on the Intel compiler and on LLVM/Clang
** CTest/CMake improvements
** added option to build in 32bit mode
* BLAS/LAPACK implementation improvements
** The Blas library and tests are now automatically built as part of the tests.
** expanded LAPACK interface (including syev)
** now Sparse solver backends use our own BLAS/LAPACK implementation
** fix bug 189 (cblat1 test failure)
* Documentation
** improved conservativeResize methods documentation
** documented sorting of eigenvalues
** misc documentation improvements
** improve documentation of plugins


== Eigen 3.0-beta3 ==

Released February 12, 2011.

The biggest news is that the API is now '''100% stable'''.

Main changes since 3.0-beta2:

* The "too many to list them all" category:
**lots of bug fixes
**lots of performance fixes
**lots of compiler support fixes
**lots of warning fixes
**lots of unit tests improvements and fixes
**lots of documentation improvements
**lots of build system fixes
*API changes:
**replaced ei_ prefix by internal:: namespace. For example, ei_cos(x) becomes internal::cos(x).
**renamed PlanarRotation -> JacobiRotation
**renamed DenseStorageBase -> PlainObjectBase
**HouseholderSequence API cleanup
**refactored internal metaprogramming helpers to follow closely the standard library
**made UpperBidiagonalization internal
**made BandMatrix/TridiagonalMatrix internal
**Core: also see below, "const correctness".
**Sparse: EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET must be defined to use Eigen/Sparse
**Core: random<interger type>() now spans over range of width RAND_MAX
*New API:
**Core: added Map static methods taking strides
**SVD: added jacobiSvd() method
**Sparse: many misc improvements and new features. Improved support for Cholmod, Amd, SuperLU and other back-ends.
**Core: allow mixed real-complex dot products 
**Geometry: allow mixed real-complex cross products 
**Geometry: allow to pass Options parameters to Transform, Quaternion and other templates, to control memory alignment
**QR: add threshold API to FullPivHouseholderQR
**Core: added tan function
*Const correctness:
**Eigen now properly enforces const-correctness everywhere, for example with Map objects. This will break compilation of code that relied on former behavior.
**A new kind of test suite was added to check that, 'failtest'.
*BLAS/LAPACK:
**Complete BLAS library built on top of Eigen. Imported BLAS test suite, which allowed to fix many issues.
**Partial LAPACK implementation. Passing part of the LAPACK test suite, which also allowed to fix some issues.
*Eigen 2 Support:
**tons of improvements in EIGEN2_SUPPORT
**new incremental migration path: see http://eigen.tuxfamily.org/dox-devel/Eigen2SupportModes.html
**imported a copy of the Eigen 2 test suite, made sure that Eigen 3 passes it. That also allowed to fix several issues.


== Eigen 3.0-beta2 ==

Released October 15, 2010.

Main changes since 3.0-beta1:

* Add support for the vectorization of std::complex<> with SSE, AltiVec and NEON.
* Add support for mixed real * complex matrix products with vectorization.
* Finalize the JacobiSVD class with: compile time options, thin/full decompositions, and least-square solving.
* Several improvement of the Transform class. In particular, there is no default mode anymore.
* New methods: middleRows(), middleCols(), TriangularMatrix::conjugate()
* New unsupported modules: OpenGL, MPFR C++
* Many improvements in the support of empty objects.
* Many improvements of the vectorization logic.
* Add the possibility to extend QuaternionBase.
* Vectorize Quaternion multiplication with double.
* Significant improvements of the documentation.
* Improved compile time errors.
* Enforce static allocation of temporary buffers in gemm (when possible).
* Fix aligned_delete for null pointers and non trivial dtors.
* Fix eigen decomposition of 3x3 float matrices.
* Fix 4x4 matrix inversions (vectorization).
* Many fixes in QR: solving with m>n, use of rank, etc.
* Fixes for MSVC for windows mobile and CLang.
* Remove the Taucs backend (obsolete).
* Remove the old SVD class (was causing too much troubles, a new decompozition based on bidiagonalisation/householder should come back soon, JacobiSVD can be used meanwhile).


== Eigen 3.0-beta1 ==

Released July 5, 2010
