Timefold Solver 2.5.0
Summer or not, we've been busy bringing you an even faster and even more stable solver.
Changelog
馃殌 Features
- 8e1948f Support sourcing declarative shadow variables from planning list variable elements (#2506)
- 5cb80d9 Emit failed solution event if there is no solverJob (#2552)
馃悰 Fixes
- 4f9bec3 constraint-streams: Prevent stale tuples after a join
- 32377d8 Race condition in SolverWorker job registration (#2529)
- 1c95ac7 constraint-streams: Prevent false deactivation of filtered forEach node
鈴憋笍 Performance
- 0b588ff constraint-streams: Only switch to TreeMap when churn detected (#2553)
- 6a4f4f9 Decrease the overhead of constraint profiling (#2544)
- 751f46b constraint-streams: Stop re-resolving downstream indexers on containing-index removal
Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli (@Christopher-Chianelli )
- Cristiano Nicolai (@cristianonicolai )
- Diogo Ferreira (@diogodanielsoaresferreira )
- Jurriaan Persyn (@oemebamo )
- Luk谩拧 Petrovick媒 (@triceo )
- Marek Winkler (@winklerm )
- Radovan Synek (@rsynek )
- fodzal (@fodzal )
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 an Enterprise Edition of the solver, which includes additional features such as explainability, the ability to scale out to the biggest datasets, and enterprise-grade support.
Find out more.
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.5.0 dependency in your pom.xml to get started.
You can also import the Timefold Solver Bom (ai.timefold.solver : timefold-solver-bom : 2.5.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.