Java datatype API fixups, datatype API examples
[cvc5.git] / NEWS
diff --git a/NEWS b/NEWS
index 9d4b5452d63244dece04b6ed51d86f05e1cafdc9..74b9a6c0ac30b6cebf1423778f9a814c378648f1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,20 +1,88 @@
 This file contains a summary of important user-visible changes.
 
+Changes since 1.3
+=================
+
+* Timed statistics are now properly updated even on process abort.
+* The LFSC proof checker has been incorporated into CVC4 sources.
+* By default, CVC4 builds in "production" mode (optimized, with fewer
+  internal checks on).  The common alternative is a "debug" build, which
+  is much slower.  CVC4 also builds with GPL dependences by default now
+  (if those libraries are available), as this is the best-performing
+  version of CVC4.  However, the new configure option "--bsd" disables
+  these GPL dependences and builds the best-performing BSD-licenced version
+  of CVC4.
+* Small API adjustments to Datatypes to even out the API and make it
+  function better in Java.
+
+Changes since 1.2
+=================
+
+New features:
+* SMT-LIB-compliant support for abs, to_real, to_int, is_int, which were
+  previously missing
+* New bv2nat/int2bv operators for bitvector/integer inter-compatibility.
+* Support in linear logics for /, div, and mod by constants (with the
+  --rewrite-divk command line option).
+* Parsing support for TPTP's TFF and TFA formats.
+* A new theory of strings: word (dis-)equations, length constraints,
+  regular expressions.
+* Increased compliance to SMT-LIBv2, numerous bugs and usability issues
+  resolved.
+* New :command-verbosity SMT option to silence success and error messages
+  on a per-command basis, and API changes to Command infrastructure to
+  support this.
+
+Behavioral changes:
+* It is no longer permitted to request model or proof generation if there's
+  been an intervening push/pop.
+* User-defined symbols (define-funs) are no longer reported in the output
+  of get-model commands.
+* Exit codes are now more standard for UNIX command-line tools.  Exit code
+  zero means no error---but the result could be sat, unsat, or unknown---and
+  nonzero means error.
+
+API changes:
+* Expr::substitute() now capable of substituting operators (e.g.,
+  function symbols under an APPLY_UF)
+* Numerous improvements to the Java language bindings
+
+Changes since 1.1
+=================
+
+* Real arithmetic now has three simplex solvers for exact precision linear
+  arithmetic: the classical dual solver and two new solvers based on
+  techniques for minimizing the sum of infeasibilities. GLPK can now be used
+  as a heuristic backup to the exact precision solvers.  GLPK must be enabled
+  at configure time. See --help for more information on enabling these solvers.
+* added support for "bit0" and "bit1" bitvector constants in SMT-LIB v1.2
+* support for theory "alternates": new ability to prototype new decision
+  procedures that are selectable at runtime
+* various bugfixes
+
 Changes since 1.0
 =================
 
-* tuple and record support in the compatibility library
-* user patterns are now supported in the SMT-LIBv1.2 parser
+* bit-vector solver now has a specialized decision procedure for unsigned bit-
+  vector inequalities
+* numerous important bug fixes, performance improvements, and usability
+  improvements
+* support for multiline input in interactive mode
+* Win32-building support via mingw
 * SMT-LIB get-model output now is easier to machine-parse: contains (model...)
-* Win32 support via mingw
-* for printing commands as they're invoked from the driver, you now need
-  verbosity of 3 or higher (e.g. -vvv) instead of verbosity 1 or higher (-v).
-  This allows tracing the solver's activities without having too much output.
-* multiline support in interactive mode
-* To make CVC4 quieter in abnormal (e.g., "warning" conditions), you can
+* user patterns for quantifier instantiation are now supported in the
+  SMT-LIBv1.2 parser
+* --finite-model-find was incomplete when using --incremental, now fixed
+* the E-matching procedure is slightly improved
+* Boolean terms are now supported in datatypes
+* tuple and record support have been added to the compatibility library
+* driver verbosity change: for printing all commands as they're executed, you
+  now need verbosity level >= 3 (e.g., -vvv) instead of level 1 (-v).  This
+  allows tracing the solver's activities (with -v and -vv) without having too
+  much output.
+* to make CVC4 quieter in abnormal (e.g., "warning" conditions), you can
   use -q.  Previously, this would silence all output (including "sat" or
   "unsat") as well.  Now, single -q silences messages and warnings, and
   double -qq silences all output (except on exception or signal).
-* Boolean term support in datatypes
 
--- Morgan Deters <mdeters@cs.nyu.edu>  Wed, 20 Mar 2013 20:03:50 -0400
+-- Morgan Deters <mdeters@cs.nyu.edu>  Thu, 05 Dec 2013 14:22:26 -0500