Unplanned
Last Updated: 13 Nov 2026 16:15 by ADMIN
Scheduled for 2026 Q4 (Dec)

We have spotted that PInvoke is now marked as deprecated (this applies even to the latest 0.7.124 version). In the description of the PInvoke.User32 NuGet package, it is mentioned that Microsoft.Windows.CsWin32 should be used instead:

Please consider replacing the deprecated package.

Unplanned
Last Updated: 13 Nov 2026 16:06 by ADMIN
Scheduled for 2026 Q4 (Dec)
Currently, Telerik Report Designer cannot export the style heading level to the tag structure in the generated PDF. It exports the headings, yes, but only as a paragraph tag. This request would require that a Heading Level (e.g., Heading 1, Heading 2, Heading 3 ) field be added to the Properties panel such that a text box could be tagged as H1, H2, H3, etc.  According to accessibility guidelines, PDF/UA-1, WCAG 2.1 and 508, the tag tree needs to contain a logical reading order and tag structure. Heading Levels are essential to that. There may be only one H1 - usually reserved for the document title, then major sections get H2, subsections, H3, etc. Can this be done?
Unplanned
Last Updated: 13 Nov 2026 16:05 by ADMIN
Scheduled for 2026 Q4 (Dec)

I am using the Standalone Report Designer for .NET to open a code-based report from an application that was migrated from .NET Framework. Before the migration, function calls defined in the designer.cs file were preserved and evaluated at runtime as expected. However, after migrating to the code-based reports functionality supported by the Standalone Report Designer for .NET, these function calls are evaluated immediately during the report import process, and the resulting values are then serialized and stored in the report definition.

It would be nice if the function calls were preserved in the imported report, allowing them to be evaluated later at runtime, as their return values may change depending on the execution context.

Unplanned
Last Updated: 13 Nov 2026 16:05 by ADMIN
Scheduled for 2026 Q4 (Dec)
Created by: Pascal
Comments: 1
Category: Reporting
Type: Feature Request
1
The fonts defined in the fontLibrary element are discovered once, lazily on first use, and are cached for the process lifetime. Fonts added to the configured directories afterward are not picked up automatically —  a restart of the application is needed.
As we install fonts regularly and don't want to restart/redeploy everytime we install a new font we propose a new api to clear the cache.
A new method Telerik.Reporting.Fonts.RefreshCache would solve this problem and improve the experience of using the Telerik Reporting library.
Unplanned
Last Updated: 13 Nov 2026 16:00 by ADMIN
Scheduled for 2026 Q4 (Dec)

I have noticed that the performance of exporting reports has gotten worse in recent releases. After investigating, I found out that this is likely caused by the sheer size of the code in my projects.

To prove this, I created a simple application that renders a report to PDF programmatically. Then, I created 10 000+ dummy classes in the same project, and tried rendering the report again. The performance was noticeably impacted by this change.

 

Unplanned
Last Updated: 13 Nov 2026 16:00 by ADMIN
Scheduled for 2026 Q4 (Dec)
When content associated with a TOC entry is hidden, subsequent TOC page numbers may be offset by one page. In the attached sample, the issue occurs when a Group Footer containing the TOC entry is hidden and the TOC is close to spilling onto a second page.
Unplanned
Last Updated: 13 Nov 2026 16:00 by ADMIN
Scheduled for 2026 Q4 (Dec)

The bug has two requirements for occurring:

  • The system locale(culture) must use a comma as the decimal separator
  • The report must contain at least one item, which takes the full available width of the report sections. Or an item may be docked to a section, which results in the same width as that of the section.

When those two conditions are met, the report will fail to render, and an error message stating that one of the numeric values in the report cannot be parsed. For example, the message may look like this:

One or more errors occurred. (The numeric portion of 170.01mm cannot be parsed as a unit of type Mm.)

To avoid the issue, slightly decrease the width of the item so that it does not occupy the full width of the report section. If Docking is used, disable it, or wrap the docked item in a smaller container.

Alternatively, a culture with a dot-based decimal separator may be used.

Unplanned
Last Updated: 13 Nov 2026 10:45 by Jenifer

I installed Reporting on my Windows without a database server. I chose to install with the examples so I can later provide a valid connection string for them.

