Pending Review
Last Updated: 27 Aug 2026 09:10 by Peter
Built-in Grid UI for state persistence with multi-layout management

Add first-class Save/Load layout tools to the Grid toolbar that persist and restore Grid state without custom wiring. The default provider should use localStorage, with an extensibility point to plug in server storage. Users should be able to:
- Save multiple named layouts (columns/order/visibility, sorting, filtering, grouping, paging, search panel state).
- Open a built-in popup to manage layouts (save as, rename, delete, set default) and load a selected layout.
- Choose storage scope per layout (local vs. server) with a simple toggle; the server provider API can be implemented by the app.

Behavior and scope
- Persist and restore via an internal provider abstraction; ship a default localStorage provider and document a server provider interface.
- Support full or partial restores; allow picking which parts to include (for example, only columns/layout vs. full DataSource state) to align with existing guidance on selectively applying options through `setOptions({ ... })` and DataSource APIs like `dataSource.filter(...)` [1] [2] [3] [4].
- Avoid double reads and support automatic persistence flows similar to the documented beforeunload/ready pattern; native implementation should mirror the current best-practice approach that saves on leave and restores on load, with an option to disable automatic behavior when using explicit Save/Load actions [2] [5].
- Respect known constraints for SignalR binding by restoring layout via `setOptions({ columns, ... })` and reapplying data state via DataSource methods to keep the hub connection intact; provide an out-of-the-box “SignalR-safe” mode that applies filters/sort/page through DataSource APIs [1] [3] [4].
- Include search box value persistence and ensure multi-check filter lists load their full option sets when state is restored, consistent with existing recommendations to persist search input and configure filter DataSources [6].

Developer experience
- New built-in toolbar tools: “Save Layout,” “Load Layout,” and “Manage Layouts…”, plus a public API to trigger the same actions programmatically [7] [8].
- Config options to:
  - Enable the feature and set a default storage provider (local or custom).
  - Define which state segments to include (columns, sorting, filtering, grouping, paging, search).
  - Provide hooks/events for pre-save, post-save, pre-load, post-load to modify payloads or enforce policies.
- A documented provider interface for custom storage so apps can store/retrieve named layouts from a server.

Rationale
- State persistence is officially supported via `getOptions()`/`setOptions()` and is commonly implemented with localStorage and beforeunload/ready flows, but requires custom buttons and wiring today [2] [5].
- Partial restore and DataSource API reapplication are established practices to handle limitations such as SignalR-bound grids where full `setOptions()` is not viable; the feature should codify these patterns into a turnkey, user-facing experience [1] [3] [4].
- Developers frequently need to persist search input and ensure multi-check filter option lists are correct after restore; including these in first-party behavior reduces extra glue code [6].

Requested deliverables
- Built-in toolbar Save/Load/Manage UI with a popup for multiple named layouts and defaults.
- Default localStorage provider; extensible provider model for server storage.
- Options to scope which state is saved/restored and a SignalR-safe mode.
- Public API and events for integration and policy control.
- Docs and demos covering automatic and manual flows, local vs. server storage, and SignalR scenarios.

[1] [3] [4] [2] [5] [6] [7] [8]

[1]: https://www.telerik.com/forums/localstorage-persistence-not-working-with-kendo-grid
[2]: https://www.telerik.com/aspnet-core-ui/documentation/knowledge-base/grid-automatically-persist-state
[3]: https://www.telerik.com/forums/localstorage-persistence-not-working-with-kendo-grid
[4]: https://www.telerik.com/forums/localstorage-persistence-not-working-with-kendo-grid
[5]: https://www.telerik.com/aspnet-core-ui/documentation/knowledge-base/grid-automatically-persist-state
[6]: https://www.telerik.com/forums/grid-state-persistance-with-column-filters-or-search-bar
[7]: https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/data-management/grid/overview
[8]: https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/data-management/grid/toolbar
Completed
Last Updated: 27 Aug 2026 08:32 by ADMIN

### Bug report

When the Grid is initialized in a hidden container (for example, in a non-selected tab of a TabStrip) and its initial data binding is disabled (autoBind: false), the pager information is not visible when the data is loaded afterward.

### Reproduction of the problem

1. Initialize a Grid into a non-selected tab of a TabStrip and set its autoBind option to "false".

2. Select the tab and check how the empty Grid is rendered.

3. Call the read() method of the Grid's DataSource in the browser console to request the data.

4. The data is loaded, but the pager information remains hidden.

A Dojo sample for reproduction: https://dojo.telerik.com/njVgBvza

### Expected/desired behavior

The pager information must be available when the data is loaded into the Grid.

### Environment

* **Kendo UI version: 2024.4.1112
* **jQuery version: 3.7.1
* **Browser: [all]

