Hello everyone,
Here are the highlights of the new online resources we published this week from 29 Oct 2025 to 05 Nov 2025:
Article: https://docs.telerik.com/reporting/interactivity/ai-powered-insights-overview
Summary: AI-powered Insights in Telerik Reporting lets users query and get natural-language summaries of the data currently rendered in a report directly inside the web report viewer. To enable it, configure an LLM provider in your Reporting REST service (OpenAI, Azure OpenAI, or another OpenAI-compatible endpoint), enable the AI Insights UI in the viewer, and optionally customize the system prompt, allowed models, data scope, and token/request limits. You control what report data is sent to the LLM and can restrict PII and usage to meet security and compliance requirements.
Article: https://docs.telerik.com/reporting/interactivity/built-in-client-integration-ai-insights
Summary: Use the AI Insights panel in Telerik Reporting viewers to let users ask questions and generate summaries for the current report via OpenAI or Azure OpenAI, with all LLM requests routed through the Telerik Reporting REST Service. You enable it per viewer (HTML5/MVC/Angular/React/Blazor) and configure the server with the provider, API key, and model/deployment; you can customize prompts, control what report content is sent to the model, and secure access with authentication and CORS.
Article: https://docs.telerik.com/reporting/knowledge-base/combobox-parameter-editor-virtualization
Summary: Learn how to enable virtualization for the ComboBox parameter editor in Telerik Reporting’s HTML5/Web Report Viewer to handle large parameter value lists. You’ll register a custom parameter editor that wraps a Kendo UI ComboBox with virtualization, remote data (server paging/filtering), and a valueMapper so selected values are resolved and preselected correctly. Use this pattern when a report parameter exposes thousands of available values to reduce initial load, memory usage, and network payload.
Article: https://docs.telerik.com/reporting/interactivity/custom-client-integration-ai-insights
Summary: Implement AI insights in Telerik Reporting by adding a custom interactive action to report items and handling it in the HTML5 Report Viewer. You pass the relevant report context (fields/parameters) to the client, call a server endpoint that proxies OpenAI/Azure OpenAI, and render the response in the viewer while keeping API keys and validation on the server.
Article: https://docs.telerik.com/reporting/interactivity/customizing-ai-powered-insights
Summary: Configure AI-powered insights in Telerik Reporting by defining system and user prompt templates, selecting the report/data scope included in the prompt, and wiring providers such as OpenAI or Azure OpenAI with model, temperature, and token settings. The article shows how to enable the feature in the Report Viewer/REST service, restrict and transform the data that leaves your app, and handle request/response events to validate, redact, log, or cancel AI calls.
Article: https://docs.telerik.com/reporting/licensing/license-troubleshoot
Summary: This article helps you troubleshoot Telerik Reporting licensing issues such as trial watermarks, “Invalid license” errors, and CI/build server failures. You’ll verify that your project references commercial (non-trial) assemblies with matching versions, clean bin/obj, and for .NET Framework ensure a valid Embedded Resource license.licx and LC.exe on build agents; for .NET (Core/5+), remove license.licx and rebuild. It also covers upgrades and removing stale GAC or trial assembly references that trigger trial behavior.
Article: https://docs.telerik.com/reporting/knowledge-base/removing-save-as-option-report-designer
Summary: Learn how to remove or disable the Save As command in Telerik Reporting’s Web Report Designer: hide the Save As button in the client configuration and enforce the restriction server-side by rejecting create operations in your custom report storage/service. Use this to prevent users from cloning reports and allow only in-place Save to the existing item.
Article: https://docs.telerik.com/reporting/knowledge-base/rotate-images-picturebox-telerik-reporting
Summary: Learn how to rotate images in a Telerik Reporting PictureBox when rotation isn’t supported natively. You’ll add a C# user function that uses System.Drawing to rotate a byte[]/Image by a given angle, then call it from the PictureBox.Value expression (e.g., with a report parameter for the angle) and adjust Sizing to fit. The article covers handling image formats/transparency and returning the rotated bitmap for all renderers.
Article: https://docs.telerik.com/reporting/embedding-reports/display-reports-in-applications/web-application/html5-report-viewer/using-in-razor-pages-app
Summary: Learn how to add the Telerik Reporting HTML5 Report Viewer to an ASP.NET Core Razor Pages app by hosting the Reporting REST service and wiring up the client viewer. You will install the Telerik.Reporting and Telerik.Reporting.Services.AspNetCore NuGet packages, configure ReportServiceConfiguration and a ReportsController derived from ReportsControllerBase via dependency injection and routing in Program.cs, then include the required jQuery/Kendo and viewer scripts/styles in a .cshtml page and initialize the viewer with a serviceUrl and reportSource. The article also covers resolving reports from a folder (UriReportSourceResolver) and using file-based storage.
Feel free to check them out and share your thoughts!
The Telerik Team

