Changelog
Follow up on the latest improvements and updates.
RSS
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Maintenance release (v0.48.0)
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Smaller bugfixes (v0.47.0)
- Audit Log filters: Some audit log event types were missing from the filtering options. These are now correctly displayed.
- Improved “New Run” dialog: We've enhanced the user experience when launching a new run for models with a large number of demo datasets.
- We’ve made several smaller performance improvements and bugfixes, e.g. to the “Visits finished in SLA” KPI’s. The UI will now better indicate when it’s an absolute value or a percentage.
- We’ve added an improved Route optimization feature guide to our documentation.
- We have updated penalties for several constraints to no longer include the shift's duration in the penalty. This change makes sure the solver does not treat shifts with different durations as more or less preferred than others. See changelog for details.
- We have fixed a bug where two soft constraints (Preferred weekends worked per period, Preferred shift start time difference) were treated as hard constraints. See changelog for details.
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Platform shows unprocessed input file and smaller bugfixes (v0.46.0)
- “Input” now showing unprocessed file: For any new runs, the “Input” page for a Model Run will now show the .json-file as it was submitted to the platform, without pre-processing. Before today we showed a version where default configuration values (from e.g. the configuration profile or tenant plan) were mixed in.
- We have fixed several small UI bugs.
- Visualization bugfix: We fixed a bug with character encoding in the visualization of the model.
- Visualization bugfix: We fixed a bug with character encoding in the visualization of the model.

- Support for external map providers for the Cloud platform: We now also support connecting external map providers to tenant on the Timefold Cloud Platform, not only on self-hosted installations. Learn more about external map providers. We have also made sure any configuration changes to location sets, maps deployments and external providers are logged to the Audit Log.
- Ability to plan routing problems spanning the full US: We now have a map in production spanning the full United States. View all available maps. (We still recommend people to pick the map with the smallest fitting region, as it will speed up the solving process.)
- We have improved our documentation on the lifecycle of runs in the platform to a.o. clarify what happens if a run is cancelled, and when webhooks are triggered.
- Deprecated /run and /new-run endpoints: The endpointsGET /v1/route-plans/{id}/runandPOST /v1/route-plans/{id}/new-runhave been deprecated, and replaced. See upgrade to the latest version for details.
- Working time fairness metric fix: We have fixed a bug that caused incorrect calculation of the Fairness metric when Full-time equivalent configuration was used in employee contracts.
- Deprecated /run and /new-run endpoints: The endpointsGET /v1/schedules/{id}/runandPOST /v1/schedules/{id}/new-runhave been deprecated, and replaced. See upgrade to the latest version for details.
new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Improved invites, EU AI Act transparency and travel time constraints (v0.44.2)
- Improved member invite flows: When you invite colleagues to your tenant, they will now receive an invite email they must accept. This adds an extra layer of verification and clarity in onboarding.

- EU AI Act compliance documentation: We've published a new document detailing how Timefold complies with the EU AI Act. It highlights our transparent, deterministic approach and explains what this means for users.
- UI improvements and bugfixes: We've made several minor enhancements to the user interface (such as improving how you manage visible columns in the Run Overview) and fixed various bugs.
- New travel time constraints: You can now define constraints to limit the travel time of a vehicle shift, reflecting a technician’s preferences or requirements. Learn more in the Route optimization guide.
- Floating break bugfix: Fixed an issue where floating breaks ending after their maxEndTime were not correctly penalized. More details.
- Minutes between shifts fix: We have fixed a bug that caused the constraints to ignore the minutes between shifts rule in some cases. More details.
new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Configure runtime architecture and several smaller improvements (v0.43.0)
- Ability to configure machine type to run the solving operations: When you set-up a configuration profile, you can now also apply extra scheduling policy labels that let you choose between running solve operations on AMD64 or ARM64 architecture. Configure specific machine types to find the best runtime for your type of dataset and learn which one yields better results.

- We have improved the Maps service documentation with more detailed information on availability of maps.
- Several smaller improvements (including logging more relevant data in the Audit log, more clearly indicating configuration parameter precedence when doing a new run, more clearly indicating for which models API keys can be used, and showing score analysis details when all constraints are satisfied, showing icons for constraint groups) and bugfixes (including returning the right better response headers for Recommendation API calls for non-existing runs).
- Icons for constraint groups: The score analysis and configuration profiles UI have been updated with icons for each of the constraint groups to help make each of the model features more clear.

