| New Features |
|---|
| 1. | Added the ability to customize export settings when printing reports in the viewer using the onPrintReport event, including image resolution and quality for PDF printing.RJSRPHPRPythonRReactRVue |
| 2. | Ability to use an expression as a condition value in the "Pivot Table" dashboard element.DWebDJSDPHPDPython |
| 3. | Added the "Filters" window to the "Data Transformation" editor. It shows the filters of all columns in one place and allows choosing whether the filters of different columns are combined with And or Or.RNetDWinBDesigner |
| 4. | Support for Avalonia 12. The Avalonia report viewer and designer are now built for Avalonia 12 and are not compatible with earlier versions. Projects that use Avalonia 11 need to be updated to Avalonia 12.RAvalonia |
| 5. | The StiOptions.Web.AllowGCCollect option is now supported by the report viewer and the report designer in ASP.NET MVC and ASP.NET Core. It starts the garbage collector after the server responses, which reduces the memory used by the application at the cost of slower responses under a large number of simultaneous requests.RWebRAngularRReactRVueDWebDAngularBCloudBServer |
| 6. | The DuckDB data adapter. Data from DuckDB databases can now be used to create reports and dashboards.RWebRNetRWpfRAngularRReactRVueDWebDWin |
| 7. | The RowNumber() function for dashboards. It returns the row number (1..N) of a row in the final sorted result.RWebRNetRJSRWpfRBlazorRAngularRReactRAvaloniaDWebDWinDJSDBlazorDAngularBCloudBDesignerBServer |
| 8. | The "Sankey" chart type in reports and dashboards. It shows the flows between categories as links whose width is proportional to the flow value.RWebRNetRJSRWpfRPHPRPythonRBlazorRAngularRReactRVueRAvaloniaRJavaDWebDWinDJSDPHPDPythonDBlazorBDesigner |
| 9. | Support for more chart types in the Java report engine: the 3D Clustered Column, Stacked Column, Full Stacked Column, Line, Area and Wireframe Surface charts, as well as the Box and Whisker, Histogram, Pareto, Waterfall, Weighted Slices Funnel, Heatmap, Pictorial, Pictorial Stacked, Sankey, Ribbon, Sunburst, and Treemap charts.RJava |
| 10. | The Rank() function for dashboards. It returns the rank (1..N) of a value in descending order. Equal values share the same rank, and the ranks that follow are skipped.DWebDWinDJSBCloudBDesignerBServer |
| 11. | The MS SQL data adapter based on the Microsoft.Data.SqlClient provider, which supports strict SQL Server encryption (Encrypt=Strict). It works only on .NET Framework. To use it, create a standard "MS SQL" connection, then select "Microsoft.Data.SqlClient" for the "MS SQL Data Adapter" option on the "Data" page of the report designer options, or set the StiOptions.Dictionary.UseMicrosoftDataSqlClient property to true. The report designer downloads the provider from NuGet.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBDesigner |
| 12. | Support for WebP images. Images in the WebP format can now be used in reports and dashboards.RNetRWpfDWinBDesigner |
| 13. | Sparkline in Cross-Tab and Pivot Table.RWebRNetRJSRAngularDWebDWinDJSDPHPDPythonDBlazorDAngular |
| 14. | Added smart guides to the web report designer. They highlight alignment between a component being moved or resized and other components on the page.RWebDWebBCloudBServer |
| 15. | Added the ability to set the color of chart points from a data column in dashboards. It works for the "Pie", "Pie 3D", "Doughnut", "Funnel", "Treemap", "Sunburst" and "Pareto" chart types, as well as for clustered column and bar charts.DWebDWinDJSDBlazorDAngularBCloudBDesignerBServer |
| 16. | A new property has been added to the report viewer and designer - AllowLoadingSystemFontsToClientSide. It sends fonts installed on the server to the client side, so reports are displayed with the correct fonts in the browser.RWebRBlazorBCloudBServer |
| 17. | Support for searching by several terms separated by spaces in the search box of the "ListBox" and "ComboBox" dashboard elements in the web viewer. A phrase enclosed in double quotes is matched as a single term.DWebDJSDBlazorBCloudBServer |
| 18. | MonthYear, QuarterYear, WeekYear and DayMonthYear functions in reports and dashboards. They group data by the month, the quarter, the week or the day within the year, keeping the chronological order.RWebRNetRJSRWpfRBlazorRAngularRAvaloniaDWebDWinDJSDBlazorDAngularBCloudBDesignerBServer |
| 19. | The "Report Checker" now checks the expressions of the dashboard elements, including the tool tip, the hyperlink and the parameter values of the interaction, and reports unknown functions, missing data columns and broken expressions in filters and conditions.DWebDWinDBlazorBCloudBDesignerBServer |
| 20. | A broken expression is now reported right under the expression field in the editors of the Table, Cards, Chart, Progress, Gauge, Indicator, Pivot Table, Online Map, and Text dashboard elements.DWinBDesigner |
| 21. | Support for registering JavaScript objects as business objects in reports and dashboards, including automatic dictionary synchronization for nested objects and collections.RJSRPHPRPythonRReactRVueRJavaDJSDPHPDPython |
| 22. | Support for IME (Chinese, Japanese, Korean) input in the expression editor.RNetDWinBDesigner |
| 23. | The PrimaryKey property has been added to the data columns in the data dictionary. The key columns are taken from the data source schema or from the Key attribute of business objects, shown with a key icon in the dictionary tree, and preselected when creating a relation in the report designer.RWebRNetRJSRWpfRPHPRPythonRBlazorRAngularRReactRVueRAvaloniaRJavaDWebDWinDJSDPHPDPythonDBlazorDAngularBCloudBDesignerBServer |
| 24. | Added the "Markdown" component to reports. It renders Markdown text with headings, lists, tables, images, links and code blocks, breaks across pages, is exported to all formats, and has its own editor with color themes in the report designer.RWebRNetRJSRWpfRBlazorRAngularRReactRVueRAvaloniaBCloudBDesignerBServer |
| 25. | Added the "Micro QR Code" barcode in reports. It supports versions M1-M4 with automatic version selection, numeric, alphanumeric and byte data and the error correction levels L, M and Q; by default the highest level that fits the data is selected.RWebRNetRJSRWpfRPHPRPythonRBlazorRAngularRReactRVueRAvaloniaRJavaBCloudBDesignerBServer |
| 26. | Support for the OData V4 protocol in the JS report engine. The connection version (V3 or V4) can now be selected in the web designer when working in JS mode.RJSDJS |
| 27. | The relations of the data dictionary are now created from the foreign keys of the database when retrieving columns from a SQL connection of any type: MS SQL, MySQL and MariaDB, PostgreSQL, Oracle, Firebird, SQLite, SQL CE, Access, Teradata, Snowflake, DuckDB, VistaDB, as well as the connections through ODBC and OLE DB.RWebRNetRJSRWpfRPHPRPythonRBlazorRAngularRReactRVueRAvaloniaRJavaDWebDWinDJSDBlazorDAngularBCloudBDesignerBServer |
| 28. | Added a new GetLabels function for list variables requested from the user. It returns the labels of the selected items instead of their keys, so they can be used in queries and expressions, for example GetLabels("Cities").ToQueryString(); the short form Cities.Labels can be used as well.RWebRNetRJSRWpfRPHPRPythonRBlazorRAngularRReactRVueRAvaloniaRJavaBCloudBDesignerBServer |
| Enhancements |
|---|
| 1. | Support for VistaDB 6 databases: the VistaDB connection now works through the VistaDB 6 provider, databases of VistaDB 5 are still opened, and the primary keys of the tables are retrieved.RWebRNetRWpfRBlazorRAngularRReactRVueDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 2. | The Teradata data provider is now downloaded from NuGet by the report designer.RNetRWpfDWinBDesigner |
| 3. | When the StiOptions.Web.AllowGCCollect option is enabled, the garbage collector now starts after the response is sent, so the web viewer and the web designer no longer delay the responses while it runs.RWebRAngularRReactRVueDWebDAngularBCloudBServer |
| 4. | Added the datetime picker and the three-state bool checkbox to the variable items editor in the report designer.RNetDWinBDesigner |
| 5. | The Query Builder is now available for about 20 databases in the report designer. Previously it could be used with MS SQL only.RNet |
| 6. | The NuGet packages now automatically reference the Windows Forms and WPF frameworks when targeting .NET 6.0, 8.0, or 10.0 for Windows.RNetRWpfDWebDWinFForms |
| 7. | The default value of the AllowLoadingCustomFontsToClientSide property in the Blazor report viewer has been changed to false, to match the default behavior on other platforms.RBlazor |
| 8. | When exporting a report to OpenDocument Writer, hyperlinks of text components and images are now exported.RWebRNetRJSRWpfRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 9. | Enabling the editing mode in the viewer no longer scrolls the report to the first editable component - editing now starts from the page that is currently displayed.RNetBDesigner |
| 10. | The error of a broken expression of a dashboard element is now displayed on the element itself in the report designer and in the rendering messages of a report. Before, such an error was skipped silently and the element just showed no data.DWebDWinDJSDBlazorDAngularBCloudBDesignerBServer |
| 11. | Retrieving the database schema of an Informix connection in the report designer, including tables, views, columns, stored procedures with parameters and relations.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 12. | When printing a report to PDF in the web viewer, the ImageResolutionMode export setting is now set to Auto by default, so images keep their original resolution.RWebRBlazorRAngularRReactRVueBCloudBServer |
| 13. | Retrieving the database schema through an ODBC driver has been reworked: the primary keys and the relations are retrieved, and the system objects are no longer listed among the tables.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| Fixed Bugs |
|---|
| 1. | No rows in the "View Data" window and in the report for the tables of a Teradata or VistaDB connection created from the database schema in the report designer.RWebRNetRWpfRBlazorRAngularRReactRVueDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 2. | Incorrect rendering of totals in the "Pivot Table" dashboard element when increasing their font size.DJSDPHPDPython |
| 3. | Displaying and saving the value of the "Zip Code" component when a report is rendered in interpretation mode.RWebRNetRWpfRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 4. | Hidden interlacing of a chart area was displayed again after saving a report to an *.mrt file or rendering it in compilation mode.RWebRNetRWpfRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 5. | Applying a condition with an aggregate function when rendering a report in compilation mode might not work if the band is not explicitly specified for the aggregate function.RWebRNetRWpfRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 6. | Filters of the DateTime and Boolean types on the Data band in reports with the VB script language rendered in interpretation mode.RWebRNetRWpfRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 7. | Synchronizing the columns and the primary keys of the data sources of an OData V1-V3 connection with the "Synchronize" command of the data dictionary. These data sources were skipped: their columns were not updated, and a primary key unchecked in a column did not come back.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 8. | Retrieving the types of the columns which an ODBC driver names in its own way when reading the database schema: int4, float8 and timestamptz of PostgreSQL, DOUBLE PRECISION of Firebird, datetime2 and the identity columns of MS SQL. Such columns came as strings, the tables with a space in the name came without columns, and the relations of these tables and key columns were lost in the data dictionary.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 9. | The data sources added through an ODBC driver failed to build in a report when the name of a table, a view or a stored procedure contained a space or mixed-case letters, or when the table belonged to a schema: the names in the query were quoted the wrong way for the database, and the schema was added twice.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 10. | The server memory used by the web designer and the web viewer was not released after closing or reloading the page, and was kept while the application was idle.RWebRAngularRReactRVueDWebDAngularBCloudBServer |
| 11. | The undo history in the web designer could be lost when the session of another user expired.RWebRAngularRReactRVueDWebDAngularBCloudBServer |
| 12. | Displaying the views of an Oracle database in the "Select Data" form when connecting through the Devart provider.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 13. | Calculating a regular total, such as Sum, in the compilation mode on a page with columns when a column total, such as colSum, is used for the same data band. The regular total was reset on every column and showed the value of the last column only.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaBCloudBDesignerBServer |
| 14. | Processing line breaks in the expressions of the "Rich Text" component when a report is rendered in interpretation mode. The "
" and "par" sequences in string values were shown as text instead of a line break and a new paragraph.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaBCloudBDesignerBServer |
| 15. | Support for loading big reports in blocks when opening a report in the web designer.RJava |
| 16. | Displaying a rotated text component with the AllowHtmlTags property enabled: the text was shifted outside a narrow cell or drawn without rotation, depending on the text engine.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaBCloudBDesignerBServer |
| 17. | Fixed filtering with list variables in the viewer when the Contains function compares selected string values with numeric column values.RJSRPHPRPythonRJavaDJSDPHPDPython |
| 18. | Wrapping a one-character word that did not fit at the end of a line in a text component using the SixLabors library: the component did not grow to accommodate the extra line, and the last character was clipped.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 19. | Fixed an issue where hyperlinks of chart series did not open in the web viewer unless drill-down was enabled for the series.RWebRJSRPHPRPythonRBlazorRAngularRReactRVueBCloudBServer |
| 20. | Calculating the cSumRunning() function in the page footer of a report.RJava |
| 21. | Resetting the values of variables when the parameters panel is switched off and on in the WinForms and WPF viewers. In the WinForms viewer, this happened to nullable variables after clicking the "Submit" button.RNetRWpfBDesigner |
| 22. | An issue with synchronous requests being used to load external images and file-based data sources during asynchronous report rendering has been fixed.RJSRPHPRPythonRReactRVueRJava |
| 23. | Overlapping of Chinese, Japanese, and Korean characters in the code and expression editors in the report designer.RNetDWinBDesigner |
| 24. | When exporting a report to Word with the "Use Page Header and Footer" option enabled, the row height was calculated slightly incorrectly, so the last row on a page could move to the next page.RWebRNetRJSRWpfRPHPRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 25. | The height of the "Image" component was calculated incorrectly when the DockStyle and MinSize/MaxSize properties were used together.RWebRNetRJSRWpfRPHPRBlazorRAngularRAvaloniaBCloudBDesignerBServer |
| 26. | The "Interaction" editor of the dashboard elements reports a broken expression right under the field which holds it - the tooltip, the hyperlink or the value of the parameter.DWebDWinDJSDBlazorDAngularBCloudBDesignerBServer |
| 27. | The data type of the FLOAT and SMALLFLOAT columns of an Informix data source, FLOAT is now double precision and SMALLFLOAT is single precision.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 28. | Missing string columns in the schema of an OData V1-V3 connection in the report designer when the properties are marked as nullable in the service metadata.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 29. | Connecting to an IBM DB2 database with the installed IBM Data Server Driver in the report designer; the "DB2" connection is available again in the list of data sources.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 30. | Positioning of underline and strikeout lines for text drawn with synthesized fonts when exporting a report to PDF.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 31. | Calculating percentages for row and column totals in the "Cross-Tab" report component and the "Pivot Table" dashboard element.RJSDJS |
| 32. | Losing the version of an OData connection when saving a report to an *.mrt file with JSON markup or previewing it in the report designer. A connection configured for OData V1-V3 was treated as V4, and the data source remained empty.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 33. | Saving the connection parameters of a Google Sheets data source when saving a report to an *.mrt file with JSON markup.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 34. | Saving the code page of a dBase data source when saving a report to an *.mrt file with JSON markup.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |
| 35. | An issue with the "Cross-Tab" component, where a summary field disabled by a condition was still included in the header calculation, has been fixed.RJSRPHPRPythonDJSDPHPDPython |
| 36. | The WinForms report designer component failed to start in a project without the dashboard assemblies when the "Start Screen" option was set to "Blank Dashboard". Now a blank report is created instead.RNet |
| 37. | Displaying page numbers in the "Table of Contents" component when a report with a large number of pages is rendered with the ReportCacheMode property enabled.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaBCloudBDesignerBServer |
| 38. | Retrieving the database schema through the Oracle ODBC driver no longer crashes the report designer. The columns of the whole database were requested from the driver at once, and it brought the process down; now they are read schema by schema.RWebRNetRWpfRBlazorRAngularRReactRVueRAvaloniaDWebDWinDBlazorDAngularBCloudBDesignerBServer |