Skip to content

Releases: KeYProject/key

Nightly Release

21 Oct 05:22
8e28439
Compare
Choose a tag to compare
Nightly Release Pre-release
Pre-release

Full Changelog: KeY-2.4.0...nightly

KeY-2.12.3 (2024-09-08)

08 Sep 10:54
Compare
Choose a tag to compare
Pre-release

What's Changed

Read more

KeY-2.12.2 (2023-11-10)

10 Nov 18:24
Compare
Choose a tag to compare

This release contains bug fixes and performance enhancements.

Changes

Performance:

  • Z3 is now configurable to use the QF (quantifier-free) theory for problems without quantifiers.

Bug Fixes:

  • The pretty printer no longer throws a ClassCastException when printing taclets using schema variables of an array type.
  • Nullable and non-null modifiers attached to model methods are no longer lost.
  • Term rule indices are now always up-to-date, preventing potential prover crashes.
  • The counter-example dialog no longer freezes the GUI, if the example generation fails.
  • The actual proof status and proof status icon in the task overview are now consistent after pruning without requiring a manual refresh.

KeY-2.12.1 (2023-10-13)

13 Oct 14:07
05635af
Compare
Choose a tag to compare

Changes

Bug fixes

  • SMT solvers are properly terminated on timeout
  • Proof Macro statistics are kept visible and only count the newly applied rules
  • Stop button is disabled after use, re-enabled after stop completes (this is to avoid double activation)
  • Fully disable origin tracking if it is disabled
  • Proof slicing works even if a cut introduced no new formulas in any branch
  • When marking goal(s) as interactive/automatic, proof tree no longer loses expansion state
  • Fix proof tree behaviour when toggling goals
  • Fix branch selection in caching
  • Fix gradle detection of git branch
  • Fix unit test
  • Fix environments not disposed in tests, keep strategy info visible after applying
  • Proof macro: record statistics correctly
  • Fix: KeY files with errors cannot be edited

KeY-2.12.0 (2023-08-18)

18 Aug 12:26
Compare
Choose a tag to compare

Changes

Breaking changes

  • The minimum required JDK version is set to 11.
  • This release contains breaking changes for the reloading of older proofs:
    • Integers in specifications are now considered as unbounded (i.e. \bigint, math mode specifiers can be used to deviate from the default).
    • The list of rule sets used by the One-Step-Simplifier has changed.
    • JML assertions are handled as a standalone construct and not as a block contract anymore.

Highlights

Features

UI/UX Improvements

🛠 Maintenance/Internal Changes

Read more

KeY-2.10.0 (2021-12-23)

30 Jan 13:05
Compare
Choose a tag to compare

