We welcome the new year with another release of Timefold Solver!
This time, it's mostly bugfixes and quality of life improvements, but we also introduce a [Solution Diff feature](https://docs.timefold.ai/timefold-solver/latest/constraints-and-score/understanding-the-score#solutionDiff) to let you easily check differences between two planning solutions. It starts out its life as a preview feature, so [let us know](https://github.com/TimefoldAI/timefold-solver/discussions) what you think!
Changelog
🚀 Features
- d79f75c Solution diff in SolutionManager (1312), closes 1312
- 4316a5e (Python) Support deep_planning_clone class decorator (1271), closes 1271
🐛 Fixes
- 3247e86 Ruin&Recreate score corruption and multi-threaded fixes (1320), closes 1320
- d3ae68f Use Named Solver fields and method parameters to determine list of solver names in Quarkus (1308), closes 1308
- 6271534 More accurate type hints for Python planning_entity
🔄️ Changes
- 415de75 Reduce the LocationInList allocation rate (1277), closes 1277
Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli (Christopher-Chianelli )
- Frederico Gonçalves (zepfred )
- Jonathan Romano (luxaritas )
- Lukáš Petrovický (triceo )
- tomashauser (tomashauser )
_Timefold Solver Community Edition_ is an open source project, and you are more than welcome to contribute as well!
For more, see [Contributing](https://github.com/TimefoldAI/timefold-solver/blob/main/CONTRIBUTING.adoc).
Should your business need to scale to truly massive data sets or require enterprise-grade support,
check out [_Timefold Solver Enterprise Edition_](https://timefold.ai/pricing).
How to use Timefold Solver
To see Timefold Solver in action, check out [the quickstarts](https://github.com/TimefoldAI/timefold-quickstarts).
[//]: (Ideally we'd show the pom.xml snippet, but a JReleaser bug would remove all whitespace from it.)
[//]: (See https://github.com/jreleaser/jreleaser/issues/1142)
With Maven or Gradle, add the `ai.timefold.solver : timefold-solver-core : 1.18.0` dependency in your `pom.xml` to get started.
You can also import the Timefold Solver Bom (`ai.timefold.solver : timefold-solver-bom : 1.18.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.