Releases: ied206/Joveler.DynLoader
Releases · ied206/Joveler.DynLoader
v2.3.1
v2.3.0
v2.2.1
v2.2.0
- Allow passing a custom object when loading a native library.
- Add
LoadManagerBase.GlobalInit()overloadings with custom object parameter. - Add
DynLoaderBase.LoadLibrary()overloadings with custom object parameter. - Add virtual method
DynLoaderBase.HandleLoadData(). - Add helper method
DynLoaderBase.HasFuncSymbol().
- Add
v2.1.1
v2.1.0
- Avoid calling virtual methods from constructors in
DynLoaderBase.- Users must call
DynLoaderBase.LoadLibraryafter creating an instance. - Constructor with a library path is now obsolete. Pass a path into
LoadLibraryinstead. - It breaks the ABI compatibility of
DynLoaderBase. However,LoadManagerBasewas also patched to accommodate these changes. - If you used the
LoadManagerBaseinterface, you can safely update Joveler.DynLoader without any code change.
- Users must call
v2.0.0
- Use NativeLoader on .NET Core 3.x build.
DynLoaderBasenow throws DllNotFoundException and EntryPointNotFoundException instead of ArgumentException and InvalidOperationException.- The change allows consistent exception throwing and handling between a variety of .NET platforms.
- Also, the new behavior is uniform with the way how .NET throws an exception on
DllImport.
- Better and safer recursive library loading.
- On Windows, LoadLibrary with SetDllDirectory was substituted by LoadLibraryEx with
LOAD_WITH_ALTERED_SEARCH_PATHflag. - On POSIX, unnecessary
LD_LIBRARY_PATHandDYLD_LIBRARY_PATHmanipulation was removed.
- On Windows, LoadLibrary with SetDllDirectory was substituted by LoadLibraryEx with
- Add a simpler version of
GetFuncPtr<T>. - Remove unnecessary redundant
size_thelper methods.