New version of FastReport Open Source 2023.3


New version of FastReport Open Source 2023.3

We are pleased to present you with the long-awaited update, in which we have given special attention to user experience and the software code quality. In this release, we tried to listen to the requests of our users. Starting from version 2023.3, we added the following: a new object—RFID tag, the toolbar in the context menu, and much more. 

New features

New RFIDLabel object

The new version includes a new object—an RFID tag. It enables the identification of goods and closely resembles a barcode, but unlike the barcode, it uses radio signals. This allows for scanning a large number of items in short time intervals.

The tag contains 4 data banks: a reserved bank for storing access and destruction passwords, an electronic product code bank, a tag identifier bank, and a user data bank. In the FastReport .NET product lineup, the RFID tag is represented as a report object. The tag can be customized using a user-friendly editor, accessed by double-clicking.

RFID tag editor

RFID tags can be created by some Zebra printers, therefore, in addition to the tag object itself, we implemented their export to ZPL. For correct export, the RFID tag must be in a single copy on the page.

Read more in the article.

The toolbar in the context menu

The context menu has been improved when right-clicking on an object. A toolbar appeared at the top, which contains frequently used items, such as edit, cut, copy, paste, etc.

The menu used to look like this:

Previous context menu

The new menu has become more compact and ergonomic:

New context menu


Ability to customize barcode font settings

The "Font" property is now available for "Barcode" objects. It allows you to set the font parameters used when displaying barcode texts. The default font is Arial, the same font used in previous versions. Now you can choose a different font, change its size, style, etc. As a result, you can create, for example, such barcodes:

An example of a barcode with a non-standard font

However, you should be careful with font settings. Not all scanners may be able to read such barcodes.

Support for partial report compilation

FastReport.Core, FastReport.Core.Skia and FastReport.CoreWin now enable partial compilation of a report to speed up its preparation if the report script has not been changed in the report and there are no objects that do not support partial compilation. You can enable it with the following command:

FastReport.Utils.Config.CompilerSettings.ReflectionEmitCompiler = true;

Enabling Reflection.Emit Compiler does not cause any performance degradation. If the new compiler cannot be used in the new report, it will simply use the standard procedure without harming the report.

New WebReport features

Toolbar personalization

Now you can create elements, such as buttons, dropdowns, and input fields, and add them to the toolbar. These elements can have various options, including images, titles, and styles. You can also implement logic using JavaScript and C#.

An example of adding custom elements to the toolbar:

 var button = new ToolbarButton() 
 Title = "MyCustomButton",
 OnClickAction = new ElementClickAction()
 OnClickAction = async (webreport) =>
 webreport.LocalizationFile = "MyLocalizationFile";
 var select = new ToolbarSelect()
 Title = "MyCustomSelect",
 Items = new List<ToolbarSelectItem>
 new ToolbarSelectItem()
 Title = "MySelectItem",
 OnClickAction = new ElementScript()
 Script = "console.log('My item is working')"
 var input = new ToolbarInput()
 InputType = "number",
 OnChangeAction = new ElementChangeAction()
 OnChangeAction = async (webreport, inputValue) =>
 webReport.Toolbar.Height = int.Parse(inputValue);

As a result, these customized elements will appear in your toolbar after changes:



Full changelog


+ added new RFIDLabel object; 

+ added GS1 automatic formatting for GS1-128 barcode;

+ added loading tables in cells of other tables when converting RDL templates;

+ added `Config.CompilerSettings.ReflectionEmitCompiler` property, which, when enabled, speeds up report preparation if the script has not been changed (works only in .NET Core/.NET); 

+ added the ability to configure barcode font using the new "Font" property; 

* improved work with private font collections; 

- fixed an infinite loop when calculating a parameter expression equal to this parameter;

- fixed the problem of reading the DataMatrix barcode by a mobile scanner; 

- fixed a bug when line strikethroughs were incorrectly displayed during manual transfers;

- fixed conversion of empty Variant to other types; 

- fixed deletion of a column after which the column data remained in the report; 

- fixed the work of the VisibleExpression property for matrix and table rows and columns; 

- fixed deletion of fonts that are no longer present from the font_hash dictionary; 

- fixed a bug with parsing GSUB table leading to exception;

