Published May 25, 2026 | Version nightly
Software Open

KeYProject/key: Nightly Release

  • 1. Karlsruhe Institute of Technology
  • 2. Karlsruhe Institute of Technology, Inst. of Theoretical Informatics
  • 3. Ludwig-Maximilians-Universität (LMU) in Munich
  • 4. Karlsruhe Institute of Technology (KIT)
  • 5. @SySSResearch

Description

<!-- Release notes generated using configuration in .github/release.yml at main -->

What's Changed

Breaking Changes 🗲

  • Removal of Triple, and Quadruple by @wadoon in https://github.com/KeYProject/key/pull/3529
  • Use KeYParser.g4 for parsing proof scripts by @wadoon in https://github.com/KeYProject/key/pull/3021
  • Migration to java.nio.Path by @wadoon in https://github.com/KeYProject/key/pull/3618
  • Make the context menu more flexibel and type safe. by @wadoon in https://github.com/KeYProject/key/pull/3785
  • Purge sort depending functions in favor of parametric functions by @Drodt in https://github.com/KeYProject/key/pull/3773

Exciting New Features 🎉

  • Renovation of the TestCase generation by @wadoon in https://github.com/KeYProject/key/pull/3388

Features

  • Proposing a more flexible lexing framework by @mattulbrich in https://github.com/KeYProject/key/pull/3537
  • highlight current line in issue editor pane by @mattulbrich in https://github.com/KeYProject/key/pull/3573
  • Improved treatment of final fields by @mattulbrich in https://github.com/KeYProject/key/pull/3495
  • Enable SMT focus goals (unsat cores) for CVC5 by @FliegendeWurst in https://github.com/KeYProject/key/pull/3594
  • SMT test cases rework by @WolframPfeifer in https://github.com/KeYProject/key/pull/3592
  • Isabelle Translation by @BookWood7th in https://github.com/KeYProject/key/pull/3514
  • Introducing some structure for model method bodies by @mattulbrich in https://github.com/KeYProject/key/pull/3571
  • Linearized symbolic execution in proof tree by @FliegendeWurst in https://github.com/KeYProject/key/pull/3237
  • Save proof independent settings, that are not used by the configuration by @PiIsRational in https://github.com/KeYProject/key/pull/3700
  • Add Polymorphic Sorts and Functions by @Drodt in https://github.com/KeYProject/key/pull/3652
  • Pfeifer/proof mgmt includes fix by @WolframPfeifer in https://github.com/KeYProject/key/pull/3757
  • Add sort aliases by @Drodt in https://github.com/KeYProject/key/pull/3778
  • Give similar taclet names if taclet not found during proof loading by @wadoon in https://github.com/KeYProject/key/pull/3784
  • The Removal of Recoder by @wadoon in https://github.com/KeYProject/key/pull/3120