Completed
Last Updated: 27 Aug 2026 08:32 by ADMIN
Release 2024 Q3 (Aug)

### Bug report

When removing a data item through the DataSource remove() method, and then trying to add a new record in the Grid, the editable row does not close when clicking the "Save" command. The Grid is set up for InLine editing. 

### Reproduction of the problem

1) Create an InLine editable Grid that binds to local data.

2) Add a custom column command that removes the respective data item by using the remove() method of the DataSource.

3) Delete a specified Grid record through the custom command.

4) Add a new record and click the built-in "Save" command.

5) The row remains in edit mode.

A Dojo sample for reproduction: https://dojo.telerik.com/IQIDuGOt

The last working version is 2024.1.130

### Expected/desired behavior

The editable row must close when clicking "Save" or "Cancel".

### Workaround

Use the Grid removeRow() method rather than the DataSource remove() method.

### Environment

* **Kendo UI version: 2024.1.319
* **jQuery version: 3.7.0
* **Browser: [all]

Completed
Last Updated: 27 Aug 2026 08:06 by ADMIN
Release 2026 Q4

Bug report

Reproduction of the problem

  1. Open the Dojo - https://dojo.telerik.com/FcHfotEy
  2. Hover over more than one image

Current behavior

Only the first image has the correct width and height

Expected/desired behavior

The Tooltip should respect the width and height size configurations.

Workaround:

 

contentLoad: function (e) {
              $(".k-tooltip.k-popup").width(500).height(500);
            },

 

https://dojo.telerik.com/lvXLxxYD 

TicketID: 1717434

The issue is a regression starting with 2026.2.520 version

Environment

  • Kendo/Telerik version: 2026.2.520
  • Browser: [all ]
Completed
Last Updated: 27 Aug 2026 08:06 by ADMIN
Release 2026 Q4
Created by: Khengaik
Comments: 0
Category: UI for ASP.NET Core
Type: Bug Report
0

Using the latest 2026.3.811 version produces the following errors:

  • kendo.all.d.ts(12072,26): error TS2552: Build:Cannot find name 'SchedulerKendoKeydownEvent'. Did you mean 'SliderKendoKeydownEvent'?
  • kendo.all.d.ts(14372,9): error TS2416: Build:Property 'options' in type 'ToggleButton' is not assignable to the same property in base type 'Button'.
  • kendo.all.d.ts(14384,15): error TS2430: Build:Interface 'ToggleButtonOptions' incorrectly extends interface 'ButtonOptions'.

 

Completed
Last Updated: 27 Aug 2026 08:06 by ADMIN
Release 2026 Q4
Created by: Manoj
Comments: 0
Category: Dialog
Type: Bug Report
0

Bug report

Reproduction of the problem

  1. Open the Dojo - https://dojo.telerik.com/zjwPGXDx/3
  2. Click → Open Window 1 → Open Window 2 → Open Payroll Window
  3. In the Add Payroll change a value and click Save

Current behavior

The Dialog is displayed below Kendo Widnow although the .open() method is used which should invoke .toFront()

image-20260818-144233.png

Expected/desired behavior

As the Dialog is the last opened Dialog/Window it should be displayed over the Window

image-20260818-144428.png

TicketID: 1717764

Workaround:

setTimeout(function(){              
              kdAddPayrollError.open();
            }, 500)

Dojo - https://dojo.telerik.com/cxXRIZgS

The issue is a regression starting with: 2025.4.1217

Environment

  • Kendo/Telerik version:
  • jQuery version: x.y
  • Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
Completed
Last Updated: 27 Aug 2026 08:04 by ADMIN
Release 2026 Q3

Bug report

The DateTimePicker's popup calendar view is cut in the Default, Classic, and Fluent themes.

Reproduction of the problem

  1. Run the following dojo
  2. Set the sizing option of the widget to large.
  3. Open to DatePicker popup.

Current behavior

The Date and Time views in the DateTimePicker popup are trimmed.

Expected/desired behavior

The Date and Time views in the DateTimePicker popup should not be trimmed.

Environment

  • Kendo UI version: 2023.1.117
  • Browser: [all]
Completed
Last Updated: 27 Aug 2026 08:04 by ADMIN
Release 2026 Q2
Created by: Gregory
Comments: 0
Category: Filter
Type: Bug Report
1

Bug report

When a user creates a filter with a date, it starts as an empty Datepicker, but the value is appearing as an empty string. Thus, if the user clicks apply, an error appears in the console. If you place a value in the DatePicker and clear it, the value will be Null.

Reproduction of the problem

  1. Go to this Progress Telerik ASP.NET Core REPL.
  2. Add filter for a Date but keep the datepicker empty.
  3. Select apply.
  4. Now, add a date and clear the value.

