[]
The following changes in ActiveReports 20 may require updates to your existing applications. Please review these items before upgrading.
Summary
To standardize export settings, new public enumerations have been introduced to replace internal or scattered enum types.
A new PrintLayoutMode enum was added to MESCIUS.ActiveReports.dll.
A new PaddingType enum was added to MESCIUS.ActiveReports.Export.Xml.dll.
Impact
This affects projects referencing the following properties, as their types have changed:
PDF & Image Export: PrintLayoutMode in GrapeCity.ActiveReports.Export.[Pdf|Image].Page.Settings.
XML Export: HorizontalPaddings in GrapeCity.ActiveReports.Export.Text.Page.Settings.
Migration
Update your code to use the new enumeration types as shown below:
Property Location | Old Type | New Type |
|---|---|---|
|
|
|
|
|
|
|
|
|
Summary
The Direct2D rendering engine is now the default for desktop controls. This applies to:
Page and RDLX reports.
Section reports running in CrossPlatform compatibility mode.
Impact
This change may affect applications that rely on specific behavior of the legacy GDI printer wrapper (e.g., manual manipulation of PageDocument.Printer or SectionDocument.Printer properties/events).
Migration
If your application requires the legacy GDI rendering behavior, you must explicitly configure the Viewer.PrintingSystem to "GDI" in your ActiveReports.config file:
<Configuration>
<ActiveReportsConfig.Desktop>
<Settings>
<add key="Viewer.PrintingSystem" value="GDI" />
</Settings>
</ActiveReportsConfig.Desktop>
</Configuration>Summary
The ActiveReports configuration schema has been updated to follow standard .NET configuration rules, replacing the previous proprietary section logic.
Impact
This affects all projects relying on ActiveReports.config or app.config to configure the reporting engine. The legacy configuration schema keeps working, but, strict adherence to the new schema is required for guaranteed stability.
Migration
Update your configuration file to match the new .NET-compliant schema. Please refer to the Configure ActiveReports using Config file documentation for the full specification.
Summary
The monolithic MESCIUS.ActiveReports.Designer.Win assembly has been split into three specialized assemblies:
MESCIUS.ActiveReports.Designer.Win: The core designer functionality.
MESCIUS.ActiveReports.Editor.Net: The code editor (formerly QWhale), now built from sources with specific fixes.
MESCIUS.ActiveReports.Advanced.Win: The End-User Designer (EUD) components.
Impact
This specifically affects the process of localizing the designer. You can no longer build a single resource assembly; you must now build separate resource assemblies for the components you are using.
Migration
Split your localization resources into separate satellite assemblies corresponding to the new assembly names listed above.
Summary
The MESCIUS.ActiveReports.Serializer.VS2022 NuGet package has been deprecated and is no longer required. Its functionality has been merged or superseded by other assemblies.
Impact
Projects explicitly referencing this package will fail to restore NuGet packages or build.
Migration
Remove the reference to MESCIUS.ActiveReports.Serializer.VS2022 from your project dependencies.
PageDocument.RenderSummary
The Render method signature has been updated. The progress argument previously used an internal type but now uses a public type from the GrapeCity.ActiveReports.Document namespace.
Impact
This affects code calling PageDocument.Render with a progress reporter.
Migration
Update your using directives or fully qualified names to use the new type location.
Old: GrapeCity.ActiveReports.Core.Rendering.ProgressInfo (Internal)
New: GrapeCity.ActiveReports.Document.ProgressInfo
Summary
The RenderMode and RenderingEngine properties in GrapeCity.ActiveReports.Export.Html.Page.Settings have changed types. They now use enums defined directly in the HTML Export namespace rather than the Core namespace.
Impact
This affects code that exports report to HTML.
Migration
Update your code to reference the enums in GrapeCity.ActiveReports.Export.Html.Page. If namespace conflicts occur, update your using directives or use fully qualified names.
Summary
Internal types previously exposed in the public API have been replaced with new public wrappers in the GrapeCity.ActiveReports.Document namespace.
PageDocument.Parameters: Now returns GrapeCity.ActiveReports.Document.ParameterCollection.
PageDocument.ApplyInteractivity: Now accepts GrapeCity.ActiveReports.Document.InteractiveActions.
Impact
This affects code that accesses report parameters or handles interactivity actions using types from GrapeCity.ActiveReports.Core.Rendering.*.
Migration
Remove references to GrapeCity.ActiveReports.Core.Rendering.ReportParameters or Interactivity. Update your code to use the equivalent types in the GrapeCity.ActiveReports.Document namespace.
Summary
The collection type for several properties in the GrapeCity.ActiveReports.Extensibility.Data and SchemaModel namespaces has been standardized. The custom IItemCollection<T> interface has been replaced with the standard .NET System.Collections.Generic.IReadOnlyList<T>.
Affected Properties:
DataTable: Rows, Columns
Table: Columns
ForeignKey: SourceColumns, DestinationColumns
Impact
This affects code that implements custom Data Providers or working with the Schema Model. Code explicitly referencing IItemCollection<T> or using the .ToItemCollection() extension method will fail to compile.
Migration
Update variable declarations to use IReadOnlyList<T>, IList<T>, or var.
Replace calls to .ToItemCollection() with standard LINQ methods such as .ToList() or .ToArray().