Timefold

Latest version: v1.20.1b0

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

Scan your dependencies

Page 5 of 5

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.

Changelog

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

🔄️ Changes
- 292dc67 read value range size instead of the value range (205), closes 205
- 4586d66 significantly speed up constraint matching performance (171), closes 171

📝 Documentation
- 787df84 fix tiny consistency issue regarding method names
- adf714c link the quickstarts repo early after frontpage link (86), closes 86
- 8a7c815 change example from 'extends AbstractCustomPhaseCommand' to 'implements CustomPhaseCommand'

Contributors
We'd like to thank the following people for their contributions:
- Andreas Lundblad ([aioobe](https://github.com/aioobe))
- Geoffrey De Smet
- Lukáš Petrovický ([triceo](https://github.com/triceo))
- Radovan Synek
- hdotslines ([hdotslines](https://github.com/hdotslines))


_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://github.com/TimefoldAI/timefold-solver-enterprise/releases).

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, 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.

1.0.0

- 00ac56a better exception when list variable is null (140), closes 107 140
- 292d44c remove the docs single-html and distribution
- eb205e7 remove the aggregated javadocs
- 13a4609 remove the distribution zip, closes 2
- ef03c9a add "Speaker makespan" constraint to Conference Scheduling (102), closes 102
- dc7eafe move commercial features to Enterprise Edition (108), closes 108
- 243e0f8 merge CS modules into a single constraint-streams module (62), closes 62
- a1318e6 introduce issue templates (31), closes 31

📝 Documentation
- 28684b7 introduce Enterprise Edition
- 18c7e98 describe "Speaker makespan" constraint
- 03caaf8 update the quarkus school-timetabling quickstart, closes 98


Contributors
We'd like to thank the following people for their contributions:
- 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://github.com/TimefoldAI/timefold-solver-enterprise/releases).

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,
just add the `ai.timefold.solver : timefold-solver-core : 1.0.0` dependency to get started.

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

0.9.39

**Full Changelog**: https://github.com/TimefoldAI/timefold-solver/compare/0.9.38...0.9.39

How to use Timefold Solver

To see Timefold Solver in action, check out [the quickstarts](https://github.com/TimefoldAI/timefold-quickstarts).
To develop with Timefold, the Solver jars are available in [the central maven repository](http://search.maven.org/#search|ga|1|ai.timefold.solver).


With Maven, just add the `timefold-solver-core` dependency in your `pom.xml` to get started:

<dependency>
<groupId>ai.timefold.solver</groupId>
<artifactId>timefold-solver-core</artifactId>
<version>0.9.39</version>
</dependency>

Or better yet, import the `timefold-solver-bom` to avoid duplicating version numbers when adding other Timefold Solver dependencies later on:

<project>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>ai.timefold.solver</groupId>
<artifactId>timefold-solver-bom</artifactId>
<type>pom</type>
<version>0.9.39</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>ai.timefold.solver</groupId>
<artifactId>timefold-solver-core</artifactId>
</dependency>
<dependency>
<groupId>ai.timefold.solver</groupId>
<artifactId>timefold-solver-test</artifactId>
<scope>test</scope>
</dependency>
...
</dependencies>
</project>

With Gradle, just add the `timefold-solver-core` dependency in your `build.gradle` to get started:

dependencies {
implementation 'ai.timefold.solver:timefold-solver-core:0.9.39'
}

New Contributors
* aalmiray made their first contribution in https://github.com/TimefoldAI/timefold-solver/pull/13
* ge0ffrey made their first contribution in https://github.com/TimefoldAI/timefold-solver/pull/18
* mcimbora made their first contribution in https://github.com/TimefoldAI/timefold-solver/pull/23

0.8.42

End of life

_Timefold Solver 0.8.42_ is the final release in the 0.8.x line. As both Quarkus 2.x and Spring Boot 2.x reached their public end of life, Timefold can no longer guarantee timely resolution to any current and future security vulnerabilities. We ask users to upgrade to [Timefold Solver 1.x](https://github.com/TimefoldAI/timefold-solver/releases/latest), which is actively maintained and will continue so for many years to come.

OptaPlanner 8.x compatibility

At the time of _Timefold Solver 0.8.42_ release (December 4, 2023), the latest available release of OptaPlanner 8.x was 8.44.0.Final, released three months ago (September 6, 2023). _Timefold Solver 0.8.42_ is functionally identical with _OptaPlanner 8.44.0.Final_, but it brings additional bugfixes, performance improvements and dependency upgrades to fix security vulnerabilities.

Changelog

5d6bd81 fix: example app logo transparency
da64374 fix: Support repeatable annotations like ShadowVariable in Quarkus
706df9f fix: Make empty app check also test for planning entities in spring
b1cb26d fix: Do not fail-fast in spring boot extension if there no PlanningSolution or PlanningEntity classes
5abd3d4 fix: depend on spring-boot-starter in the starter module
0179616 fix: Deep clone unknown classes in GIZMO solution cloner

0.8.41

We've backported many bugfixes from Timefold Solver 1.x and also bumped several of our dependencies to address CVEs.

Changelog

d2e18b3 fix: Make KOptListMove work in multithreaded environments
e4dd07f fix: Make KOptListMoveSelector work when moveThreadCount != NONE
8cd02bf fix: make SolutionManager.update() work on list variable as well
a23e26b fix: avoid fail-fast to make SolutionManager.update() work on chained variable
49c8d14 fix: dispose of step cache at phase end if necessary
76dccc3 fix: don't attempt to count entities which do not match the descriptor
510a62b fix: make Quarkus and Spring not fail without global solver termination
5c9a211 fix: use the correct parent ClassLoader on Quarkus
06dc8c7 deps: bump version.org.apache.poi from 5.2.3 to 5.2.4
c5e241e deps: bump Drools to 8.44.0.Final
13878cb deps: bump version.org.springframework from 5.3.29 to 5.3.30
82c2e1d deps: bump version.ch.qos.logback from 1.2.9 to 1.2.12
c1166a9 deps: bump org.asciidoctor:asciidoctorj-pdf from 2.3.6 to 2.3.9
be2a7de deps: bump org.asciidoctor:asciidoctor-maven-plugin from 2.2.3 to 2.2.4
20bce05 deps: bump version.jacoco.plugin from 0.8.9 to 0.8.10
54ce8d1 deps: bump version.io.quarkus from 2.16.9.Final to 2.16.11.Final
48b77f3 deps: bump version.org.springframework.boot from 2.7.14 to 2.7.16
7e17461 fix: don't check CS with ANC in native
238ec80 fix: propagate retracts before updates in order to have clean indexes
06a3071 deps: bump Quarkus, Spring and Drools
6c75845 ci: fix release to Nexus authentication fail

Page 5 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.