Timefold Solver 2.0 shipped today. Changes include a claimed 91% speedup on a course-scheduling problem, list variables promoted to first-class, a new Neighborhoods API, and JPMS support. The most consequential change is easier to miss: the explainability APIs included in 1.x are no longer in the open source edition. If you're using Timefold commercially and want to know why the solver handed you a particular schedule, you now need a paid license.
What Timefold is
Timefold Solver is a JVM-native constraint solver you embed in your application to tackle operational planning problems - employee rostering, vehicle routing, shift scheduling, maintenance sequencing. You describe entities (nurses, trucks), hard constraints (a nurse cannot work two shifts at once), and soft preferences (don't schedule Emily on weekends) in Java or Kotlin. The solver runs construction heuristics and local search and hands you the best assignment it can find in your time budget. Operations research, embeddable, with Quarkus and Spring Boot integrations and a Constraint Streams API that reads like stream processing rather than math.
Timefold is OptaPlanner continued: Red Hat dropped the project after the IBM acquisition, and in 2023 the original team founded Timefold BV in Ghent, with money from Smartfin, to keep it alive.
What 2.0 delivers
List variables - the natural model for vehicle routing - are now first-class, with pinning, optional assignments, and per-entity value-range limits; chained variables are gone. Custom shadow variables are easier to define and unit-test, with loop protection built in. The Neighborhoods API lets you declaratively define custom move selection in the Constraint Streams idiom, replacing the old MoveSelector. Performance work includes precomputed joins that cache static parts of a Constraint Stream, a toConsecutiveSequences collector, reworked shadow variable handling, and Constraint Profiling. (The claimed "91% speedup" comes from targeted rewrites using these features, as opposed to a general "upgrade and everything just works better" change.)
Upgrades from 1.x are mostly backwards-compatible, with an OpenRewrite recipe for the automatic portions. Timefold will keep 1.x on quarterly bug-fix and security releases through 2026.
The edition change
Starting with 2.0, the ScoreAnalysis API and the recommend-assignment API require a commercial edition — the new paid "Plus" tier or the existing Enterprise. Those APIs are how your application answers questions like "Why did it put Jack on third shift Thursday?" Score analysis breaks down how each constraint contributed to the score in JSON your frontend can consume; recommend-assignment produces ranked alternatives. They're how you make a solver's output defensible to the humans who live with it.
In 1.x, these APIs were in the Community Edition under the Apache 2.0 license - the 1.4 release in late 2024 specifically positioned explainable score as a feature for every user. In 2.0, per Timefold's own migration guide, they require a commercial edition, and there is no OpenRewrite recipe for the transition. If your 1.x code uses these APIs, your 2.0 upgrade path is to buy a license or remove the calls by hand.
The Apache-licensed solving core is intact. Plus and Enterprise are free for non-profits and academia, and Timefold has been transparent about this, but it is a real change. The lower-level score breakdown is still accessible, so you could rebuild explainability yourself - but that could be a lot of engineering that used to be a library call.
Takeaway
If you're evaluating Timefold for new work, 2.0 is the version to start on. If your pipeline is batch scheduling or routing whose output feeds another system, the Community Edition is plenty. If humans will see the schedules and need to understand them, Plus is now a line item. Timefold is doing publicly what a lot of commercial open source companies have done quietly: keeping the engine open, capturing value on the APIs that separate hobby from production.