java-smt
java-smt copied to clipboard
Draft: Prepare Release 6.0.0
To prepare the release of 6.0.0 we should discuss all changes that we included and want to include, as well as update our README and info material to reflect the current state of JavaSMT.
TODO:
- [ ] All breaking changes that we plan to do should be included in this PR. For example #491.
- [ ] We need to discuss which changes currently under development are supposed to be finished for this release.
- [ ] We need to update our info material to reflect the current version of JavaSMT. We should be clear about future developments (e.g. we want to update to Java 17 soon and 21 next year), as well as the current requirements and dependencies (i.e. what is needed to run or build our solvers).
- [ ] We need to write a thorough release message with the many changes that piled up, as well as our plans for the future regarding Java versions etc.
This issue is a good first step towards the next release. Thanks for making the steps transparent.
Note: Version 6 will be the last mayor release for Java 11. We will move to Java 17 soon after and aim to adopt Java 21 in 2026.
Changelog (WIP):
- Many API calls in the
ModelandProverEnvironmentnow throwSolverExceptionandInterruptedException, as some solvers can throw these exceptions when executing the changed operations. MathSAT5 now throws aSolverExceptionin cases in which model generation fails when requesting a model, instead of the previousIllegalArgumentException. Warning:Model.iterator()may throw the checked exceptions SolverException and InterruptedException although these exceptions are not declared with throws due to API restrictions. ProverEnvironment,InterpolatingProverEnvironment, andOptimizationProverEnvironmentcan now be created with an optionalShutdownNotifier, allowing the re-use of the creatingSolverContextafter the shutdown of theProverEnvironment. This is currently supported for the following solvers: Bitwuzla, CVC4, MathSAT5, Z3, Yices2, and OpenSMT2.
(from https://github.com/sosy-lab/java-smt/pull/508#issuecomment-3636432860)
- Added 2 methods to
FloatingPointFormulaManagerto allow access to the rounding mode of floating point formulas. UsefromRoundingModeFormulato get the rounding mode of a formula, andmakeRoundingModeto create new rounding mode formulas