Here is the connection string from the XML configuration that breaks the Standalone Report Designer applications:

<connectionStrings>
        <clear/>
        <add name="Telerik.Reporting.Examples.CSharp.Properties.Settings.TelerikConnectionString" connectionString="Data Source="No Local Servers Found!";Initial Catalog=AdventureWorks;Integrated Security=True;Password=" providerName="System.Data.SqlClient"/>
</connectionStrings>

Note the quotation marks inside the DataSource value that make the XML invalid.

Previously, the same scenario resulted in the following connection string that didn't break the XML structure:

<connectionStrings>
    <add name="Telerik.Reporting.Examples.CSharp.Properties.Settings.TelerikConnectionString"
        connectionString="Data Source=No Local Servers Found!;Initial Catalog=AdventureWorks;Integrated Security=SSPI"
        providerName="System.Data.SqlClient" />
</connectionStrings>

Currently, to start the designers, I must fix the configuration files manually or install the Reporting without examples.

Unplanned
Last Updated: 13 Nov 2026 10:22 by Georgy
When an HTML5-based report viewer is in Fit Page Width scale mode, the page keeps resizing in a loop at certain viewer sizes. This happens when the page is almost exactly as wide as the available space, so showing or hiding the vertical scrollbar changes the content width.
Unplanned
Last Updated: 11 Nov 2026 12:15 by ADMIN

Almost any object can be set to grow (CanGrow = True). Which makes the object grow if the text is too long.

I believe you need a function for making the text fit inside the object.

“ShrinkToFit = True”

This would shrink the text so that it fits inside the object. So if the font size is 20 and a long text wouldn’t fit inside the object, the font size would shrink until it fits.

Today we need to set several conditional formatting rules for this and it’s far from perfect. 

Unplanned
Last Updated: 09 Nov 2026 15:43 by Kent

After upgrading to Telerik Reporting 2026 Q3(20.2.26.1007), we are unable to get any of our Object Data sources to load. With the 2026 Q2 release, we had to copy some of the .NET DLL's into the report designer folder for it to work, and after copying the DLLs, everything loaded without any issues.

We have three custom DLL's that depend on MySQLConnector (version 2.6.2) to pull the data from a MySQL DB.  When we upgraded to 2026 Q3, we copied our custom DLL's and added them to the config file as assemblyReferences. After copying them in, we added MySqlConnector.dll to the directory. We then received an error that it couldn't load System.Transactions.Local.dll 10.0.0.  I copied this DLL into the directory with the EXE for Telerik.ReportDesigner.Net.exe. After adding the DLL, we are now getting this error:

