OptaPlanner EOL notice - Timefold offers support
October 18th, 2023

Timefold Solver Community Edition 1.3.0

Another release, another better version of Timefold Solver Community Edition!

Featured Update - Constraint Stream Concatenation:

  • Merge away! Combine multiple streams seamlessly.
  • Implement intricate constraints with ease.

Besides the usual bug fixes and dependency upgrades, we also have a smoother experience with improved support for Java’s record types.

Changelog

🚀 Features

  • Add concat operation to constraint streams
  • improve support for Java records (#308), closes #308

🐛 Fixes

  • Deep clone unknown classes in GIZMO solution cloner (#341), closes #341
  • Always propagate map's update even if mapped value does not change
  • exhaustive search must not skip non-doable moves

🔄️ Changes

  • GIZMO should not check for unknown classes in Quarkus (#346), closes #346

🧰 Tasks

  • Migrate to new Quarkus Dev UI
  • fail fast on combination of basic variables & list variables on a single entity (#338), closes #338

📝 Documentation

  • Document planning value type requirements (#337), closes #337

Contributors

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.3.0 dependency in your pom.xml to get started.

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