+0.9.1 (<date>)
+* New functions/methods:
+ - remove_first() and remove_last() for lists
+ - symmetrize_cyclic()
+* Instead of just totally symmetric or antisymmetric, complex symmetries
+ can now be defined for indexed objects. Symmetries are described by a
+ tree of "symmetry" objects that is constructed with the sy_none(),
+ sy_symm(), sy_anti() and sy_cycl() functions. The symmetry of a function
+ with respect to its arguments can also be defined (this is currently
+ only used for the Beta function).
+* color_trace() and dirac_trace() can be applied to a more general class
+ of expressions, e.g. using it on a relation will take the trace on both
+ sides etc.
+* Generalized map() to take a function object instead of a function pointer.
+ This allows passing an arbitrary number of additional state to the
+ function being called.
+* Supplement some (now deprecated) macros by inlined template functions:
+ - is_of_type(foo, type) -> is_a<type>(foo)
+ - is_ex_of_type(foo, type) -> is_a<type>(foo)
+ - is_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)
+ - is_ex_exaclty_of_type(foo, type) -> is_exaclty_a<type>(foo)
+ - ex_to_foobar(baz) -> ex_to<foobar>(baz)
+
+0.9.0 (7 June 2001)
+* In the output and in ginsh, lists are now delimited by { } braces, and
+ matrices are delimited by single [ ] brackets.
+* simplify_indexed() renames dummy indices so, e.g., "a.i*a.i+a.j*a.j" gets
+ simplified to "2*a.i*a.i" (or "2*a.j*a.j").
+* New functions/methods:
+ - canonicalize_clifford() (helpful when comparing expressions containing
+ Dirac matrices)
+ - symmetrize() and antisymmetrize()
+ - numer_denom() (return numerator and denominator in one call)
+ - map() (apply function to subexpressions)
+ - evalm() (evaluate sums, products and integer powers of matrices)
+* Added a new function match() for performing pattern matching. subs() and
+ has() also accept patterns as arguments. A pattern can be any expression,
+ optionally containing wildcard objects. These are constructed with the
+ call "wild(<unsigned>)" and are denoted as "$0", "$1" etc. in the output
+ and in ginsh.
+* Positive integer powers of non-commutative expressions (except matrices)
+ are automatically expanded.
+* Removed cint subdirectory, ginaccint is a separate package now due to
+ packaging considerations.
+* Several little bugfixes.
+
+0.8.3 (11 May 2001)
+* color and clifford classes are functional and documented.
+* New "spinidx" class for dotted/undotted indices.
+* Predefined spinor metric tensor (created by spinor_metric()).
+* Symbols can have a LaTeX name, e.g. symbol s("s", "\\sigma");
+* LaTeX output of indexed objects is much nicer.
+* Fixed some build problems (with recent libreadline).
+* Semantics of arithmetic operators now follows the C++ rules more strictly.
+
+0.8.2 (24 April 2001)
+* degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() work with
+ non-symbols as the second argument in ginsh.
+* the argument to collect() can be a list of objects in which case the
+ result is either a recursively collected polynomial, or a polynomial in
+ a distributed form with terms like coeff*x1^e1*...*xn^en, as specified by
+ the second argument to collect().
+* Several bugfixes (including a nasty memory leak in .normal()).
+* class matrix: solve() doesn't call algorithms redundantly any more and
+ inverse() falls back to solve() which works in more general cases.
+
+0.8.1 (16 April 2001)
+* degree(), ldegree(), coeff(), lcoeff(), tcoeff() and collect() can now
+ be used with constants, functions and indexed expressions as well, so you
+ can use it to collect by powers of Pi or sin(x), or to find the coefficient
+ of gamma~0.
+ Limitations:
+ - it only works with symbols, constants, functions and indexed expressions,
+ trying to find the coefficient of, e.g., "x^2" or "x+y" won't work;
+ - it does not know about dummy index summations; the coefficient of
+ gamma~0 in p.mu*gamma~mu should be p.0 but is returned as 0;
+ - using coeff(), tcoeff(), lcoeff() or collect() on elements of
+ noncommutative products might return wrong or surprising results.
+* subs() no longer only substitutes symbols and indices but performs a more
+ general "syntactic substitution", i.e. it substitutes whole objects in sub-
+ expressions. You can subs((a+b)^2,a+b==3) and get 9, but subs(a+b+c,a+b==3)
+ doesn't do anything.
+ Limitations:
+ - substituting numerics (subs(expr, 2==4)) will not replace then in all
+ occurences; in general, you shouldn't substitute numerics, though.
+* Added preliminary (re)implementations of color and clifford classes.
+* simplify_indexed(): contraction of symmetric and antisymmetric tensors
+ is zero.
+* Replaced the various print*() member functions by a single print() that
+ takes a print_context object that determines the output formatting. This
+ should make it easier to add more output types, such as LaTeX output,
+ which is based on work by Stefan Weinzierl.
+* Added functions to retrieve the properties stored in archive objects
+ outside of unarchive() (for printing or debugging purposes).
+* Some bugfixes (indexed objects, archive writing).
+* .collect() on non-polynomials is now algebraically correct.
+
+0.8.0 (24 March 2001)
+* Complete revamp of indexed objects. Instead of multiple classes for
+ indexed things and their indices there is now only one "indexed" class
+ and two types of indices: "idx" for simple indices and "varidx" for
+ indices with variance. There are predefined delta, epsilon and metric
+ tensors, and a function simplify_indexed() that performs canonicalization
+ and dummy index summations. Matrix objects can be indexed for doing simple
+ linear algebra.
+* Added an option "expand_indexed" to expand() to perform expansion of
+ indexed objects like (a+b).i -> a.i + b.i
+* Renamed get_indices() to get_free_indices(), which no longer returns
+ dummy indices and checks the consistency of indices in sums.
+* sqrfree() factorization fixed and improved syntactically.
+* subs() works on matrices.
+* Matrices can be constructed from flat list of elements; diagonal matrices
+ can be constructed from list of diagonal elements with diag_matrix().
+* Fixed memory leak in expand().
+* Operator% for objects of class ncmul has gone. Use operator* now for that
+ case too, which is much more natural.
+
+0.7.3 (28 February 2001)
+* Several bugfixes and minor performance tunings.
+* Added a section to the tutorial about adding new algebraic classes to GiNaC.
+* Closed many in-source documentation gaps.
+
+0.7.2 (17 February 2001)
+* Several bugfixes in power series expansion, one of them critical.
+
+0.7.1 (7 February 2001)