Completed
Last Updated: 08 Sep 2026 13:05 by ADMIN

Summary When a RadPane has Scrolling="Y" (or X/Both) and also has BorderWidth, BorderStyle, BorderColor set (either directly on the pane or via the parent RadSplitter's PanesBorderSize), the pane's inner scrollbar does not render/work correctly. The space reserved for the scrollbar remains in the layout, but the scrollbar itself is missing or non-functional, effectively making the pane's content unscrollable.

Steps to Reproduce

  1. Create a RadSplitter with a RadPane that has Scrolling="Y" and BorderWidth="3" BorderStyle="solid" BorderColor="blue" (or just rely on PanesBorderSize).
  2. Add enough content to the pane so it overflows vertically.
  3. Load the page in Chrome (reproduced on Chrome 152).
  4. Observe: only the outer document scrollbar appears; the pane's own scrollbar is missing or the reserved scrollbar gutter space is empty, and the content cannot be scrolled within the pane.

Expected behavior The pane's scrollbar should render correctly and remain functional regardless of BorderWidth/BorderStyle/BorderColor/PanesBorderSize settings.

Actual behavior Scrollbar space is reserved but the scrollbar is missing/non-functional when a border is applied to the pane.

Unplanned
Last Updated: 08 Sep 2026 12:59 by ADMIN
Scheduled for 2026 Q3 SP1
Created by: Márcio
Comments: 1
Category: UI for ASP.NET AJAX
Type: Feature Request
1
Currently, the editor does not support dragging and dropping content with change control enabled. Thinking about a user who uses the editor a lot during their day, it would be an interesting feature considering the usability of the tool, in a scenario where it is important to have change control.

No Ticket 1659890 is explained a problem that occurs with our customers.
Unplanned
Last Updated: 04 Sep 2026 20:32 by Mark

------------------- AI Summary -------------------

We upgraded Telerik UI for ASP.NET AJAX from version 2026.2.708 to 2026.3.812, with no changes to our navigation menu code. Our RadPanelBar menu is populated server-side via DataBind() using a SiteMapDataSource (no client-side population). Since the upgrade, clicking a menu item frequently does not navigate to its URL: the menu shifts vertically, the clicked item is not selected, and no navigation occurs. This is impacting customers’ ability to use our site.

--------------- End of AI Summary ---------------

We are requesting assistance to troubleshoot and resolve this issue as quickly as possible. This problem is causing significant usability issues.

Completed
Last Updated: 02 Sep 2026 15:56 by JP
Release 2026 Q3

If both the CSRF validation and the Session state is turned off, the pages containing AsyncUpload control will throw a null reference exception.

<appSettings>
  <add key="Telerik.AsyncUpload.EnableCsrfValidation" value="false" />
</appSettings>
<system.web>
  <sessionState mode="Off" />

Completed
Last Updated: 02 Sep 2026 14:59 by ADMIN
Release 2026 Q3 SP1
Created by: paavon
Comments: 1
Category: UI for ASP.NET AJAX
Type: Bug Report
0

Telerik UI for ASP.NTE AJAX nuget package adds ChartImage handler configs to Web.Config (system.web/httpHandlers and system.webServer/handlers) even though it does not support RadChart any more.

Also it seems to mess system.webServer/handlers configuration by adding remove actions for other Telerik handlers AFTER add actions.

system.web/httpHandlers before:

    <httpHandlers>
      <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />
      <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
      <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
    </httpHandlers>

system.web/httpHandlers after:

    <httpHandlers>
      <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />
      <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
      <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
      <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
    <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" /></httpHandlers>

system.webServer/handlers before:

    <handlers>
      <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" />
      <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" />
      <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" />
      <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" />
    </handlers>

system.webServer/handlers after:

    <handlers>
      <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" />
      <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" />
      <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" />
      <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" />
    <remove name="ChartImage_axd" /><remove name="Telerik_Web_UI_SpellCheckHandler_axd" /><remove name="Telerik_Web_UI_DialogHandler_aspx" /><remove name="Telerik_RadUploadProgressHandler_ashx" /><remove name="Telerik_Web_UI_WebResource_axd" /><add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" /></handlers>

 

Unplanned
Last Updated: 02 Sep 2026 12:13 by Christopher
Created by: Christopher
Comments: 0
Category: PersistenceFramework
Type: Feature Request
0

RadPivotGrid persisted states do not restore saved filter values or apply the filters to the dataset.

The issue is reproducible on the Telerik demo site and also affects states newly saved with the affected versions. No runtime errors are observed.

The behavior worked in 2026.2.519.

Expected: Loading a persisted state restores the saved filters and applies them to the PivotGrid.

Actual: The state loads, but the saved filters are not restored or applied.

This appears to be a regression related to recent changes to the persisted state storage/restoration mechanism.

Completed
Last Updated: 31 Aug 2026 07:22 by ADMIN
Release 2026 Q3 SP1

Regression introduced in: 2025.4.1111

When RadEditor is in HTML mode, calling get_html() without parameters modifies self-closing tags in the returned content.

According to the documented API behavior, the RadEditor client filters should modify the returned content only when the isFiltered argument is set to true. However, the content is currently passed through browser DOM serialization even when filtering is not requested. This normalizes HTML void elements and removes the XHTML self-closing slash.

Steps to reproduce

  1. Add a RadEditor to a page.
  2. Switch the editor to HTML mode.
  3. Enter the following content:
<img alt="" src="image.png" />
  1. Call editor.get_html() or editor.get_html(false).

Actual result

The returned markup is modified and the self-closing slash is removed:

<img alt="" src="image.png">

Expected result

When filtering is not requested, the content entered in HTML mode should be returned without filter-related DOM serialization:

<img alt="" src="image.png" />

Calling editor.get_html(true) may modify the returned content according to the enabled RadEditor client filters.

Impact

Applications that store, compare, validate, or further process XHTML-compatible markup may receive content different from the source entered by the user. This can affect integrations that rely on self-closing tag syntax.

Completed
Last Updated: 27 Aug 2026 07:11 by ADMIN
Release 2026 Q3 SP1
Hovering over the RadMenu sub-item toggle arrow icon does not expand its sub-item.

Can be reproduced with the following configuration:



<telerik:RadMenu ID="RadMenu2" _OnClientLoad="OnClientLoad" runat="server" RenderMode="Auto" ShowToggleHandle="true">
    <Items>
        <telerik:RadMenuItem Text="Main Menu">
            <Items>
                <telerik:RadMenuItem Text="Item 1">
                    <Items>
                        <telerik:RadMenuItem Text="Sumbenu 1"></telerik:RadMenuItem>
                        <telerik:RadMenuItem Text="Sumbenu 2"></telerik:RadMenuItem>
                    </Items>
                </telerik:RadMenuItem>
                <telerik:RadMenuItem Text="Item 2">
                    <Items>
                        <telerik:RadMenuItem Text="Sumbenu 3"></telerik:RadMenuItem>
                        <telerik:RadMenuItem Text="Sumbenu 4"></telerik:RadMenuItem>
                    </Items>
                </telerik:RadMenuItem>
            </Items>
        </telerik:RadMenuItem>
    </Items>
</telerik:RadMenu>



Workaround:

                <script>
                    var menuItem = null;
     
                    function OnClientLoad(sender) {
                        $telerik.$(".rmToggle,.rmToggle *").on("mouseover", ExpandMenu);
                    }
                    function ExpandMenu() {
                        var item = $telerik.$(this).closest('.rmItem')[0]._item
                        if (!item.get_isOpen()) {
                            item.open()
                        }
                    }
                </script>




Declined
Last Updated: 25 Aug 2026 12:31 by ADMIN
ADMIN
Created by: Rumen
Comments: 1
Category: PanelBar
Type: Bug Report
0
When tabbing from first PanelBar to the second one it neither passes through the contentTemplate elements, nor to the second panelbar:
 
<telerik:RadPanelBar runat="server" ID="radPnlBarFundingSources" Width="100%" ExpandMode="MultipleExpandedItems" TabIndex="1">
            <Items>
                <telerik:RadPanelItem runat="server" Text="Funding Source">
                    <ContentTemplate>
                        <telerik:RadListBox runat="server" ID="radLbAvailFundingSource" Height="100px" Width="40%" SelectionMode="Multiple" AllowTransfer="true" TransferMode="Move" AllowTransferOnDoubleClick="true" TransferToID="radLbSelFundingSource" ButtonSettings-AreaWidth="35px" Enabled="True" style="font-family: Verdana, Trebuchet MS,Arial,sans-serif; font-size:0.9em;"></telerik:RadListBox>
                        <telerik:RadListBox runat="server" ID="radLbSelFundingSource" Height="100px" Width="40%"></telerik:RadListBox>
                    </ContentTemplate>
                </telerik:RadPanelItem>
            </Items>
        </telerik:RadPanelBar>
    </div>
    <div class="Row">
        <telerik:RadPanelBar runat="server" ID="radPnlBarContracts" Width="100%" TabIndex="2">
            <Items>
                 <telerik:RadPanelItem runat="server" Text="Contract">
                    <ContentTemplate>
                        <telerik:RadListBox runat="server" ID="radLbAvailContract" Height="100px" Width="40%" SelectionMode="Multiple" AllowTransfer="true" AllowTransferOnDoubleClick="true" TransferToID="radLbSelContract"  AutButtonSettings-AreaWidth="35px"></telerik:RadListBox>
                        <telerik:RadListBox runat="server" ID="radLbSelContract" Height="100px" Width="40%"></telerik:RadListBox>
                    </ContentTemplate>
                 </telerik:RadPanelItem>
            </Items>
        </telerik:RadPanelBar>
Completed
Last Updated: 24 Aug 2026 10:28 by ADMIN
Release 2026 Q3 SP1

The RadEditor Add Link dialog uses HTML tables for layout, but the tables are exposed with data-table semantics.

The dialog contains:

  • An outer reControlsLayout table
  • A nested reConfirmCancelButtonsTblLight table for the action buttons
  • Hidden <caption>, <thead>, and <th> elements intended to describe the tables
  • No role="presentation" or role="none" on the layout tables

Because these tables are used to arrange form fields and buttons rather than display tabular data, screen readers and automated accessibility tools may interpret them as data tables. The hidden headers are removed from the accessibility tree and do not provide useful table semantics. The nested table may also result in redundant or confusing table announcements.

This causes WCAG 2.1 accessibility findings related to table semantics, including F49 and F91 under Section 508.

Completed
Last Updated: 20 Aug 2026 14:33 by ADMIN
Release 2026 Q3 SP1
Created by: Floris
Comments: 0
Category: Grid
Type: Bug Report
4

RadGrid’s SEO Paging activates for normal users in the latest Brave browser, because sessions are misclassified as crawlers (Request.Browser.Crawler evaluates to true).

Even with PagerStyle.EnableSEOPaging set to False, SEO paging still turns on due to crawler detection, and ask whether the legacy Request.Browser.Crawler approach should be removed for ASP.NET WebForms in Telerik.

When EnableSEOPaging is True, query string paging is always used, but when False, the grid still enables SEO paging upon crawler detection, which is being incorrectly triggered in Brave.

Duplicated
Last Updated: 17 Aug 2026 15:11 by ADMIN

Hi Progress Telerik Team,

Our security team has reported a Content Security Policy issue related to inline scripts in Progress Telerik UI for ASP.NET AJAX. Could you please add nonce support for inline scripts so we can resolve this issue in a compliant way?

Please let us know if you need any additional details from our side.

Thank you,
Hira Kewlani

Pending Review
Last Updated: 13 Aug 2026 14:49 by Mrinal

After upgrading to 2026.2.708, RadAsyncUpload file uploads fail with HTTP 403 Forbidden originating from the new CSRF validation (AsyncUploadHandler.ValidateCsrfToken). The handler returns an HTML error response.

The failure occurs only in our multi-host (load-balanced) environment. In multihost environment as well Issue is inconsistent. The exact same build works correctly on a single-node local/dev machine.

Refer support ticket raise for the Issue to get more detail.

RadAsyncUpload fails with HTTP 403 (ValidateCsrfToken) in multi-node/web-farm environment after upgrade to 2026.2.708 | View Ticket | Your Account

Completed
Last Updated: 13 Aug 2026 12:11 by ADMIN
Release 2026 Q3
Accessing the e.UploadResult from the FileUploadedEvent while using custom handlers throws InvalidOperationException "This type is not allowed"
Unplanned
Last Updated: 12 Aug 2026 12:54 by Peter
Starting with Q1 2026, the MultiSelect Virtualization throws an error when you select/deselect an item. This behavior can be observed in the Virtualization Demo.
Declined
Last Updated: 10 Aug 2026 10:56 by ADMIN

Images with "*.jpeg" extension are saved as "*.jpg" in a different file even if the "Overwrite" option is checked. 

Steps to reproduce:

1. Open an image with "*.jpeg" extension in ImageEditor (e.g. test.JPEG)
2. Edit the image
3. Open the Save Dialog and choose "Save Image On Server" with checked "Overwrite if file exists?" option

Result: The edited image is saved as a new files with jpg extension (e.g. test.jpg)

Declined
Last Updated: 10 Aug 2026 09:03 by ADMIN
Currently the the ImageEditor (and the Editor) are looking for standard .ascx files with the names of its dialogs and it is not optimized for a scenario in which these dialogs are pre-compiled.
Declined
Last Updated: 05 Aug 2026 13:39 by ADMIN
Created by: John
Comments: 1
Category: Grid
Type: Bug Report
0

In version 2026.1.218.462 the Grid cannot scroll vertically. To work around  it, you can overwrite the built-in function used for scrolling:

<script type="text/javascript">
    Sys.Application.add_init(function () {
        Telerik.Web.UI.GridScrolling.prototype._createTouchScrollExtender = function (toCreate) {
            var contentElement = this._owner.GridDataDiv;

            if (contentElement) {
                var control = this._dropDownTouchScroll;

                if (control) {
                    if (!toCreate) {
                        control.dispose();
                        this._dropDownTouchScroll = null;
                    }
                } else if (toCreate) {
                    this._dropDownTouchScroll = new Telerik.Web.UI.TouchScrollExtender(contentElement);
                    this._dropDownTouchScroll.initialize();

                    if (this.AllowScroll) {
                        contentElement.style.overflow = 'auto';
                    }
                }
            }
        };
    });
</script>

 

Completed
Last Updated: 31 Jul 2026 14:10 by ADMIN
Release 2026 Q3
ADMIN
Created by: Rumen
Comments: 1
Category: Editor
Type: Bug Report
1
The Bold, Italic, Underline, Justify, Indent, Outdent and other commands are not localized in the Undo/Redo dropdowns.

Screenshots:

https://www.screencast.com/t/YLNTiPP7LAk

https://www.screencast.com/t/DS9Y6GrB 


Can be seen at http://demos.telerik.com/aspnet-ajax/editor/examples/localization/defaultcs.aspx. 
Declined
Last Updated: 31 Jul 2026 14:07 by ADMIN
ADMIN
Created by: Vessy
Comments: 1
Category: Editor
Type: Bug Report
0
OnClientModeChange event is not fired in Mobile RenderMode.

Steps to reproduce:
Run the following code in a mobile Chrome (or mobile emulation) and click the edit Pencil button that switches the edit modes:

        <script type="text/javascript">
            function OnClientModeChange(editor, args) {
                var mode = editor.get_mode();
                switch (mode) {
                    case 1:
                        alert("We are in Design mode");
                        //do something
                        break;
                    case 2:
                        alert("We are in Html mode");
                        //do something
                        break;
                    case 4:
                        alert("We are in Preview mode");
                        //do something
                        break;
                }
            }
        </script>

        <telerik:RadEditor runat="server" OnClientModeChange="OnClientModeChange" ID="RadEditor1" RenderMode="Auto">
        </telerik:RadEditor>
1 2 3 4 5 6