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