Skip to content

Commit 17f0517

Browse files
FliegendeWurstWolframPfeiferwadoon
committed
Include changelog for 2.12
Co-Authored-By: Wolfram Pfeifer <[email protected]> Co-Authored-By: Alexander Weigl <[email protected]>
1 parent c8e2253 commit 17f0517

File tree

1 file changed

+174
-43
lines changed

1 file changed

+174
-43
lines changed

docs/changelog.md

+174-43
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,179 @@
11
# Changelog
22

3-
## Upcoming: 2.12.0 (2023-08-02)
4-
5-
### Core
6-
7-
* **BREAK:** Minimum required Java version is 11. (!380)
8-
* NEW: Floating point number support ([!403])
9-
* NEW: [Proof Slicing](user/ProofSlicing.md) system
10-
* NEW: [Proof Caching](user/ProofCaching.md) system
11-
* NEW: Java source validity is checked using javac ([!581])
12-
* IMP: Removal of the Eclipse Plugins. Eclipse support is now shipped in [keyclipse repository](https://git.key-project.org/key/keyclipse) (!390)
13-
* IMP: Removal of `System.out/err` in favor for logging with SLF4J (!240)
14-
* IMP: Translation of the last DL contracts to JML contracts. (!375)
15-
* IMP: jdiv and jmod support in SMT translation via definitions
16-
* IMP: support \old() in jml asserts ([!533])
17-
* FIX: Z3 counterexample generation works again ([!623])
18-
* FIX: Check for correct polarity when applying taclets ([!616])
19-
* Bring INVISMT to KeY; Refactors SolverTypes (!406)
20-
* Performance: Switching sequents (!482)
21-
* change SwitchToIf to create a if-else cascade (!444)
22-
* More proof script commands: hide and unhide. (!486)
23-
* Enables JavaDL data types in ghost and model fields (!469)
24-
* insert jml assume and assert statements in the right order (!476)
25-
* Performance: Autopilot ([!508])
26-
* Performance: Several memory leaks fixed ([!573])
27-
28-
### UI
29-
* More functionality in statistics dialog
30-
* Configurable look and feel ([!635])
31-
* Proof loading shows a progress bar ([!560])
32-
33-
### Development
34-
35-
* New SMT solver configuration system ([!514], ...)
36-
* Code style fixes ([!618], [!619])
37-
* Preparations for Gradle 8 ([!620])
38-
* Checkstyle updated to latest version ([!631])
39-
* Apply Spotless to code base (automatic formatting) ([!584])
40-
* JUnit 5 ([!489])
41-
* Externalization of Interaction Logging ([!500])
42-
* Fix comment attachment in recoder (!399)
43-
* Restore RECODER-0.84 (!424)
44-
* Update dependencies (!467)
45-
* No dependencies as local jar files (!484)
3+
## [2.12.0](https://github.com/KeYProject/key/releases/tag/KeY-2.12.0) (2023-08-18)
4+
5+
### Breaking changes
6+
* [The minimum required JDK version is set to 11.](https://git.key-project.org/key/key/-/merge_requests/380)
7+
- This release contains breaking changes for the reloading of older proofs:
8+
- Integers in specifications are now considered as unbounded (i.e. `\bigint`, math mode specifiers can be used to deviate from the default).
9+
- The list of rule sets used by the One-Step-Simplifier has changed.
10+
- JML assertions are handled as a standalone construct and not as a block contract anymore.
11+
12+
### Highlights
13+
14+
* [Support for floating points](https://git.key-project.org/key/key/-/merge_requests/403)
15+
* [Support for JML asserts/assumes as standalone construct (instead of transforming into blockcontracts)](https://git.key-project.org/key/key/-/merge_requests/494), [Support of \old() in JML asserts](https://git.key-project.org/key/key/-/merge_requests/533)
16+
* [Support for JML math mode specifiers (and changed default semantics to spec_bigint_math)](https://github.com/KeYProject/key/pull/3014)
17+
* [Proof Slicing](user/ProofSlicing.md) system ([#3026](https://github.com/KeYProject/key/pull/3026))
18+
* [Proof Caching](user/ProofCaching.md) system
19+
* [Run the Javac compiler when loading Java code](https://git.key-project.org/key/key/-/merge_requests/581)
20+
* Migration to GitHub
21+
* [Files for Github Actions](https://git.key-project.org/key/key/-/merge_requests/634)
22+
* [Add `merge_group` event to checks](https://github.com/KeYProject/key/pull/3060)
23+
* Artiweb: [#3047](https://github.com/KeYProject/key/pull/3047), [#3097](https://github.com/KeYProject/key/pull/3097), [#3098](https://github.com/KeYProject/key/pull/3098), [#3101](https://github.com/KeYProject/key/pull/3101), [#3102](https://github.com/KeYProject/key/pull/3102), [#3103](https://github.com/KeYProject/key/pull/3103)
24+
* [Upload HTML test report](https://github.com/KeYProject/key/pull/3010)
25+
* [Dependabot](https://github.com/KeYProject/key/pull/3002)
26+
27+
### Features
28+
29+
* [Enable JavaDL data types in ghost and model fields](https://git.key-project.org/key/key/-/merge_requests/469)
30+
* [Change SwitchToIf to create a if-else cascade](https://git.key-project.org/key/key/-/merge_requests/444)
31+
* [More proof script commands: hide and unhide](https://git.key-project.org/key/key/-/merge_requests/486)
32+
* [Logging via slf4j](https://git.key-project.org/key/key/-/merge_requests/240)
33+
* [Suggested automation for seqPerm](https://git.key-project.org/key/key/-/merge_requests/531)
34+
* [More descriptive names for result variables](https://git.key-project.org/key/key/-/merge_requests/542)
35+
* [Implement some features of the jml assert wishlist](https://git.key-project.org/key/key/-/merge_requests/532)
36+
* [ChoiceExpr: En-/Disabling taclets/goal templates using boolean expression](https://git.key-project.org/key/key/-/merge_requests/574)
37+
* [New rules from the sorting case study](https://git.key-project.org/key/key/-/merge_requests/567)
38+
* [Overflow checking](https://github.com/KeYProject/key/pull/3027)
39+
* [Bring INVISMT to KeY; Refactors SolverTypes](https://git.key-project.org/key/key/-/merge_requests/406)
40+
* [Redux additions](https://git.key-project.org/key/key/-/merge_requests/588)
41+
42+
### UI/UX Improvements
43+
* [Selection history (back + forward button)](https://github.com/KeYProject/key/pull/3006)
44+
* [Generic undo button for user actions](https://github.com/KeYProject/key/pull/3009)
45+
* [Expand oss nodes](https://github.com/KeYProject/key/pull/3061)
46+
* [Allow user to select any installed LaF](https://github.com/KeYProject/key/pull/3038)
47+
* [Un-clutter the context menus in the proof tree view](https://git.key-project.org/key/key/-/merge_requests/611)
48+
* [Close more dialogs on escape press](https://git.key-project.org/key/key/-/merge_requests/571)
49+
* [Replay progress display](https://git.key-project.org/key/key/-/merge_requests/560)
50+
* [Improved taclet error reporting](https://git.key-project.org/key/key/-/merge_requests/603)
51+
* [Immediately resize proof tree font](https://git.key-project.org/key/key/-/merge_requests/624)
52+
* [Tooltip for the exloration status label](https://git.key-project.org/key/key/-/merge_requests/592)
53+
* [Update log button, use Desktop.open instead of edit, fix an exception and log format on windows](https://git.key-project.org/key/key/-/merge_requests/610)
54+
* [Report location on error in constant evaluation](https://github.com/KeYProject/key/pull/3025)
55+
* [Report better error for missing model method]( https://github.com/KeYProject/key/pull/3041)
56+
* [Proof tree view: Multiple small changes for readability](https://github.com/KeYProject/key/pull/3012)
57+
* [Disable exploration tree updates when disabled](https://git.key-project.org/key/key/-/merge_requests/569)
58+
* [Focus first cell in the taclet instantiation dialog on open](https://git.key-project.org/key/key/-/merge_requests/572)
59+
* [Clipboard: Replace nbsp from html document selection with normal spaces](https://git.key-project.org/key/key/-/merge_requests/480)
60+
* [Improve naming in recently used files dropdown](https://git.key-project.org/key/key/-/merge_requests/622)
61+
### 🛠 Maintenance/Internal Changes
62+
63+
* Logging
64+
* [Logging cleanup](https://github.com/KeYProject/key/pull/3093)
65+
* [Housekeeping: Logging](https://git.key-project.org/key/key/-/merge_requests/540)
66+
67+
* Code formatting with spotless
68+
* [Check formatting with Spotless](https://git.key-project.org/key/key/-/merge_requests/497)
69+
* [Formatted rules](https://git.key-project.org/key/key/-/merge_requests/597)
70+
* [Set an import order for Java code](https://github.com/KeYProject/key/pull/3094)
71+
* [Apply Spotless to code base: Source code reformatting (no license headers)](https://git.key-project.org/key/key/-/merge_requests/584)
72+
* [Spotless: Don't join manually split lines](https://git.key-project.org/key/key/-/merge_requests/586)
73+
74+
* Code-Clean-Ups and Refactoring:
75+
* [Replace the hardcoded SolverType classes by .props files](https://git.key-project.org/key/key/-/merge_requests/514)
76+
* [Position information overhaul](https://github.com/KeYProject/key/pull/3049)
77+
* [Remove ServiceLoaderUtil](https://git.key-project.org/key/key/-/merge_requests/470)
78+
* [Remove last Eclipse files](https://git.key-project.org/key/key/-/merge_requests/471)
79+
* [Code cleanup](https://github.com/KeYProject/key/pull/3064)
80+
* [Miscellaneous cleanups (unused classes removed etc.)](https://github.com/KeYProject/key/pull/3044)
81+
* [Removal of the Eclipse Plugins](https://git.key-project.org/key/key/-/merge_requests/390)
82+
* [Remove sonarqube from readme](https://github.com/KeYProject/key/pull/3077)
83+
* [Cleanup: Remove extension of CreatingASTVisitor by MergeRuleUtils.CollectLocationVariablesVisitor](https://git.key-project.org/key/key/-/merge_requests/529)
84+
* [Some code cleanup](https://git.key-project.org/key/key/-/merge_requests/619)
85+
* [Refactor Java formatter used in the sequent view](https://github.com/KeYProject/key/pull/3034)
86+
* [Overhaul of the Configuration](https://github.com/KeYProject/key/pull/3031)
87+
* [Add possibility to check for unsupported properties keys to SettingsConverter and clean up the class](https://git.key-project.org/key/key/-/merge_requests/638)
88+
* [Removal of the Proof Collection Parser](https://github.com/KeYProject/key/pull/3030)
89+
90+
* Dependencies
91+
* [Recoder became part of this repo (Version 0.84 incl. KeY extensions)](https://git.key-project.org/key/key/-/merge_requests/424)
92+
* [Update dependencies](https://git.key-project.org/key/key/-/merge_requests/467)
93+
* [No dependencies as local jar files](https://git.key-project.org/key/key/-/merge_requests/484)
94+
* [JUnit 5](https://git.key-project.org/key/key/-/merge_requests/489)
95+
* [Update Checkstyle configuration to latest Checkstyle version](https://git.key-project.org/key/key/-/merge_requests/631)
96+
* [Externalization of Interaction Logging](https://git.key-project.org/key/key/-/merge_requests/500)
97+
* [Prepare build.gradle scripts for Gradle 8.0](https://git.key-project.org/key/key/-/merge_requests/620)
98+
99+
* Performance
100+
* [Performance when switching nodes](https://git.key-project.org/key/key/-/merge_requests/482)
101+
* [Autopilot Performance: hasModality](https://git.key-project.org/key/key/-/merge_requests/508)
102+
* [Performance: pause tree updates while executing "Set All Goals Below to XX"](https://git.key-project.org/key/key/-/merge_requests/528)
103+
* [Avoid creating proof obligations in ProofManagementDialog](https://git.key-project.org/key/key/-/merge_requests/554)
104+
105+
* Tests
106+
* [JUnit XML files for optional-tests](https://github.com/KeYProject/key/pull/3096)
107+
* [Add documentation for TestTacletEquality and update oracle](https://git.key-project.org/key/key/-/merge_requests/473)
108+
* [Restore Information FlowTests](https://git.key-project.org/key/key/-/merge_requests/553)
109+
* [Split `testRunAllProofs` into two tasks](https://git.key-project.org/key/key/-/merge_requests/559)
110+
* [Disable proof_references + symbolic_execution](https://git.key-project.org/key/key/-/merge_requests/589)
111+
112+
* Misc
113+
* [Small tweaks to proof script engine](https://github.com/KeYProject/key/pull/3020)
114+
* [Reducing the binary filesize by only including the necessary example files](https://git.key-project.org/key/key/-/merge_requests/626)
115+
* [Improve smt solver checking on windows](https://git.key-project.org/key/key/-/merge_requests/609)
116+
* [Translating DL contracts to JML](https://git.key-project.org/key/key/-/merge_requests/375)
117+
* [Read `\profile` and `\settings` once](https://github.com/KeYProject/key/pull/3007)
118+
* [Stop the message about java_profile.jfr](https://git.key-project.org/key/key/-/merge_requests/590)
119+
* [Suppress logback message before configuration](https://git.key-project.org/key/key/-/merge_requests/591)
120+
* [Support for jdiv and jmod in SMT translation via definitions](https://git.key-project.org/key/key/-/merge_requests/547)
121+
* [Add gen folder to gitignore](https://git.key-project.org/key/key/-/merge_requests/598)
122+
* [Add Task runWithProfiler to execute key.ui with the Java Flight Recoder](https://git.key-project.org/key/key/-/merge_requests/504)
123+
* [Load some (old) proofs with wrong/missing instantiations of \assumes in taclet app](https://git.key-project.org/key/key/-/merge_requests/516)
124+
* [Specialized version of RuleContext::getText in TextualJMLAssertStatement::getClauseText](https://git.key-project.org/key/key/-/merge_requests/479)
125+
* [Multiplication for rule costs](https://git.key-project.org/key/key/-/merge_requests/541)
126+
127+
### 🐛 Bug Fixes
128+
129+
* [Bug fixes from the IdentityHashMap case study](https://git.key-project.org/key/key/-/merge_requests/499)
130+
* [Remove highlighting artifacts in SequentView with Unicode symbols enabled](https://git.key-project.org/key/key/-/merge_requests/595)
131+
* [Avoid tooltip NPE for incomplete proof nodes](https://github.com/KeYProject/key/pull/3037)
132+
* [Always load correct example on double click](https://git.key-project.org/key/key/-/merge_requests/632)
133+
* [TokenMgrErr in issue dialogs](https://git.key-project.org/key/key/-/merge_requests/633)
134+
* [Fix exception when parsing unknown source name in BuildingException](https://git.key-project.org/key/key/-/merge_requests/570)
135+
* [Solve missing plugin in shadowJar by adding `mergeServiceFiles()`](https://git.key-project.org/key/key/-/merge_requests/545)
136+
* [Fix Z3 counterexample generation](https://git.key-project.org/key/key/-/merge_requests/623)
137+
* [Fix three memory leaks](https://git.key-project.org/key/key/-/merge_requests/573)
138+
* [Keep original PositionInfo in ForToWhileTransformation](https://git.key-project.org/key/key/-/merge_requests/628)
139+
* [Check for correct polarity when applying taclets](https://git.key-project.org/key/key/-/merge_requests/616)
140+
* [Add triggers to textual representations of taclets](https://git.key-project.org/key/key/-/merge_requests/600)
141+
* [Allow declaration of function symbols in custom key file and to use them in JML via \dl](https://git.key-project.org/key/key/-/merge_requests/602)
142+
* [Fix leftover files that are not formatted properly](https://git.key-project.org/key/key/-/merge_requests/604)
143+
* [Fix loop in strategy](https://git.key-project.org/key/key/-/merge_requests/129)
144+
* [Fix PosInProgram](https://git.key-project.org/key/key/-/merge_requests/621)
145+
* [Fix file filter for .proof.gz files](https://git.key-project.org/key/key/-/merge_requests/536)
146+
* [Fixed rule "wellFormedStoreObjectEQ"](https://git.key-project.org/key/key/-/merge_requests/526)
147+
* [Resolve "Taclet leaves a broken tree after failing to apply"](https://git.key-project.org/key/key/-/merge_requests/492)
148+
* [Fix potential stack overflow in ExplorationStepsList](https://git.key-project.org/key/key/-/merge_requests/510)
149+
* [Show message of the chained cause of the exception in IssueDialog](https://git.key-project.org/key/key/-/merge_requests/515)
150+
* [Ensure that the condition of a JML assert statement is always a formula](https://git.key-project.org/key/key/-/merge_requests/530)
151+
* [Fix widening casts and boxing of extension primitive types like bigint](https://git.key-project.org/key/key/-/merge_requests/583)
152+
* [Fix construction of Javac issue dialog](https://github.com/KeYProject/key/pull/3008)
153+
* [Fix handling of multiline log messages]( https://github.com/KeYProject/key/pull/3033)
154+
* [Fix javacc deprecation warning]( https://github.com/KeYProject/key/pull/3016)
155+
* [Fix ProofTreeView NPE](https://github.com/KeYProject/key/pull/3070)
156+
* [Fix program element printing in proof saver](https://github.com/KeYProject/key/pull/3073)
157+
* [Fix some positions being offset](https://github.com/KeYProject/key/pull/3084)
158+
* [Fix type of `Long.MIN_VALUE` and `Long.MAX_VALUE`](https://github.com/KeYProject/key/pull/3100)
159+
* [Activate Z3 if no other SMT solver is configured](https://github.com/KeYProject/key/pull/3048)
160+
* [Register modifier when parsing JML spec](https://github.com/KeYProject/key/pull/3040)
161+
* [Fix set statements (allow expressions on lhs, e.g. for array and field access)](https://git.key-project.org/key/key/-/merge_requests/566)
162+
* [Fix IllegalArgumentException being thrown from IssueDialog](https://git.key-project.org/key/key/-/merge_requests/485)
163+
* [Insert JML assume and assert statements in the right order](https://git.key-project.org/key/key/-/merge_requests/476)
164+
* [Make AbbrevMap::getTerm fulfill its contract and prevent a NPE](https://git.key-project.org/key/key/-/merge_requests/481)
165+
* [A collection for some (straight forward) of the SonarQube reliability bugs](https://git.key-project.org/key/key/-/merge_requests/618)
166+
* [Remove space from taclet proof save file name](https://git.key-project.org/key/key/-/merge_requests/568)
167+
* [Resolve "Parsing exception: undeclared variable in an assignable declaration"](https://git.key-project.org/key/key/-/merge_requests/506)
168+
* [Fix for heap/permissions/threads example](https://git.key-project.org/key/key/-/merge_requests/527)
169+
* [Repairing JML interpretation of equality on floats and doubles.](https://git.key-project.org/key/key/-/merge_requests/524)
170+
171+
* Further bug fixes: [#1664](https://git.key-project.org/key/key/-/merge_requests/474), [#1658](https://git.key-project.org/key/key/-/merge_requests/491), [#1652](https://git.key-project.org/key/key/-/merge_requests/495), [#1679](https://git.key-project.org/key/key/-/merge_requests/503), [#1681, #1682](https://git.key-project.org/key/key/-/merge_requests/507), [#1678](https://git.key-project.org/key/key/-/merge_requests/521), [#1685](https://git.key-project.org/key/key/-/merge_requests/512), [#1690](https://git.key-project.org/key/key/-/merge_requests/517), [#1706](https://git.key-project.org/key/key/-/merge_requests/538), [#1709](https://git.key-project.org/key/key/-/merge_requests/539), [#1684](https://git.key-project.org/key/key/-/merge_requests/511), [#1711](https://git.key-project.org/key/key/-/merge_requests/549), [#1707](https://git.key-project.org/key/key/-/merge_requests/601), [#1723](https://git.key-project.org/key/key/-/merge_requests/587), [#1598](https://git.key-project.org/key/key/-/merge_requests/513), [#3035](https://github.com/KeYProject/key/pull/3045)
172+
173+
---
174+
We like to thank our contributors for this release, namely:
175+
176+
Alicia Appelhagen, Richard Bubel, Lukas Grätz, Christian Hein, Arne Keller, Michael Kirsten, Florian Lanzinger, Wolfram Pfeifer, Mike Schwörer, Benjamin Takacs, Samuel Teuber, Mattias Ulbrich, Alexander Weigl, Julian Wiesler
46177

47178
## 2.10.0 (2021-12-23)
48179

0 commit comments

Comments
 (0)