Telerik.Reporting.Processing.Data.ObjectDataSourceException: An error has occurred while resolving 'objectDataSource1' data source: An error occurred while invoking data retrieval method.

 ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.MissingMethodException: Method not found: 'Void System.Data.Common.DbConnection.EnlistTransaction(System.Transactions.Transaction)'.
   at MySqlConnector.MySqlConnection.OpenAsync(Nullable`1 ioBehavior, CancellationToken cancellationToken)
   at MySqlConnector.MySqlConnection.OpenAsync(Nullable`1 ioBehavior, CancellationToken cancellationToken)
   at MySqlConnector.MySqlConnection.Open() in /_/src/MySqlConnector/MySqlConnection.cs:line 517
   at TelerikReportsObject.AP.APDebitMemoConnections.GetDataViewSource(UInt32 receiverDetailId, String userName)
   at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
   at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Telerik.Reporting.TypeValidation.SafeReflection.InvokeMethodSafe(MethodBase mi, Object target, Object[] parameters)
   at Telerik.Reporting.Processing.Data.ObjectDataSourceInstanceResolver.TryResolveDataMemberAsMemberMethod(Func`1 resolveTarget, MethodBase mi, Object[] args, Int32 outParemeterIndex, Object& result)
   at Telerik.Reporting.Processing.Data.ObjectDataSourceInstanceResolver.TryResolveAsMethodInvocationOnTarget(Type type, Func`1 resolveTarget, String dataMember, ObjectDataSourceParameterCollection parameters, Object& result)
   --- End of inner exception stack trace ---
   at Telerik.Reporting.Processing.Data.ObjectDataSourceInstanceResolver.TryResolveAsMethodInvocationOnTarget(Type type, Func`1 resolveTarget, String dataMember, ObjectDataSourceParameterCollection parameters, Object& result)
   at Telerik.Reporting.Processing.Data.ObjectDataSourceInstanceResolver.TryResolveAsMethodInvocation(Object dataSource, String dataMember, ObjectDataSourceParameterCollection parameters, Object& instance)
   at Telerik.Reporting.Processing.Data.ObjectDataSourceInstanceResolver.TryResolveAsMethodInvocation(Object dataSource, String dataMember, Boolean evaluateParametersValues, Object& instance)
   at Telerik.Reporting.Processing.Data.ObjectDataSourceInstanceResolver.ResolveDataSource(Object dataSource, String dataMember, Boolean evaluateParametersValues)
   at Telerik.Reporting.Processing.Data.ObjectDataSourcePropertiesResolver.ResolveDataSourcePropertiesFromEnumerable(ISimpleDataProvider provider, Object dataSource, String dataMember)
   at Telerik.Reporting.Processing.Data.ObjectDataSourcePropertiesResolver.ResolveDataSourceProperties(ISimpleDataProvider provider, Object dataSource, String dataMember, IEnumerable`1 parameters)
   at Telerik.Reporting.Processing.Data.ObjectDataProviderBase`1.ResolveDataSourceProperties()
   at Telerik.Reporting.Processing.Data.ObjectSchemaAdapter.GetFields()+MoveNext()
   at Telerik.Reporting.Processing.Data.SimpleSchemaAdapter.AddDataMeasures(SimpleDataModel model)
   at Telerik.Reporting.Processing.Data.SimpleSchemaAdapterBase.Fill(SimpleDataModel model)
   at Telerik.Reporting.Processing.Data.SimpleDataProvider`1.GetSchemaCore()
   at Telerik.Reporting.Processing.Data.DataProvider`1.Telerik.Reporting.Processing.Data.IDataProvider.GetSchema()
   at Telerik.Reporting.Data.Design.DataSourceService.GetLocalSchema(IDataSource datasource, IDataProviderContext dataProviderContext)
   at Telerik.Reporting.Data.Design.DataSourceDesignerBase.GetSchemaCore()
   at Telerik.Reporting.Data.Design.ObjectDataSourceDesigner.GetSchemaCore()
   at Telerik.Reporting.Data.Design.DataSourceDesignerBase.Telerik.Reporting.Design.Interfaces.IDataSchemaProvider.GetSchema()
   at Telerik.Reporting.Data.Design.DataSourceService.GetSchemaFromProvider(IDataSchemaProvider provider)
   at Telerik.Reporting.Data.Design.DataSourceService.GetSchemaFromContext(Object context)
   at Telerik.Reporting.Data.Design.DataSourceService.GetCurrentSchema(Boolean parentContext, Boolean getFromParentRecursively)
   at Telerik.Reporting.Data.Design.DataSourceService.Telerik.Reporting.Design.Interfaces.IDataSourceService.GetCurrentDataItemSchema(Boolean getFromParentRecursively)
   at Telerik.Reporting.Design.DataExplorerControl.<>c__DisplayClass12_0.<RefreshDataSource>b__0()

Unplanned
Last Updated: 09 Nov 2026 12:27 by Greg
Created by: Greg
Comments: 0
Category: Reporting
Type: Feature Request
1

Currently, like the FileStorage and the MsSqlServerSrorage, the Reporting service performs periodic clean ups of the cachec client assets in the RedisStorage.

Those assets are stored in keys, which do not have an expiration date, so the Reporting service is the one that is single-handedly responsible for deleting those keys.

This approach may work well for the other storages, but in terms of Redis, it leaves more to be desired. Some of the possible cons of this approach are that:

  1. Cleanup depends on traffic. Expired report data is removed only when a new viewer client registers. If the service stops getting viewer traffic, nothing it stored is ever removed.
  2. Upgrades leave data behind. The storage keys include the Telerik product version. After an upgrade, the service only looks at keys for the new version, so cleanup never reaches data written by the previous version. It stays in Redis for good, no matter how much traffic the service gets.

So whether Redis memory is ever reclaimed depends on viewer traffic and upgrade history. In a shared Redis cache, the leftover data builds up until the cache reaches its memory limit. Redis can't evict it, because standard eviction policies apply only to keys with an expiration. The cache then starts rejecting writes, which breaks every application using it.

A cache provider should guarantee its data expires on its own, without depending on later traffic or on cleanup code that knows about earlier versions.

Requested:
An expiration option on RedisStorage, with a sliding expiration refreshed on access. With that in place, Redis reclaims all storage on its own, including data from previous versions, regardless of viewer traffic.

Unplanned
Last Updated: 30 Oct 2026 12:43 by ADMIN
Created by: Jonathan
Comments: 0
Category: Reporting
Type: Bug Report
3

Password-protected PDF documents generated with Telerik Reporting have blank pages when opened with an iPhone.

Unplanned
Last Updated: 30 Oct 2026 10:25 by ADMIN

Hello,

 it seems there is some glitch in blazor telerik web report designer. So its not possible, to use stored procedure with parameters as datasource

lets have input parmeter in SP, expecting "some value", how to configure it for report? Only person, which is designin report, puts the value in as constant.
@Typ=1 

1) - web report designer doesnt remember sql connection type(Choose data connection): Shared vs EMBEDED. Always fall to shared, when reopening report(but was configured as embeded).

2) - web repor designer, not applying DEFAULT "Configure design time parameters" VALUES, and also "Configure data source parameters". They are correctly stored in TRDP, they are visible in sql wizzard steps, but ALWAYS passed as NULL to the datasource when OPENING report. 
= so report is than messed up/or datasource invalid. 

**NOT BUG, ENHANCEMET: 3) - allow filtering in SQL datasource wizard "Stored procedure". Normally there is hundred of SP and its pain to pick one. OR allow to write SP directly

4) - when using SQL datasource, its not getting filed values correctly, this command is executed:
exec sp_executesql N' SET FMTONLY OFF; SET FMTONLY ON;exec [dbo].[IMS_PRINT_GETSET] @Typ,@ID;',N'@Typ nvarchar(1),@ID int',@Typ=N'1',@ID=30
in sql wizzard, there is command: "exec [dbo].[IMS_PRINT_GETSET] @Typ,@ID;"
how to solve that?
You are not ALWAYS allowed to modify SP. just consume as DATASOURCE, so its NOT VALID.
IF 1=0 BEGIN
        SET FMTONLY OFF
    END

iam unable to use version 1007-its not compatibile in project with telerik.blazor 15.1 (conflict in some skia or document proccesing nugets), but its not the case.

example:
Video demonstrating(reopened existing report), all described points + profiler result.

telerik sends - WRONG:
exec sp_executesql N' SET FMTONLY OFF; SET FMTONLY ON;exec [dbo].[IMS_PRINT_GETSET] @Typ,@ID;',N'@Typ nvarchar(4000),@ID int',@Typ=NULL,@ID=NULL
telerik SHOULD send:
exec sp_executesql N' SET FMTONLY OFF; SET FMTONLY ON;exec [dbo].[IMS_PRINT_GETSET] @Typ,@ID;',N'@Typ nvarchar(4000),@ID int',@Typ=N'1',@ID=30

TSQL demo procedure(one procedure for multiple sources - real world usage):
create PROCEDURE [dbo].[IMS_PRINT_GETSET]
@Typ INT,@ID INT
AS
BEGIN
  SET NOCOUNT ON;

  --!!TELERIK BUGFIX, but you are NOT ALWAYS permited to modify SP!!:
   IF 1=0 BEGIN
        SET FMTONLY OFF
    END  

IF @Typ=2 BEGIN
SELECT TOP 500 * FROM vTabOrders_active
RETURN
END

IF @Typ=1 BEGIN
SELECT TOP 500 ID,CisloZakazky,Nazev,Poradi FROM TabXYZ
RETURN
END

END

 

Thanks, even for some hotfix ideas.

    
Unplanned
Last Updated: 29 Oct 2026 10:34 by ADMIN
Created by: Pooja
Comments: 2
Category: Reporting
Type: Feature Request
2
Problem Statement
Our production users rely on Excel for downstream analysis (formulas, filtering, sorting, pivoting, and ad hoc insights).
Current Telerik Excel export is layout-first (pixel-perfect), which preserves visual report structure but introduces merged cells, blank spacing rows/columns, decorative styling, and images.

For large datasets, this causes:

significant post-processing overhead,
slower export pipelines,
less usable spreadsheets for analytical workflows.
Business Impact
High-volume production exports with large row counts.
Users need data-centric Excel files, not print-layout replicas.
We use the same .trdp for PDF and Excel:
PDF requires full visual fidelity.
Excel requires clean, tabular, analysis-ready output.
Lack of built-in data-only mode forces custom cleanup logic, increasing maintenance risk and runtime cost.
Requested Feature
Add a built-in Excel Data-Only export mode (similar to Crystal Reports behavior), optimized for analytics and scale.

Proposed behavior (Data-Only mode)
Export as a flat tabular dataset (header + detail rows).
Preserve native data types (date/number/boolean) and formulas where applicable.
Avoid layout artifacts:
no merged cells (unless explicitly requested),
no decorative blank rows/columns from visual layout,
optional suppression of images/shapes/charts.
Optional minimal formatting only:
keep number/date formats,
remove decorative styles/fills/borders by default.
Optional toggles:
include/exclude report header/footer rows,
include/exclude groups/subtotals,
include/exclude hidden/report-only visual items.
Keep worksheet gridlines visible by default in data-only mode.
Optimize for large datasets (streaming-friendly, reduced memory overhead).
Suggested API / Configuration (example)
DeviceInfo or rendering setting, e.g.:
ExcelMode=DataOnly (default remains Layout)
IncludeImages=false
IncludeDecorativeFormatting=false
PreserveDataTypes=true
PreserveNumberFormats=true
FlattenGroups=true
Why this matters
This feature would allow teams to:

use one .trdp for both PDF (visual) and Excel (data),
eliminate expensive post-processing,
improve performance and reliability at production scale,
deliver spreadsheets that are immediately usable for business analysis.
Current Workaround
We currently perform custom post-processing to rebuild a clean workbook from rendered output (strip layout effects, remove visual artifacts, compact rows/columns).
This is complex, expensive, and fragile compared to a native renderer capability.

Request
Please consider adding this feature to the Telerik Reporting roadmap, or provide an officially supported pattern to achieve equivalent data-only output for Excel at scale.
Unplanned
Last Updated: 23 Oct 2026 12:16 by Michal

If I create an SqlDataSource component through the wizard, and select the option to embed the connection in the report, and later open the SqlDataSource wizard for that component again, the wizard does not remember that the selected data option was "Embedded" and again defaults to a shared connection.

The wizard should remember the chosen option for the SqlDataSource component.

Unplanned
Last Updated: 20 Oct 2026 10:30 by Hendrik

Our Reportviewer is opened or displayed within a dialog, if i open the search the search dialog is moved to the far right side and is not visible directly.

We need to scroll to the search dialog to see it.

Unplanned
Last Updated: 13 Oct 2026 09:02 by Steven
When I have a multi-page report displayed in the HTML5 Report Viewer, and I scroll through the pages, sometimes the page number may not update for the current page that I am on.

This occurs most often with the first and last pages of the report. It seems that it might be an issue of the report viewer not switching the focus on current page. If I left-click in the area of the report currently displayed, the focus changes, and that seems to be enough to cause the code to update the page number input as well.
Unplanned
Last Updated: 13 Oct 2026 08:46 by ADMIN
Created by: KungFuBrad
Comments: 0
Category: Reporting
Type: Feature Request
1

The Telerik Reporting REST Service storage is automatically cleaned based on some configurable timeouts and hardcoded times. It requires an awaken service to be performed.

It would be very useful for the developer to be able to invoke manually the storage cleaning functionality either with code or through the service Web API.

Unplanned
Last Updated: 13 Oct 2026 08:00 by ADMIN

All of my report parameters have their AutoRefresh setting set to False, and the parameters do not depend on each other, they are not cascading parameters. The parameters have available values.

If I change the value of one of the parameters, despite the above settings, all of the other parameters' data is re-retrieved(even if those parameters are not visible).

This causes issues because the "Preview" button is disabled until the parameters are refreshed, and makes the UX bad since if the connection is slow, the end-users will have to wait for the parameters area to refresh after changing any parameter value.  

1 2 3 4 5 6