5.9
===
* GOTO-INSTRUMENT: --generate-function-body can be used to
  generate bodies for functions that don't have a body
  in the goto code. This supercedes the functionality
  of --undefined-function-is-assume-false
* The --fixedbv command-line option has been removed
  (it was marked deprecated in January 2017)
* GOTO-INSTRUMENT: New option --print-global-state-size


5.8
===

* GOTO-INSTRUMENT: --reachability-slice can be used with --property to slice
  down to a single property only.
* GOTO-INSTRUMENT: New option --list-calls-args
* GOTO-INSTRUMENT: New option --print-path-lenghts
* GOTO-ANALYZER: New option --unreachable-functions, --reachable-functions
* GOTO-INSTRUMENT: New option --undefined-function-is-assume-false
* GOTO-INSTRUMENT: New option --remove-function-body
* GOTO-INSTRUMENT: New option --use-all-headers, changed --use-system-headers to
  --no-system-headers
* GOTO-INSTRUMENT: dump-c can output the generated environment via --harness


5.7
===

* General: All tools now support the same set of --*-check options.
* General: Added --conversion-check to catch type casts that cause loss of
  information. Previously --(un)signed-overflow-check would report these.
* CBMC: New option --symex-coverage-report to produce a Cobertura-compatible
  statement- and branch coverage report.
* CBMC/Java: New options --java-max-vla-length, --java-unwind-enum-static,
  --java-cp-include-files, --lazy-methods.
* GOTO-INSTRUMENT: Static loop unwinding via --unwind or via new options
  --unwindset, --unwindset-file, --unwinding-assertions, --partial-loops,
  --continue-as-loops, --log
* GOTO-INSTRUMENT: New option --slice-global-inits
* GOTO-INSTRUMENT: Inlining via --inline, --partial-inline, --function-inline,
  --no-caching
* GOTO-INSTRUMENT: New options --remove-function-pointers, --model-argc-argv,
  --show-threaded
* GOTO-CC: Additional drop-in replacement support for bcc, as, as86
* GOTO-CC: GCC-style error/warning messages
* GOTO-CC: New options --native-compiler and --native-linker to select the
  compiler/linker to be used when building combined native/goto object files.
* CBMC, SYMEX, GOTO-INSTRUMENT: New option --drop-unused-functions. Removed
  ambiguous --show-reachable-properties.
* CBMC: New option --no-built-in-assertions


5.6
===

Bugfixes in the C, C++, Java front-ends.


5.5
===

This is a major release, with significant changes. The option
--all-properties is now the default; to restore the previous behaviour,
use --stop-on-fail. The primary area of attention was again the Java
front-end. We have furthermore added test-suite generation for branch
coverage, location coverage, condition coverage, decision coverage and
MC/DC.


5.4
===

This is a minor release, focused primarily on maintenance. The primary
area of attention was again the Java front-end. We have also updated to
Minisat 2.2.1.


5.3
===

This is a minor release, focused primarily on maintenance. The primary
area of attention is the Java front-end.


5.2
===

This is a minor release, focused primarily on maintenance. The primary
areas of attention are the full slicer, the Java frontend, test suite
generation and support for the Glucose solver.


5.1
===

This is a minor release, focused primarily on maintenance. Support for solving
floating-point problems using for SMT-LIB2 solvers without support for the
floating-point theory has been added.


5.0
===

This is a major release, focused primarily on performance improvements.
Furthermore, the support for the floating-point theory for SMT-LIB2 has been
improved substantially. This release breaks compatibility with the goto-binary
format used by earlier releases; i.e., you will need to rebuild your
goto-binaries.


4.9
===

This release is primarily for maintenance purposes and does not add any major
new features. The support for SMT-LIB2 solvers has been improved substantially.


4.8
===


4.7
===

Added support for Solaris 11.

Bugfixes in partial-order encoding.

Added --float-overflow-check


4.6
===

Improved floating-point encoding.

Improved AIG->CNF encoder.


4.5
===

Optimizations to reduce memory consumption.

Bugfixes in partial-order encoding.


4.4
===

Now checks concurrent programs, with partial-order encoding.

Support for SMT-LIB standard floating-point theory.

goto-instrument knows k-induction and underapproximating loop accelleration.


4.3
===

Floating-point arithmetic now takes the rounding mode into account,
which can be changed dynamically.

goto-gcc generates hybrid executables on Linux, containing both machine
code and the CFG.

Limited support for Spec#-style quantifiers added.

Pointer-checks no longer use a heavy-weight alias analysis.

Limited support for some x86 and ARM inline assembly constructs.


4.2
===

goto-cc now passes all command line options to the gcc preprocessor.
  
The MacOS binaries are now signed.

The C/C++ front-end has been tested and fixed for the Visual Studio 2012
header files.

The man-page has been elaborated.

Support for the C99 complex type and gcc's vector type has been added.
Various built-ins for x86 MMX and SSE instructions have been added.

Support for various C11 features has been added.

Support for various built-in primitives has been added, in particular for
the __sync_* commands.

New feature: --all-claims now reports the status of all claims; the
verification continues even if a counterexample is found. This feature uses
incremental SAT.

The counterexample beautification (--beautify) now uses incremental SAT.

Numerous improvements to SMT1 and SMT2 interfaces.

Support for further SAT solvers (PRECOSAT, PICOSAT, LINGELING)


4.1
===

The support for low-level accesses to dynamically allocated data structures
and "integer addressed memory" (usually memory-mapped I/O) has been further
improved.

Numerous improvements to the SMT back-ends.  Specifically, support through
the SMT1 path for Boolector and Z3 has been improved; support for MathSAT
has been added.  In combination with the very latest version of MathSAT,
CBMC now also supports an SMT2 flow (use --mathsat --smt2 to activate this).


4.0
===

Better support for low-level accesses to dynamically allocated data
structures.

Numerous front-end improvements.