- We have added documentation that explains how to handle long-running visits.
- We have made several smaller bugfixes (to the visualization in the platform) and improvements (like not showing the Visit SLA metric if no SLA information is provided).
- Icons for constraint groups: The score analysis and configuration profiles UI have been updated with icons for each of the constraint groups to help make each of the model features more clear.

- We have made several smaller bugfixes (to the visualization in the platform and we fixed a bug that caused the solver to not respect the shift rotation constraints in some edge cases).
new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Visit SLA’s, technician ratings support for FSR, FTE support for ESS (v0.42.1)
- (For self-hosted installations only:)OIDC configuration now requires valid OIDC setup: When using OpenID connect, make sure you have valid OIDC configuration, else explicitly disable it as per the updated “Installation instructions”.
- Filter on Configuration Profile via Platform UI: It’s now possible to filter the runs overview of your models by the configuration profile that was used. On the overview, click “Add filter”, and choose “Configuration profile”. We’ve also added Configuration profile as one of the possible columns for your overview. Click on the three dots at the end of the header of the table to choose which columns you want to view.


- Ability to define SLA's for visits: Often visits not only have time windows describing the general availability of the location, but they also have a preferred time for when the task of the visit should be finished, often referred to as a Service Level Agreement (SLA). More information can be found in the feature guide for Visit SLAs.
- Ability to prefer picking technicians with higher ratings: We have added a new feature that allows you to specify the rating of each technician based on feedback from previous visits. Technicians can be assigned to visits based on their ratings where technicians with the highest ratings are more likely to be assigned. Learn more in the Technician ratings feature guide.
- Ability to exclude technicians/vehicles for certain visits: We have added the possibility to prohibit vehicles from being assigned to a visit. You can specify this in the visit'sprohibitedVehiclesattribute when submitting a new route-plan. See Prohibited vehicles in the Visit requirements guide.
- Several smaller bugfixes, see “New and noteworthy”.
- Allow to define employee min/max by FTE: We have added support for full-time equivalent (FTE) configuration in employee contracts, enabling fair scheduling for employees with different employment types. This feature allows you to define part-time, full-time, and other employment arrangements while ensuring fair distribution of work. The “balance time worked” constraint now automatically adjusts for different FTE levels, so a part-time employee (FTE 0.5) working 20 hours is considered equivalent to a full-time employee (FTE 1.0) working 40 hours. See “New and noteworthy” for details.
- Extended support for weekend constraints for rolling windows: We have extended our weekend constraints support with the ability to limit weekend work in rolling windows. You can now additionally express rules such as: “Maximum 2 weekends worked in any 4-week rolling window” or “Maximum 4 weekends worked in any 16-week rolling window”. This complements our existing weekend constraints for fixed periods, giving you more options for creating employee-friendly schedules. See “New and noteworthy” for details.
- A small bugfix related to the solver not terminating properly in corner cases.
new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Audit log visibility via Platform UI, contract rules around weekends for ESS (v0.41.2)
- Audit log: We have added the ability to see the audit log of changes made to your tenant via the Platform’s UI. Anytime a user is added or removed, anytime a webhook is created or changed, or other configuration changes, information about this change is logged to the Audit Log. By going to your Tenant Settings, and choosing “Audit Log” in the sidebar, you are now able to see those changes. The UI supports filtering for certain types of event, Actor, IP and date.