- fixed a bug with loading object borders when converting RDL templates; 

- fixed deletion of the first three characters in the GS1-128 barcode; 

- fixed coding table for Code93 Extended barcode; 

- fixed text encoding in DataMatrix barcode; 

- fixed text rendering bug during word break due to lack of space; 

- fixed line break in HtmlTextRenderer; 

- fixed a bug when page columns were printed over band columns; 

- fixed ignoring ConnectionString if ConnectionStringExpression returned null; 

- fixed import of tables from JasperReports; 

- fixed `System.NullReferenceException` when clearing TableObject; 

- fixed `System.NotImplementedException` when the TextObject tab stop is negative; 

- fixed null conversion if the expression contains a function; 

- fixed System.ArgumentException when JSON data source host has an empty CharacterSet; 


+ added ability to take column names from the first row in Excel connection;

+ added categories for "Barcode" objects; 

+ added Config.DesignerSettings.EmbeddedPreview property for report preview in the designer window; 

+ added the "Other" category for dialog controls in the "Objects" panel;

+ added the procedure selection page in the form of the data connection wizard;

+ added the toolbar to the context menu;

+ added parsing of parameters from SQL query; 

+ added a warning when the names of the request parameters match;

+ added a check for the existence of a file when it is changed in a CSV connection via the CsvFile property; 

* changes in the "Query Builder" interface; 

* updated "Data Connection Wizard." Improved interface, fixed bugs, and increased speed;

* change in the rendering of tooltips with coordinates/sizes in the designer;

- fixed the problem of connecting to CSV via URL;

- fixed error with reading values from the designer configuration file; 

- fixed a bug when a new report page was created after double right-clicking on the "Code" tab;

- fixed an error after closing the preview window with empty values of numerical parameters; 

- fixed a bug when the designer did not respond during the authorization process;

- fixed bugs in the Gauge object editors; 

- fixed `System.NullReferenceException` when merging dictionaries that include parameter connections; 

- fixed a bug with the order of formats when there are several expressions in a text object;

- fixed a scaling error in the designer settings window on the "Plugins" tab;

- fixed incorrect scaling of the data source selection form in Visual Studio;

- fixed incomplete display of pages with infinite width in the preview page adding;

- fixed a bug with password-protected report loading;

- fixed problems with scaling some controls; 

- fixed a bug when fields are selected for unselected tables during connection editing; 

- fixed a bug when all tables were selected during connection editing, even though only some of them were actually selected; 

- fixed a System.IO.FileFormatException when using an incorrect XML report on the FRX page; 

- fixed a bug when connecting a CSV database via URI; 

- fixed problems with displaying SVG in the designer;

- fixed a bug with the font size in the "Report Tree" window;

- fixed the behavior of the "About" window when changing scaling;


- fixed text object horizontal alignment when AutoWidth = true; 

- fixed problems with displaying SVG in preview; 


+ added export of page borders during image export;

+ added "Use page breaks" option in HTML export;

+ expansion of font names;

- fixed loading of fonts with traditional Chinese characters;

- fixed export of font families registered in `FastReport.Utils.FRPrivateFontCollection`; 

- fixed a bug when hyphen characters were not processed when exporting to HTML;


+ added report shadow in WebReport; 

* changed Toolbar behavior for one-page reports; 

* changed the behavior of printing a report from a browser in WebReport. Now a print page closes automatically; 

- fixed a bug when click events in WebReport did not work; 

- fixed a bug where a single-page report did not export if settings were used;

- fixed a bug when the report was not updated when the parameter was changed;

[.NET Core]

- fixed a bug when the InvariantGlobalization option was enabled; 

[Online Designer]

+ added the ability to display the translated object in the Online Designer;


+ added export of page borders when exporting with PDFSimpleExport; 

+ added the ability to connect to MariaDB using the MySqlConnection plugin; 

+ added .`db` format to the file filter for connecting SQLite; 

* RPTImportPlugin updated to .NET Framework 4.7.2; 

- fixed a bug resulting in System.IO.FileLoadException when connecting to ClickHouse and MongoDB; 

- fixed the data source selection form, which did not open in the foreground.


Popular posts

FastReport Designer Community Edition

How to use FastReport Open Source in ASP.NET Core Web API application