Skip to content

Changelog

Hans van Bakel edited this page Nov 13, 2018 · 14 revisions

Changelog

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Entries are separated into generic changes and CLI/library specific ones (marked as [CLI] and [LIB] respectively).

[Unreleased]

Added

  • [LIB] Separate Core and Migrate2017.Library assemblies

Changed

  • SourceLink integration added for fluent debugging experience
  • External dependencies updated to latest versions
  • [LIB] ProjectConverter.Convert is now an extension method, receiving additional optional ILogger parameter

[3.0.5] - 2018-11-12

Added

  • Antlr4 support for #208

[3.0.4] - 2018-10-23

Added

  • Force option -f to skip project type check per #206

Changed

  • Renamed force-transformation option to -ft so -f is available

[3.0.3] - 2018-10-24

Changed

  • Fix for #207

[3.0.2] - 2018-09-16

Added

  • Simplify away ProjectGuid when it matches solution value

Changed

  • Attempt at proper cross platform support by accounting for different directory separator characters

[3.0.1] - 2018-09-07

Added

  • Ability to force transformation execution even on unsupported project
  • "AppContainerExe" $(OutputType) support
  • [CLI] New dotnet migrate-2017 CLI (can be also used as high-level library)
  • [CLI] --verbosity option in new CLI (dotnet migrate-2017 -v diag <command>)
  • [CLI] Evaluation mode in new CLI (dotnet migrate-2017 evaluate)
  • [CLI] --force-transformations option in new CLI
  • [LIB] ITransformationSet interface and noop implementation
  • [LIB] BasicReadTransformationSet that contains the bare minimum to operate
  • [LIB] ChainTransformationSet that allows chaining multiple sets
  • [LIB] Vs15TransformationSet that contains all implemented migration transformations
  • [LIB] ITransformationWithDependencies and ITransformationWithTargetMoment interfaces (markers)
  • [LIB] TargetTransformationExecutionMoment enum (Normal/Early/Late), used by transformations implementing ITransformationWithTargetMoment
  • [LIB] IEnumerable<Project> ProjectConverter.ProcessSolutionFile(Solution) method
  • [LIB] Project ProjectConverter.ProcessProjectFile(FileInfo, Solution, [ProjectReference]) method
  • [LIB] IReadOnlyList<string> Solution.UnsupportedProjectPaths property (filled by SolutionReader)
  • [LIB] IReadOnlyList<string> ConversionOptions.ForceDefaultTransforms property

Changed

  • Transformations now are topologically sorted (ordered) by execution stages and inter-dependencies
  • Transformations are less noisy now by default
  • [CLI] --output-path is now --old-output-path in new CLI
  • [CLI] --assembly-info is now --keep-assembly-info in new CLI
  • [CLI] New CLI does not do recursive *.csproj conversion by default
  • [CLI] New CLI allows glob patterns, like **\*.sln to process all solution files in all subdirectories
  • [LIB] Change internal method naming, some methods are public now
  • [LIB] Previously excluded files are now excluded by adding them as <Compile Remove="file.cs" />

Deprecated

  • Old Project2015To2017.Console CLI is inferior in the set of features and their quality

Removed

  • <SolutionDir /> is not simplified away anymore due to issues it causes

Fixed

  • TFVC file writeability issue
  • Simplification issues on unsupported conditional properties
  • Missing <GenerateAssemblyInfo>false</GenerateAssemblyInfo> property when multiple AssemblyInfo files are present (regression)
  • Known CLI issues are all fixed in new CLI
  • NuGet name casing across the project
  • Flaky test due to existence of temporary file

[3.0] - 2018-08-31

Added

  • Simplify away default <Version />, <FileVersion /> and <AssemblyVersion />.
  • Experimental support for F# (.fsproj) and VisualBasic.NET (.vbproj) project files
  • [LIB] ILegacyOnlyProjectTransformation and IModernOnlyProjectTransformation interfaces

Changed

  • AssemblyReferenceTransformation renamed to AssemblyFilterPackageReferencesTransformation
  • RemovePackageAssemblyReferencesTransformation renamed to AssemblyFilterHintedPackageReferencesTransformation
  • DefaultAssemblyReferenceRemovalTransformation renamed to AssemblyFilterDefaultTransformation
  • RemovePackageImportsTransformation renamed to ImportsTargetsFilterPackageReferencesTransformation
  • PrimaryUnconditionalPropertyTransformation renamed to PrimaryProjectPropertiesUpdateTransformation
  • TargetFrameworkTransformation renamed to TargetFrameworkReplaceTransformation