Developers / Breaking Changes
Breaking Changes

Breaking changes from ActiveReports 18 to ActiveReports 19

Dropped Microsoft Visual Studio 2017 Support

ActiveReports 19 is not supported in Microsoft Visual Studio 2017. You should have Microsoft Visual Studio 2019 or 2022 installed.

Upgraded ActiveReports to use .NET Framework 4.7.2 from 4.6.2

Since .NET Framework 4.7.2 provides enhanced support for .NET Standard 2.0, we have upgraded ActiveReports to use 4.7.2 instead of 4.6.2. As a result, we removed implicit conversion between System.Drawing.Image and GrapeCity.ActiveReports.Document.Drawing.Image. If you work extensively with images, this change may lead to performance issues. Now the conversions should be done on the client’s side as shown in the following example:

 

Copy Code
public static Document.Drawing.Image ToInternalImage(this System.Drawing.Image image)
{
    using (var ms = new MemoryStream())
    {
        image.SaveToStream(ms);
        return GrapeCity.ActiveReports.Document.Drawing.Image.FromStream(ms);
    }
}
       
public static System.Drawing.Image ToGdiImage(this GrapeCity.ActiveReports.Document.Drawing.Image image)
{
    using (var ms = new MemoryStream(image.Data)) return System.Drawing.Image.FromStream(ms);
}

 To ensure you are not stuck, update projects to .NET Framework 4.7.2 or .NET (formerly .NET Core).

Dropped Excel 95 (BIFF7) from the supported export formats

Following changes have been made:

MESCIUS.ActiveReports.SpreadBuilder.dll

MESCIUS.ActiveReports.Export.Excel.dll

Removed Xls95 value from enum GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.

MESCIUS.ActiveReports.Web.dll

Removed Xls95 value from enum GrapeCity.ActiveReports.Web.XlsExportSettings.FileFormats.

Since the Microsoft Excel 95 (BIFF7) export is no more supported, you should use Microsoft Excel 97 instead.

Removed DbConnectionAdapter class

GrapeCity.ActiveReports.ReportsCore.Data.DataProviders.DbConnectionAdapter class from MESCIUS.ActiveReports.dll is converted from public to internal.

You should implement IDbConnectionAdapter and if necessary, any of IDbCommandParametersAdapter, IDbConnectionAdapterWithDataSource, and IDbCommandAdapterWithCache.

Renamed DataEngine assemblies and packages

Renamed following assemblies and corresponding packages:

Removed DataProviderInfo classes from the viewer and designer backends

Following classes have been removed:

  • GrapeCity.ActiveReports.Web.Designer
  • GrapeCity.ActiveReports.Web.Viewer

The corresponding methods' signatures that have been changed are:

GrapeCity.ActiveReports.Web.Viewer.ReportViewerConfiguration.UseDataProviders(GrapeCity.ActiveReports.Web.Viewer.DataProviderInfo[]) → GrapeCity.ActiveReports.Web.Viewer.ReportViewerConfiguration.UseDataProviders(GrapeCity.ActiveReports.Configuration.DataProviderInfo[])

GrapeCity.ActiveReports.Web.Designer.ReportDesignerConfiguration.UseDataProviders(GrapeCity.ActiveReports.Web.Designer.DataProviderInfo[]) → GrapeCity.ActiveReports.Web.Designer.ReportDesignerConfiguration.UseDataProviders(GrapeCity.ActiveReports.Configuration.DataProviderInfo[])

Ensure adding ‘using GrapeCity.ActiveReports.Configuration;’ directive in the web application setup class where the UseDataProviders method is used.

Changed Type of some properties in PageReportModel
The Type for following properties is changed from ExpressionInfoCollection to IList<ExpressionInfo>            
Example
Copy Code
class GrapeCity.ActiveReports.PageReportModel.Filter
{
  //... 
  ExpressionInfoCollection FilterValues {get;}
}
//changed to
class GrapeCity.ActiveReports.PageReportModel.Filter
{
  //...
  IList<ExpressionInfo> FilterValues {get;}
}
 This change has no impact on our users.          
Changed Themes API in JS Viewer and Web Designer

The Themes API for both WebDesigner and JS Viewer has been unified under ActiveReports.ColorThemes. You can use any module '@mescius/activereportsnet-designer' and '@mescius/activereportsnet-viewer' to export theme object and apply it in the viewer and webdesigner.
You are required to update code to make older applications work in ActiveReports.NET 19.

               
Implemented new Chart model

The Chart API has been reworked in order to improve flexibility and configurability of charts.

The charts in the reports created from previous ActiveReports versions 18, 17, and 16, when opened in ActiveReports 19 Designer, are automatically converted to a new chart model. The results are usually the same; in rare scenarios, manual updates may be required.

If charts in the previous versions have been generated using the Chart API, they will require manual migration and code updation to give the same results in ActiveReports.NET 19.

 
For breaking changes upto previous version, see the documentation page of ActiveReports 18.