This file records noteworthy changes.
-1.1.0 (<date>)
+1.1.8 (<date>)
+* S(0,p,x) now evaluates numerically.
+
+1.1.7 (11 March 2004)
+* Fixed a bug in canonicalize_clifford().
+* Series expansion now works predictably. All terms with the exponent of the
+ expansion variable smaller than the given order are calculated exactly. If
+ the series is not terminating, the Order function is (at least) of the given
+ order.
+
+1.1.6 (22 January 2004)
+* Added a function option "dummy()" which means "no options". This simplifies
+ the implementation of symbolic functions which are not to be further
+ evaluated.
+* Removed a bug in the numerical evaluation of Li() that caused the system
+ to hang for certain parameter combinations.
+* Fixed a bug in the calculation of hash values for indices that could lead
+ to wrong results or bogus error messages from simplify_indexed().
+* Fixed a bug in the evaluation of harmonic polylogarithms for complex
+ arguments with positive imaginary part.
+
+1.1.5 (5 November 2003)
+* Harmonic polylogarithms now numerically evaluate for arbitrary arguments
+ (parameter must still be positive integers).
+* The zeta function now can also be given a lst as a parameter in which case
+ it becomes a multiple zeta value. The use of mZeta is deprecated.
+* The order of parameters for the multiple polylogarithm has been corrected.
+* Documentation for the nested sums functions zeta, harmonic polylog, multiple
+ polylog, etc. has been added.
+
+1.1.4 (17 October 2003)
+* Lists and matrices can now be initialized from comma-separated lists of
+ expressions, like this:
+
+ lst l;
+ l = x, 2, y, x+y;
+
+ matrix M(3, 3);
+ M = x, y, 0,
+ -y, x, 0,
+ 0, 0, 1;
+
+ This is both faster and produces much smaller code than the old constructors
+ lst(ex, ex, ...) and matrix(unsigned, unsigned, lst), especially in the case
+ of matrices, and is now the recommended way to create these objects.
+* The function mZeta now evaluates much faster for arbitrary parameters. The
+ harmonic and multiple polylogarithms evaluate considerably faster and check
+ for convergence. The order of parameters for the harmonic polylogarithm
+ has been corrected.
+
+1.1.3 (22 August 2003)
+* Added new symbolic functions for better integration with nestedsums:
+ (multiple) polylogarithm Li(), Nielsen's generalized polylogarithm S(),
+ harmonic polylogarithm H(), and multiple zeta value mZeta().
+* New exhashmap<T> template intended as a drop-in replacement for
+ std::map<ex, T, ex_is_less> using GiNaC's hashing algorithms.
+
+1.1.2 (11 August 2003)
+* Fixed a bug in the unarchiving of sums and products: terms were not
+ reordered in a canonical way.
+* Fixed a bug in normal()/numer_denom(): denominator was not made unit
+ normal if it was a simple number.
+* Improved the speed of subs() in some cases.
+
+1.1.1 (18 June 2003)
+* lst (and exprseq) provide iterators for read-only element access. For
+ sequential access this is one order faster than using op().
+* Implemented relational::subs() (this was done in 1.0.9 but inadvertently
+ omitted from the 1.1 branch).
+* pole_error and do_taylor are available to library users.
+* Added on-line help and Tab-completion for print(), iprint(), print_latex()
+ and print_csrc() in ginsh.
+
+1.1.0 (3 April 2003)
* Removed deprecated macros is_ex_a, is_ex_exactly_a and friends for good.
-* Made the hashing more simple and efficient.
* The scalar_products mechanism allows the specification of an index dimension.
* Removed dirac_gamma6/7().
* Added ex::to_polynomial().
-* print_options
-* subs_options
+* subs() accepts an optional "options" argument. The option
+ subs_option::subs_algebraic enables "smart" substitutions in products and
+ powers.
+* Added stream manipulators "dflt", "latex", "python", "python_repr", "tree",
+ "csrc", "csrc_float", "csrc_double", "csrc_cl_N", "index_dimensions" and
+ "no_index_dimensions" to control the output format. Calling basic::print()
+ directly is now deprecated.
+* Made the hashing more simple and efficient.
+* Caveats for class implementors:
+ - basic::subs(): third argument changed from "bool" to "unsigned"
+ - unarchiving constructor and basic::unarchive(): "const" removed from
+ second argument
+ - basic::let_op() should only be implemented if write access to
+ subexpressions is desired
+ - simplify_ncmul() renamed to eval_ncmul()
+ - simplified_ncmul() renamed to hold_ncmul()
+ - nonsimplified_ncmul() renamed to reeval_ncmul()
+
+1.0.14 (1 March 2003)
+* Improved the C-source output: complex numbers are printed correctly (using
+ the STL complex<> template or cln::complex()), rational numbers use cl_RA()
+ in the CLN output, and small integers are printed in a more compact format
+ (e.g. "2.0" instead of "2.0000000e+00").
+* function_options::set_return_type() and function_options::do_not_evalf_params()
+ now actually work.
1.0.13 (27 January 2003)
* Contracting epsilon tensors with Euclidean indices now works.