With the 2025 Q2 release, the 3-parameter AddTelerikReporting static method was replaced with a 4-parameter method containing an additional argument for the optional AIClientFactory method of the REST Service.
The original method should be returned to avoid breaking projects that do not implement an AIClientFactory.
The property UserIdentity.Current is decorated with a
[ThreadStatic]
attribute, that guarantees a new instance will be created per each thread, when used in a synchronous context.
In asynchronous context, e.g. when an await operation is performed, the current thread is released, and another thread from the thread pool may take over. This can lead to the UserIdentity
being overridden or conflicting with another request.
I often need to have the same Report Parameters in different reports, including the main and its subreport. Currently, I need to add the parameters manually.
It would be very useful if we could copy/paste Report Parameters between reports.
I set globally the culture on the Linux Ubuntu Docker Container. Interestingly, the negative currency with en-US and fr-CA was displayed with the '-' sign rather than in brackets.
This was reproduced even in the values set with the Text Function FormatWithCulture(cultureName, format, args). The function displayed wrong formatting also on Windows, even in the Standalone Report Designer for .NET 8.
When the global culture on Windows was en-US, the negative decimal value formatted without the FormatWithCulture function was displayed correctly in .NET 8.
In the .NET Framework, the negative currencies were displayed as expected in all scenarios.
I have linked also a muted video showing the issue.
There is currently an option for GroupKeepTogether of FirstDetail for the Group, which keeps the Group Header with the first line of the Detail section. This option needs to be duplicated for the Group Header and the Group Footer. The Group Footer would contain an option to keep with first detail and the Group Footer would have an option to keep with last detail.
We have reports rendered through the Native Blazor Report Viewer.
Consider adding a file attachment option in the Send Email dialog for report viewers.
If I render a report that produces zero pages in the Native Angular Report Viewer, the rendering will fail with an exception in the browser console but it won't be caught by the viewer's error event.
This exception breaks the report document generation and it should be caught by this event according to the Handle errors in Telerik Reporting - Telerik Reporting article.
When I try to export a ReportBook to TIFF as explained in Exporting a report to a multi-document format, I receive an exception related to the file '.../report/image.tif' that cannot be created.
When I create the folder '.../report', there is another exception message:
'The process cannot access the file '...\report\image.tif' because it is being used by another process.'
The above error was thrown the second time the ReportProcessor tried to access the 'CreateStream' method from the code snippet in the above article. The 'image.tif' file is created and contains only the first report from the ReportBook.
With version 15.0.21.112 the last exception is not thrown and the 'image.tif' file contains all reports from the ReportBook.
Reproducible in 17.1.23.606 - SRD .NET6
Steps to reproduce the behavior:
Expected behavior
No exceptions
Actual behavior
Table Body has 9 rows but 3 are expected.
Screenshots
Screenshot
After updating to Telerik Reporting v19.0.25.211, the relative path provided to the UriReportSourceResolver is no longer working.
For example, I used to provide only the name of the directory with the reports(e.g. "Reports") to the UriReportSourceResolver, and if there was such a subdirectory inside the project's base directory, the reports were successfully resolved.
This is no longer the case with v19.0.25.211. With this version, I have to provide the absolute path to the "Reports" directory for it to work.
Currently, the Native Angular Report Viewer does not support NodeJS 22. It is restricted to v16-21 of NodeJS and I would have to downgrade to use it.
When there is a combination of Arabic and English text in any control and if the font family is set to "Calibri", exporting to PDF results in the following error in the stack trace:
Telerik.ReportDesigner.exe Error: 0 : System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Documents.Fixed.Fonts.OpenType.Tables.MultipleSubstFormat1.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.Lookup.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Fixed.Fonts.OpenType.Tables.ChainedSequenceContextFormat3.ApplySubstitution(GlyphInfo glyphInfo)
at Telerik.Documents.Fixed.Fonts.OpenType.Tables.ChainedSequenceContextFormat3.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.Lookup.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.Features.FeatureInfo.ApplyLookup(Lookup lookup, GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.LangSys.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.OpenTypeFontSourceBase.ApplySubstitutions(UnicodeRange range, List`1 glyphInfos)
at Telerik.Documents.Core.Fonts.OpenType.OpenTypeFontSourceBase.TryGetGlyphIds(String text, UInt16[]& glyphIds)
at Telerik.Reporting.Pdf.PdfFontDictionary.AddChars(String text)
at Telerik.Reporting.Pdf.Rendering.PdfRenderer.DrawString(String text, PdfFont pdfFont, IBrush brush, RectangleF rect, Boolean rightToLeft)
at Telerik.Reporting.ImageRendering.CanvasPdf.DrawRegularChunk(String text, StringChunkContext context)
at Telerik.Reporting.ImageRendering.CanvasBase.DrawStringMultiline(String s, StringChunkContext context, Boolean isFinalTextChunk)
at Telerik.Reporting.ImageRendering.DocumentBase.WriteText(String text, RectangleF bounds, IFont font, Color foreground, TextFormat format, MatrixBase transform, Boolean isFinalTextChunk)
at Telerik.Reporting.Writing.TextBoxWriter.WriteContent(DocumentWriter writer, TextBox textBox, ElementPageInfo pageInfo)
at Telerik.Reporting.Writing.ProcessingContentElementWriter`1.WriteElement(T element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.WriteOperationsDispatcher.Visit(TextBox textBox)
at Telerik.Reporting.Processing.ProcessingElementVisitor.Visit(LayoutElement element)
at Telerik.Reporting.Writing.DocumentWriter.Telerik.Reporting.BaseRendering.IWriter.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.Paging.PageElementsLayer.OutputToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageContent.Output(IPageHandler handler)
at Telerik.Reporting.Paging.PageCompositionBase.OutputPageContent(Stopwatch stopwatchOutputContent, PageContent pageContent)
at Telerik.Reporting.Paging.PageCompositionBase.<>c__DisplayClass124_0.<CreatePageContentOutputTask>b__0()
If we change the font family to "Arial" the report is exported to PDF correctly.
We have reports that contain a table of images. This seems to work great in the designer and when generated to a PDF without accessibility turned on. However, with accessibility turned on and rendering to a PDF, it throws an exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Reporting.Pdf.PdfAccessibilityElementWriter.TryAttachToParentNode(ProcessingInstanceIdentifier id, PdfOrderedReference element, Int32 rowIndex, Int32 columnIndex)
at Telerik.Reporting.Pdf.PdfAccessibilityElementWriter.TryAttachToParentNode(IProcessingElement processingElement, IProcessingElement parentProcessingElement, PdfOrderedReference taggedElementReference)
at Telerik.Reporting.Pdf.PdfAccessibilityElementWriter.AttachNonLeafNode(LayoutElement element, PdfOrderedReference taggedElementReference)
at Telerik.Reporting.Pdf.PdfAccessibilityElementWriter.InitTaggedElement(AccessibilityPdfElement pdfElementType)
at Telerik.Reporting.Pdf.PdfAccessibilityElementWriter.AddFigureElement(ITableCell element)
at Telerik.Reporting.Processing.ProcessingElementVisitor.Visit(LayoutElement element)
at Telerik.Reporting.Writing.AccessibilityElementWriter.StartWrite(ReportItemBase element, Int32& index)
at Telerik.Reporting.Writing.VisualElementWriter`1.StartWriteAccessibilityItem(ReportItemBase item, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.VisualElementWriter`1.WriteClientFocusableItems(T element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.ReportItemBaseWriter`1.StartWrite(T element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.ElementWriter`1.Telerik.Reporting.Writing.IElementWriter.StartWrite(LayoutElement element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.WriteOperationsDispatcher.Visit(PictureBox pictureBox)
at Telerik.Reporting.Processing.ProcessingElementVisitor.Visit(LayoutElement element)
at Telerik.Reporting.Writing.DocumentWriter.Telerik.Reporting.BaseRendering.IWriter.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
at Telerik.Reporting.Paging.PageElementsLayer.OutputToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageContent.Output(IPageHandler handler)
at Telerik.Reporting.Paging.PageCompositionBase.OutputPageContent(Stopwatch stopwatchOutputContent, PageContent pageContent)
at Telerik.Reporting.Paging.PageCompositionBase.<>c__DisplayClass124_0.<CreatePageContentOutputTask>b__0()
When the reporting service fails to generate a report document, the Get Document Info request returns a 500 response with the error message thrown from within the reporting engine. However, instead of displaying the error message in the viewport, the Native Blazor Report Viewer displays a message falsely suggesting that the report is still being rendered when the rendering has, in fact, failed.