]> www.ginac.de Git - ginac.git/blobdiff - NEWS
Finalize 1.7.1 release.
[ginac.git] / NEWS
diff --git a/NEWS b/NEWS
index 1f7f2efb2e179828d6bedf34a5a1bbdfd05a01e3..34587846579df256159b4344a278677892bd6736 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,46 @@
 This file records noteworthy changes.
 
+1.7.1 (2 October 2016)
+* Fix crash in basic::subs(), visible in classes which don't override it.
+* Fix convergence failure in Li_projection.
+* Fix cliffor_bar() and clifford_star().
+* Improve performance of clifford_to_lst().
+* Fix compilation issues, reduce compiler warnings.
+
+1.7.0 (30 April 2016)
+* Make use of C++11 features:
+  - Use new language features 'auto', 'nullptr', 'constexpr', range-based for
+    loops, the contextual keyword 'override', static 'noexcept' operator, etc.
+  - Add initializer list ctors for container<>, lst and nested initializer
+    lists ctor for class matrix.
+  - Add many rvalue reference overloads for ctors from std containers. (Note
+    that whether they really speed up things depends on whether evaluation
+    leaves the container unchanged or not.)
+  - Rvalue reference overloads for ctors from std containers made it possible
+    to remove the manual 'discardable' hack and std::auto_ptr<T> for good.
+  - New dynallocate<T>(args...) helper functions obsolete manual allocation
+    on the heap and setting the dynallocated status flag.
+  - Got rid of C++98ish algorithm features (bind2nd, etc.) and replaced them
+    with lambdas.
+* Make add::eval(), mul::eval() more careful so they return an evaluated,
+  canonical expression without compromise.
+* Remove 'level' argument of all .eval() methods. This has become possible by
+  ensuring that add::eval() and mul::eval() evaluate their own structure
+  without compromise (this was not guaranteed before). If all ex are evaluated,
+  any object which is an aggregate of such ex will only ever have to
+  evaluate itself, obsoleting the need for recursing.
+* Remove 'level' arguments of all .evalf() and .normal() methods. They were
+  modeled after the .eval() methods.
+* Make relational::rhs() and lhs() nonvirtual.
+* Add support for power::info(info_flags::real).
+* Add fderivative::derivatives() method.
+* Remove broken info_flags::algebraic.
+* Remove unmaintained support for Cint.
+* Remove unfinished andcode for hash table-based expairseq.
+* Remove deprecated ex::to_rational(lst) and ex::to_polynomial(lst).
+* ginac-excompiler installs in $LIBEXECDIR now, not in $BINDIR.
+* Many minor performance enhancements.
+
 1.6.7 (29 February 2016)
 * Fix elusive bug in sqrfree(), normal(), numer(), and denom().