OptaPlanner EOL notice - Timefold offers support
August 14th, 2023

Timefold Solver Community Edition 1.1.0

We are proud to announce the general availability of Timefold Solver Community Edition 1.1.0! The highlights of this release include:

  • Significant improvements to constraint matching performance.
  • Several important bugfixes.
  • Documentation improvements and other minor tweaks.

To ensure Constraint Streams process data correctly in all cases, we unfortunately had to sacrifice some solver performance. (See bug #186.) Some use cases may see score calculation speeds drop by 5 % on average.


🐛 Fixes

  • propagate retracts before updates in order to have clean indexes (#193), closes #193
  • bail out of a never-ending loop when no move is doable
  • dispose of step cache at phase end if necessary

🔄️ Changes

  • read value range size instead of the value range (#205), closes #205
  • significantly speed up constraint matching performance (#171), closes #171

📝 Documentation

  • fix tiny consistency issue regarding method names
  • link the quickstarts repo early after frontpage link (#86), closes #86
  • change example from 'extends AbstractCustomPhaseCommand' to 'implements CustomPhaseCommand'


We'd like to thank the following people for their contributions:

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, just add the ai.timefold.solver : timefold-solver-core : 1.1.0 dependency in your pom.xml to get started.

You can also import the Timefold Solver Bom (ai.timefold.solver : timefold-solver-bom : 1.1.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. They exclude 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.

Back to overview