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