What's New in Eazfuscator.NET

  • Eazfuscator.NET 2024.1
    March 29, 2024
    • Preliminary .NET 9.0 support
    • Code virtualization now supports interpolated strings
    • Improved ASP.NET Core support
    • Improved JSON serialization support
    • Improved Entity Framework Core support
    • Improved performance of method flattening
    • Improved documentation
    • Fixed issue that could lead to a loss of enum type information when used in interpolated string expression
    • Fixed issue that could leave XAML property reference with invalid namespace token after obfuscation
    • Fixed issue with nullable types when using code virtualization
    • Fixed issue that could cause type loading error when interface method was implemented in one of the base classes
    • Fixed issue that could lead to assembly loading error during obfuscation with code virtualization enabled
    • Fixed issue that could lead to assembly loading error during obfuscation of .NET Framework 4.x assemblies
    • Fixed performance regression of method inlining that occurred during obfuscation
  • Eazfuscator.NET 2023.4
    November 29, 2023
    • .NET 8.0 support
    • .NET MAUI support
    • JetBrains Rider 2023.3 support
    • Added out of the box support for gRPC serialization
    • Improved JSON serialization support
    • Improved XML documentation filter behavior for generic types
    • Improved documentation
    • Fixed issue that could lead to "Unsupported type argument in custom attribute signature" error during obfuscation
    • Fixed issue with assembly merging that could lead to unverifiable code generation
    • Fixed issue with method signature matching that could occur during obfuscation
    • Fixed issue that could lead to "Access to the mutex is denied" error during obfuscation
  • Eazfuscator.NET 2023.3
    August 9, 2023
    • .NET Framework 4.8.1 support
    • JetBrains Rider 2023.2 support
    • Added support for Blazor WebAssembly AOT compilation
    • Out of the box support for Prism framework
    • Improved preliminary .NET 8.0 support
    • Improved MSBuild integration
    • Improved Visual Studio integration
    • Improved support of high-DPI resolutions
    • Improved documentation
    • Fixed issue with mask-based exclusion of merged assemblies
    • Fixed issue with mask-based exclusion of embedded assemblies
    • Fixed issue that might cause a compatibility issue with WPF XAML renaming
    • Fixed issue that could lead to "Illegal characters in path" error when debug obfuscation feature was used
    • Fixed issue that could lead to "Illegal characters in path" error during obfuscation of ASP.NET Core Web App projects
    • Fixed issue that could lead to unverfiable code generation when using code virtualization
    • Fixed issue that caused a XAML compiler error during MAUI project publishing targeting Android platform
    • Fixed issue that might cause a runtime exception in MAUI application targeting Android platform
    • Fixed issue with local variable initialization in inlined methods
    • Fixed MSB4120 warning that might appear during the build of an obfuscated project in Visual Studio 17.7.0+
  • Eazfuscator.NET 2023.2
    April 30, 2023
    • Preliminary .NET 8.0 support
    • JetBrains Rider 2023.1 support
    • Code control flow obfuscation can now be controlled down to a type/method level
    • Added a configuration setting to lower an obfuscation process priority
    • Eazfuscator.NET now runs on ARM64 machines natively without triggering x86 emulation (Windows 11+ ARM64, NET Framework 4.8.1+)
    • Changed system requirements: Windows 8.1+, Windows Server 2012 R2+
    • Improved .NET 7.0 support
    • Improved assembly merging
    • Improved assembly embedding
    • Improved NuGet integration
    • Improved metadata removal
    • Improved support of various serialization scenarios
    • Improved documentation
    • Fixed issue that could lead to "Unable to retrieve custom attributes container for XXX" error during obfuscation"
    • Fixed issue that could lead to "Method not found" error during obfuscation of a Unity project
    • Fixed issue that could lead to "The given assembly name or codebase was invalid" error when running an obfuscated application
    • Fixed issue that could lead to "Illegal characters in path" error during obfuscation
    • Fixed issue that could lead to "Dependencies deduction failed" error during obfuscation of a project that referenced "GitVersion.MsBuild" package
    • Fixed issue that could lead to "Identifier is not CLS-compliant" SGEN error during compilation
    • Fixed issue that could lead to "Property has related method belonging to another type" error during obfuscation when code inlining directive was used on a property accessor
    • Fixed issue that could lead to "The given key was not present in the dictionary" error during assembly merging under specific circumstances
  • Eazfuscator.NET 2023.1
    January 5, 2023
    • JetBrains Rider 2022.3 support
    • Method flattening
    • Script variables syntax support for passwords
    • Product documentation can now be optionally installed as online-only component
    • Improved .NET 7.0 support
    • Improved conditional obfuscation by introducing a new record keyword
    • Improved XML documentation filter behavior for explicitly implemented interface members
    • Improved Visual Studio integration
    • Improved MSBuild integration
    • Improved documentation
    • Fixed issue that could lead to "Duplicate method declaration" obfuscation error
    • Fixed issue that could lead to NullReferenceException during obfuscation of WPF application that had a user control derived from a generic type
    • Fixed issue that led to MethodAccessException when a method calling a private constructor was inlined
    • Fixed issue that caused TypeLoadException when accessing dynamic proxies generated by Castle Project
    • Fixed issue that could lead to "Unable to call 'WriteStartMember' in current state" error during obfuscation of WPF application
  • Eazfuscator.NET 2022.2
    September 30, 2022
    • .NET 7.0 support
    • JetBrains Rider 2022.2 support
    • Extended the list of code constructs supported by homomorphic encryption
    • Added the ability to fine-tune the inclusion of assemblies targeted by assembly mask syntax in assembly merging and embedding directives
    • Improved Xamarin support
    • Improved JSON serialization support
    • Improved XML serialization support
    • Improved reflection analysis for LINQ expressions
    • Improved serialization support of nullable value types
    • Fixed issue with method inlining that could occur when the method was called from virtualized code
    • Fixed issue with default interface implementation which could lead to an error during obfuscation
    • Fixed issue that could lead to "Method not found: 'System.ReadOnlySpan`1<Char> Microsoft.IO.Path.GetFileName(System.ReadOnlySpan`1<Char>)'" error during obfuscation when Visual Studio 17.3.0+ was installed
    • Fixed regression that might cause a package definition file be out of sync when obfuscating VSIX projects
    • Fixed issue that could lead to an obfuscation error when project targeted a platform on ARM processor
    • Fixed issue with resolving of System.ValueTuple out-of-band reference assembly for .NET Framework targets
    • Fixed issue that could lead to "Invalid metadata for attribute" error during obfuscation of WPF applications targeting .NET Core or .NET 5.0+
    • Fixed issue that caused an obfuscation error when the project had dependencies on Microsoft.Build.* assemblies
    • Fixed issue that could lead to "The filename or extension is too long" obfuscation error when merging feature was used
  • Eazfuscator.NET 2022.1
    March 29, 2022
    • Preliminary support for .NET 7.0
    • JetBrains Rider 2021.3 support
    • Introduced EazfuscatorActiveConfigurations MSBuild property that allows to specify multiple build configurations eligible for obfuscation
    • Improved code virtualization
    • Improved --ensure-obfuscated command-line option: multi-threaded processing, visual reporting, more detailed exit codes of a process
    • Improved documentation
    • Fixed issue that could lead to "Unable to extract field definition from instruction operand" error during obfuscation
    • Fixed issue that could lead to a build error when using an obfuscated assembly as a reference in a C++/CLI project
    • Fixed issue that could lead to unverifiable code when using dynamic expressions on interface types
    • Fixed issue that could lead to TypeLoadException in obfuscated .NET 6.0 binaries compiled with ReadyToRun
    • Fixed issue that could lead to BadImageFormatException during ReadyToRun image generation
    • Fixed issue that could lead to ArgumentException when using application settings in obfuscated projects targeting .NET Core or .NET 5.0+
    • Fixed issue with anonymous types that could occur after assembly merging
    • Fixed issue with .NET Standard 2.1 assembly merging
    • Fixed issue with code inlining that could lead to "Cannot bind method" error at runtime
    • Fixed multiple issues with custom attributes
    • Fixed issue when MSBuild integration might not work for Visual Studio versions 2012 and 2013
  • Eazfuscator.NET 2021.4
    November 8, 2021
    • .NET 6.0 support
    • Visual Studio 2022 support
    • Unity 2021.2 support
    • Assembly mask syntax for merging and embedding
    • Logging for assembly merging and embedding
    • Improved code virtualization
    • Improved XML serialization support
    • Improved documentation
    • Fixed assembly merging issue with conflicting assembly PE kinds
    • Fixed issue with emission of DebuggerBrowsableAttribute
    • Fixed issue with --check-version command-line option
  • Eazfuscator.NET 2021.3
    September 15, 2021
    • JetBrains Rider 2021.2 support
    • Improved Visual Studio 2022 preliminary support
    • Improved .NET 6.0 preliminary support
    • Improved .NET 5.0 support
    • Improved .NET Core support
    • Improved support for VSIX projects
    • Improved XML serialization support
    • Improved binary serialization support
    • Fixed issue with assembly embedding and resource encryption that could occur in .NET 6.0+ environments
    • Fixed issue with nested generic types in custom attributes that could lead to an obfuscation error
    • Fixed issue that could lead to "Unable to find field X in class by type reference Y" error during obfuscation
  • Eazfuscator.NET 2021.2
    July 17, 2021
    • Visual Studio 2022 preliminary support
    • JetBrains Rider 2021.1 support
    • Improved .NET 6.0 preliminary support
    • Improved .NET 5.0 support
    • Improved .NET Core support
    • Improved ClickOnce support
    • Improved assembly merging
    • Improved assembly embedding
    • Improved conditional obfuscation by introducing three new keywords: matches, compiler-generated, obfuscator-generated (documentation)
    • Improved reflection analysis of enums
    • Improved reflection analysis of dynamic expressions
    • Fixed issue with embedding of satellite assemblies in SDK style projects
  • Eazfuscator.NET 2021.1
    May 15, 2021
    • Preliminary support for .NET 6.0
    • Deterministic obfuscation
    • Function pointers support
    • Eazfuscator.NET SDK is available as a cross-platform NuGet package
    • Improved ASP.NET Core support
    • Improved JSON serialization support
    • Improved Entity Framework Core support
    • Improved run-time performance of string encryption on multi-core processor systems
    • Improved reflection analysis for LINQ expressions
    • Improved deduction of assembly and manifest signing parameters
    • Fixed issue with LINQ expressions that could lead to StackOverflowException during obfuscation
    • Fixed multiple issues with code inlining that could occur in scenarios with generic parameters
    • Fixed assembly merging issue with assembly resolution
    • Fixed assembly merging issue with internalized types exposed by public members of a target assembly
  • Eazfuscator.NET 2020.4
    December 25, 2020
    • Stack trace passwords management
    • JetBrains Rider 2020.3 support
    • Improved .NET 5.0 support
    • Improved .NET Core support
    • Improved Xamarin support
    • Improved obfuscation coverage of types implementing INotifyPropertyChanged interface
    • Improved obfuscation coverage of app settings classes
    • Improved handling of embedded compiler-generated attributes that affect language semantics
    • Fixed issue that could lead to a loss of type information for boxed enum values in custom attribute declarations
    • Fixed issue with nullability annotations on generic parameters
    • Fixed issue with merging of compiler-generated types
    • Fixed issue with forwarded types
    • Fixed VM issue that could lead to InvalidOperationException during type conversion operations
    • Fixed issue with template specifiers parsing that could cause "An item with the same key has already been added" error during obfuscation
    • Fixed issue that might lead to an error during opening a web link from Eazfuscator.NET Assistant
    • Fixed issue with .NET Framework 4.7.2 prerequisite detection in Eazfuscator.NET Setup
  • Eazfuscator.NET 2020.3
    October 9, 2020
    • .NET 5.0 support
    • JetBrains Rider 2020.2 support
    • Improved .NET Standard 1.0 - 2.1 support
    • Improved performance during obfuscation of .NET Core and .NET Standard assemblies
    • Improved documentation
    • Fixed issue with dynamic expressions that could lead to BadImageFormatException error during runtime
    • Fixed issue that could lead to inconsistent renaming of fields with compiler-controlled accessibility
    • Fixed issue with enabling code virtualization in Unity projects with .NET Standard backend
    • Fixed PDB serialization issue that could lead to "Too many directory blocks" error during obfuscation
    • Fixed VM issue with structures passed by reference that could lead to an error during obfuscation
    • Fixed several issues that might cause .NET Native tool-chain to fail on obfuscated assemblies
    • Fixed issue with closure conditional obfuscation variable not working for generic closures
    • Fixed issue that could lead to assembly resolution error during obfuscation of a .NET Standard assembly
    • Fixed CVE-2018-1002208 vulnerability in a component used by Eazfuscator.NET
  • Eazfuscator.NET 2020.2
    July 17, 2020
    • Preliminary support for .NET 5.0
    • JetBrains Rider 2020.1 support
    • Automatic reflection analysis of asynchronous code
    • File mask syntax for assembly merging and embedding directives
    • Improved .NET Core 2.x and 3.x support
    • Improved JSON serialization support
    • Improved data contract serialization support
    • Improved support for MEF
    • Improved support for VSIX projects
    • Improved reflection analysis of LINQ expressions
    • Improved handling of the code produced by Roslyn v16.6+ compilers
    • Improved documentation
    • Fixed issue with serialization of security permissions of .NET Standard assemblies
    • Fixed issue with dependency manifest (.deps.json) remastering that could occur when dereferenced assembly name did not correspond to a NuGet package name
    • Fixed issue with dependency manifest (.deps.json) remastering that could occur when dereferenced package was a dependency of another dereferenced package
    • Fixed issue that could lead to 'Type must be a type provided by the runtime.' error during obfuscation
    • Fixed VM issue that could lead to 'An attempt was made to load a program with an incorrect format' error during obfuscation
    • Fixed issue in Eazfuscator.NET SDK for Java that prevented it from working with Java 11+
  • Eazfuscator.NET 2020.1
    March 29, 2020
    • JetBrains Rider 2019.3 support
    • Unity 2019.3 support
    • Data virtualization now supports System.TimeSpan and enum types
    • Automatic assembly dependency manifest (.deps.json) remastering for .NET Standard and .NET Core targets
    • Code completion for Eazfuscator.NET properties in MSBuild project files
    • Extended key material extraction for predicates containing 'and' boolean operators in homomorphically encrypted regions of code
    • Changed system requirements: Windows 7 SP1+, .NET Framework 4.7.2+
    • Improved .NET Core 3.0 and 3.1 support
    • Improved .NET Standard 2.1 support
    • Improved Entity Framework Core support
    • Improved Visual Studio integration
    • Improved reflection analysis of dynamic expressions
    • Improved obfuscation coverage of compiler generated attributes
    • Fixed issue with Eazfuscator.NET console encoding
    • Fixed race condition that could occur on concurrent launches of an obfuscated app that used assembly embedding with [load-from-file] flag
    • Fixed issue that could lead to 'Unsupported type argument in custom attribute signature' error during obfuscation of .NET Core 3.0+ and .NET Standard 2.1+ assemblies
    • Fixed issue that could lead to a slow unbounded memory growth in the long-running multi-threaded virtualized code under specific conditions
  • Eazfuscator.NET 2019.4
    December 3, 2019
    • Blazor support
    • .NET Core 3.1 support
    • Unity 2019.2 support
    • Out of the box support for System.Text.Json
    • Improved ASP.NET Core support
    • Improved ASP.NET support
    • Improved JSON serialization support
    • Improved XML serialization support
    • Improved compatibility with .NET Framework SDK 4.8
    • Fixed issue that occurred during obfuscation of .NET Standard 2.0 assemblies when only .NET Core SDK 3.0 was installed
    • Fixed VM issue that could lead to InvalidCastException error during runtime
    • Fixed issue with absence of proper code access security attributes in the code injected by Eazfuscator.NET for .NET Standard assemblies
    • Fixed issue in MSBuild interoperability with PostSharp 6.0+
  • Eazfuscator.NET 2019.3
    September 29, 2019
    • Visualization of homomorphically encrypted regions of code
    • .NET Core 3.0 support
    • .NET Standard 2.1 support
    • Visual Studio 2019 version 16.3+ support
    • JetBrains Rider 2019.2 support
    • Added ability to mark static method as a module initializer
    • Improved ASP.NET Core support
    • Improved .NET Native support
    • Improved Visual Studio integration
    • Improved homomorphic encryption coverage
    • Fixed issue with a locked file that could occur during update installation
    • Fixed issue in method overload matching of ref readonly return types
    • Fixed bug that could lead to an issue with default values of optional method parameters
    • Fixed VM issue that might occur in compiler-generated async state machine code
    • Fixed XML Documentation Filter issue with nested generic classes
    • Fixed XML Documentation Filter issue that occurred in MSBuild project integration mode
    • Fixed XAML issue that could lead to "Unknown BAML record type 0x22" error during obfuscation
    • Fixed issue with .NET Core reflection introspection
    • Fixed issue with .NET Native compilation that could occur when code control flow obfuscation was on
    • Fixed issue with UWP assembly merging that could lead to an endless loop in merger
  • Eazfuscator.NET 2019.2
    June 19, 2019
    • JetBrains Rider 2019.1 support
    • .NET Framework 4.8 support
    • Improved Visual Studio 2019 support
    • Improved .NET Core 2.2 support
    • Improved reflection analysis for Windows Forms data binding semantics
    • Improved preliminary support for .NET Core 3.0
    • Fixed issue with .NET Core assemblies resolution
    • Fixed VM issue with System.Span<T> and System.ReadOnlySpan<T> types
    • Fixed VM issue with .NET Framework 4.0 assemblies that could lead to NullReferenceException during runtime under rare specific conditions
    • Fixed issue with MSBuild integration that occurred when Eazfuscator.NET target files were used under .NET Core MSBuild
    • Fixed issue that could lead to "The attribute 'Version' in element <PackageReference> is unrecognized" error during obfuscation
  • Eazfuscator.NET 2019.1
    March 31, 2019
    • Homomorphic encryption for code and data
    • Visual Studio 2019 support
    • Preliminary support for .NET Core 3.0
    • Better NuGet integration. Eazfuscator.NET is listed on nuget.org and can be added as a <PackageReference> to any .NET project
    • Better code optimization
    • Changed system requirements: Windows 7, Windows Server 2008 R2, or higher
    • Improved .NET Standard support
    • Improved ASP.NET Core support
    • Improved VSIX projects support
    • Improved WiX Toolset projects support
    • Improved .NET Native support
    • Improved reflection analysis for LINQ expressions
    • Fixed issue with escaped URIs of XAML resources
    • Fixed VM issue that could lead to a race condition in virtualized code
    • Fixed VM issue with overloaded constructors that could lead to AmbiguousMatchException during run time
    • Fixed issue with resolution of assemblies residing in GAC
  • Eazfuscator.NET 2018.4
    November 23, 2018
    • .NET Core 2.2 support
    • Elements of homomorphic code encryption
    • Automatic handling of Windows Forms data binding semantics
    • Better code optimization
    • Automatic support for delay signed assemblies
    • Updated UWP support
    • Improved .NET Core 2.0 - 2.1 support
    • Improved Entity Framework support
    • Improved Entity Framework Core support
    • Improved Xamarin support
    • Improved reflection analysis for various serialization scenarios
    • Fixed VM issue with overloaded generic methods
    • Fixed issue that could lead to "Failed to create JavaTypeInfo for class: Illegal characters in path" error in Xamarin compilation step
    • Fixed issues with code virtualization that could occur during obfuscation of .NET Core 2.0 - 2.1 assemblies
  • Eazfuscator.NET 2018.3
    August 15, 2018
    • .NET Core 2.1 support
    • Unity 2018.2 support
    • Out-of-the-box support for Fody and PostSharp build tools
    • Added ability to check for closure criteria in conditional obfuscation of types
    • Added ability to separately control obfuscation of method parameters with parameters renaming and optional parameters pruning directives
    • Added automatic expansion of script and environment variables specified in ilmerge custom parameters directive
    • 64 bit is now the preferred mode of Eazfuscator.NET operation
    • Improved Visual Studio integration
    • Improved JSON serialization support
    • Improved reflection analysis for scenarios involving enums
    • Improved debug renaming behavior for method arguments: they are now renamed in accordance to a debug pattern to simplify the obfuscation diagnostics
    • Significantly improved obfuscation speed for some edge-case scenarios
    • Fixed issue with generic methods overloading
    • Fixed issue with serialization of enum array values in custom attributes
    • Fixed issue with a ref return type of a method annotated by modopt/modreq modifiers
    • Fixed issue that could lead to breaking of an indexer property when declaring type implemented several interfaces that defined such a property
    • Fixed issue with handling of InternalsVisibleTo attribute that could lead to an unexpected auto-sealing of an internal class under specific conditions
    • Fixed XAML issue with binding to a static property using a type-qualified path
    • Fixed VM issue with typeof() expressions for generic type definitions
    • Fixed MSBuild integration issue with F# .NET Core and .NET Standard projects
  • Eazfuscator.NET 2018.2
    May 7, 2018
    • .NET Framework 4.7.2 support
    • Unity 2018.1 support
    • Seamless integration with Unity
    • Preliminary support for .NET Core 2.1
    • Updated UWP support
    • .NET Compact Framework 3.9 support
    • Improved .NET Core support
    • Improved .NET Standard support
    • Improved ASP.NET Core support
    • Improved JSON serialization support
    • Improved XML serialization support
    • Fixed issue with case sensitivity in embedded resource renaming
    • Fixed issue with renaming of nested internal classes when InternalsVisibleTo attribute is applied to the assembly
    • Fixed issue that could lead to invalid system type references in obfuscated .NET Core assembly after merging
    • Fixed issue with renaming of generic methods that could lead to 'Duplicate method declaration' error during obfuscation
    • Fixed issue that could lead to WPF resources clash in merged assemblies
    • Fixed VM issue with type loading that might occur during obfuscation of a .NET Standard assembly
    • Fixed VM issue with comparison of enum values
    • Fixed VM issue with variadic functions
    • Fixed VM issue with nested struct modification propagation
    • Fixed various issues with merging of .NET Core and .NET Standard assemblies
    • Fixed issue with namespace resolution for UWP assemblies that reference Windows runtime components from packages
  • Eazfuscator.NET 2018.1
    February 7, 2018
    • .NET Framework 4.7.1 support
    • Updated UWP support
    • Unity 2017.3 support
    • Added ability to suppress Eazfuscator.NET warnings at class and member levels
    • New date-based version numbering system for Eazfuscator.NET starting with 2018.x for all releases in 2018
    • Significantly improved .NET Core support
    • Significantly improved .NET Standard support
    • Improved data virtualization
    • Improved Entity Framework Core support
    • Improved obfuscation coverage of code produced by CCRewrite tool from Code Contracts toolkit
    • Fixed issue in assembly merger that could lead to unverifiable code generation
    • Fixed issue with NuGet and .NET Core that could lead to assembly resolution conflicts
    • Fixed issue with long P/Invoke DLL imports
    • Fixed obfuscation issue that could occur when .NET Core assembly referenced System.ValueTuple type
    • Fixed issue with assembly signing when AssemblyKeyFileAttribute is specified in the source code but MSBuild project parameters dictate that assembly should not be signed
    • Fixed issue with signature lookup of methods when they contained System.TypedReference arguments
    • Fixed issue with signature lookup of overloaded methods when they contained arguments of pointer types
  • Eazfuscator.NET 5.8
    September 28, 2017
    • .NET Core 2.0 support
    • .NET Standard 2.0 support
    • New space-efficient stack trace encoding algorithm
    • Visual Studio solution folders are now understood by Eazfuscator.NET Assistant
    • Improved Visual Studio integration
    • Improved UWP support
    • Improved Xamarin support
    • Improved XML serialization support
    • Improved reflection analysis for scenarios involving reflection calls
    • Fixed issue that could cause Eazfuscator.NET Assistant window displacement in multi-monitor setup
    • Fixed issue with an invalid hash value for a sanitized XML documentation file in ClickOnce manifest
    • Fixed issue with virtualization of inlined methods
    • Fixed VM issue with .NET Framework 2.0 compatibility
    • Fixed VM issue with enum downcast to System.Enum
    • Fixed VM issue with value type downcast to System.ValueType
    • Fixed VM issue with read-only fields
    • Fixed issue with ref property types
    • Fixed issue that could lead to unverifiable code generation when assembly had AllowPartiallyTrustedCallers attribute
    • Fixed issue with handling of partially named value tuples
    • Fixed issue that could lead to "No assembly was read by type system engine" error during obfuscation
    • Fixed issue with const literal renaming when InternalsVisibleTo attribute was applied to the assembly
  • Eazfuscator.NET 5.7
    June 15, 2017
    • .NET Framework 4.7 support
    • .NET Core support
    • .NET Standard support
    • Portable PDB support
    • Better code optimization. Added new hot spot optimizers
    • Improved Visual Studio 2017 support
    • Improved reflection analysis for C# dynamic expressions
    • Fixed issue with signature lookup of overloaded methods when they contained arguments annotated by modopt/modreq type modifiers
    • Fixed issue with signature lookup of vararg methods
    • Fixed bug in mkrefany IL instruction handling
    • Fixed bug in refanyval IL instruction handling
    • Fixed issue with obfuscation of nested anonymous objects
    • Fixed issue with inlining of methods declared in nested classes
    • Fixed rare issue in code optimizer that could lead to unverifiable code generation
    • Fixed VM issue with array initialization under Mono on Unix platforms
    • Fixed VM issue that could occur in Assembly.LoadFrom context
    • Fixed issue with obfuscation of an assembly containing a reference to a multi-module assembly
  • Eazfuscator.NET 5.6
    March 21, 2017
    • Visual Studio 2017 support
    • Automatic obfuscation of named elements in value tuples
    • Out of the box support for DevExpress DXBinding
    • Improved support for WPF
    • Improved support for UWP
    • Improved Visual Studio integration
    • Improved reflection analysis for LINQ expressions
    • Fixed issue that could lead to StackOverflowException during obfuscation of custom attributes with large byte array parameters
    • Fixed VM issue with exception finally blocks in code generated by Roslyn compilers
    • Fixed VM issue that could lead to endless loop on exception rethrow
    • Fixed issue with obfuscation of custom attribute initializers when they had an object argument which took a System.Type value
    • Fixed issue with Windows Runtime Component type mappings
    • Fixed "The process cannot access the file because it is being used by another process" issue that could occur during obfuscation of some Unity assemblies
    • Fixed issue that could lead to "Unable to load System.ValueTuple assembly" error during obfuscation
  • Eazfuscator.NET 5.5
    January 19, 2017
    • Visual Studio 2017 RC support
    • Preliminary support for .NET Standard
    • Out of the box support for Windows Installer XML custom action projects
    • Added readonly variable for conditional obfuscation of fields and properties
    • Improved support for VSIX projects
    • Improved Visual Studio integration
    • Fixed issue with WPF resources defined in satellite assembly
    • Fixed issue with obfuscation of custom attribute member initializers when they followed a null string value
    • Fixed issue with LINQ expression tree properties
    • Fixed issue with const literals referenced by x:Static XAML markup extension
    • Fixed issue with constructor virtualization when declaring class is derived from generic base class
    • Fixed issue with portable class libraries that target Profile47
    • Fixed issue with optional method parameters passed by reference
    • Fixed issue with string encryption initialization under Mono on Linux
  • Eazfuscator.NET 5.4
    October 4, 2016
    • .NET Framework 4.6.2 support
    • Out of the box support for Entity Framework Core
    • Obfuscation attributes prioritization
    • Automatic authenticode signing of obfuscated ClickOnce assemblies when corresponding certificate is specified in Visual Studio project settings
    • Preliminary support for Visual Studio "15" Preview
    • Improved Visual Studio integration
    • Improved compatibility with .NET Native
    • Improved LINQ to SQL support
    • Improved reflection analysis for LINQ expressions
    • Fixed issue with lost calling convention of calli instruction's operand
    • Fixed issue that occurred when trying to obfuscate UWP assemblies with a NuGet reference to Microsoft.NETCore.UniversalWindowsPlatform 5.2.2 package
    • Fixed issue that could lead to endless loop during analysis of IL code
    • Fixed issue that could lead to exception during obfuscation related to serialization of assembly custom attributes in .netmodule files
    • Fixed issue in Visual Studio extension that could lead to error dialogs in Visual Studio 2015 versions prior to Update 1
    • Fixed issue with ClickOnce manifests and timestamp server URL which might not be considered during obfuscation
    • Fixed issue with NuGet package assemblies resolution
    • Fixed issue that could lead to exception "A numeric comparison was attempted on A.B that evaluates to X.Y instead of a number" during obfuscation. The issue was caused by MSBuild integration subsystem of Eazfuscator.NET and manifested itself with UWP and PCL projects when Visual Studio 2015 Update 3 was installed on developer machine
  • Eazfuscator.NET 5.3
    June 15, 2016
    • Deeper Visual Studio integration
    • Resource sanitization
    • Out of the box support for ServiceStack framework
    • Automatic handling of NuGet 3 project semantics
    • Better code optimization. Added new hot spot optimizers
    • Greatly improved reflection analysis for scenarios involving reflection calls
    • Improved JSON serialization support
    • Improved support for Unity projects
    • Fixed issue that occurred when trying to add protection to UWP 1.3 projects
    • Fixed issue with design-time usage protection option and methods marked with System.Web.Services.WebMethodAttribute
    • Fixed regression that could lead to StackOverflowException during obfuscation under some rare circumstances
    • Fixed rare issue that could lead to race condition during obfuscation
    • Fixed issue with inlining of entry point methods
  • Eazfuscator.NET 5.2
    March 17, 2016
    • Data virtualization now supports strings, Guids and arrays of primitive types
    • .netmodule files support
    • Out-of-the-box support for Microsoft Unity Container
    • Added ability to check for const criteria in conditional obfuscation of members
    • Improved support for Protocol Buffers, XML and other serializers
    • Improved support for MEF
    • Improved configuration flexibility for resource encryption
    • Improved Eazfuscator.NET Assistant user interface for remote desktop sessions on Windows 8 and later
    • Fixed issue with renaming of WinRT type references in custom attributes
    • Fixed issue that could lead to QueryInterface failures in COM interop types
    • Fixed issue with inlining of a method declared in generic class
    • Fixed issue with VB.NET WithEvents expressions
    • Fixed issue with virtualization of generic array types
    • Fixed issue with Remember password option in stack trace decoder window
    • Fixed issue with diamond interface inheritance
    • Fixed issue with auto discovery of a signing key
    • Fixed Eazfuscator.NET Assistant user interface issues for custom DPI resolutions
  • Eazfuscator.NET 5.1
    December 4, 2015
    • Data virtualization
    • Application manifest sanitization
    • Satellite assemblies merging
    • .NET Framework 4.6.1 support
    • Windows 10 UWP and .NET Native support
    • Out of the box support for VSIX projects
    • Out of the box support for SQL Server database projects
    • Built-in code optimizer now honors [MethodImpl(MethodImplOptions.NoOptimization)] attribute
    • /internalize flag specified in merger custom parameters now honors types excluded from internalization
    • Minimal system requirements changed to Vista SP 2 and .NET Framework 4.5
    • Improved Visual Studio 2015 support
    • Improved JSON serialization support
    • Improved support for Caliburn.Micro MVVM framework
    • Improved obfuscation coverage
    • Improved support for COM interoperability types
    • Improved Windows 10 compatibility
    • Fixed issue with enum values in custom attributes
    • Fixed issue with assemblies merging and MDILProjectFiles.xml manifest in Windows Phone applications
    • Fixed VM issue with comparison of enum and int values
    • Fixed VM issue that might occur when store operation was performed on a field reference
    • Fixed issue with popup on Windows 10 that suggested to install .NET 3.5 when assembly merging was performed during obfuscation
    • Fixed issue with inherited interface methods renaming when they contained ref int and enum parameters in overloaded signatures
    • Fixed method inlining issue that could lead to unverifiable code generation
    • Fixed input file locking issue that could occur when obfuscation took place in TFS 2015 environment
    • Fixed issue with generic constraints and method overloading
    • Fixed issue when method arguments were renamed even when the declaring type had exclude 'all' obfuscation directive
  • Eazfuscator.NET 5.0
    July 20, 2015
    • Visual Studio 2015 support
    • .NET Framework 4.6 support
    • Better metadata and code optimization. Added new hot spot optimizers
    • Improved reflection analysis
    • Improved XML documentation filter
    • Improved XML serialization support
    • Improved JSON serialization support
    • Improved Xamarin support
    • Fixed issue with partial name resolution of embedded strongly-named assemblies
    • Fixed VM issue with multidimensional arrays of complex value types
    • Fixed XAML issue with string format in binding expression
    • Fixed issue with XML documentation pruning for types derived from non-browsable types
    • Fixed issue with WinRT applications produced by Visual Studio 2015
    • Fixed issue with merging of Portable Class Libraries that target Windows 8.0, 8.1 or Windows Phone 8.1
    • Fixed assembly merging issue with XAML resources
    • Fixed issue with generic type signatures that might occur during assembly merging
  • Eazfuscator.NET 4.9
    May 19, 2015
    • Visual Studio 2015 RC support. Please note that if you plan to use Visual Studio 2015 RC or higher for production purposes then Eazfuscator.NET version 4.9 or higher is the requirement. More info on Roslyn compilers and obfuscation
    • .NET Framework 4.6 preliminary support
    • Improved obfuscation coverage of enums
    • Improved virtualized code execution performance
    • Improved MSBuild integration
    • Fixed XAML issue with attached properties in the left side of assignment statements that include markup extensions on the right side
    • Fixed XAML issue with properties represented by GetXXX and SetXXX methods
    • Fixed XAML issue with null collections
    • Fixed VM issue with ref arguments of System.Object type
    • Fixed VM issue with ref arguments of nullable value types
    • Fixed VM issue with type-constrained virtual calls
    • Fixed issue with methods that implement IDispatch/Dual COM interfaces
    • Fixed race condition in PDB file processing pipeline
    • Fixed issue with PDB files generated by Roslyn compilers
    • Fixed issues with --configuration-file command line option
  • Eazfuscator.NET 4.8
    March 20, 2015
    • Visual Studio 2015 Preview support
    • Public API surface is automatically shrunk when design-time usage protection is on
    • Improved Entity Framework support
    • Improved XML serialization support
    • Improved obfuscation coverage of imported COM types
    • Improved obfuscation coverage of web service proxy classes
    • Improved size efficiency of symbol names encryption
    • Improved debugging support
    • Improved documentation
    • Fixed issue that could lead to "Invalid PE file" error during obfuscation
    • Fixed BAML serialization issue with x:Shared property of resource dictionary item
    • Fixed type loading issue during XAML obfuscation that could occur for generic types specialized by WinRT types
    • Fixed issue that might lead to packaging of an unobfuscated .exe assembly into ClickOnce package when build was performed with Visual Studio 2013 Update 4 or higher
    • Fixed issue with custom publisher name in resigned ClickOnce manifests
    • Fixed assembly merging issue for .NET 4.5.1 + Windows 8.1 portable class libraries
    • Fixed issue with interface implementations in Windows Runtime Component assemblies that could lead to System.MissingMethodException
    • Fixed issue with conditional obfuscation diagnostics that occurred when Exclude property of ObfuscationAttribute had true value
  • Eazfuscator.NET 4.7
    January 5, 2015
    • Out of the box support for F# assemblies
    • Design-time usage protection
    • Improved reflection analysis for enums
    • Improved debugging support
    • Improved virtualized code density and execution performance
    • Improved support for JSON serializers
    • Improved Entity Framework support
    • Improved obfuscation coverage for Unity assemblies
    • Fixed issue with location of Eazfuscator.NET Assistant window in multi-monitor setup
    • Fixed issue that could lead to EF-1099 error during obfuscation of Profile32 portable libraries
    • Fixed issue that could lead to 'unresolved global member ref 'Format' error during obfuscation of portable libraries
    • Fixed issue with handling of generic types in Windows Runtime Component assemblies that could lead to an error during obfuscation
    • Fixed issue with assembly embedding partial name resolution for strongly-named satellite assemblies
    • Fixed VM issues with generic method signature lookup
    • Fixed VM issue that could lead to unverifiable code generation
    • Fixed issue with tail calls and control flow obfuscation that could lead to unverifiable code generation
    • Fixed F# SDK assembly resolving issue that might lead to a wrong FSharp.Core assembly reference
  • Eazfuscator.NET 4.6
    October 14, 2014
    • Out-of-the-box support for Entity Framework
    • Visual Studio 14 CTP support
    • Added support for mixed-mode assemblies with native DLL exports
    • Added ability to resign output assembly with a different private key
    • Added generic variable for conditional obfuscation of members
    • Virtualization is now allowed for Unity platform
    • NXCOMPAT executable module flag is now preserved after obfuscation
    • Improved obfuscation coverage of [Serializable] classes
    • Improved embedding of multi-targeted native assemblies
    • Improved obfuscation speed
    • Improved documentation
    • Fixed the issue of not obfuscating the resulting AppX package when Store App project is built from the command line with MSBuild
    • Fixed rare issue with optimization that could produce unverifiable code
    • Fixed VM issue with Assembly.GetCallingAssembly method
    • Fixed VM issue with MethodBase.GetCurrentMethod method
    • Fixed VM issue with TypedReference
    • Fixed VM issue with non-int enums
    • Fixed VM issue with ref/out arguments and exceptions
    • Fixed issue with automatic assembly signing parameters extraction for some rare but valid MSBuild project formats
    • Fixed XAML issue with ResourceDictionary source URIs that might stay uncovered after assembly merging
    • Fixed XAML issue with classes inherited from ResourceKey and TemplateKey types
    • Fixed issue with generic type signatures that might occur during assembly merging
    • Fixed a bug in overload matching for specialized generic return types
    • Fixed issue that might lead to unverifiable code generation when input assembly was preprocessed by Fody PropertyChanged weaver
    • Fixed issue with Unicode file paths that can be wrongfully distorted by MSBuild. The issue led to 'File not found' error during obfuscation
  • Eazfuscator.NET 4.5
    July 17, 2014
    • FIPS compliance
    • .NET Framework 4.5.2 support
    • Windows Phone 8.1 support
    • Improved Windows Store applications support
    • Improved XML serialization support
    • Improved reflection analysis for enums
    • Fixed control flow obfuscation issue with Mono
    • Fixed issue with renaming of custom attribute fields
    • Fixed issue with renaming of classes in generic constraints when they have no namespaces
    • Fixed issue with portable class libraries that target Profile32
    • Fixed issue with processing of long embedded resource names
    • Fixed issue with security declarations
    • Fixed issue that occurred during obfuscation of Windows Phone 8.1 class libraries
    • Fixed assembly loading issue that may occur during obfuscation of Windows Phone 8.0 and 8.1 class libraries
  • Eazfuscator.NET 4.4
    May 19, 2014
    • Universal Windows Apps support
    • New compatibility mode and improved heuristics for VB.NET code that strongly relies on late binding
    • Added anonymous and generic variables for conditional obfuscation of types
    • Fixed XAML issue with duplicate XML namespaces
    • Fixed XAML issue with handling of binding relative sources
    • Fixed XAML issue with multiple generic specializations
    • Fixed issue with possible resource name clash in resource encryption
    • Fixed issue with processing of malformed KnownTypeAttribute declarations on data contract serializable types
    • Fixed issue with [Flags] attribute that might be pruned from a public enum in a class library
    • Fixed issue that might lead to stack overflow exception during obfuscation
    • Fixed issue with signature lookup of overloaded generic methods when they contain ref arguments of generic types
    • Fixed issue with Portable Class Libraries (PCL) that might lead to assembly loading error during obfuscation
  • Eazfuscator.NET 4.3
    March 20, 2014
    • NuGet deployment
    • Out of the box support for VB.NET late binding expressions
    • New code optimizations. Dead code elimination in method scope
    • Added ability to exclude merged classes from internalization
    • Added ability to remove custom attributes by given conditions
    • Added ability to set FamANDAssem visibility level for specified class members
    • Improved support for Unity projects
    • Fixed issue with method parameter renaming
    • Fixed issue with signature lookup of overloaded generic methods
    • Fixed VM issue with code verifiability
    • Fixed VM issue with ref arguments and exceptions
    • Fixed VM issue with references in local variables
    • Fixed 'method definition not found' issue that might occur during virtualization of inlined methods
    • Fixed obfuscation of assemblies produced by Unity when target is Windows Store
    • Fixed issue with XML documentation filter and VB.NET projects when output assembly name contains spaces
  • Eazfuscator.NET 4.2
    January 17, 2014
    • Method inlining
    • Automatic Windows Phone tombstone serialization heuristics
    • Added new $(ConfigurationName) script variable
    • Added ability to use relative file paths in .PDB files. This feature is controlled by a new relative_file_paths flag
    • Added command line option that allows to specify configuration file in C# or VB.NET format with a list of assembly attributes for obfuscation
    • Improved support for ClickOnce and VSTO projects
    • Improved support for data contract serialization
    • Improved speed of XAML obfuscation
    • Improved support for Unity and Xamarin projects
    • Improved documentation
    • Fixed 'this type cannot be an interface itself' issue
    • Fixed issue with referenced third party components that contain .XBF files for Windows Store 8.1 applications
    • Fixed rare but critical issue with broken code semantics
    • Fixed issue with Windows Phone incremental deployment and encrypted symbol names
    • Fixed issue with .PDB file serialization
    • Fixed issue with signature lookup of overloaded generic methods when they contain variance modifiers
    • Fixed 'Silverlight 2.0 SDK is not found' issue during obfuscation of Unity and Xamarin assemblies
  • Eazfuscator.NET 4.1
    November 17, 2013
    • Unity gaming engine support
    • Assembly merging now understands script variables
    • Added has_attribute function for conditional obfuscation
    • Improved support for XAML and web services on WinRT platform
    • Improved support for JSON serializers
    • Improved filtering of XML documentation generated by F# compiler
    • Improved pruning of .NET metadata
    • Removed dependency on ILMerge tool for assembly merging
    • Fixed issues with implicit interface mapping
    • Fixed issue with equivalence of imported COM types
    • Fixed support for newer versions of Microsoft.Bcl and Microsoft.Bcl.Async NuGet packages when build machine has .NET 4.5 installed and project targets .NET 4.0
    • Fixed obfuscation hang for some applications when debug renaming feature was active
    • Fixed handling of ObfuscateAssembly attribute for Silverlight
    • Fixed assembly merging for WinRT
    • Fixed assembly merging issue when unverifiable code was produced for external field references flavored by volatile modifiers
    • Fixed XAML issues with forwarded types
    • Fixed XAML issues with generics
    • Fixed XAML issue with custom resource markup extension
    • Fixed XAML XBF issues for Windows 8.1 Store Apps
    • Fixed VM issue with call instruction for instance method when this pointer is null
  • Eazfuscator.NET 4.0
    September 17, 2013
    • Visual Studio 2013 support
    • .NET Framework 4.5.1 support
    • Improved XAML property path analysis
    • Improved support for ClickOnce
    • Fixed issue with VSTO projects
    • Fixed issue with signature lookup of generic methods when they contain several generic parameters. The issue occurred for assemblies processed by PostSharp
    • Fixed XAML issue with attached properties defined in internal classes
    • Fixed XAML issues with data binding
    • Fixed VM issue with COM types casting
    • Fixed VM issue with implicit operators of nullable types
    • Fixed VM concurrency issue with calls to methods of System.Threading.Interlocked type
    • Fixed Eazfuscator.NET Assistant UI issues for DPI resolutions other than 96
  • Eazfuscator.NET 3.9
    July 15, 2013
    • Out of the box support for Caliburn.Micro MVVM framework
    • Added preliminary support for Xamarin projects
    • LARGE_ADDRESS_AWARE, NET_RUN_FROM_SWAP and REMOVABLE_RUN_FROM_SWAP module flags are now preserved after obfuscation
    • Improved support for JSON serializers
    • Improved support for LINQ data context
    • Fixed issue with Windows Phone 8 applications when they reference XNA assemblies
    • Fixed potential 'Process terminated due to StackOverflowException' issue during JSON serialization analysis
    • Fixed issue during obfuscation that occurs when processed assembly uses Microsoft.Bcl.Async NuGet package and targets .NET 4.0
    • Fixed issue with resource encryption when one of the assembly embedded resources had a ',' character in its name
    • Fixed issue with pruning of enum fields when InternalsVisibleTo attribute is applied to the assembly
    • Fixed issue with duplicate parameter names for PInvoke method
    • Fixed various XAML issues
  • Eazfuscator.NET 3.8
    May 17, 2013
    • Out of the box support for popular JSON serializers
    • Automatic renaming of argument exception parameters
    • Added ability to prevent SuppressIldasmAttribute injection
    • Improved SQL CLR support
    • Fixed rare but critical issue with broken code semantics
    • Fixed XAML serialization of attached properties for Windows Phone 7.0 and Silverlight 2 and 3
    • Fixed XAML issue with field, property and event name collisions
    • Fixed XAML renaming of nested types
    • Fixed BAML serialization issue that led to 'Index was outside the bounds of the array' error for some XAML statements
    • Fixed issue with broken consistency of debug information due to applied code optimizations
    • Fixed issue with renaming of types with a naked namespace
  • Eazfuscator.NET 3.7
    March 18, 2013
    • New code optimizations
    • Out of the box support for SQL CLR assemblies
    • Eazfuscator.NET SDK for Java
    • Added immediate_load flag for assembly embedding
    • Improved XAML renaming
    • Fixed string processing for some rare tokens with escape symbols
    • Fixed issue during processing of satellite resource assemblies
    • Fixed renaming of loose type names in custom attributes
    • Fixed XAML processing of elements that have a content property set several times
    • Fixed XAML processing of attached properties
    • Fixed XAML processing of empty complex properties
    • Fixed VM issue with lost exception stack trace entries
    • Fixed VM issue with boolean type checks
    • Fixed assembly embedding issue for assemblies referenced by XAML
  • Eazfuscator.NET 3.6
    December 17, 2012
    • XAML renaming for Silverlight, Windows Phone and WinRT applications
    • Windows Phone 8 support
    • Portable Class Libraries support
    • Secure debugging
    • Out of the box support for custom marshalers
    • Improved XAML renaming for WPF applications
    • Fixed NullReferenceException issue during obfuscation of some WPF applications
    • Fixed assemblies merging for WPF assemblies
    • Fixed renaming of custom attribute properties when attribute is defined in input assembly
    • Fixed ClickOnce manifest updating for .NET 4.5 assemblies
    • Fixed VM issue with nested exception handlers
    • Fixed VM issue with nullable types
    • Fixed VM issue with exceptions which are not derived from System.Exception
    • Fixed VM issue with typeof() expressions
  • Eazfuscator.NET 3.5
    October 2, 2012
    • XAML renaming for WPF applications
    • 200% speed improvement of virtualized code
    • Better metadata and code optimization. Added new hot spot optimizers
    • Improved XML serialization support
    • Fixed rare 'Ambiguous match found' issue
    • Fixed issue with evaluation message which can be unexpectedly shown during uninstall
    • Fixed issue with overloaded methods in VM
    • Fixed reflection issues when input assembly uses the assemblies with the same identities which are used by Eazfuscator.NET
    • Fixed issue in LINQ to SQL renaming
    • Fixed issue with method signature lookup during obfuscation and VM runtime for types with specifiers
    • Fixed licensing issue when Eazfuscator.NET is run from SYSTEM account by a build server
    • Fixed rare issue when virtualization produced unverifiable code for some methods
    • Fixed issue with interop array marshalling
    • Fixed issue with ildasm crash for some .NET 2.0/3.5 assemblies
    • Fixed rare issue with method renaming for classes inherited from MarshalByRefObject
    • Fixed minor issue with optimizer which can rarely lead to unverifiable code generation
    • Fixed issue with updater which can unexpectedly run during install and uninstall
    • Fixed issue with custom attributes' named properties and fields of array type
    • Fixed issue with custom configuration sections and custom attributes
    • Fixed overload method lookup issue when argument is a generic parameter of declaring type, and declaring type has large number of generic parameters
    • Fixed optimizer issue when obfuscation fails on some code statements with a message 'Index was out of range. Must be non-negative and less than the size of the collection.'
    • Fixed rare issue with generic method signatures during code injection
    • Fixed certification issues for WinRT applications
    • Fixed support of extension SDKs for WinRT applications
    • Fixed compatibility issue when trying to merge .NET 4.0 assemblies on a machine with installed .NET 4.5
    • Fixed certification issues for WinRT class libraries
    • Fixed obfuscation support for WinRT components
    • Fixed VM issue with array access
    • Fixed VM issue with Windows XNA applications
    • Fixed VM issue with array creation when length argument is UInt32
    • Fixed VM issue with dynamically loaded assemblies
    • Fixed VM issue with .NET framework retargeting
    • Fixed analysis for merged assemblies
    • Fixed WinRT store submission issue which sometimes led to vague error message on application upload
  • Eazfuscator.NET 3.4
    June 22, 2012
    • Code virtualization
    • .NET 4.5 and WinRT support
    • Added 'inherits' function for conditional obfuscation
    • Improved XML serialization support
    • Improved documentation
    • Fixed handling of calli IL instruction
    • Fixed method lookup issue when argument is a nested generic type
    • Fixed XmlType serialization issue
  • Eazfuscator.NET 3.3
    March 5, 2012
    • Code optimizer. Delivers great speed to your applications
    • Control and data flow analysis. Delivers better reflection support
    • XNA 4 support
    • Silverlight 5 support
    • Windows SDK 8.0 support
    • Visual Studio 2012 support
    • This is the last free version of Eazfuscator.NET
    • Greatly improved support of self-hosted WCF services
    • Neutral mode is the default one for assembly loader now. This solves architecture dependency issues, and now it is possible to obfuscate 64 bit assemblies on 32 bit machines
    • Fixed template method signature lookup issue
    • Fixed bug in template constraints rewriting
    • Fixed own satellite assemblies embedding issue introduced in 3.2
    • Fixed a reflection analysis issue for Windows Phone apps introduced in 3.2
    • Fixed issues with overloaded methods in XML Documentation Filter
  • Eazfuscator.NET 3.2
    October 26, 2011
    • Debug renaming
    • Native modules embedding
    • Rule-based conditional obfuscation for type members
    • PE32+ executable file format support
    • Post-mortem expert analysis feature. The built-in knowledge base is used to give a relevant hint to user when a tricky obfuscation error occurs
    • Script variables in declarative obfuscation attributes
    • Added ability to embed own satellite assemblies
    • Added ability to treat warnings as errors
    • Added ability to define probing paths by declarative obfuscation attributes
    • Added 'load_from_file' flag for assembly embedding
    • Added support for synergistic interoperability between CodeDom compilation and assembly embedding
    • Added support for embedding satellites of assemblies resided in GAC
    • Added extends('...') function to conditional obfuscation syntax
    • Improved string encryption
    • Improved obfuscation of enums
    • Improved LINQ to SQL analysis engine
    • Improved reflection analysis engine for toolbox item bitmaps
    • Added automatic workaround for VSTO projects integration issue
    • Declarative obfuscation attributes at assembly level from merged assemblies are now considered too
    • Changed Eazfuscator.NET redistribution terms in EULA
    • Fixed MEF ImportMany semantics handling
    • Fixed an error during obfuscation of Compact Framework assemblies. Sometimes it failed with a common message "Method 'A' in type 'B' from assembly 'C' does not have an implementation"
    • Fixed bug in renaming of nested generic constraints
    • Fixed bug in handling of '[in][out][opt]' method argument signature
    • Fixed bug in renaming of generics with multiple interface constraints
    • Fixed issue with renaming of interface methods when implicit implementations from external assemblies are involved
    • Fixed bug in 'endfilter' IL instruction handling
    • Fixed bug in overloaded signature lookup of generic return types
    • Fixed various modopt signature issues
    • Fixed anonymous types handling in Compact Framework assemblies
    • Fixed edge cases when assembly can become logically broken and unverifiable when custom [Obfuscation] attributes are applied to the bottom class of the class hierarchy
    • Fixed method signature lookup when it contains ByRef template parameter
    • Fixed declarative obfuscation support for VB.NET when corresponding attributes were defined in input assembly. The VB.NET code snippet at %ProgramFiles%\Eazfuscator.NET\Code Snippets\VB.NET\ObfuscationAttributes.vb was accordingly fixed too. This applies to Silverlight, Windows Phone and Compact Framework VB.NET projects only
    • Fixed method lookup issue when a class implements the same generic interface several times but with different generic parameters
    • Fixed custom attributes handling for method parameters
  • Eazfuscator.NET 3.1
    April 17, 2011
    • Resource encryption and compression
    • Out-of-the-box support for Managed Extensibility Framework (MEF)
    • Rule-based conditional obfuscation
    • Code control flow obfuscation produces fully verifiable code
    • Windows SDK 7.1 support
    • Improved multi-core performance
    • Improved obfuscation of PInvoke methods
    • Improved string encryption
    • Improved support for LINQ
    • Improved support for Web services
    • Improved support for Component Designer
    • Improved serialization analysis engine
    • Assemblies embedding improvement: corresponding satellite assemblies are embedded automatically
    • Fixed declarative obfuscation for merged assemblies in constrained environments (Silverlight, Windows Phone, Compact Framework, XBox)
    • Fixed issues with assemblies generated by Delphi Prism
    • Fixed assembly resolution issue
    • Fixed bug in XML serialization of nested classes
    • Fixed bug in handling of class template constraints
    • Fixed bug in handling of exception classes without namespace
    • Fixed bug in overload searching of XML Documentation Filter
    • Fixed assembly embedding on Mono
    • Fixed bugs in interface mapping handling
    • Fixed issue in assembly merging with key container assembly signing
    • Fixed issue with string encryption and culture-specific equal characters, such as 'ß' and 'ss'
  • Eazfuscator.NET 3.0
    January 15, 2011
    • Assemblies embedding with encryption and compression
    • Debugging support
    • String compression
    • PEVerify integration
    • Embedded and merged assemblies are automatically removed from XAP packages
    • Improved ILMerge install location detection
    • Improved assembly resolution. As a result, this fixes the issues with obfuscating addins for Autodesk products
    • Improved support for WCF services
    • Improved reflection analysis
    • Improved and updated documentation
    • Fixed assembly merging for Silverlight projects
    • Fixed CLR verification issues
  • Eazfuscator.NET 2.9
    December 15, 2010
    • Added support for Windows Phone 7
    • Added support for Silverlight 4
    • Minimal system requirements changed to Windows XP SP 3 and .NET Framework 4
    • Improved LINQ support
    • Improved string encryption
    • 'ILMerge: Unresolved assembly reference not allowed: PresentationFramework' error is fixed for .NET 4 WPF applications
    • Fixed bug in signature calculation of template methods with 'out' parameters.
    • Fixed 'An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework' issue
    • Fixed bug with internal setter of public properties in .DLL assemblies
    • Fixed an issue with NamespaceDoc classes and XML Documentation Filter
    • Fixed issues with PostSharp integration
    • Fixed an issue with namespace-less classes
    • Fixed inheritance+interface mapping bug which led to missed method implementations
  • Eazfuscator.NET 2.8
    April 13, 2010
    • Added automatic XML documentation filter. XML documentation for non-public classes, methods, fields, properties and events is automatically pruned so that essential knowledge about component internals does not leak to the rest of the world anymore. This feature is essential for component developers and publishers
    • Added automatic signing key discovery. .SNK key file(s) can now be placed near the input assemblies
    • Added support for .NET 4.0 and Microsoft Visual Studio 2010
    • Added Eazfuscator.NET SDK for .NET
    • Added ability to pass custom parameters to ILMerge utility
    • Added an ability to create fail-safe project integrations. Such projects can be successfully built without obfuscation when Eazfuscator.NET is not installed on machine
    • Added an ability to ignore InternalsVisibleToAttribute
    • Added --probing-paths option. It allows to specify folders to use during assembly resolution
    • SuppressIldasmAttribute is automatically applied to the obfuscated assemblies
    • /ndebug command line option is automatically passed to ILMerge utility when assembly merging is used
    • ILMerge transitive closure detection is no longer turned on by default. This eliminates unexpected assembly merging
    • Improved reflection analysis for components with design-time behavior
    • Improved pruning of .NET metadata
    • Improved obfuscation speed
    • Improved performance of string encryption
    • Updated documentation
    • Fixed bug with custom COM marshallers
    • Fixed bug with satellite assemblies in .NET Compact Framework applications
    • Fixed a bug in .NET Framework installation path discovery
    • Fixed overload induction algorithm to satisfy C++ assemblies that reference obfuscated assemblies. This fix is essential for component developers and publishers
    • Fixed an issue with SuppressIldasmAttribute when Eazfuscator.NET is run by .NET 4.0
    • Added AllowPartiallyTrustedCallers attribute to Eazfuscator.NET.SDK.dll assembly. This fixed a bug with SDK in partial-trust environment
    • Fixed a bug in stackalloc statement processing
    • Fixed a bug in attribute-controlled obfuscation of fields
  • Eazfuscator.NET 2.7
    September 24, 2009
    • Greatly improved reflection analysis for WCF classes. As a result, webservices work flawlessly in Silverlight applications
    • Critical bug was fixed in string encryption code. Some strings became corrupted due to JIT inlining optimization
  • Eazfuscator.NET 2.6
    September 5, 2009
    • Added support for indirect declarative obfuscation (see documentation for details)
    • Added support for Silverlight 3 technology
    • Added support for XNA 3.1 technology
    • Added features for advanced obfuscation of binary serialized items (see documentation for details)
    • Improved support for COM interoperability types
    • Improved XML serialization support
    • Updated documentation
    • Excluded bell character from character set of random name generator
    • Fixed automatic serialization detection for nested classes
    • Fixed bug which led to 'The given key was not present in the dictionary' message
    • Fixed bug with overloaded signature lookup and multidimensional array parameters
    • Fixed bugs in overload signature detection for generics
    • Fixed bug in custom attributes handling for properties
    • Fixed concurrency issue in string decryption code (was confirmed on multicore x64 systems)
    • Fixed a bug which led to 'Unable to parse type name token "[out][opt]"' error
  • Eazfuscator.NET 2.5
    May 19, 2009
    • Implemented support of XNA Game Studio 3.0 applications for Windows, Xbox 360 and Zune platforms
    • Added new option to the options dialog which allows to disable automatic updates
    • Added integration with Visual Web Developer Express
    • Implemented automatic exclusion of configuration section and group classes from obfuscation
    • Implemented automatic handling of InternalsVisibleToAttribute
    • Implemented support for tuning properties renaming for anonymous types at the assembly level
    • Improved reflection analysis engine. Class properties renaming is automatically excluded for anonymous types used in ASP.NET MVC routing
    • Improved obfuscation of P/Invoke methods
    • Slightly renewed GUI
    • Fixed assemblies merging for .NET Compact Framework 3.5
    • Fixed bug in handling of method template constraints
    • Fixed bug in overload signatures processing when some arguments are constrained by the class template definition
    • Fixed bug in obfuscation of XNA Game Studio 2.0 applications for Xbox 360 platform
    • Fixed bug which led to phantom modopt signature modification
  • Eazfuscator.NET 2.4
    April 4, 2009
    • Added support for Silverlight 2 assemblies and XAP packages
    • Added 'Globally disable obfuscation' setting to Eazfuscator.NET Assistant GUI for debugging purposes
    • Implemented symbol renaming with printable characters
    • Implemented turn off feature for string encryption
    • Eazfuscator.NET Assistant GUI effects are turned off in remote desktop session
    • Greatly improved ASP.NET support. Implemented automatic detection of auto-bound events, so obfuscation of ASP.NET applications is mostly flawless now
    • Improved support of .NET 3.5 add-in technology. AddInViews assemblies are resolved automatically when add-in assembly is obfuscated, so now it's possible to obfuscate add-in pipeline assemblies without any additional efforts
    • Improved reflection analysis engine. Designer-generated resources in Compact Framework projects are handled automatically
    • Slightly improved obfuscation speed
    • Improved and updated documentation
    • Fixed bug during obfuscation of unsafe managed code
    • Fixed bug in processing of custom attributes for class properties. Now it's possible to manage obfuscation of properties with custom attributes
    • Fixed bug in handling of ldelema IL instruction. As a side effect, it was impossible to obfuscate the assemblies produced by the recent version of ILMerge (first seen with ILMerge version 2.9.0210)
    • Fixed bug in processing of public constants with enumeration types
    • Fixed bug in stack depth calculation. Also this fixes a long-term issue of assembly runtime crashes after code control flow obfuscation
  • Eazfuscator.NET 2.3
    December 20, 2008
    • Implemented ability of Eazfuscator.NET to work with xcopy deployment scenario
    • Improved startup speed of Eazfuscator.NET applications
    • Improved handling of -o option in command line interface
    • Improved search algorithm for .NET SDK tools. Eazfuscator.NET is able to consume tools from PATH environment variable now
    • Fixed various method signature lookup bugs
    • Fixed bug with generic type processing which sometimes led to "Object reference not set to an instance of an object" error
  • Eazfuscator.NET 2.2
    October 12, 2008
    • Implemented code control flow obfuscation. This feature is not active by default, to get more information please refer to documentation
    • Improved reflection analysis engine. Automatic handling of localized properties of private components
    • Improved metadata removal algorithm
    • Improved symbol names encryption algorithm
    • More graceful error messages
    • Fixed bugs with method signature lookup
    • Fixed bug which led to "Unable to find tool 'Ildasm.exe'" error when Visual Studio Express SP1 is used as primary development tool and no other .NET tools are installed
  • Eazfuscator.NET 2.1
    July 28, 2008
    • Implemented support of the encrypted symbol names. This allows to decode stack traces of the production releases
    • Implemented assemblies merging feature (uses ILMerge utility underneath)
    • Renewed documentation with description of the new features
    • Fixed bug with nested templates handling
    • Fixed bug with auto sealing of the classes which were excluded from the obfuscation
  • Eazfuscator.NET 2.0
    June 2, 2008
    • Implemented support of the password protected assembly signing keys
    • Improved reflection analysis of the xml serialization scenarios
    • Improved metadata removal algorithm
    • Fixed bug which occurred when some custom attributes were read from the assembly. This bug often occurred during obfuscation of the classes generated by table adapter designer in Microsoft Visual Studio
    • Fixed bug with multidimensional arrays handling
  • Eazfuscator.NET 1.9
    May 5, 2008
    • Declarative obfuscation support for .NET Compact Framework
    • Improved reflection analysis engine
    • Improved metadata removal
    • Fixed several bugs in custom attributes processing that lead to 'Garbage at the end of line' and 'Deadlock detected in ... algorithm' errors
  • Eazfuscator.NET 1.8
    April 21, 2008
    • Improved reflection analysis engine
    • Fixed bug in obfuscation of the let statement inside LINQ expression
  • Eazfuscator.NET 1.7
    April 7, 2008
    • .NET Compact Framework versions 2.0 and 3.5 are supported now
    • Improved reflection analysis engine
    • Fixed MSBuild project integration issues on x64 systems
    • Fixed bug with optional method parameters. This bug occurred during obfuscation of the assemblies written in VB.NET programming language
  • Eazfuscator.NET 1.6
    March 27, 2008
    • Improved metadata removal
    • Improved renaming of class template arguments
    • Fixed a bug with virtual implementation of interfaces and abstract classes
    • Fixed a bug in class visibility analyzer. Nested classes visibility was not handled correctly
  • Eazfuscator.NET 1.5
    March 17, 2008
    • Fixed a bug in overload matching for specialized template arguments
    • Fixed a bug in overload matching for ref parameters
    • Fixed a bug during processing of compiler generated class names for yield statements
    • Fixed a bug when System.Type arguments of custom attributes were not processed
  • Eazfuscator.NET 1.4
    March 11, 2008
    • Improved support of web services projects
    • Improved support of XNA Game Studio projects
    • Improved reflection analysis engine
    • Fixed a bug in integration with Microsoft Visual Studio C# Express
    • Fixed a bug which may occur when obfuscating x86-targeted assemblies on x64 system
    • Fixed a bug when Eazfuscator.NET was unable to detect CorFlags.exe from .NET SDK. Bug prevented Eazfuscator.NET from working with plain installations of Microsoft Visual Studio Express editions
    • Fixed a bug which may occur during processing of some custom attributes in assembly
  • Eazfuscator.NET 1.3
    March 8, 2008
    • Automatic software updates are now turned on by default
    • Improved reflection analysis engine
    • Improved metadata removal
    • Improved error handling in Eazfuscator.NET Assistant
    • Improved string encryption – now encrypted strings are tied to the assembly strong name
    • Fixed installation repair bug
    • Fixed an issue which may occur when obfuscated projects with satellite assemblies are subsequently built with Microsoft Visual Studio in Release configuration
    • Fixed a bug when Eazfuscator.NET was unable to detect .NET SDK presence. It occurred when Microsoft Visual Studio 2008 was installed before or without Microsoft Visual Studio 2005
  • Eazfuscator.NET 1.2
    February 26, 2008
    • Added new documentation chapter about troubleshooting
    • Improved support of WPF applications
    • Improved integration with MSBuild projects
    • Fixed an issue which may occur when a class is in root namespace
    • Fixed an issue which may lead to the loss of information about target CPU architecture during assembly obfuscation
  • Eazfuscator.NET 1.1
    February 6, 2008
    • First public release