Release date: October 9, 2026
Improvements
Scheduler
- Improved performance and smoothness of resource-tree expand/collapse animation. (6127)
- Update bundled Scheduler themes for SVG event links. (6127)
- Optimization of long Scheduler timelines: Reduce timeline initialization overhead by avoiding redundant date-to-string conversions and hourly boundary calculations. (6127)
- Improve floating event-label rendering by reusing content and limiting updates to visible rows. (6127)
- Speed up cached time-to-pixel lookups using numeric cache keys. (6127)
- Speed up time-header lookup and floating-label updates. (6127)
- Curved StartToFinish links now use top/bottom target attachment when the source start matches the target finish, mirroring the corresponding FinishToStart behavior. (6127)
- Optimization of Scheduler row header width auto-fit: Improved rendering performance of row header auto-fit (especially for a large number of rows and row header columns). (6127)
- Curved FinishToFinish links now mirror StartToStart geometry. The loop proportions and attachment angles are more consistent. (6127)
- Optimization of Scheduler event loading: Automatic fast placement for rows with many non-overlapping events, speeding up loading of large datasets. (6127)
General
- Improve HTML escaping performance by avoiding DOM allocation for strings that need no escaping. (6127)
- Optimization of large grids: Reduce
DayPilot.Dateallocation overhead and accelerate timestamp access across all components. (6127) - Improved rendering of right-angled event links using SVG in Scheduler and Gantt. (6127)
Fixes
Calendar
- Fix an exception when calling
selectTimeRange()before the first pointer interaction. (6127)
Gantt
- Fixed errors when dispose() is called while
scrollToRow()orscrollToTask()requests are pending (core). (6127)
Month
- Fixed events.remove() deleting an unrelated event when called with an event that is no longer in events.list (Month). (6127)
Scheduler
- Fixed errors when dispose() is called during animated
scrollTo()scrolling (core). (6127) - Fixed an error when dispose() is called while a
scrollToResource()request is pending (core). (6127) - Fix replacement data passed to
rows.update()being lost on refresh and subsequent row lookups returning outdated data. (6127) - Preserve event-relative positions and interaction for non-floating active areas while event text floats. (6127)
- Fix incorrect ranges and exceptions during touch selection on timelines with variable cell widths. (6127)
- Preserve row-relative dates and business duration when moving events between days in Days view. (6127)
- Keep time header text vertically aligned when floating starts or ends. (6127)
- Fix stale event range queries and link endpoints after
rows.update(). (6127) - Fix automatic column widths remaining stale when the container width changes before the first resize notification. (6127)
- Fixed zero values of
scrollXandscrollYbeing ignored when passed to update() (core). (6127) - Reject business-time moves with zero source business duration or no usable target business cells, displaying a forbidden shadow without adding an explanation label. (6127)
- Fixed a 1 px vertical row-header misalignment with time headers at the top, visible as an extra line below the last row header. (6127)
- Fixed
DayPilot.Scheduler.events.remove()failing to remove events with numeric ID 0. (6127) - Reject business-time moves when the target cannot preserve the original business duration within its row and timeline bounds. (6127)
- Prevent delayed row-header synchronization from overwriting a newer grid scroll position. (6127)
- Apply the resolved contrasting font color to floating event text. (6127)
- Fixed handling of resources with id: 0 in rows.find(), rows.remove(), and event rendering (Scheduler). (6127)
- Fix
events.forRange()returning incorrect events after event removal. (6127) - Cancel stale event-rendering timers after disposal, scrolling, or a full update. (6127)
- Cancel pending touch actions when the Scheduler is disposed and preserve gestures in other instances. (6127)
- Honor
scrollDelayFloatsfor existing labels while initializing newly rendered event and header labels immediately. (6127) - Preserve event grab offsets and partial-cell start offsets when
eventMoveSkipNonBusinessis enabled and the event is in the first row. (6127) - Fix automatic column widths after expanding or collapsing resource groups when the vertical scrollbar appears or disappears. (6127)
- Apply business flags set in BeforeCellRenderJavaScript consistently when reading offscreen cells, including business-time moving and row.cells.forRange(). (6127)
- Fixed an error when dispose() is called while row-header scroll synchronization is pending (core). (6127)
- Preserve event padding and vertical alignment in floating labels. (6127)
General
- Fix
DayPilot.DatePickerthrowing when a valid date is typed before the popup is opened for the first time. (6127) - Fix
DayPilot.Dateaccepting invalid strings such as constructor and __proto__ instead of reporting a parsing error. (6127) - Fix
DayPilot.Datereturning incorrect results when the same timezone-bearing string is parsed in both local and UTC modes. (6127) - Route malformed JSON responses through DayPilot.ajax() error callbacks and reject
DayPilot.Httppromises instead of leaving them pending. (6127)
DayPilot