SmartAssembly 8

SmartAssembly 8.0 release notes

8.2.1 - January 29th, 2024

Fixes

  • Documentation link updated.

  • Fixed issue with multiple running instances of SmartAssembly pdb generation.

  • Fixed issue with instrumentation for error-reporting.

8.2.0 - December 4th, 2023

Features

  • Support for .NET 7 assemblies.

Improvements

  • Internal optimizations and improvements in preparation for .NET 8 support and future features.

Fixes

  • Fixed issues related to incorrect dependency resolution.
  • Fixed WPF exception handling.

  • Fixed OS version reporting.
  • Fixed issue with import module attributes being pruned.
  • Fixed issue with multiple instances of SmartAssembly sharing the same resource and can now be run concurrently.

8.1.2 - October 6th, 2022

Improvements

  • SA-2492: Extended scope of key size limitation for .snk files. Previously valid key sizes were 1024, 2048, 4096, 8192 and 16384 bits. Now key's bit-size is only constrained to be of full byte (divisible by 8), and byte-size have to be divisible by 2. This allows to use previously unsupported keys like 3072bits.

Fixes

  • SA-2388: SmartAssembly will no longer show "Multi-module assemblies are not supported" error when multi-module assembly is not required to be processed.

8.1.1 - July 19th, 2022

Features

  • SA-2478: Support for .NET 6 assemblies.

Improvements

  • SA-2488: Improved warning message when processed assembly has a strong name and any of unmerged dependency has not. Warning message will now list these dependencies.

Fixes

  • SA-2484: Fixed issue with serializing exception report with variables of ref struct type.
  • SA-2487: Fixed issue with SmartAssembly incorrectly detects installed versions of WindowsDesktop.App.

8.1.0 - December 6th, 2021

Fixes

  • SA-2479: Fixed an issue with SA unable to load runtime config.

8.0.4 - October 7th, 2021

Features

  • SA-2457,SA-2463: Added activateserial and licensetype command line options to allow users to activate SA after installation

Fixes

  • SA-2421: Fixed an issue with SA not allowing to merge/embed assemblies with "Assembly is not located in the input directory" reason when assemblies are in input directory.
  • SA-2471: Fixed an issue with satellite assemblies without specified culture causing an exception.

8.0.3 - June 28th, 2021

Fixes

  • SA-2453: Fixed an issue with `UseImprovedEncoding` option causing exception when specific combination of features were selected.

8.0.2 - March 31st, 2021

Improvements

  • SA-1695,SA-2442: It's now possible to run applications processed with SmartAssembly's Error and Feature Reporting, Embedding, Resource Encryption and Compression, and Strings Encoding on machines with FIPS compliance enabled.

Breaking changes

8.0.1 - February 9th, 2021

FREQUENT UPDATES RELEASE

Improvements

  • SA-2423: A new SaveEncryptedReportOrThrow method was added alongside the existing SaveEncryptedReport method in the error reporting SDK. It allows you to better handle potential issues when saving the error report in your custom error reporting template by throwing any exceptions that arise.
  • SA-2435: When building an assembly with a reference to an assembly with invalid metadata, SmartAssembly will offer to ignore the invalid metadata if it causes the build to fail.

Fixes

  • SA-1672: Fixed an issue where attempting to open an assembly with multiple mscorlib references and one of them being mscorlib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null, would throw NotSupportedException: Error calculating CLR version for module <FileName>.dll.
  • SA-2430: Obfuscation of compiler-generated serializable types now works correctly when building from command-line of SmartAssembly Standard edition.
  • SA-2431: Fixed an issue where building a .NET Standard 2.1 assembly without .deps.json would fail due to "invalid symbol".

8.0.0 - December 17th, 2020

FREQUENT UPDATES RELEASE

This version introduces basic support for .NET 5 assemblies. More features and fixes are expected in subsequent releases. Refer to Known issues section for more information.

Features

  • SA-2406: It's now possible to redirect SmartAssembly logs to MSBuild output when using SmartAssembly MSBuild Tasks. See Enable logging.

Improvements

  • SA-2187: With this major version, SmartAssembly settings will be automatically carried over from previous versions. See Upgrading from SA 7 to SA 8 for more details

Breaking changes

Known issues

This version of SmartAssembly is considered a preview. Some .NET 5 and C# 9 features may not be fully implemented yet which may cause issues described below. We plan to fix these issues in future updates of SmartAssembly.

If you encounter an issue not included on this list, please use the "Contact us" link within the SmartAssembly window.

  • SA-2391: C# 9.0 records: Compiler-generated PrintMembers method may reveal original property names, and a compiler-generated ToString method may reveal the original record name.
    • Workaround: Implement the PrintMembers and ToString methods yourself to prevent compiler from generating a default ones:
      public record Test(string Prop1, int Prop2)
      {
          public override string ToString() => string.Empty;
          protected virtual bool PrintMembers(StringBuilder builder) => false;
      }
  • SA-2382: Blazor: Obfuscation of the App class causes TypeLoadException on runtime.
    • Workaround: Exclude the App class from obfuscation using the Exclusions dialog or custom attributes.
  • SA-2393: Blazor: Adding error and feature reporting may break the application.
    • Workaround: disable error and feature reporting.
  • SA-2394: Blazor (WebAssembly): Enabling Control Flow Obfuscation may break the application.
    • Workaround: disable Control Flow Obfuscation.
  • SA-2396: Blazor (WebAssembly): Enabling References Dynamic Proxy may cause the application to hang.
    • Workaround: disable References Dynamic Proxy.
  • SA-2397: Blazor (WebAssembly): Enabling Strings Encoding with compression and encryption may break the application.
    • Workaround: disable "I want to compress and encrypt the encoded strings" checkbox. Note that other Strings Encoding features (such as improved protection and caching) can be used with no issues.

Didn't find what you were looking for?