Releases: ied206/Joveler.DynLoader
Releases · ied206/Joveler.DynLoader
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.LoadLibrary
after creating an instance. - Constructor with a library path is now obsolete. Pass a path into
LoadLibrary
instead. - It breaks the ABI compatibility of
DynLoaderBase
. However,LoadManagerBase
was also patched to accommodate these changes. - If you used the
LoadManagerBase
interface, you can safely update Joveler.DynLoader without any code change.
- Users must call
v2.0.0
- Use NativeLoader on .NET Core 3.x build.
DynLoaderBase
now 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_PATH
flag. - On POSIX, unnecessary
LD_LIBRARY_PATH
andDYLD_LIBRARY_PATH
manipulation was removed.
- On Windows, LoadLibrary with SetDllDirectory was substituted by LoadLibraryEx with
- Add a simpler version of
GetFuncPtr<T>
. - Remove unnecessary redundant
size_t
helper methods.