Releases: Nihlus/AdvancedDLSupport
v3.1.0 - Span parameters and calli
v3.0.0 - Span return marshalling, library loading changes, and delegate lifetimes.
This is a feature release, containing numerous new additions.
v2.3.2 - Dependency reductions and interface improvements
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
This release fixes a problem where by-ref nullable structs were not always marshalled properly.
v2.3.0 - Bug fixes and self-referential loading
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
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
This release corrects the way external annotations are bundled in the nuget package.
v2.1.0 - Generic Delegate Marshalling
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
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
This release introduces AOT support for the library, enabling developers to pregenerate binding assemblies instead of generating them at runtime.