Looks like Christmas came early this year! This release of your favorite solver is packed to the brim with cool new features.
Featured update: Nullness annotations on public API
Users of Kotlin rejoice! All public APIs of Timefold Solver have now been null-marked using JSpecify. This means you should now be able to remove some of those pesky Elvis operators from your code. Both Java and Kotlin users will also be able to benefit from IDE support, warning of improper use and handling of null
.
This has been a big change and we are doubly excited about it, because it was entirely contributed by a member of our growing community! Our thanks go out to Peter Laggner (@greyhairredbear), for the time and effort he spent delivering this. We hope he'll enjoy some Timefold-branded tokens of appreciation we've sent his way.
But that's not all we have in store for you!
- Due to some improvements to the solver, we no longer require you to implement undo moves for your Custom moves; you can safely delete them from your codebase, just like we did with ours.
- We have also updated the Score Analysis API to optionally skip listing all justifications, which will help users with massive datasets.
- We have a brand new documentation website with some refreshed content.
And last but not least, we've been making smaller improvements and bugfixes here and there, as per usual. Enjoy the latest and greatest Timefold Solver, and stay in touch!
Changelog
🚀 Features
- 48542aa Add nullness annotations on public API (Part 2) (#1160), closes #1160
- 06d2c82 Enable score analysis without justifications (#1185), closes #1185
- 34dded5 Add nullness annotations on public API (Part 1) (#1009), closes #1009
🐛 Fixes
📝 Documentation
- 2b68305 Fix syntax issues in Python (#1182), closes #1182
- 1300d72 Improve note on allows unassigned
- 6f5f54f Restructure introduction (#1151), closes #1151
- ef2aae9 Add missing link to backup planning (#1147), closes #1147
Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli (@Christopher-Chianelli)
- Franco Peschiera (@pchtsp)
- Geoffrey De Smet (@ge0ffrey)
- Lukáš Petrovický (@triceo)
- Peter Laggner (@greyhairredbear)
- Pieter De Schepper (@pieterdeschepper)
- Tom Cools (@TomCools)
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.
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 : 1.16.0
dependency in your pom.xml
to get started.
You can also import the Timefold Solver Bom (ai.timefold.solver : timefold-solver-bom : 1.16.0
)
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.