NEWS reorganization.
[cvc5.git] / NEWS
1 This file contains a summary of important user-visible changes.
2
3 Changes since 1.2
4 =================
5
6 New features:
7 * SMT-LIB-compliant support for abs, to_real, to_int, is_int, which were
8 previously missing
9 * New bv2nat/int2bv operators for bitvector/integer inter-compatibility.
10 * Support in linear logics for /, div, and mod by constants (with the
11 --rewrite-divk command line option).
12 * Parsing support for TPTP's TFF and TFA formats.
13 * A new theory of strings: word (dis-)equations, length constraints,
14 regular expressions.
15 * Increased compliance to SMT-LIBv2, numerous bugs and usability issues
16 resolved.
17 * New :command-verbosity SMT option to silence success and error messages
18 on a per-command basis. API changes to Command infrastructure to support.
19
20 Behavioral changes:
21 * It is no longer permitted to request model or proof generation if there's
22 been an intervening push/pop.
23 * User-defined symbols (define-funs) are no longer reported in the output
24 of get-model commands.
25 * Exit codes are now more standard for UNIX command-line tools. Exit code
26 zero means no error---but the result could be sat, unsat, or unknown---and
27 nonzero means error.
28
29 API changes:
30 * Expr::substitute() now capable of substituting operators (e.g.,
31 function symbols under an APPLY_UF)
32 * Numerous improvements to the Java language bindings
33
34 Changes since 1.1
35 =================
36
37 * Real arithmetic now has three simplex solvers for exact precision linear
38 arithmetic: the classical dual solver and two new solvers based on
39 techniques for minimizing the sum of infeasibilities. GLPK can now be used
40 as a heuristic backup to the exact precision solvers. GLPK must be enabled
41 at configure time. See --help for more information on enabling these solvers.
42 * added support for "bit0" and "bit1" bitvector constants in SMT-LIB v1.2
43 * support for theory "alternates": new ability to prototype new decision
44 procedures that are selectable at runtime
45 * various bugfixes
46
47 Changes since 1.0
48 =================
49
50 * bit-vector solver now has a specialized decision procedure for unsigned bit-
51 vector inequalities
52 * numerous important bug fixes, performance improvements, and usability
53 improvements
54 * support for multiline input in interactive mode
55 * Win32-building support via mingw
56 * SMT-LIB get-model output now is easier to machine-parse: contains (model...)
57 * user patterns for quantifier instantiation are now supported in the
58 SMT-LIBv1.2 parser
59 * --finite-model-find was incomplete when using --incremental, now fixed
60 * the E-matching procedure is slightly improved
61 * Boolean terms are now supported in datatypes
62 * tuple and record support have been added to the compatibility library
63 * driver verbosity change: for printing all commands as they're executed, you
64 now need verbosity level >= 3 (e.g., -vvv) instead of level 1 (-v). This
65 allows tracing the solver's activities (with -v and -vv) without having too
66 much output.
67 * to make CVC4 quieter in abnormal (e.g., "warning" conditions), you can
68 use -q. Previously, this would silence all output (including "sat" or
69 "unsat") as well. Now, single -q silences messages and warnings, and
70 double -qq silences all output (except on exception or signal).
71
72 -- Morgan Deters <mdeters@cs.nyu.edu> Thu, 05 Dec 2013 14:22:26 -0500