Timefold Solver 2.2.0
Another release packed full of goodness! We've improved Neighborhoods, increased performance Constraint Streams as well as made them easier to test, and fixed plenty of bugs.
Going forward, we will likely increase the release cadence - instead of releasing every month, you will see us publishing releases every two weeks.
Changelog
🚀 Features
- neighborhoods: add groupBy() support (#2334)
- introduce an optimization model support as a preview (#2307)
- implement direct testing of score/impact of constraints (#2306)
🐛 Fixes
- semaphore release submitted to a dead executor (#2374)
- invert the probability of acceptance in fading tabu (#2358)
- constraint-streams: fact-based precompute() correctly propagates (#2338)
- benchmarker: use approximate problem scale instead of log in the report (#2336)
- make non-existent classes in solver detectable
- neighborhoods: iterators must not survive step boundaries
- address XXE in JaxbIO parsing (#2313)
🔄️ Changes
- constraint-streams: fused equal indexer (#2346)
- constraint-streams: implement runtime node deactivation (#2337)
- neighborhoods: remove indirection from ElementAwareArrayList (#2333)
- constraint-streams: introduce incremental constraint collectors (#2270)
- perform shadow variable update exactly once (#2305)
Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli (@Christopher-Chianelli)
- Cristiano Nicolai (@cristianonicolai)
- Diallo Francis-Patrick (@PatrickDiallo23)
- Diogo Ferreira (@diogodanielsoaresferreira)
- Frederico Gonçalves (@zepfred)
- Geoffrey De Smet (@ge0ffrey)
- Lukas Downes (@LDWNS)
- Lukáš Petrovický (@triceo)
- Maciej Swiderski (@mswiderski)
- Marek Winkler (@winklerm)
- Matej Čimbora (@mcimbora)
- Radovan Synek (@rsynek)
- Tom Cools (@TomCools)
- Lars Beckmann (@larsbeck)
Timefold Solver Community Edition is an open source project, and you are more than welcome to contribute as well! For more, see Contributing.
Timefold also offers commercial editions of the solver, which include additional features such as explainability, the ability to scale out to the biggest datasets, and enterprise-grade support. Find out which edition is right for you.
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.2.0 dependency in your pom.xml to get started.
You can also import the Timefold Solver Bom (ai.timefold.solver : timefold-solver-bom : 2.2.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.