Info about 3.0

From Eigen
Revision as of 19:11, 25 November 2009 by Bjacob (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

What is Eigen 3.0?

Eigen 3.0 is the future next major version of Eigen. It is currently under development in the default branch in our Mercurial repository. It is not API or ABI compatible with Eigen 2.0, whence the version number increase to 3.0. However, we expect porting to 3.0 to be relatively easy and are doing our best in that direction. We will also provide extensive porting documentation.

No beta of Eigen 3.0 has been released yet.

What is the schedule for the 3.0 release?

See the Release schedule for 3.0. So far, only betas have been assigned a precise date. The final release date isn't decided yet.

Note to developers: The release schedule mentions the various freezes . If you have a feature or a change that you want to contribute to Eigen 3.0, that must be done before the relevant freeze.

What does there remain to do for 3.0?

We have a Todo for 3.0. As you can see, there's a lot of work left to do. We would greatly appreciate help.

What are the main areas of improvement between 2.0 and 3.0?

Eigen 3.0 is a major improvement on all fronts. Performance is improved everywhere. The API is much more future-proof, allowing for a long series of compatible 3.x releases. The algorithms are more reliable, in a way that was not always possible to achieve with the 2.0 API. Our aim is to be as reliable as LAPACK. Finally, Eigen 3.0 has a huge number useful new features and even many whole new modules.

What is the list of new features and improvements between 2.0 and 3.0?

We haven't yet written such a document. We will do that for the 3.0 final release.

What is the list of incompatible changes between 2.0 and 3.0?

We haven't yet written such a document. We will do that for sure, and hopefully by the time we release betas.

Do you plan to keep API compatibility for a longer period after 3.0?

Yes. We plan to enter a series of 3.x releases that will be fully compatible, only adding new API but not changing or removing existing API.