Published July 23, 2026
| Version KeY-3.0.0
Software
Open
KeYProject/key: KeY-3.0.0
Authors/Creators
- unp1
- Alexander Weigl1
- danielgrahl
- Mattias Ulbrich2
- mi.ki3
- jwiesler
- Daniel Drodt
- Arne Keller
- Wolfram Pfeifer1
- lichtemo
- BookWood
- David Giessing
- Florian Lanzinger4
- alicia
- simongreiner
- Tobias Reinhold
- rheimbach
- zhao-nan
- pschmitt27
- Christopher Beckmann5
- Mattias Ulbrich1
- PumpkinPieTroelf
- Lukas Grätz
- Tmm
- Wojciech Mostowski
- SeeVella
- PiisRational
- Carsten Csiky
- Jonas Krämer
- 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 prereleases/KeY-3.0.0-rc -->
What's Changed
Breaking Changes 🗲
- Set the Java Release Version to 21 by @wadoon in https://github.com/KeYProject/key/pull/3522
- 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
- Refactoring context menus of sequent views by @wadoon in https://github.com/KeYProject/key/pull/3641
- 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
- Modularization: InfFlow and WD as separate modules by @wadoon in https://github.com/KeYProject/key/pull/3640
- 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
- Make \sameUpdateLevel the default by @Drodt in https://github.com/KeYProject/key/pull/3899
Exciting New Features 🎉
- Extract Taclets and Prover Main Loop to ncore by @Drodt in https://github.com/KeYProject/key/pull/3578
- Renovation of the TestCase generation by @wadoon in https://github.com/KeYProject/key/pull/3388
- Add Polymorphic Sorts and Functions by @Drodt in https://github.com/KeYProject/key/pull/3652
- The Removal of Recoder by @wadoon in https://github.com/KeYProject/key/pull/3120
- Proof Scripts in JML by @mattulbrich in https://github.com/KeYProject/key/pull/3657
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
- KeY/JSON config for SMT solvers by @wadoon in https://github.com/KeYProject/key/pull/3597
- Save proof independent settings, that are not used by the configuration by @PiIsRational in https://github.com/KeYProject/key/pull/3700
- Send Feedback using Github issues by @wadoon in https://github.com/KeYProject/key/pull/3736
- 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
- Add support for Annotation Processors in the Javac Extension by @PiIsRational in https://github.com/KeYProject/key/pull/3686
- Options Panel in Load Dialog. Options in Recent Files by @wadoon in https://github.com/KeYProject/key/pull/3788
- Add support for
varvariable declarations by @Drodt in https://github.com/KeYProject/key/pull/3821 - Basic Theory of Sets by @WolframPfeifer in https://github.com/KeYProject/key/pull/3777
- Collapsing proof search by @unp1 in https://github.com/KeYProject/key/pull/3825
- Improvements for the Taclet Match Dialog by @unp1 in https://github.com/KeYProject/key/pull/3830
- Allow realizing multiple cached branches at once by @FliegendeWurst in https://github.com/KeYProject/key/pull/3440
- automode to choose from a dropdown list by @mattulbrich in https://github.com/KeYProject/key/pull/3857
- Feature: Version-based Configuration Paths by @wadoon in https://github.com/KeYProject/key/pull/3888
- Fix compact constructor in Records by @wadoon in https://github.com/KeYProject/key/pull/3905
- Soundiness dialog for making assumptions explicit by @mattulbrich in https://github.com/KeYProject/key/pull/3887
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
truein 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
- Fix deadlock when showing JML warnings dialog by @FliegendeWurst in https://github.com/KeYProject/key/pull/3692
- 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
- Fix 'choose contract' in parser by @Drodt in https://github.com/KeYProject/key/pull/3840
- Fixes for minor regressions on main by @unp1 in https://github.com/KeYProject/key/pull/3844
- Make new name creation only dependent on goal namespaces not on global counter by @unp1 in https://github.com/KeYProject/key/pull/3848
- Fix per-proof memory leak: clear JavaParserFacade cache on dispose by @unp1 in https://github.com/KeYProject/key/pull/3854
- Make cross-platform path/URI/charset handling in load/save more robust by @unp1 in https://github.com/KeYProject/key/pull/3860
- Fix "Rule of same name exists already" error after pruning (rare but occuring cases after mass pruning with try-closeable-goals) by @unp1 in https://github.com/KeYProject/key/pull/3850
- Fix most-recent file not set after loading recent-files list (#3711) by @unp1 in https://github.com/KeYProject/key/pull/3866
- Reject generic sorts at user-input boundaries: \problem, JML, taclet instantiation (#3409) by @unp1 in https://github.com/KeYProject/key/pull/3869
- Fix fast-click auto-mode crash: overlapping runs + proof breaking proof listeners by @unp1 in https://github.com/KeYProject/key/pull/3880
- Fix NPE when copying a namespace set with a root sub-namespace by @unp1 in https://github.com/KeYProject/key/pull/3881
- Follow-up fixes for cost-reuse: remove unsound static caches by @unp1 in https://github.com/KeYProject/key/pull/3873
- Implement \real literals (#3570); fix LogicPrinter.quickPrintSemisequent (#243) by @unp1 in https://github.com/KeYProject/key/pull/3865
- Fix changing Taclet Options via the GUI (and more) + TimSort source files added as examples by @unp1 in https://github.com/KeYProject/key/pull/3889
- Fix two soundness gaps in select/permission taclets by @unp1 in https://github.com/KeYProject/key/pull/3891
- Cost-Reuse: Fix latent classification bugs and code cleanup by @unp1 in https://github.com/KeYProject/key/pull/3890
- Fix GUI crashes when no proof is loaded, and remove dead MainWindowTabbedPane by @unp1 in https://github.com/KeYProject/key/pull/3892
- Fix for DepthFirstGoalChooser: Keep enabled sibling goals on a split by @unp1 in https://github.com/KeYProject/key/pull/3886
- Fix finalFields default in FinalHeapResolution.isFinalEnabled by @unp1 in https://github.com/KeYProject/key/pull/3895
- Fixes "No Proof" in status line when a proof was closed. by @unp1 in https://github.com/KeYProject/key/pull/3900
- Ensure default option for pruning/disposing of cache sources is set properly by @WolframPfeifer in https://github.com/KeYProject/key/pull/3901
- Microfix: Missing ',' in CLUTTER_RULES prevented rules to be lower prioritized (as their two name were joined together) by @unp1 in https://github.com/KeYProject/key/pull/3906
- Fix pruning of cached branches by @FliegendeWurst in https://github.com/KeYProject/key/pull/3858
- Fix broken proof tree after information flow auto pilot by @unp1 in https://github.com/KeYProject/key/pull/3911
- Respect the \profile declaration of loaded files again by @unp1 in https://github.com/KeYProject/key/pull/3912
- Use default key stroke settings when no settings file exists by @unp1 in https://github.com/KeYProject/key/pull/3913
- Fix: Automode button in Strategy Pane could not be used to stop automode by @unp1 in https://github.com/KeYProject/key/pull/3896
- Fix file dependency for runAntlr4KeY by @Drodt in https://github.com/KeYProject/key/pull/3920
- Enforce profile when selected via file chooser by @unp1 in https://github.com/KeYProject/key/pull/3921
- Only recreate Isabelle session files if path has actually changed by @flo2702 in https://github.com/KeYProject/key/pull/3929
- Removed double dbg msg by @flo2702 in https://github.com/KeYProject/key/pull/3930
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
- Bump the gradle-deps group across 1 directory with 8 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3818
- Bump actions/checkout from 6 to 7 in the github-actions-deps group by @dependabot[bot] in https://github.com/KeYProject/key/pull/3871
- Bump the gradle-deps group across 1 directory with 9 updates by @dependabot[bot] in https://github.com/KeYProject/key/pull/3872
- Migrate to Gradle Version Catalog by @wadoon in https://github.com/KeYProject/key/pull/3894
Other Changes
- 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-qualartifact 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
- 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
shadowdependency 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
- 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
- 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
- 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
- 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
- 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
- Artifacts are now on mvn central by @wadoon in https://github.com/KeYProject/key/pull/3820
- Local performance improvements by @unp1 in https://github.com/KeYProject/key/pull/3824
- Improvements of Error Messages and Accurracy of Error Position Reporting by @unp1 in https://github.com/KeYProject/key/pull/3826
- Improve Update Simplification for Long Programs by @unp1 in https://github.com/KeYProject/key/pull/3828
- Deployment to Maven Central SNAPSHOT by @wadoon in https://github.com/KeYProject/key/pull/3819
- Optimize NonDuplicateEqApp-features by @unp1 in https://github.com/KeYProject/key/pull/3829
- Modularize KeY Grammar by @Drodt in https://github.com/KeYProject/key/pull/3822
- Make semicolon after rule optional by @Drodt in https://github.com/KeYProject/key/pull/3832
- Support co- and contravariant sorts by @Drodt in https://github.com/KeYProject/key/pull/3841
- Fix gradle task dependencies by @wadoon in https://github.com/KeYProject/key/pull/3853
- Remaining Changes for the KeY JSON-RPC API by @wadoon in https://github.com/KeYProject/key/pull/3849
- Revert "Create temporary PR body file" by @wadoon in https://github.com/KeYProject/key/pull/3852
- Taclet match dialog: collapse big matched terms; add an editor for SV fields by @unp1 in https://github.com/KeYProject/key/pull/3855
- Fix newline escape for Windows by @Drodt in https://github.com/KeYProject/key/pull/3856
- Further improvements on error message reporting by @unp1 in https://github.com/KeYProject/key/pull/3859
- Performance (5/5): operator-indexed parking of assumes-incomplete rule-app bases by @unp1 in https://github.com/KeYProject/key/pull/3838
- Performance (3/5): skip the checkPrefix prefix-walk when no transformer is present by @unp1 in https://github.com/KeYProject/key/pull/3836
- Performance (2/5): cut proof-search allocations + release the parser DFA cache by @unp1 in https://github.com/KeYProject/key/pull/3835
- Performance (1/5): Matching can now partially evaluate taclets by @unp1 in https://github.com/KeYProject/key/pull/3831
- Performance (4/5): reuse rule-app cost across re-expansion (+ age as a cost term) by @unp1 in https://github.com/KeYProject/key/pull/3837
- LogicPrinter: reduce per-subterm overhead and harden against unbalanced blocks by @unp1 in https://github.com/KeYProject/key/pull/3861
- Make proof-tree painting cheap on large proofs by @unp1 in https://github.com/KeYProject/key/pull/3863
- Fix intermittent key.core.testgen failures from SMT symbol-map race by @unp1 in https://github.com/KeYProject/key/pull/3862
- Regression tests for resolved parser/JML issues (#1119, #1536); pin #329 by @unp1 in https://github.com/KeYProject/key/pull/3868
- MetaSpace for documentation and origin by @wadoon in https://github.com/KeYProject/key/pull/3787
- Update the InfoTree component by @wadoon in https://github.com/KeYProject/key/pull/3786
- Report missing \endmodality at the modality opening; move source-location classes to ncore (#3867) by @unp1 in https://github.com/KeYProject/key/pull/3870
- Better ImmutableList by @wadoon in https://github.com/KeYProject/key/pull/3816
- Taclet match dialog: readable \assumes candidates and smarter window placement by @unp1 in https://github.com/KeYProject/key/pull/3882
- Performance Series 2 (1/5): Faster cost computation by skipping an unnecessary proof-history walk by @unp1 in https://github.com/KeYProject/key/pull/3874
- Performance Series 2 (2/5): Faster term equality modulo renaming via a hash pre-filter by @unp1 in https://github.com/KeYProject/key/pull/3875
- Performance Series 2 (3/5): Incremental taclet re-indexing for a single added taclet by @unp1 in https://github.com/KeYProject/key/pull/3876
- Performance Series 2 (5/5): Faster quantifier-instantiation heuristic, plus code cleanup by @unp1 in https://github.com/KeYProject/key/pull/3878
- Performance Series 2 (4/5): Lower memory for the per-goal rule-application queue by @unp1 in https://github.com/KeYProject/key/pull/3877
- Removal of proof_references and symbolic_execution modules by @wadoon in https://github.com/KeYProject/key/pull/3910
- Fix recent file menu; fix #3898 by @wadoon in https://github.com/KeYProject/key/pull/3909
- Add test for Java parsing coverage by @unp1 in https://github.com/KeYProject/key/pull/3916
- Support for multi-catch-clauses in try-statements by @wadoon in https://github.com/KeYProject/key/pull/3919
- Support for try-with-resources by reduction by @wadoon in https://github.com/KeYProject/key/pull/3918
- Remove proof-tree node border by @flo2702 in https://github.com/KeYProject/key/pull/3928
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...KeY-3.0.0
Files
KeYProject/key-KeY-3.0.0.zip
Files
(35.7 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:c06400d71d9785e9a3b68d7ead9b56de
|
35.7 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/KeYProject/key/tree/KeY-3.0.0 (URL)
Software
- Repository URL
- https://github.com/KeYProject/key