- Complete revamp of methods in class matrix. Some redundant (and poor)
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index 53b0f92..4a119ee 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,84 @@
 This file records noteworthy changes.
 
-0.4.0 (26 November 1999)
-* First public release.
+0.6.4 (10 August 2000)
+* Complete revamp of methods in class matrix.  Some redundant (and poor)
+  implementations of elimination schemes were thrown out.  The code is now
+  highly orthogonal, more flexible and much more efficient.
+* Some long standing and quite nasty bugs were discovered and fixed in the
+  following functions: add::normal(), heur_gcd(), sr_gcd() and Order_eval().
+
+0.6.3 (25 July 2000)
+* Derivatives are now assembled in a slightly different manner (i.e. they
+  might 'look' different on first sight).  Under certain circumstances this
+  can result in a dramatic speedup because it gives hashing a better chance,
+  especially when computing higher derivatives.
+* Some series expansions of built-in functions have been reengineered.
+* The algorithm for computing determinants can be chosen by the user.  See
+  ginac/flags.h and ginac/matrix.h.
+* The Dilogarithm (Li2) now has floating point evaluation, derivative and a
+  proper series expansion.
+* Namespace 'std' cleanly disentangled, as demanded by ISO/EIC 14882-1998(E).
+* Some minor bugfixes, one major lsolve()-bugfix and documentation updates.
+
+0.6.2 (21 June 2000)
+* ginaccint.bin is now launched by a binary program instead of by a scripts.
+  This allows us to write #!-scripts.  A small test suite for GiNaC-cint was
+  added.
+* Several minor bugfixes.
+
+0.6.1 (18 May 2000)
+* Cleanup in the interface to Cint.  The required version is now Cint 5.14.38.
+* Several bugfixes in target install.
+
+0.6.0 (11 May 2000)
+* IMPORTANT: Several interface changes make programs written with GiNaC 
+  much clearer but break compatibility with older versions:
+  - f(x).series(x,p[,o]) -> f(x).series(x==p,o)
+  - series(f(x),x,p[,o]) -> series(f(x),x==p,o)
+  - gamma() -> tgamma()  (The true Gamma function, there is now also
+    log(tgamma()), called lgamma(), in accord with ISO/IEC 9899:1999.)
+  - EulerGamma -> Euler
+* #include'ing ginac.h defines the preprocessor symbols GINACLIB_MAJOR_VERSION,
+  GINACLIB_MINOR_VERSION, and GINACLIB_MICRO_VERSION with the respective GiNaC
+  library version numbers.
+* Expressions can be constructed from strings like this:
+    ex e("2*x+y", lst(x, y));
+* ex::to_rational() provides a way to extend the domain of functions like
+  gcd() and divide() that only work on polynomials or rational functions (the
+  good old ex::subs() method reverses this process)
+* Calling diff() on a function that has no derivative defined returns the
+  inert derivative function "Derivative".
+* Several new timings in the check target.  Some of them may be rather rude 
+  at your machine, feel free to interrupt them.
+
+0.5.4 (15 March 2000)
+* Some algorithms in class matrix (notably determinant) were replaced by
+  less brain-dead ones and should now have much better performance.
+* Checks were completely reorganized and split up into three parts:
+  a) exams (small regression tests with predefined input)
+  b) checks (lenghty coherence checks with random input)
+  c) timings (for coherence and crude benchmarking)
+* Behaviour of .evalf() was changed: it doesn't .evalf() any exponents.
+* Expanded expressions now remember they are expanded to prevent
+  superfluous expansions.
+* Small bugfixes and improvements in the series expansion.
+
+0.5.3 (23 February 2000)
+* A more flexible scheme for registering functions was implemented,
+  allowing for remembering, too.
+* Some Bugfixes.
+
+0.5.2 (16 February 2000)
+* Mainly fixes a bug in the packaging of release 0.5.1.
+
+0.5.1 (14 February 2000)
+* Fixes a small number of bugs.
+
+0.5.0 (7 February 2000)
+* Expressions can be written ("archived") to files and read therefrom.
+* Addition of GiNaC-cint, which lets you write complete programs in
+  an interactive shell-like manner in your favoured programming
+  language (i.e. C++).
 
 0.4.1 (13 December 1999)
 * Series Expansion of Gamma function and some other trigonometric
@@ -13,8 +90,5 @@ This file records noteworthy changes.
   info_flags::integer and -::cinteger work similarly, the same
   holds for types like info_flags::rational_polynomial.
 
-0.5.0 (7 February 2000)
-* Expressions can be written ("archived") to files and read therefrom.
-* Addition of GiNaC-cint, which lets you write complete programs in
-  an interactive shell-like manner in your favoured programming
-  language (C++).
+0.4.0 (26 November 1999)
+* First public release.