Bug Fixes

  • Add conversion rules for Float/Double negation by @WolframPfeifer in https://github.com/KeYProject/key/pull/3520
  • Fix #3524 by @Drodt in https://github.com/KeYProject/key/pull/3525
  • Fixing the broken automode by @mattulbrich in https://github.com/KeYProject/key/pull/3533
  • Fix #3452 by @wadoon in https://github.com/KeYProject/key/pull/3540
  • fix #3553 by @MarcoScaletta in https://github.com/KeYProject/key/pull/3560
  • Fix #3563 by @Drodt in https://github.com/KeYProject/key/pull/3566
  • Fix line number alignment in SMT interface by @BookWood7th in https://github.com/KeYProject/key/pull/3559
  • Adding a rule for exactInstance of final types. (fixes #3389) by @mattulbrich in https://github.com/KeYProject/key/pull/3543
  • fixing lexing to support static invariants by @mattulbrich in https://github.com/KeYProject/key/pull/3583
  • Fixed obtaining results from CVC4 and cvc5 by @WolframPfeifer in https://github.com/KeYProject/key/pull/3593
  • Fix Java version in nightlydeploy.yml by @wadoon in https://github.com/KeYProject/key/pull/3598
  • Fix exception in javac extension by @FliegendeWurst in https://github.com/KeYProject/key/pull/3609
  • fix testMakeFilenameRelativeWindows by @wadoon in https://github.com/KeYProject/key/pull/3619
  • Disable relative path test on Windows by @wadoon in https://github.com/KeYProject/key/pull/3629
  • Fix SMT ApplyAction not pruning when undoing by @BookWood7th in https://github.com/KeYProject/key/pull/3606
  • Fix NPE using KeY command line interface caused by Java NIO by @wadoon in https://github.com/KeYProject/key/pull/3643
  • FIX: URGENT: Changes in Gradle 9 results into non-execution of custom test tasks. by @wadoon in https://github.com/KeYProject/key/pull/3653
  • fix css for sequentview syntaxhighlightning by @wadoon in https://github.com/KeYProject/key/pull/3645
  • Allow true in more JML expressions by @mattulbrich in https://github.com/KeYProject/key/pull/3664
  • Fix NPE in dependency contract feature (caused by pulled out expression) by @unp1 in https://github.com/KeYProject/key/pull/3675
  • Fix Information Flow Proof Loading for KeY Jar File by @Drodt in https://github.com/KeYProject/key/pull/3678
  • Enable assertion for :key.ui:run by @wadoon in https://github.com/KeYProject/key/pull/3682
  • Fix proof task tree forced white background. by @wadoon in https://github.com/KeYProject/key/pull/3663
  • Check for applicability of Antec-/SuccTaclets in Proof Replay by @Drodt in https://github.com/KeYProject/key/pull/3702
  • Return to Metal as default Look and Feel by @WolframPfeifer in https://github.com/KeYProject/key/pull/3658
  • fix #3721, getParent().toUri() requires absolute paths by @wadoon in https://github.com/KeYProject/key/pull/3722
  • Fix unbalanced block exception when pretty printing heap terms by @unp1 in https://github.com/KeYProject/key/pull/3726
  • Add reachable Java state properties to invariant for modified local variables (fixes #3728) by @unp1 in https://github.com/KeYProject/key/pull/3747
  • Fix for #3738: Fix SMT type axiomatisation for interfaces by @WolframPfeifer in https://github.com/KeYProject/key/pull/3749
  • Anonymize ghost variables in loop by @Drodt in https://github.com/KeYProject/key/pull/3729
  • Proof Management: Ignore internal contracts when calculating dependency state (fixes #3745) by @WolframPfeifer in https://github.com/KeYProject/key/pull/3748
  • Fix for #3683: Hiding package prefixes in sequent view by @WolframPfeifer in https://github.com/KeYProject/key/pull/3684
  • Taclet definition added to problemHeader by @wadoon in https://github.com/KeYProject/key/pull/3733
  • put CachingExtension into the correct service file. by @wadoon in https://github.com/KeYProject/key/pull/3782
  • move Taclet options of WD from key.core to key.core.wd by @wadoon in https://github.com/KeYProject/key/pull/3783
  • Allow KeY to start even in case of unreadable recent files by @unp1 in https://github.com/KeYProject/key/pull/3790
  • ProofManagement extension: Iterative NodeIntermediateWalker to avoid stack overflows by @WolframPfeifer in https://github.com/KeYProject/key/pull/3793
  • Dependency Contract: Ignore all term labels when searching for base term by @FliegendeWurst in https://github.com/KeYProject/key/pull/3776
  • Alternative for #3393: Fix slicing bug related to Evaluate Query by @WolframPfeifer in https://github.com/KeYProject/key/pull/3794
  • Fix field names in Isabelle translation by @unp1 in https://github.com/KeYProject/key/pull/3795
  • Enable KeY to distinguish between classes of same name in different packages by @unp1 in https://github.com/KeYProject/key/pull/3805
  • Improve behavior in case of not found methods by @unp1 in https://github.com/KeYProject/key/pull/3806
  • Fix naming and renaming issues by @unp1 in https://github.com/KeYProject/key/pull/3804
  • Fix Path bug by @wadoon in https://github.com/KeYProject/key/pull/3810
  • Fix bug in ProofManagementDialog by @unp1 in https://github.com/KeYProject/key/pull/3812

Dependencies

  • Bump the gradle-deps group with 5 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3516
  • Bump the github-actions-deps group with 2 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3517
  • Bump the gradle-deps group with 6 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3527
  • Bump JetBrains/qodana-action from 2024.2.3 to 2024.2.6 in the github-actions-deps group by @dependabot[bot] in https://github.com/KeYProject/key/pull/3526
  • Bump the github-actions-deps group with 5 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3531
  • Bump the gradle-deps group across 1 directory with 5 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3536
  • Bump the gradle-deps group across 1 directory with 6 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3577
  • Bump the gradle-deps group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3581
  • Bump the gradle-deps group across 1 directory with 7 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3589
  • Bump the gradle-deps group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3596
  • Bump the gradle-deps group with 3 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3603
  • Bump the gradle-deps group with 5 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3617
  • Bump the gradle-deps group with 8 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3627
  • Bump the gradle-deps group with 7 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3646
  • Bump the gradle-deps group with 2 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3649
  • Bump the gradle-deps group with 5 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3655
  • Bump the github-actions-deps group with 2 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3656
  • Bump gradle/actions from 4 to 5 in the github-actions-deps group by @dependabot[bot] in https://github.com/KeYProject/key/pull/3667
  • Bump the gradle-deps group with 8 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3666
  • Bump the gradle-deps group with 9 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3679
  • Bump actions/upload-artifact from 4 to 5 in the github-actions-deps group by @dependabot[bot] in https://github.com/KeYProject/key/pull/3680
  • Bump actions/checkout from 5 to 6 in the github-actions-deps group by @dependabot[bot] in https://github.com/KeYProject/key/pull/3694
  • Bump the gradle-deps group across 1 directory with 6 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3695
  • Bump the gradle-deps group with 4 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3704
  • Bump the github-actions-deps group with 2 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3705
  • Bump the gradle-deps group with 4 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3712
  • Bump the gradle-deps group with 7 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3731
  • Bump actions/upload-artifact from 6 to 7 in the github-actions-deps group by @dependabot[bot] in https://github.com/KeYProject/key/pull/3752
  • Bump the gradle-deps group across 1 directory with 9 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3756
  • Bump the github-actions-deps group with 3 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3798
  • Bump the gradle-deps group with 8 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3797
  • Bump the gradle-deps group with 3 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3807
  • Bump the gradle-deps group across 1 directory with 7 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3815

Other Changes

  • Set the Java Release Version to 21 by @wadoon in https://github.com/KeYProject/key/pull/3522
  • Using semantic version (SemVer) scheme for KeY by @wadoon in https://github.com/KeYProject/key/pull/3523
  • fixes Location#compareTo(Location) by @BookWood7th in https://github.com/KeYProject/key/pull/3519
  • RuleApp interface for all external solvers (prep for #3514) by @BookWood7th in https://github.com/KeYProject/key/pull/3521
  • Missing project description for two sub-modules by @wadoon in https://github.com/KeYProject/key/pull/3528
  • Re-enable sonarqube for quality assessment by @wadoon in https://github.com/KeYProject/key/pull/3488
  • Also depend on checker-qual artifact by @wmdietl in https://github.com/KeYProject/key/pull/3535
  • Added BoyerMoore.key by @TudorBalan in https://github.com/KeYProject/key/pull/3558
  • repair the axiom generation for adts defined in JavaDL by @mattulbrich in https://github.com/KeYProject/key/pull/3556
  • Fix/Improve KeY example application by @samysweb in https://github.com/KeYProject/key/pull/3562
  • Cleanup: Removal of key.api package by @wadoon in https://github.com/KeYProject/key/pull/3550
  • Add documentation for soundDefaultContracts feature by @flo2702 in https://github.com/KeYProject/key/pull/3574
  • Use a custom Github action for setting up the SMT solvers by @wadoon in https://github.com/KeYProject/key/pull/3569
  • Improve JavaDocs for Qualifier, SyntaxElement by @Drodt in https://github.com/KeYProject/key/pull/3579
  • Warn on missing SMT solvers if flag is set by @wadoon in https://github.com/KeYProject/key/pull/3600
  • Extract Taclets and Prover Main Loop to ncore by @Drodt in https://github.com/KeYProject/key/pull/3578
  • Fix for a performance regression by @unp1 in https://github.com/KeYProject/key/pull/3607
  • Fix Checker Framework Errors by @Drodt in https://github.com/KeYProject/key/pull/3610
  • Fix deprecated Gradle build syntax, update shadow dependency by @Drodt in https://github.com/KeYProject/key/pull/3612
  • Fix graphviz configuration of slicing extension by @FliegendeWurst in https://github.com/KeYProject/key/pull/3613
  • Remove duplicate NewDependingOn class by @Drodt in https://github.com/KeYProject/key/pull/3615
  • Generalize Taclet Implementation by @Drodt in https://github.com/KeYProject/key/pull/3605
  • Rename core Term/Operator/... to JTerm/JOperator... to avoid name clashes with ncore Term/Operator/... by @Drodt in https://github.com/KeYProject/key/pull/3616
  • Move Taclet matching infrastructure to ncore by @unp1 in https://github.com/KeYProject/key/pull/3608
  • Using FlatLAF for a modern look and feel by @wadoon in https://github.com/KeYProject/key/pull/3599
  • Cleanup: Remove antlr3 + antlr2 from the classpath by @wadoon in https://github.com/KeYProject/key/pull/3624
  • Fix some indirect dependencies by updating used plugins that introduce them by @unp1 in https://github.com/KeYProject/key/pull/3626
  • Test if matrix over modules are a good thing by @wadoon in https://github.com/KeYProject/key/pull/3622
  • Cleanup: Use Standard Tech for Test Fixtures by @wadoon in https://github.com/KeYProject/key/pull/3551
  • Remove unnecessary (and harmful) license plugin by @Drodt in https://github.com/KeYProject/key/pull/3628
  • Reduce raw usage of classes by @Drodt in https://github.com/KeYProject/key/pull/3634
  • Fix multiple SLF4J providers by @BookWood7th in https://github.com/KeYProject/key/pull/3639
  • Indent switch expressions by @Drodt in https://github.com/KeYProject/key/pull/3636
  • Translation of bitwise operators by @ChristianHein in https://github.com/KeYProject/key/pull/3172
  • Throw an error when encountering an undefined rule set by @Drodt in https://github.com/KeYProject/key/pull/3644
  • Refactoring context menus of sequent views by @wadoon in https://github.com/KeYProject/key/pull/3641
  • Preparation for generalizing rule indexing by @unp1 in https://github.com/KeYProject/key/pull/3620
  • Improvements for AbbrevMap by @wadoon in https://github.com/KeYProject/key/pull/3647
  • AST for KeY Scripts by @wadoon in https://github.com/KeYProject/key/pull/3587
  • Higher Order Proof Scripts by @wadoon in https://github.com/KeYProject/key/pull/3654
  • small fixes to datatype handling by @mattulbrich in https://github.com/KeYProject/key/pull/3661
  • Improve error message in headless mode by @fynngodau in https://github.com/KeYProject/key/pull/3685
  • Fix deadlock when showing JML warnings dialog by @FliegendeWurst in https://github.com/KeYProject/key/pull/3692
  • Set version to 2.13.0-dev by @wadoon in https://github.com/KeYProject/key/pull/3689
  • Generate easier POs for non-trivial diverges clauses by @Drodt in https://github.com/KeYProject/key/pull/3430
  • (Re-)activating an ancient rule for the treatment of exactInstance of null by @mattulbrich in https://github.com/KeYProject/key/pull/3706
  • KeY/JSON config for SMT solvers by @wadoon in https://github.com/KeYProject/key/pull/3597
  • Modularization: InfFlow and WD as separate modules by @wadoon in https://github.com/KeYProject/key/pull/3640
  • Migrating to central portal from OSSRH, due to OSSRH shutdown in summer'25 by @wadoon in https://github.com/KeYProject/key/pull/3604
  • Fix nullchecker by @Drodt in https://github.com/KeYProject/key/pull/3732
  • Fix NPE in proof tree when using global filters by @flo2702 in https://github.com/KeYProject/key/pull/3755
  • Refixing #3721: Starting KeY UI with local files by @mattulbrich in https://github.com/KeYProject/key/pull/3754
  • Send Feedback using Github issues by @wadoon in https://github.com/KeYProject/key/pull/3736
  • Modularity for Proof Strategies by @Drodt in https://github.com/KeYProject/key/pull/3650
  • Update and fix Broad Release Tests by @wadoon in https://github.com/KeYProject/key/pull/3703
  • Support for TextBlockLiterals by @wadoon in https://github.com/KeYProject/key/pull/3796
  • Record support by transformation by @wadoon in https://github.com/KeYProject/key/pull/3758
  • Suppression of log for non-failing test classes by @wadoon in https://github.com/KeYProject/key/pull/3746
  • Update function explanations to new syntax by @Drodt in https://github.com/KeYProject/key/pull/3811
  • Update Gradle version to 9.5 and deprecated method replacements by @unp1 in https://github.com/KeYProject/key/pull/3813
  • Remove codecov from CI by @wadoon in https://github.com/KeYProject/key/pull/3802

New Contributors

  • @TudorBalan made their first contribution in https://github.com/KeYProject/key/pull/3558
  • @frereit made their first contribution in https://github.com/KeYProject/key/pull/3568
  • @fynngodau made their first contribution in https://github.com/KeYProject/key/pull/3685
  • @PiIsRational made their first contribution in https://github.com/KeYProject/key/pull/3700

Full Changelog: https://github.com/KeYProject/key/compare/KEY-2.12.3...nightly

Files

KeYProject/key-nightly.zip

Files (36.8 MB)

Name Size Download all
md5:48bc469ea226b8bf2f5d9b0b739b8575
36.8 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/KeYProject/key/tree/nightly (URL)

Software