Timefold Solver 2.0.0 Beta 1
This is a Beta release of the upcoming Timefold Solver 2.0.0, coming later this month.
Although we aren't yet finished with all the backwards incompatible changes, there is already enough to give a good overview of what the release is shaping up to be.
We are grateful to everyone in our community who decide to help us test this release. Check out our migration documentation to help you with the transition.
Changelog
🚀 Features
- Convert solver to JPMS (#2149), closes #2149
🐛 Fixes
- Invert rewardsWith and penalizesBy handling of mixed constraints (#2142), closes #2142
- Use field getters/setters when available, enforce getters/setters are public (#2072), closes #1710 #1862 #2072
🔄️ Changes
- Change usage of Random to RandomGenerator (#2074), closes #2074
- Significantly improve assertion speed (#2157), closes #2157
- Move testing utilities into their own packages
- Validate constraint name
- Remove SolverManager's ProblemId generic
- ScoreDirector is no longer public (#2129), closes #2129
- Unify move interfaces (#2127), closes #2127
- Remove remaining deprecation from public API (#2124), closes #2124
- Clean up around solver config (#2122), closes #2122
- Clean up around problem changes (#2121), closes #2121
- Value range cleanup (#2111), closes #2111
- Remove deprecations around score and constraints (#2106), closes #2106
- Remove deprecated shadow variables (#2101), closes #2101
- Remove deprecations which touch the outer modules
- Remove deprecated Maven modules
- Remove deprecated chained variable support and clean up related files (#2091), closes #2091
- Remove autodiscover member type (#2133), closes #2133
- Use Gizmo MemberAccessors when possible, remove domainAccessType from SolverConfig (#2123), closes #2123
- Upgrade to spring 4.x (#2067), closes #2067
Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli (@Christopher-Chianelli)
- Dolverin (@Dolverin)
- Tom Cools (@TomCools)
- Frederico Gonçalves (@zepfred)
- Peter Laggner (@greyhairredbear)
- Lukáš Petrovický (@triceo)
Timefold Solver Community Edition is an open source project, and you are more than welcome to contribute as well! For more, see Contributing.
Should your business need to scale to truly massive data sets or require enterprise-grade support, check out Timefold Solver Enterprise Edition. Timefold Solver Enterprise Edition requires a license.
How to use Timefold Solver
To see Timefold Solver in action, check out the quickstarts.
With Maven or Gradle, add the ai.timefold.solver : timefold-solver-core : 2.0.0-beta-1 dependency in your pom.xml to get started.
You can also import the Timefold Solver Bom (ai.timefold.solver : timefold-solver-bom : 2.0.0-beta-1)
to avoid duplicating version numbers when adding other Timefold Solver dependencies later on.
Additional notes
The changelog and the list of contributors above are automatically generated. It excludes contributions to certain areas of the repository, such as CI and build automation. This is done for the sake of brevity and to make the user-facing changes stand out more.