Current behavior

The filter menu sends isnull filter queries in the following format:
image

While the Filter component sends it as follows:
image

As a result the ToDataSourceResult method fails.

Expected/desired behavior

If the DatePicker is empty, the filter should properly perform the 'isnull' query upon clicking apply.

Environment

  • Kendo UI version: 2023.2.606
  • jQuery version: All Supported Versions
  • Browser: all
Completed
Last Updated: 27 Aug 2026 08:04 by ADMIN
Release 2026 Q3
Created by: barry
Comments: 0
Category: ColorPicker
Type: Feature Request
1
By design, the Apply / Cancel buttons are rendered without icons. Is it possible to implement a "buttonsTemplate" option (similar to the Form's option) that specifies the buttons template rendering?
Completed
Last Updated: 27 Aug 2026 08:03 by ADMIN
Release 2026 Q3

### Bug report

On mobile devices, when the TaskBoard columns are filled with cards, the users have trouble scrolling horizontally through the columns. When they attempt to scroll the screen, they accidentally drag cards instead of scrolling the columns. This makes navigation in the TaskBoard quite difficult, particularly for projects with a large number of cards.

    ### Reproduction of the problem

    1. Create a TaskBoard with at least two columns.

    2. Fill the columns with cards.

    3. Open the browser DevTools and switch to mobile view. Tap a card to scroll the columns horizontally or tap at the bottom of the TaskBoard to activate the horizontal scrollbar.

    4. The last card is accidentally dragged.

    A Dojo sample for reproduction: https://dojo.telerik.com/izASODan

    ### Expected/desired behavior

    When the user makes a hold/long press/long tap, show the "indicator for drag and drop" and then he/she continues with the gesture by moving the card to the desired column and lift the finger. This way, the accidental dragging will be prevented. For more information, refer to the GitHub issue.

    Note: The cards in the TileLayout can be dragged only through the card's title element. The TaskBoard cards can be dragged through the card's body, as well.

    ### Environment

    * **Kendo UI version: 2024.3.806
    * **jQuery version: 3.7.0
    * **Browser: [all]

    Completed
    Last Updated: 27 Aug 2026 08:03 by ADMIN
    Release 2026 Q2
    Created by: Steve
    Comments: 0
    Category: Form
    Type: Feature Request
    0

    The FormItemBuilder exposes an EditorTemplateView method which allows a view to represent the item and provides the entire modal to the view.

    As the elements available to forms are limited to those hard coded by Telerik and whilst extension methods can be employed to expand this limitation slightly, the ability to create a context specific view would be ideal

    The current implementation looks like this

    Html.Kendo().Form<Model>()
        .Items(items =>
        {
            items.AddGroup("Test", 1, 10)
                .Items(i =>
                    {
                        i.Add().Field(x => x.Username)
                        i.Add().Field(x => x.Password).EditorTemplateView(Html.Partial("MyView"))
                    }
                );
        })

    In this example, the entire model is provided into MyView. 

    I suggest adding an EditorTemplateFor that uses the lamda expression provided in the Field() method such as

    Html.Kendo().Form<Model>()
        .Items(items =>
        {
            items.AddGroup("Test", 1, 10)
                .Items(i =>
                    {
                        i.Add().Field(x => x.Username)
                        i.Add().Field(x => x.Password).EditorTemplateViewFor(Html.Partial("MyView"))
                    }
                );
        })
    Using the convention I would expect MyView to be provided the Password field only
    Completed
    Last Updated: 27 Aug 2026 08:03 by ADMIN
    Release 2026 Q3
    Created by: Martin Robins
    Comments: 0
    Category: DatePicker
    Type: Feature Request
    0

    Currently, the DatePicker can be set to read-only mode by adding the "readonly" attribute through the HtmlAttributes() option or by calling the client-side readonly() method.

    Is it possible to implement a built-in Readonly() option, so the DatePicker is initialized as read-only? For example:

    @(Html.Kendo().DatePickerFor(m => m.StratDate)
      .Readonly(true)
    )

    Completed
    Last Updated: 27 Aug 2026 08:03 by ADMIN
    Release 2026 Q3

    ### Bug report

    When adding custom classes or styles to the TimeDurationPicker component, they are applied to the hidden input elenent rather than to the parent element.

    ### Reproduction of the problem

    1. Create a TimeDurationPicker and add a class to its element:

    <input id="timedurationpicker" class="testClass" />

    2. When you inspect the component's markup, the "testClass" is added to the hidden input element.

    A Dojo sample for reproduction: https://dojo.telerik.com/IsTnGqsk

    ### Expected/desired behavior

    Any custom attributes must be added to the parent element with class "k-timedurationpicker".

    ### Environment

    * **Kendo UI version: 2025.2.520
    * **jQuery version: 3.7.1
    * **Browser: [all]

    Completed
    Last Updated: 27 Aug 2026 08:03 by ADMIN
    Release 2026 Q2

    ### Bug report

    When setting autoWidth: true and expanding a node, the popup's width is not adjusted based on the displayed child nodes.

    ### Reproduction of the problem

    1) Enable the autoWidth option and open the DropDownTree.

    2) Expand an item. A horizontal scrollbar appears and the width of the popup is not adjusted as expected:

    A Dojo sample for reproduction: https://dojo.telerik.com/faeuFFwb/2

    ### Expected/desired behavior

    The width of the popup must be automatically adjusted when expanding an option and the "autoWidth" option is enabled.

    ### Environment

    * **Kendo UI version: 2025.2.702
    * **jQuery version: 3.7.1
    * **Browser: [all]

    Completed
    Last Updated: 27 Aug 2026 08:03 by ADMIN
    Release 2026 Q2

    ### Bug report

    When the virtualization is enabled, in some cases, the selected options in the dropdown do not match the selected options in the input. 

    ### Reproduction of the problem

    1) Create a MultiSelect with Virtualization (for example, the same configuration as in the online demo).

    2) Select multiple options from the dropdown.

    3) Enter a search entry in the input to filter the displayed options and select a specified option.

    4) Scroll down and select another option.

    5) Remove some of the already selected options through the input.

    6) Open again the dropdown. The selected options in the input do not match the selected options in the dropdown.

    A screencast for reproduction: https://app.screencast.com/v6GtyST0dQAnh

    ### Expected/desired behavior

    The selected options in the input must match the selected options in the dropdown, regardless of the number of options selected, whether the options are selected using filtering or manual scrolling, or if the options are unselected through the input or dropdown.

    ### Environment

    * **Kendo UI version: 2025.3.825
    * **jQuery version: 3.7.1
    * **Browser: [all]
    In Development
    Last Updated: 24 Aug 2026 12:03 by ADMIN

    Bug report

    Grid throws an error when there are double quotes in foreign key column values:

    new TestSelectItem { Text = "AAA\"BBB\"CCC", Value = "2" },

    Reproduction of the problem

    1. Open and run the attached sample projectBadQuotes_sample.zip
    2. Click ‘Add’ button

    Current behavior

    The following error is thrown in the console:

    SyntaxError: Failed to execute 'appendChild' on 'Node': Unexpected identifier 'My' (at VM20:1:144)

    Expected/desired behavior

    There should be no error and the value should appear escaped:

    image-20260814-102715.png

    Workaround:

    Text = item.Text?
        .Replace("\\", "\\\\")
        .Replace("\"", "\\\"")

    TicketID: 1717693

    The issue is a regression starting with Ui for ASP.NET Core version 2024.4.1112

    Environment

    • Kendo/Telerik version: 2026.3.811
    • Browser: [all ]
    In Development
    Last Updated: 19 Aug 2026 11:12 by ADMIN
    Scheduled for 2026 Q4
    Created by: Flavio
    Comments: 0
    Category: Scheduler
    Type: Bug Report
    1

    Bug report

    Button 'New Event' don't translate after change language:

    image-20260817-131437.png

    Environment

    • Kendo/Telerik version: 2026.3.811
    • jQuery version: x.y
    • Browser: [all]
    Completed
    Last Updated: 12 Aug 2026 12:42 by ADMIN
    Release 2026 Q3 (12.08.2026)
    Add the Telerik Meridian theme option in the Telerik UI for ASP.NET Productivity Tools extension for VS Code.
    Completed
    Last Updated: 12 Aug 2026 12:41 by ADMIN
    Release 2026 Q3 (12.08.2026)
    Created by: Martin Robins
    Comments: 0
    Category: Installer and VS Extensions
    Type: Bug Report
    0
    Progress Telerik UI for ASP.NET Core Extension is slowing typing performance
    Planned
    Last Updated: 07 Aug 2026 06:57 by ADMIN
    Scheduled for 2026 Q4
    Created by: Janick
    Comments: 6
    Category: UI for ASP.NET Core
    Type: Feature Request
    6

    Consider the use of TextWriter async methods for the HTML Helpers, for example the WriteInitializationScript methods.  In certain scenarios the use of the synchronous methods causes an exception: System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.

    This can be resolved by explicitly enabling synchronous operations

    services.Configure<IISServerOptions>(options =>
        {
            options.AllowSynchronousIO = true;
        });

    though synchronous operations have been disabled by default at framework level as of .NET 3.0.

    1 2 3 4 5 6