Skip to content

Latest commit

 

History

History
209 lines (160 loc) · 6.77 KB

CHANGELOG.md

File metadata and controls

209 lines (160 loc) · 6.77 KB

IL Repack changelog

2.0.35

Fixed

  • PR #366 - assembly strong name Linux compatibility
  • PR #364 - add dotnet-ilrepack .NET tool
  • Improve error handling when dotnet.exe not found

2.0.34

Fixed

  • Fix #347 - Error merging VB app
  • Fix #359 - fix TypeForwardedTo

2.0.33

Fixed

  • Fix #362 - Fix TypeReferences in MethodDebugInformation

2.0.32

Fixed

  • Fix #361 - fix ArgumentOutOfRange in RepackAssemblyResolver.cs:line 203 (in InitializeDotnetRuntimeDirectories())

Added

  • Fix #345 - support multiple semicolon-separated attributes in /repackdrop

2.0.31

Fixed

  • Fix #319 - support some obfuscated binaries (such as Oracle)

2.0.30

Fixed

  • Fix #357 - fix regression when parsing command line arguments with --
  • Fix #358 - made Cecil types internal in the repacked ILRepack.exe/dll, reduced public API

2.0.29

Fixed

  • Fix #355 - properly rewrite parameter types for calli instructions, fixes invalid tokens and runtime exceptions

2.0.28

Added

  • ability to internalize specific assemblies via one or more /internalizeassembly:System.Foo. /internalize is not required when these are specified.
  • Log reasons why a type was made public
  • print caller stack causality in PublicTypesFixStep when a type is left public
  • log resolved assemblies and location in verbose mode
  • add NuGet package icon

Fixed

  • cleaner error when input is not a managed assembly
  • include missing arg in README.md
  • fix CommandLine.HasOption() when one arg is a prefix of another
  • better error tolerance when reading bad dll or pdb

2.0.27

Added

  • add developmentDependency in ILRepack.nuspec

2.0.25

Added

  • add /excludeinternalizeserializable option to avoid internalizing types marked as serializable

Fixed

  • minor updates to command-line help

2.0.24

Added

  • ILRepack is now deterministic - running it on the same inputs will produce byte-for-byte identical output
  • SourceLink entries are now merged and preserved
  • feature: added step for merging ILLink.*.xml files

Fixed

  • Xaml source not from primary or reference assembly
  • More resilience for invalid inputs
  • Documented more command line arguments
  • Fixes for using ILRepack as an API
  • Support .dll extension in internalize exclude file entries
  • Don't internalize or rename some well-known types, such as attributes generated by the C# compiler
  • Misc bug fixes

2.0.22

Added

  • Support for legacy, portable and embedded PDBs
  • Debug info support, sequence points, scopes, locals, custom debug info
  • Unix support now working, either via dotnet ILRepack.exe or mono ILRepack.exe

Fixed

  • Updated to the latest Mono.Cecil
  • Removed Mono.Posix dependency, shelling out to stat and chmod to set permissions
  • shipping ILRepack.runtimeconfig.json in the NuGet package so that dotnet ILRepack.exe works
  • repacking .NET Core WinForms resources now works (fixed #277)
  • resolving assemblies from .NET Core runtime
  • writing to a temp directory first, allows repacking the primary assembly in-place
  • deleted gradle from the build system, using plain MSBuild now
  • less output without /verbose argument

2.0.20

Added

  • Option /skipconfig can be now used to skip merging the assemblies config files
  • Recognize RepackExcludeInternalizeAttribute to exclude a type from internalizing (#307)
  • Update the NuGet package information with structured license information

Fixed

  • Don't strong name sign for delay signing (#330)

2.0.18

Fixed

  • Fix issue when repacking multiple results of /renameInternalized-previously repacked

2.0.17

Fixed

  • Usage of netstandard2 support layer for .NET 4.6.1-4.7.1
  • WPF merging now handles properly libraries built with the new .NET project formats

2.0.16

Added

  • /repackdrop:AttributeClass is now a supported argument to allow dropping specific members during merging (#215)
  • /renameInternalized is now a supported argument forcing ILRepack to rename all types from other assemblies during repack (#233)

Fixed

  • Usage of delay sign & public key (#222)

2.0.15

Added

  • WPF merging now works with resources (e.g., images) in used libraries
  • WPF Merging handles correctly cases when BAML types are referencing core .NET types

2.0.14

Changed

  • Migrated to Cecil 0.10

Fixed

  • WPF merging handles correctly cases when there in no XAML in the merged project

2.0.13

Changed

  • Less aggressive attribute cleanup for the main assembly (unchanged for merged ones) (#174)
  • Allow proper use of ExcludeFile in Library mode (#185)
  • Handle System.Runtime merging (#188)

Fixed

  • PdbStr doesn't work on Unix, skip it on these OS (#176)

Added

  • Support /keycontainer flag (#183)
  • More verbose output header for debugging (#187)
  • Expose an $(ILRepack) property for nuget consumers (#192)

2.0.12

Added

  • SRCSRV data from PDBs are merged for sources available with HTTP. Others are not merged and only the one from the primary assembly is kept.

2.0.11

Fixed

  • Signed WPF applications during the repack process now work properly
  • Generic-based resource keys can now be used in WPF applications
  • UWP applications are now properly merged

2.0.9

Added

  • Add set Log level verbose in IlRepack constructor

Fixed

  • Indirect xaml dependency merge now copes with conflicting versions

Changed

  • Bumped cecil version

2.0.6

Fixed

  • Fixed regression since 2.0.4 that prevented proper merging of resources in dependent assemblies.
  • Because of this, no BAML resources were added from dependencies into the merged result.

Changed

  • Put public the method retrieving repacked assembly names.

2.0.5

Fixed

  • Bcl+BclAsync now repacks correctly
  • Due to caching, some TypeRefs where incorrectly flagged class instead of valuetype
  • Some original AssemblyReferences were kept in the merged assembly as ExportedType scope or TypeRef scope, this caused issue unless (by luck) the repacked token was the same as original one

Added

  • Added ILRepack version in repack log

2.0.4

Changed

  • When used with copyattrs flag, primary (first) assembly attributes are prefered (when the custom attribute doesn't allow multiple)

2.0.3

Changed

  • Types fixed during the 'Fixing references' phase are printed in verbose mode.
  • InternalsVisibleTo attributes gets cleaned up to allow signed repacked assemblies to be loaded fine.

2.0.0

Added

  • WPF Support
  • Classes (e.g.: converters) from libraries can now be used inside XAML files.
  • User Controls from libraries can now be used inside XAML files.
  • XAML Resource paths in InitializeComponent() methods are patched to reference the main assembly instead.
  • Support for styles, theming (themes/generic.xml) and inclusion of XAML files (via pack or non-pack URIs).

Changed

  • API has been cleaned up (with potential breaking changes, depending on the usage).