New to Kendo UI for Vue? Start a free 30-day trial

Breaking Changes in 11.0.0

Updated on Nov 10, 2026

The Kendo UI for Vue 11.0.0 release removes the non-working exportAsPdf() method of the Grid, narrows the type of the Badge position property, and enables the Scheduler event overview and quick create popovers by default. The migration requires reviewing your code; the Scheduler recurrence template prop can be renamed automatically, but its changed behavior may require additional updates.

Grid

  • GridHandle—The exportAsPdf() method is removed from the GridHandle type, which is the type of the Grid template ref. The method did not export the Grid.

    • Before: The Grid template ref exposed exportAsPdf(), which did not export the Grid.
    • After: GridHandle no longer has exportAsPdf(). Calling it throws a TypeError or fails type checking.
    • To migrate, wrap the Grid in the GridPdfExport component from @progress/kendo-vue-pdf and call the save() method of its template ref instead of exportAsPdf(). Remove the declarations of exportAsPdf() from your GridHandle types and update the tests that mock it. For more information, see PDF Export of the Grid and GridPDFExportProps.

Indicators

  • Badge, BadgeContainer—The position property no longer accepts any string. Its type in BadgeProps and BadgeContainerProps is now 'edge' | 'outside' | 'inside' | 'inline', the same as the BadgePosition type.

    • Before: The position property was typed as 'edge' | 'outside' | 'inside' | string, so a value typed as string passed type checking. The runtime validator still warned for unsupported values. Setting position to 'inline' rendered the k-badge-inline class and the alignment class, such as k-top-end.
    • After: A value typed as string or an unsupported value, such as 'top', fails type checking in TypeScript and vue-tsc. The new 'inline' value renders the Badge inline without the k-badge-<position> class and without the alignment classes.
    • To migrate, type the values that you bind to position as BadgePosition, or narrow them to one of the supported values, for example with as const. Replace the unsupported values with a supported one. If your code relied on 'inline' rendering the k-badge-inline or an alignment class, update the related CSS selectors and tests. For more information, see BadgePosition and BadgeProps.

Scheduler

  • SchedulerFormEditor—The recurrenceButtonTextTemplate property is deprecated and ignored. Use recurrenceSummaryTemplate to customize the recurrence summary.

    • Before: recurrenceButtonTextTemplate customized the content of the recurrence button.
    • After: The recurrence button always displays the localized Make recurring or Edit recurrence label. recurrenceSummaryTemplate customizes the separate summary below the button and inside the recurrence dialog. It receives non-null recurrenceRule, text, and parsedRule values and is rendered only when a recurrence rule exists.
    • To migrate, use recurrenceSummaryTemplate and RecurrenceSummaryTemplateProps instead of recurrenceButtonTextTemplate and RecurrenceButtonTextTemplateProps. The Scheduler v11 codemod renames the prop and type automatically. Review templates that customized the button label or handled nullable payload values; customize the scheduler.editorRecurrenceMakeRecurring and scheduler.editorRecurrenceEdit localization messages if you need different button labels. For more information, see Custom Edit Form and SchedulerFormEditorProps.
  • Scheduler—The new eventOverview and quickCreate properties are enabled by default.

    • Before: Clicking an event or an empty slot did not open a popover. Pressing Enter on a focused event or on a focused empty slot, which allows adding, opened the full editor directly.
    • After: The eventOverview property (default true) opens an overview popover with edit and delete actions when an event is clicked or Enter is pressed on it. The quickCreate property (default true, requires editable.add, not available in the Agenda view) opens a title popover when an empty slot is clicked or Enter is pressed on a focused slot. The popovers open about 200 ms after a click so that a double click can still open the full editor, which also opens through the edit action of the overview popover and the more options action of the quick create popover. While the popovers are enabled, Enter no longer opens the full editor directly.
    • To migrate, update the tests and the code that rely on a click or Enter on an event or on an empty slot, or on the full editor opening directly. Tests that click and assert immediately have to wait for the popover. To keep the previous behavior, set :event-overview="false" and :quick-create="false" on the Scheduler. For more information, see Scheduler Editing and SchedulerProps.
  • Scheduler—Editing or removing the master event of a recurring series with custom exceptions now handles the exceptions of the series.

    • Before: Changing or removing the master event of a recurring series kept its exceptions untouched.
    • After: The Scheduler shows the KeepResetCustomEventsDialog. When the series is edited, resetting removes the exceptions and reports them in the deleted collection of the data change event, while keeping them leaves them linked to the series and does not report them. When the series or its recurrence is removed, resetting reports the exceptions in the deleted collection, and keeping converts them to standalone events that are reported in the updated collection.
    • To migrate, update the handlers of the datachange event that do not expect extra deleted or updated exception items, and the tests that edit or remove the master event of a recurring series. For more information, see Scheduler Editing.
  • Scheduler—The k-scheduler-mobile class is no longer rendered on the root element on mobile devices.

    • Before: The root element rendered the k-scheduler-mobile class on mobile devices.
    • After: The class is not rendered.
    • To migrate, remove or update the CSS selectors and the tests that use k-scheduler-mobile.
  • SchedulerView—The callback that the Scheduler passes to its views is renamed from onDataaction to onDataAction.

    • Before: The Scheduler passed the data action callback to the active view as the onDataaction prop. A custom view could read it from its props, or emit the dataaction event, which the Scheduler received through the same name.
    • After: The Scheduler passes the callback as the onDataAction prop. A custom view that still reads onDataaction receives undefined, and a custom view that only emits dataaction no longer reaches the Scheduler, so its data actions are not applied. The built-in views, items, slots, and tasks still emit the dataaction event, so the listeners that you attach to them, such as @dataaction, keep working.
    • To migrate, read the callback from the onDataAction prop in your custom views and call it with the data action. Rename onDataaction to onDataAction in the related types and tests. If your code only attaches an onDataaction or @dataaction listener to a built-in component, no change is required.

For the changes in the generated markup and the CSS classes, see Rendering Changes in 11.0.0.

In this article
GridIndicatorsScheduler
Not finding the help you need?
Contact Support