Released on 2023-09-03.
- Add
LoadManagerBase<T>.TryGlobalCleanup()
.- It is useful when you want to ensure that there is no loaded native library in the manager.
Released on 2023-08-28.
- Fix failing the second call of
LoadManagerBase<T>.GlobalInit()
if the first call throws an exception.
Released on 2023-08-08.
- 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
Released on 2022-02-15.
- Official support for ARM64 macOS.
- Unify .NET Framework 4.5.1 codebase and .NET Standard 2.0 codebase.
Released on 2021-04-05.
- 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
Released on 2020-04-24.
- 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.
Released on 2020-02-29.
- Add
size_t
helper methods. - Rename AutoStringToCoTaskMem() into StringToCoTaskMemAuto().
Released on 2019-10-31.
- Address
libdl.so
naming issue for CentOS (#1)
Released on 2019-10-16.
- Add platform convention helper properties and methods
Released on 2019-10-15.
- Add
LoadManagerBase
abstract class
Released on 2019-10-15.
- The initial release of the cross-platform native dynamic library loader for .NET.