- Ordering of metrics on Run Overview: It’s now possible to define the order of the columns when seeing the run overview of your model. You can pick from input and output metrics, as well as run data, and decide which information you want to see, and in what order. This change makes it easier for you to compare those metrics between runs you care most about. On the Runs Overview, click the dots at the end of the header row.
- Support for multiple vehicle types: We now have support for multiple vehicle types in our Maps service: cars, bicycles, and walking. We have set up a bicycle map for Georgia, USA as a demo - please contact us if you have specific requests for new maps with other vehicle profiles. We have also improved our documentation of the maps service.
- We have a bugfix for a potential score corruption with Balance movable and non-movable visits constraint.
- Ability to define contract rules around weekends: We have added support for weekend-related constraints, allowing you to limit weekend work for employees. These constraints help enforce restrictions on weekend work, which is important for maintaining employee work-life balance. You can: Limit the total minutes an employee works during weekends in a period. Limit the number of weekends an employee works in a period. Limit the number of consecutive weekends an employee works. See "New and noteworthy" for details.
new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Further improvements to rolling time windows contract requirements for ESS and several other improvements (v0.40.1)
- Sticky table header for runs overview: When scrolling down your list of runs in the Platform UI, table headers will now stay visible, so it’s easier to know the meaning of the metrics and run properties if you’re comparing lots of runs.
- We have added a new guide explaining the importance of validating and building trust in an optimized plan. The guide explains which features Timefold offers that help with this.
- Further improvements to rolling time windows: We have further improved the rolling time windows feature in contract requirements so that you can now also specify hourly time windows for more rules. See “New and noteworthy” for details. This feature can help formulate constraints like: “Maximum 5 days worked in any 168-hour period”, “Maximum 2 night shifts worked in any 168-hour period” or “Minimum 2 consecutive days off in any 168-hour period”.
- Removed unchanged constraints from the recommendations API response: The recommendations API response no longer includes constraintDiffs entries for unchanged justifications to improve clarity and lower the size of the response.
- We have written a new feature guide about Shift assignments (it goes in detail on the complex task of managing the type and amount of shifts that get assigned).
- Improved break handling: Break end times are now exclusive instead of inclusive. This change removes confusion that could occur when a break end time overlapped with a shift start time.
- Required Breaks API improvement: The way of defining required breaks has been deprecated and has been replaced with a simpler alternative that avoids confusion. See “New and noteworthy” for details and instructions on how to upgrade.
- Removed unchanged constraints from the recommendations API response: The recommendations API response no longer includes constraintDiffs entries for unchanged justifications to improve clarity and lower the size of the response.
- Several bugfixes (including a fix for the visualization).
new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
New default smart termination, and multiple new capabilities for ESS (v0.39.1)
- New smart termination “Diminished returns” as default: There is now a new smart termination option for runs. It’s enabled for all models by default. “Diminished returns” terminates the solver early if expected improvements are minimal. It is used if no “unimproved time” configuration is set. See documentation for more details.

- Improved troubleshooting script: Improved troubleshooting script and documentation for self-hosted installations to help report version information.
- Smaller bugfixes and improvements, including a fix for filtering on deleted runs, and tags that contain an underscore. Additionally we now show the optimization gain on a run also as a relative percentage, when you hover over the optimization gain in the sidebar.
- Shift rotations: We have added the ability to define rotations for shift types. Use this to make sure that the employee’s shift types rotate in consecutive periods, for example, "morning" shifts on week 1 and "evening" shifts on week 2. See “New and noteworthy” for details.
- Better handling of consecutive days off: We have introduced 2 new constraints for better handling of consecutive days off. This feature allows a minimum of consecutive number of days off per period to be set on contracts. See “New and noteworthy” for details.
- Ability to ensure an "even" start time for all employees: We have added the ability to limit the variation in shift start times. It checks whether the time between the earliest shift start and the latest shift start in this period is larger than the period rule’s shiftStartTimeDifferenceInMinutesMax. See “New and noteworthy” for details.
- Metrics for shift groups: We have added separate metrics to know how many shift groups were assigned and unassigned.
- Demo data updates: A series of updates have been made to the available demo datasets. The BASIC demo dataset has been removed in favour of the CONTRACT_RULES dataset. The CONTRACT_RULES demo dataset has been extended to a full week (7 days, 60 shifts) for 13 employees. The demo data is now more representative of real working rules, including contract patterns, maximum hours worked per day, maximum hours worked per week, preferences, and unavailabilities.
- New smart termination “Diminished returns” as default: “Diminished returns” terminates the solver early if expected improvements are minimal. This termination is the new default. See “Upgrading to the latest versions” for details.
- Removed unchanged justifications from the recommendations API response: The recommendations API response no longer includes matchesDiff entries for unchanged justifications to improve clarity and lower the size of the response.
- New smart termination “Diminished returns” as default: “Diminished returns” terminates the solver early if expected improvements are minimal. This termination is the new default. See “Upgrading to the latest versions” for details.
- Removed unchanged justifications from the recommendations API response: The recommendations API response no longer includes matchesDiff entries for unchanged justifications to improve clarity and lower the size of the response.