Hello Supports,
I want to try and install Nuget packages Telerik.Reporting.Services.AspNetCore for my Asp.net Core project but it isn't found.
when I go to the option "Manage Nuget packages", these are no available the packages to download (see the attached file).
Is it missing from the private nuget feed ?
Thank You.
Hello Telerik Reporting Community,
We have released a new version of Telerik Reporting today, 2024 Q1 (18.0.24.130). Please update your existing installation at your earliest convenience.
You can review the Legacy Installer Vulnerability - Telerik Reporting article to learn more details about why we are recommending customers to update.
To get the new version, take the following steps:
As the KB article explains, the issue pertained only to the old installer component, and not Telerik Reporting contained within the installation package. It does not affect any applications you’re using Telerik Reporting with.
If you have a rare situation where you cannot update the PC installed version, there are various ways to keep a project using an older version of reporting even though the PC has a newer version installed.
We highly recommend you open a Technical Support Ticket if you have a complex situation and would like to ask questions before updating the PC’s installed version. You can open a Support Ticket here => https://prgress.co/DevToolsSupport.
I have a requirement to produce reports for archival purposes that can consist of 50K-60K rows. WPF client app code snippet is:
tblDetail.NeedDataSource += (s, e) =>
{
var t = (Table)s;
t.DataSource = visibleRows;
};
var reportProcessor = new ReportProcessor();
RenderingResult? result = reportProcessor.RenderReport("PDF", report, null);
I have a report with all of the content in a group header section, all of which fits nicely on one page with one problem. I have a subreport in the content shown here on the designer;
The Subreport is a simple name list with just a detail section (no headers - the waring is that it's not full page width and will be extended horizontally - not what I want, but OK...);
However, it renders like this;
I.e. With a page break before it, with the sub report object (Green) from the main report expanding to full page height, then another page break afterwards and then the rest of the content
I've checked all of the page break settings and they're all set to none - anyone seen anything similar?
Hi, we're looking to integrate Telerik Reporting with a very niche sql database, SAP SQL Anywhere, on dotnet core. The only way we can connect to that database in dotnet core is System.Data.Odbc and defining the ODBC Driver in the connection string.
Can Telerik Reporting support this method out of the box, or is there a way of writing some glue code to integrate Telerik Reporting with SAP SQL Anywhere?
Happy to answer any clarifying questions.
Appreciate your help.
After using Telerik reporting for over 10 years, with the latest update we are now getting this error when trying to print a report.
Looks like we now need to add something to our app.config file.
Would be cool if this were documented somewhere

i Have a report in which i pass a list from backend so that report render multiple time
In Which i have multiple lists inside single list element, I want group header and footer for each list inside the main list element
but i dont want group header and footer at every page
when first time report renders , first group header prints and then list prints and then footer print after the list at the bottom of that page and page break after the footer and then repeat same for the second list
so how can i do that
I have a .NET Core Web API that generates reports using Telerik Reporting. The report generation works perfectly in my local development environment, but when deployed to an Azure VM with IIS, it fails immediately with OperationCanceledException. The operation doesn't even wait for the configured 5-minute timeout.
The issue is intermittent. It works sometimes but suddenly stops working without any code changes.
Error Stack Trace
The operation was canceled. at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Threading.ManualResetEventSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.SpinThenBlockingWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.InternalWaitCore(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(CancellationToken cancellationToken)
at Telerik.Reporting.Paging.PageCompositionBase.SeparateThreadOutputBehavior.Finish()
at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRender(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRenderStateless(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo, CreateStream createStreamCallback, CancellationToken cancellationToken, String& documentName)
here is the code for report generation
public SalesSummaryDataOutput SalesSummaryReport(SalesReportSummaryRequest requestReport)
{
string reportPath = "\\Reports\\" + ReportTypes.SalesSummary.ToString() + ".trdx";
var reportProcessor = new ReportProcessor();
var deviceInfo = new Hashtable();
var reportSource = new UriReportSource();
reportSource.Uri = _hostEnvironment.ContentRootPath + reportPath;
reportSource.Parameters.Add("FromDate", requestReport.FromDate);
reportSource.Parameters.Add("ToDate", requestReport.ToDate);
reportSource.Parameters.Add("CompanyId", requestReport.CompanyId);
reportSource.Parameters.Add("LocationId", requestReport.LocationId);
reportSource.Parameters.Add("UserId", requestReport.UserId);
reportSource.Parameters.Add("ExecuteReport", true);
deviceInfo["OutputFormat"] = "PNG";
deviceInfo["DpiX"] = 192;
deviceInfo["DpiY"] = 192;
deviceInfo["Timeout"] = 300000;
deviceInfo["ThreadCulture"] = CultureInfo.CurrentCulture.Name;
try
{
CloseStreams();
string documentName = "ReportDocument";
var cts = new CancellationTokenSource(TimeSpan.FromMinutes(5));
bool result = reportProcessor.RenderReport("IMAGE", reportSource, deviceInfo, CreateStream, cts.Token, out documentName);
if (result)
{
var salesSummaryReport = new SalesSummaryDataOutput();
foreach (var stream in _streams)
{
byte[] imageData = ReadToEnd(stream);
string base64String = Convert.ToBase64String(imageData, 0, imageData.Length);
salesSummaryReport.ReportImages.Add(base64String);
}
CloseStreams();
return salesSummaryReport;
}
}
catch (Exception ex)
{
var salesSummaryReport = new SalesSummaryDataOutput();
salesSummaryReport.ReportImages.Add($"Error: {ex.Message}");
CloseStreams();
return salesSummaryReport;
}
return new SalesSummaryDataOutput();
}
Why does the cancellation happen immediately in IIS but not locally?
What could cause this intermittent behavior?
Are there specific IIS or Telerik configurations I'm missing?
Hi all -- I'm just starting to try to use the KendoReactFree components to see what the library is like. I'm starting with the Grid component -- I know it has both free and paid elements, but even in with its simplest configuration, I'm getting an error banner saying that I need a license:
License key missing for KendoReact v12.1.0. A license key is required for both paid and trial usage. Learn how to set up a license key.
See the browser console for a list of Premium features currently in use.
The message says that I can check the console for a list of Premium features in use, but the console just says I need a license -- no list of features. I'm using the sample code from your website:
This is the whole code:
import { Grid, GridColumn as Column } from '@progress/kendo-react-grid';
import products from './products';
export default function KendoGridPage() {
return (
<Grid data={products} />
);
}