Releases: microsoft/dotnet-apiport
2.8.10-alpha
New features:
Exceptions analyzer and report
You may have run into some .NET APIs throw PlatformNotSupportedException or NotImplementedException on some platforms. How to detect that your program uses any of these APIs before migrating your software to the target .NET version so that you won’t run into them at execution time as a surprise? This exception analyzer feature analyzes your binaries and report .NET APIs throw PNSE and NIE exceptions. You can opt-in the feature by specifying “-x” or “--showExceptionApis” command line option. This feature is supported in excel and json report formats. #897
Porting order recommendation
When your application has large number of dependencies, figuring out the porting order maybe challenging due to complex inter-dependencies amount the referenced components. This porting order recommendation feature analyzes the dependency components of a given entrypoint application, uses bottom-up approach to recommend porting order from the leaf components to the root application. You can opt-in the feature by specifying “--entrypoint ” command line option #906
Skip Microsoft .NET assemblies
When you run APIPort against a folder, you may noticed that all the assemblies under the folder are analyzed including the Microsoft .NET assemblies, like system..dll, Microsoft.dll. It is not helpful to analyze these MS assemblies since it’s not actionable for you. In this release, APIPort skips analyzing Microsoft .NET assemblies and report them as “skipped assemblies” in the “unsolved assembly” worksheet of the excel report.
Released ApiPort as DotNet global tool on NuGet.org
You can install ApiPort by command "dotnet tool install --global ApiPort"
Engineering improvement:
Updated ApiPort and portability libraries to .NET Core 3.1
Moved to YAML file based Azure DevOps build pipeline.
DotNet Portability Service Release
DotNet Portability Service is the back-end Azure service for ApiPort client tool. We made a new back-end Azure service release in last week. The release includes quite some engineering improvements, including ported Portability Service from .NET Platform code to .NET Core. It is running as self-contained .NET Core App; aligned the service using the same version of portability libraries as APIPort tool does with over 1 year of accumulated changes in the libraries, etc. Even though most of the back-end service updates are not directly visible to customers, this service release enabled some valuable features via APIPort tool, below are a couple of customer visible highlights:
-
DGML format report
DGML format report is now available through both APIPort offline and online mode via CLI command now. DGML format report shows the assemblies dependency relationship in graph with the portability percentage summary and capability to drill down to the list of missing .NET APIs per assembly. When your app has complicated dependencies and wants to port it and its dependencies to later .NET Version, making decision of which component to start the porting can be challenging, DGML format report is especially helpful in this situation to show you overall picture visually.
Sample command to generate DGML format report: apiport analyze -f c:\temp\foo -r DGML -t ".NET Core, Version=3.1" -
Fixed some accessibility bugs, with this release, Both APIPort report UI and VS extension meets accessibility level C standard.
If you already have APIPort v2.7.0 client tool, these features should light up automatically. Otherwise, please download it from http://aka.ms/apiportdownload or download Apiport.2.7.0.zip from this release note.
2.7.0-alpha
Download
Updates
Functional improvements
- Made ApiPort tool to be .NET Core Global tool (#790)
- Added DGML report format support. This feature will be visible when backend service is updated in the near future (#695, #796, #815)
- Improved accessibility (#783, #792)
- Moved HTML report generator to a razor library (#742)
- Added DiagnosticListener to report ServiceProvider (#745)
- Updated TargetNameParser to understand versions (#757)
- Reported .Html works on .NET Framework (#751)
- Updated the HyperLinks to About and Privacy docs on Portability Analyzer Setting are not navigable (#765)
- Updated the document link in excel report (#807)
- Fixed Assembly name header name in Excel report (#779)
Fundamental improvements
- Upgraded .NET Portability libraries from .NET Standard 1.3 to .NET Standard 2.0 (#790)
- Upgraded ApiPort Console apps to target .NET Core 2.1 and .NET Framework 4.6.1 and upgraded ApiPort VS extension to target .NET Framework 4.6.1 to consume .NET standard 2.0 libraries (#790)
- Changed IReportWriter.WriteStream to be async (#743)
- Removed requiring AssemblyReferenceInformation for IDependencyFilter to reduce memory allocation (#784)
- Added JsonPublicKeyTokenconverter to Serialize PublicKeyToken (#800)
- Set up some caching in json conversion (#785)
- Updated Authenticode signing certificate to SHA2 (#826)
Engineering improvements
2.6.0-alpha
Updates
Console
- Update to target .NET Core 2.1
Visual Studio Extension
- Add support for VS 2019
- Fixes output path issue when building C++/CLI projects
2.5.0-alpha
Updates
Console
- Add support for assemblies that target .NET Standard
Visual Studio Extension
- Add support for network proxies
- A number of accessibility features
2.4.0-alpha.933
Updates
Console
- Add a
dump
command to print out the collected APIs
v1.4.0.alpha.00199
Updates
Console and Visual Studio Extension v1.4.0.00199
- Limit platform target analysis for Excel output format to 15 (due to limit of 26 columns in Excel)
- Default report output format is no longer static.
v1.4.0.alpha.00175
Updates
Console
- Update breaking change parser
- Various bug fixes
- .NET Core support
Visual Studio Extension v1.4.0.00175
- Changelog
- Support for Visual Studio 2015 and 2017
- Support for solution analysis when there are non .NET projects in solution.
v1.4.0.alpha.00119
Updates
Console
- Various bug fixes
- Update portability service endpoint
Visual Studio Extension v1.3.0.119
v1.2.1.alpha.00031
Updates
- Heuristic to limit customer API collection by only sending APIs that are most likely Microsoft APIs to the web service
- Target mapper and breaking changes suppression will now pick up configuration from ApiPort directory
- Fixes to the help message
- Various bug fixes