Skip to content

Releases: Nihlus/AdvancedDLSupport

v3.1.0 - Span parameters and calli

27 Sep 14:09
feaa38f
Compare
Choose a tag to compare

This is a feature release.

  • Span can now be marshalled as a parameter in addition to a return value
  • Indirect calls are now supported on more platforms, including .NET Core 2.0.

v3.0.0 - Span return marshalling, library loading changes, and delegate lifetimes.

27 Sep 14:04
8cb1af3
Compare
Choose a tag to compare

This is a feature release, containing numerous new additions.

  • Span can now be marshalled as a return value from unmanaged code (see #76)
  • Symbol and Library loaders can now be overridden by users (see #84)
  • The lifetime of delegates that are passed to unmanaged code can now be controlled (see #79)
  • in parameters are now supported

v2.3.2 - Dependency reductions and interface improvements

27 Sep 13:59
fc0118d
Compare
Choose a tag to compare

This is a minor improvement release.

  • The memory layout of nullables are scanned at runtime, instead of having hardcoded assumptions.
  • Make StrictEmit a private dependency.
  • Move to Humanizer.Core to reduce the dependency footprint
  • Ensure duplicate interface members are explicitly overridden
  • Add some useful overloads to DiscoverCompiledTypes.
  • Save AOT assemblies to a single file

v2.3.1 - Fix to by-reference nullables

21 Dec 17:07
8700de9
Compare
Choose a tag to compare

This release fixes a problem where by-ref nullable structs were not always marshalled properly.

v2.3.0 - Bug fixes and self-referential loading

17 Sep 16:54
a4d1ceb
Compare
Choose a tag to compare

This release is a standard maintenance release, bringing some bug fixes and a new feature for .NET FX and .NET Core.

The highlights are as follow:

  • The main executable can now be loaded as a library, using the special library name __Internal.
  • Attributes applied in interfaces are now considered in mixed-mode classes. Attributes applied in mixed-mode classes on a method cause those attributes to take precedence.
  • Fixed a bug where a method signature could not be defined in more than one interface.
  • Fixed a bug where the backend would emit invalid IL when a non-boolean return parameter was used along with boolean method parameters with the indirect calling backend.

v2.2.0 - Better probing and interface discovery

26 Aug 16:41
1a807bb
Compare
Choose a tag to compare

This release implements some additional probing logic to identify more configured folders for native libraries via the AppContext.

Another highlight is the ability to omit specifying the interface to activate on a mixed-mode class - ADL is now perfectly capable of figuring out which methods to implement from which interfaces on its own. This does break binary compatibility with AOT-compiled assemblies, but does not break source API or binary compatibility with the core API.

Thanks to @pauldotknopf for his work on this release.

v2.1.2 - Correction of external annotations

09 Aug 21:14
7f57e42
Compare
Choose a tag to compare

This release corrects the way external annotations are bundled in the nuget package.

v2.1.0 - Generic Delegate Marshalling

26 Jul 19:06
8e6b862
Compare
Choose a tag to compare

This is a feature release, adding support for generic delegate marshalling to ADL. More details are available in the documentation and this blog post: http://www.gullberg.tk/blog/implementing-generic/

v2.0.0 - NuGet Release

22 Jul 10:59
1b73942
Compare
Choose a tag to compare

This is a major relase of the library to NuGet, which includes the following highlights.

  • Simplify constructor signature of NativeLibraryBase
  • Implement custom boolean marshalling for calli.
  • Remove magic.
  • Enable optimizations by default.
  • Implement the option for suppressing unmanaged code security
  • Enable suppressed security by default.

Some of these changes are internal and don't affect the public API, but you folks eat reflection for breakfast so it might break someone's workflow anyway.

  • Tighten access modifiers and improve annotations.
  • Implement a better symbol name generation.

v1.3.0 - AOT Support

22 Jul 10:51
ecafa71
Compare
Choose a tag to compare

This release introduces AOT support for the library, enabling developers to pregenerate binding assemblies instead of generating them at runtime.