Timefold

Latest version: v1.20.1b0

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

1.11.0

Nearly a year ago, we released Timefold Solver 1.0 for Java, the first step on our journey to rid the world of wasteful planning. Today, the journey continues as we announce **[Timefold Solver for Python](https://github.com/TimefoldAI/timefold-solver-python/releases/tag/v1.11.0-beta)!**

In this first Beta release, we give the Python ecosystem access to Timefold Solver and all of its features. We invite you to try out our new [Python quickstarts](https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/python) and let us know what you think. Do you like the APIs? Does it integrate well with your Python projects? How's the performance? [We need your feedback!](https://github.com/TimefoldAI/timefold-solver/discussions)

Timefold Solver for Python will move out of Beta once we've heard back from enough of you. While in Beta, we reserve the right to change APIs and to add or remove functionality based on user feedback. Once we leave Beta, we will provide the same backwards compatibility guarantees as with the Java solver.

And speaking of the Java solver, we haven't forgotten about it either. In this release, we've been mostly fixing bugs and making small tweaks here and there. Going forward, we've got plenty of interesting things in store for the Java and Python solvers, as they will evolve together from now on.

Changelog

🐛 Fixes
- 30980b7 Make the nearbyDistanceMeterClass a visitable class for GIZMO
- 73bfaa6 Use custom thread factory class in SolverManager (875), closes 875
- d7a5404 Disable nearby configuration for CH

🧰 Tasks
- 9c76f53 Update docs on which time and date types to use

📝 Documentation
- 62603f7 Fix a typo in toConsecutiveSequences example
- e558697 Fix typos in connected ranges
- 83abce6 Fix typos in collectors
- d64b634 Fix ConstraintCollectors.average() example

Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli
- Frederico Gonçalves ([zepfred](https://github.com/zepfred))
- Geoffrey De Smet
- Lukáš Petrovický ([triceo](https://github.com/triceo))
- Marek Winkler ([winklerm](https://github.com/winklerm))
- plplmax ([plplmax](https://github.com/plplmax))


_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 in Java or Kotlin

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

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

1.10.0

In the May '24 release of Timefold Solver, we’ve focused on making everything more stable and reliable. Here’s what’s new:

- [Connected Ranges Collector](https://docs.timefold.ai/timefold-solver/latest/constraints-and-score/score-calculation#collectorsConnectedRanges): This new feature helps manage and penalize the use of resources over time.
- Legacy Examples to [Quickstarts](https://github.com/TimefoldAI/timefold-quickstarts/): We’ve turned old examples into quickstart guides for easier use.
- [Throttling Best Solution Consumer](https://docs.timefold.ai/timefold-solver/latest/enterprise-edition/enterprise-edition#throttlingBestSolutionEvents): For our Enterprise Edition users, we’ve added a feature to prevent integrations from being overloaded by solver events.
- [Maven Repository Authentication](https://docs.timefold.ai/timefold-solver/latest/enterprise-edition/enterprise-edition#switchToEnterpriseEdition): We’re preparing to require authentication for our Enterprise Edition binaries. We’ll notify customers in advance to ensure a smooth transition. Community Edition users won’t be affected, as their binaries will remain freely available on Maven Central.

Changelog

🚀 Features
- d5f1d06 Add the concurrent usage collector (800), closes 800

🐛 Fixes
- 6c4e2e6 Properly detect value ranges with wildcard types (838), closes 838
- c373c2b Remove too eager fail-fast in concat node's retract (831), closes 831
- fdeb06a Forbid pinning uninitialized entities when unassigned not allowed (821), closes 821
- b5ff711 Make unassigned location the last element destination

🔄️ Changes
- 5443347 Minor perf improvements to Constraint Streams (830), closes 830

🧰 Tasks
- a649452 Improve score corruption error message (822), closes 822
- a210d93 Remove `examples` module (809), closes 809
- 93f5b58 Add support for authenticated Enterprise repo (811), closes 811

📝 Documentation
- 5bfa796 Document the throttling feature of Enterprise Edition
- 4f19adb Correct property name for node sharing in Spring
- e7f9bb2 Fix list variable unassigned values documentation

Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli
- Frederico Gonçalves ([zepfred](https://github.com/zepfred))
- Lukáš Petrovický ([triceo](https://github.com/triceo))
- Wouter De Schuyter ([wouterds](https://github.com/wouterds))

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

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

1.9.0

**Introducing Timefold Solver’s latest release: Broadening Horizons Across Industries.**

In our pursuit to cater to a wider array of planning challenges, we have added new [quickstarts](https://github.com/TimefoldAI/timefold-quickstarts/) in our latest release. Tailored to meet the dynamic needs of various industries and use-cases.

- [Conference Scheduling](https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/use-cases/conference-scheduling): Streamline the complex logistics of organizing successful events.
- [Flight Crew Scheduling](https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/use-cases/flight-crew-scheduling): Optimize crew assignments for efficiency and compliance.
- [Hospital Bed Allocation](https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/use-cases/bed-allocation): Enhance patient care through smarter bed management.
- [Meeting Scheduling](https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/use-cases/meeting-scheduling): Simplify the coordination of meetings to boost productivity and collaboration.

These quickstarts are designed to jump-start your planning processes, offering a fast track to deploying sophisticated scheduling and allocation solutions.

Enterprise Edition

Our customers gain an edge with the introduction of Nearby Selection in Construction Heuristics. This powerful feature enhances the solver’s capability to generate better initial solutions by considering proximity in decision-making, thereby optimizing operational efficiency and resource utilization across your projects.

And as always, this release also includes significant bug fixes and quality of life improvements for all users.

Changelog

🚀 Features
- a99e600 Improve constraint verifier error messages (758), closes 758
- 8344f4b Down-sampling process for Benchmarker (714), closes 714

🐛 Fixes
- 3ab0480 Enable Nearby selection for Construction Heuristics (767), closes 767
- c6f1e4f Benchmark duplicated metrics (761), closes 163 761
- a7e7a19 Unimproved terminations skip construction heuristic (755), closes 755
- 493723e Add rebase support to NoChangeMove and ListUnassignMove

🧰 Tasks
- e473fca Remove ServiceLoader use from the codebase (705), closes 705

📝 Documentation
- b5890dc Improve multi-threaded solving (734), closes 734


Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli
- Frederico Gonçalves ([zepfred](https://github.com/zepfred))
- Geoffrey De Smet
- Lukáš Petrovický ([triceo](https://github.com/triceo))
- Radovan Synek


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

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

1.8.1

This is a hotfix release for Timefold customers. Please update if all of the following applies to you:

- You use list variables with unassigned values,
- you use multi-threaded solving,
- and you use construction heuristics.

If any one of the above doesn't apply to you, you do not need to update to Timefold Solver 1.8.1 and can wait for the regularly scheduled release next month.

Changelog

🐛 Fixes
- 43e52bd add rebase support to NoChangeMove and ListUnassignMove

1.8.0

Spring is in the air, and so is another release of Timefold Solver. And this time, it's a big one! For the Community Edition, we have prepared the following features:

- List variables now [allow for unassigned values](https://timefold.ai/docs/timefold-solver/latest/using-timefold-solver/modeling-planning-problems#planningListVariableAllowingUnassigned). Say goodbye to the "dummy vehicle" pattern, say hello to the performance improvements that come from it!
- Spring Boot users among you can now easily generate native images, as was already possible for Quarkus.
- ConstraintVerifier can now test for justifications and indictments, allowing you to write tests that will give you even more confidence in your constraints than was possible before.
- We have exposed new metrics that allow you to better monitor the currently running solver(s).
- We have brought the usual bugfixes and dependency upgrades.

On top of all that, our Enterprise Edition customers can enjoy some exclusive goodies:

- [Automatic node sharing](https://timefold.ai/docs/timefold-solver/latest/enterprise-edition/enterprise-edition#automaticNodeSharing). Use cases with a large number of complex constraints may run much faster without any changes to your code. In our benchmarks, we have seen improvements in score calculation speed of up to 100 % on some data sets.
- Nearby Selection can now be enabled with a [single switch in your configuration](https://timefold.ai/docs/timefold-solver/latest/enterprise-edition/enterprise-edition#_nearby_selection_with_a_list_variable), as opposed to the cumbersome configuration of old. If you're still not using Nearby Selection for your large routing problems, you're missing out on cost savings coming from significantly improved solutions!

Going forward, we will be publishing an [Upgrade Recipe](https://timefold.ai/docs/timefold-solver/latest/upgrade-and-migration/upgrade-to-latest-version) to let you know of any things you may or may not run into when upgrading to the latest version of Timefold Solver. It's a good read!

Changelog

🚀 Features
- a0ce0e2 Support unassigned elements for list variables, closes 573
- 8462888 Add support for Spring Boot native image, closes 609
- 53f83bd Automatic node sharing for `ConstraintProvider`, closes 685
- 31f66ad Add the `nearby-distance-meter-class` property for Quarkus and Spring, closes 687
- 3211f8c Enable Nearby Selection for non-empty move selectors configuration, closes 684
- 55c373b Add Nearby configuration by exception, closes 673
- fb946aa Support getting score calculation count and speed for `SolverJob`, closes 621
- 388490b Expose entity, variable and value counts in the logs and metrics, closes 671
- 14b7b68 Add penalty methods for `long` and `BigDecimal` values without match weighter, closes 656
- 82a9a68 Extend `SingleConstraintAssertion` to check Justification/indictment, closes 659
- d2e24d2 Add `withClassLoader(...)` method to `SolverConfig`, closes 691 695

🐛 Fixes
- b8fdd8d Do not recalculate problem size statistics in Benchmarker
- 6916ba7 Pass provided `ClassLoader` to `ServiceLoader`, closes 690 692

🧰 Tasks
- 307630c Improve error messages from loading YAML files, closes 637

📝 Documentation
- 207e122 Add upgrade and migration section, closes 686


Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli
- Frederico Gonçalves ([zepfred](https://github.com/zepfred))
- Geoffrey De Smet
- GitHub
- Lukáš Petrovický ([triceo](https://github.com/triceo))
- Pieter De Schepper
- dependabot[bot] ([dependabot[bot]](https://github.com/apps/dependabot))
- marinier


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

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

1.7.0

In this release of Timefold Solver, we focused mostly on bugfixes, improvements to documentation and to the quickstarts.
The release also brings the usual assortment of small tweaks and dependency upgrades.

**Featured update:** We've made it possible to[ inject more than one `SolverManager`](https://timefold.ai/blog/2024/multiple-solver-managers) in your Quarkus and Spring Boot applications, a feature often requested by the community.

Changelog

🚀 Features

- 9009fa4 Support multiple SolverManager instances in Spring Boot (564, 590)

🐛 Fixes
- 964adbd Recommended Fit API needs to ignore any unassigned entities/values (618), closes 581 618
- 5c3bcdf Nearby selection pinning support (614), closes 614
- a9d7c62 Pass all subclasses of Throwable to the exception handler in SolverManager
- 693e321 Ensuring the spent termination property is read in the Quarkus environment (600), closes 600
- d9122e6 Avoid eager initialization of the Benchmark resources

📝 Documentation
- dc71df8 Adding VRP quickstart documentation (623), closes 623
- 8c4e1ee Clearly mention that the timegrain pattern doesn't scale (611), closes 611
- 042be52 Add MoveIteratorFactory example to the docs (606), closes 606

Contributors
We'd like to thank the following people for their contributions:
- Christopher Chianelli
- Frederico Gonçalves ([zepfred](https://github.com/zepfred))
- Geoffrey De Smet
- Lukáš Petrovický ([triceo](https://github.com/triceo))


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

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

Page 3 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.