Core

  • IMP: New SMT translation (!312), rework of the SMT communication (!381), and smaller fixes (!394)
  • IMP: Renovating the KeY parser (!278)
  • IMP: Rewrite of the JML parser in ANTLR (!306) with better exception message (!376)
  • IMP: JML-Extension: Assert/Assume and *_free for block contracts (!342)
  • FIX: Comment attachment in recoder (!399, !401)
  • FIX: Collision of auxiliary contract (!396)
  • FIX: Path handling of key files (!395)
  • FIX: Pruning in closed branches looses rules (!388, #1480)
  • FIX: Repaired file information if a directory is opened in KeY (!386, #1530)
  • FIX: Proof loading in the CLI (!385)
  • FIX: Invalid URLs under Windows (#1504, !264)
  • FIX: lost error messages due to MalformedURLException (!290, #1529)
  • FIX: catch headless to make key --auto runnable again (!382)
  • FIX: \singleton of a non-location (e.g., \singleton(3)) now raises an error (!377)
  • FIX: Completeness gap for array types (!367, #1566)
  • FIX: add loop scope unwind (!326)

UI

  • IMP: A better dialog for warnings (!374)
  • IMP: Performance tuning and fixes for ProofTree (!391)
  • IMP: Enables selection of proof in Proof Differences view (!256)
  • IMP: Better SourceView Tooltip (!379)
  • IMP: Add setting to disable load examples dialog window (!368)
  • IMP: Enable syntax highlighting for JML starting with annotation markers (!325)
  • FIX: make proof to load from bundle selectable (!237)
  • FIX: Escaping comma when saving bookmarked filenames of KeYFileChooser (!387, #1551)
  • FIX: make exception dialog able to show files in Jar files (!383)
  • FIX: Resolve "SMT Option GUI throws NPE on startup" (!373)

Development

  • Enabling of SonarQube in Merge Requests (!323, !378)
  • Dependency fixes for Gradle 7 (!372)

We like to thank all the contributor to this release:

Alexander Weigl,
Alicia Appelhagen,
Benjamin Takacs,
Florian Lanzinger,
Jonas Schiffl,
Julian Wiesler,
Lukas Grätz,
Mattias Ulbrich,
Michael Kirsten,
Richard Bubel,
Wolfram Pfeifer

2.8.0 (2020-12-01)

30 Jan 13:05
Compare
Choose a tag to compare

Logic

  • NEW: bsum taclets (!96)
  • NEW: Taclets for more flexible handling of observer depency (!177)
  • NEW: Loop contracts improvements (!188)
  • NEW: Loop scopes: a new rule for proving loop invaraints (!313, !326)
  • NEW: Support for Annotation Marker in JML (!308)
  • NEW: created new file intDiv.key for newly added taclets concerning
    (!182, !171, !180, !157, !152, !144, !141, !135, !98)
  • NEW: SMT preparation macro (!165)
  • NEW: Completion Scopes (!305)
  • FIX: Bugfixing handling of program variables of type "any" and parsing (!133)
  • NEW: \infinite_uniton(int x; x >= 0; this[x]) is now available in binder syntax:
    (\infinite_uniton int x; x >= 0; this[x]).
    Old form is deprecated and will be removed in later versions. (!132)
  • NEW: Adding "System.arraycopy" with contract to JavaRedux (!137)
  • NEW: Explizit excption for nested updates (allowed in the KeY book, unsupported by implementation) (!319)
  • FIX: Speed up in saving proofs (!120)
  • FIX: Incompleteness issue when rewite taclet was applied and the goaltemplate… (!119)
  • NEW: Loop contract (!?, !73)
  • NEW: Loading and Storing proofs with compression (gzip) (!12)
  • NEW: Saving of proofs (incl. dependening resources) into one file (zip) called "proof bundle" (!237)
  • FIX: Fix of inner blocks (!82)
  • FIX: KeY read files character-wise, now the file content is cached (!XXX)
  • More jml synonyms (!85)
  • FIX: user-provided notes are saved within the proof file (!304)
  • FIX: Origin labels for user interactions could not be parsed
  • FIX: Method signature resolve in JML expressions (!309)

UI

  • NEW: Unifying and polishing the user interface (!123):
    • KeY uses a docking framework, including storable/loadable layouts (!189)
    • The settings are concentrated inside one dialog (!189, !266)
    • Adaptable colors and key strokes (!189, !236, !254)
    • Adaptable clutter rules (!7)
    • Key based navigation within the proof tree view (!198)
    • FIX: Handling of regex in search (!199)
    • NEW: Icons !227
  • NEW: Heatmaps: Coloring formulae on the sequent based on their change activity (!38, !140)
  • NEW: Saving of proof bundles (!148, !310)
  • NEW: View of the current source code marking executed parts. (!99, !260, !263, !267, !325)
  • NEW: GUI Extension inferface: You can easily plugin new GUI elements.
  • NEW: Origin labels tracks the origin of formulae within a sequence (!122, !248)
  • NEW: Intraction logging (HacKeYthon'18) brings logging of user interaction
    with exports to Proof Scripts (!84)
  • NEW: Proof exploration
  • NEW: Favourites in file dialogs (!252)
  • NEW: License dialog (!253)
  • NEW: View for proof differences based on formula distance matching (!255)
  • NEW: Schiffl's search filter (!4)
  • NEW: Pre-select previous selected contract in ProofManagementDialog (!287)
  • FIX: Parsing of char, integer and long literals (!9, #1446, !214, !196)
  • FIX: Collision of heatmap and search colors (!178)
  • FIX: Slightly less confusing presentation of SMT solver results (!160)
  • FIX: Cluttering with the status line (!244)
  • NEW: Allow macro application via keyboard shortcut from tree (!268)
  • NEW: Open Java files without considering a classpath (!243)

Scripts

  • NEW: Rewrite command (!51)
  • FIX: Several fixes and breaking changes: (!153, !146, !145)
  • NEW: Improvements to the proof scripts (!314)

Environment

  • NEW: Gradle became build tool (!179, !205, !208, !209, !280)
    • Changes to the test infrastructure (!196)
    • Export of maven dependecies
    • New distribution formats: either a FatJar or zip file
  • NEW: Quality assessment via sonarqube and sonarcloud (!323)
  • Java 11 ready (!47)
    • remove of JavaFX dependencies (!95)
  • Integrate tests for well-definedness checks (!87 )

Eclipse

  • Support of Eclipse PHOTON (!74)

Seveal small and large bug fixes:

(!331, !297, !296, !293,!290, !288, !286, !284, !277, !276, !273, !272, !271, !270, !265, !264, !234, !228, !227, !225, !224, !222, !219, !213, !212,
!209, !208, !205, !203, !201, !200, !199, !192, !190, !173, !170, !167, !163, !162, !158, !156,
!154, !153, !151, !146, !145, !139, !136, !133, !131, !119, !117,
!108, !99, !92, !83, !82, !81, !78, !77, !75, !73, !71, !70, !69, !68,
!67, !66, !65, !58, !52, !47, !46, !45, !40, !39, !37, !33, !31, !30, !24,
!23, !22, !14, !13, !10, !9, !8, !7, !3, !2)

We like to thank all the contributor to this release:

Alexander Weigl, Carsten Csiky, Dominic Steinhöfel, Florian Lanzinger, Hans-Dieter Hiep, Jelle
Kübler, Jonas Schiffl, Lukas Grätz, Lulu Luong, Mattias Ulbrich, Michael Kirsten, Mihai
Herda, Peter Schmitt, Richard Bubel, Sarah Grebing, Wolfram Pfeifer

KeY-2.6.3 (2017-10-11)

30 Jan 13:03
Compare
Choose a tag to compare

KeY-2.6.2 (2017-04-13)

30 Jan 13:17
Compare
Choose a tag to compare

KeY-2.6.1 (2017-01-31)

30 Jan 13:17
Compare
Choose a tag to compare