November 12th, 2024

Timefold Solver 1.16.0

Looks like Christmas came early this year! This release of your favorite solver is packed to the brim with cool new features.

Featured update: Nullness annotations on public API

Users of Kotlin rejoice! All public APIs of Timefold Solver have now been null-marked using JSpecify. This means you should now be able to remove some of those pesky Elvis operators from your code. Both Java and Kotlin users will also be able to benefit from IDE support, warning of improper use and handling of null.

This has been a big change and we are doubly excited about it, because it was entirely contributed by a member of our growing community! Our thanks go out to Peter Laggner (@greyhairredbear), for the time and effort he spent delivering this. We hope he'll enjoy some Timefold-branded tokens of appreciation we've sent his way.

But that's not all we have in store for you!

  • Due to some improvements to the solver, we no longer require you to implement undo moves for your Custom moves; you can safely delete them from your codebase, just like we did with ours.
  • We have also updated the Score Analysis API to optionally skip listing all justifications, which will help users with massive datasets.
  • We have a brand new documentation website with some refreshed content.

And last but not least, we've been making smaller improvements and bugfixes here and there, as per usual. Enjoy the latest and greatest Timefold Solver, and stay in touch!

Changelog

🚀 Features

  • Add nullness annotations on public API (Part 2) (#1160), closes #1160
  • Enable score analysis without justifications (#1185), closes #1185
  • Add nullness annotations on public API (Part 1) (#1009), closes #1009

🐛 Fixes

  • Add PlanningPinToIndex to Python (#1191), closes #1191

📝 Documentation

  • Fix syntax issues in Python (#1182), closes #1182
  • Improve note on allows unassigned
  • Restructure introduction (#1151), closes #1151
  • Add missing link to backup planning (#1147), closes #1147

Contributors

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

  • Christopher Chianelli (@Christopher-Chianelli)
  • Franco Peschiera (@pchtsp)
  • Geoffrey De Smet (@ge0ffrey)
  • Lukáš Petrovický (@triceo)
  • Peter Laggner (@greyhairredbear)
  • Pieter De Schepper (@pieterdeschepper)
  • Tom Cools (@TomCools)

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

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

Back to overview

Stay In-The-Know

Sign Up for Our Newsletter

We care about the protection of your data. Read our Privacy Policy.

Timefold

Timefold is an AI planning optimization platform, built on powerful open-source solver technology, enabling software builders to tackle real-world, complex and high-impact operational planning problems. It delivers significant economic value in optimization operations like extended VRP, maintenance scheduling, field service routing, task sequencing, etc.

© 2024 Timefold BV