This version is a major release.
- Discontinued compatibility with Java 6.
- New folder structure:
- Moved
editor-support
to the top level; - Renamed
examples
tosamples
- Improved and completely reorganized the tutorial
- Moved
- Removed
cink
from examples. Cink is a separate repository now. - The
documentation/to-be-processed.txt
file contains more information about new features.
- Use of
when
deprecated; using insteadrequires
(andensures
for proof post-conditions). - Replaced (deprecated)
List{K}
byKList
(Issue #200). - Generalized strictness.
- Supporting reject patterns as tags.
- Extending cast functionality with :, ::, <:, :>, <:>.
- Moving the
Int
,Float
, and#String
declarations from SDF into K. - Updated
syntax K ::=
intosyntax KItem ::=
. - Renamed
==MInt
and=/=MInt
toeqMInt
andneMInt
. - Improved the K-defined substitution to deal with arbitrary computations
including
.K
and~>
sequences.
- Added a new plugin for working with K definitions into IntelliJ Idea.
- Using JCommander to handle command line options:
- breaks code which attempts to access "--" options with only one "-";
- breaks code which attempts to specify arguments to a parameter
with an "=" (except
-cFOO=bar
) - renames experimental options to begin with an
X
- some of the options were renamed. Please check usage.
kcheck
tool was removed- Added
--no-prelude
option which skips the auto inclusion of predefined files/modules. - Implemented support for environment variable
K_OPTS
to specify additional Java virtual machine arguments (Issue #91). - Changed kompile to use unique temp files.
- Added a new backend (
doc
) for documentation generation (experimental). - Checking tags specified by options like
--transition
are actually used in rules (Issue #207). - Improved reporting of running times in the verbose output mode (Issue #169).
- Parsing:
- block attributes now propagate to individual productions (Issue #186);
- improved reporting of ambiguities (Issue #182);
- improved handling of
?
variables (Issue #153); - improving location information for rules (Issues #73, #108);
- Anonymous variables are not allowed on the RHS of rewrites;
- Improved caching of rules to speedup re-compilation if no syntax changes.
- Changed option
--output-mode
to--output
with short-name-o
. - Improved reporting of running times in the verbose output mode (Issue #169).
--search
now accepts more then one token in the input stream (Issue #159).- Allowing syntactic sorts in
--search
patterns (Issue #114) - Search graph is computed by Maude and parsed by krun only if one of the
arguments
--graph
,--debug
, or--debug-gui
is set (Issue #37). - Colors: Improved color matching algorithm for terminals. Now more cells
should be colored. Added a new krun option:
--terminal-color
, to specify the background color of the terminal. - Fixed LTL model checking for negative results (Issue #481).
- Graphical Debugger:
- save/load configuration;
- export graph as PNG;
- improved diff frame;
- improved duplicate detection for the
step-all
command.
- Using JCommander to handle kast options
- breaks code which attempts to access "--" options with only one "-";
- some of the options were renamed. Please check usage.
- Failing when pdf generation fails (Issue #683).
- Printing tested output file in case of match failure (Issue #689).
- Fixed error messages to contain an executable command (Issue #518).
- Fixed exception reporting (Issues #407, #485).
- Removing redundant messages for skipped steps (Issue #375).
- Fixed color output for non-ANSI terminals (Issue #368).
- Fixed exception thrown by
--timeout
option (Issue #223). - Made
directory
,programs
andresults
arguments absolute paths (Issue #202). - Show more precise timing information in ktest (Issue #193).
- Generate and update results automatically (Issue #133). New options:
--update-out
,--generate-out
,--dry-run
. - Added
--threads
parameter. - Added support for using environment variables in configuration files.
- Changed default value of
programs
andresults
options (Issue #99, #93). - Added
--ignore-white-spaces
option. - Support new feature: options
more-programs
,more-results
(Issue #134). - Multiple program and results directories supported (Issue #96).
- Implementation for builtin string operations.
- Added tag
interface
for data structure update operations. - Added option
--pattern-matching
to krun. - Adding special
autoinclude-java.k
for the Java backend. - Support for maps as cells.
- Added support for proving properties related to floats (using the gappa prover).
- Partial Z3 model integration.
- Option
--test-gen
added to kompile (experimental)