NightfallOrganization / DarkCube

1 stars 0 forks source link

Update dependency net.java.dev.jna:jna to v5 #98

Closed renovate[bot] closed 2 months ago

renovate[bot] commented 2 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
net.java.dev.jna:jna 4.5.0 -> 5.14.0 age adoption passing confidence

Release Notes

java-native-access/jna (net.java.dev.jna:jna) ### [`v5.14.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5140) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.13.0...5.14.0) \============== ## Features - [#​1556](https://togithub.com/java-native-access/jna/pull/1556): Add `SetJob`, `SetPrinter` to `c.s.j.p.w.Winspool` - [@​tresf](https://togithub.com/tresf). - [#​1534](https://togithub.com/java-native-access/jna/pull/1534): Add `GetMethod`, `Put`, `SpawnInstance` to `c.s.j.p.win32.COM.WbemCli#IWbemClassObject` and `ExecMethod` to `c.s.j.p.win32.COM.WbemCli#IWbemServices` - [@​faddom](https://togithub.com/faddom). - [#​1544](https://togithub.com/java-native-access/jna/pull/1544): Add `GetPriorityClass`, `SetPriorityClass`, `GetThreadPriority`, `SetThreadPriority` and associated constants to `c.s.j.p.win32.Kernel32` - [@​dEajL3kA](https://togithub.com/dEajL3kA). - [#​1548](https://togithub.com/java-native-access/jna/pull/1548): Make interface `c.s.j.p.mac.XAttr public` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1551](https://togithub.com/java-native-access/jna/pull/1551): Add `c.s.j.p.bsd.ExtAttr` and `c.s.j.p.bsd.ExtAttrUtil` to wrap BSD [\](https://man.freebsd.org/cgi/man.cgi?query=extattr\&sektion=2) system calls. [@​rednoah](https://togithub.com/rednoah). - [#​1517](https://togithub.com/java-native-access/jna/pull/1517): Add missing `O_*` (e.g. `O_APPEND`, `O_SYNC`, `O_DIRECT`, ...) to `c.s.j.p.linux.Fcntl` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1521](https://togithub.com/java-native-access/jna/issues/1521): Shutdown CleanerThread once the last cleanable is removed - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1557](https://togithub.com/java-native-access/jna/issues/1557): Build linux-riscv64 on Ubuntu focal to improve compatibility with older glibc versions - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Bug Fixes - [#​1501](https://togithub.com/java-native-access/jna/pull/1501): `Library.OPTION_STRING_ENCODING` is ignore for string arguments function calls - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1504](https://togithub.com/java-native-access/jna/pull/1504): Increase maximum supported fixed args on varargs calls from 3 to 255 - [@​andrew-nowak](https://togithub.com/andrew-nowak). - [#​1545](https://togithub.com/java-native-access/jna/pull/1545): Fix Java 6 incompatibility in `c.s.j.p.win32.Kerne32Util` and `c.s.j.p.win32.DBT` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Important Changes - The interfaces between Java and native code have changed, so `libjnidispatch` must be rebuilt to be compatible with this release. - Release drops support for JDKs 6 + 7, so you'll need at least JDK 8 to update to use this version. ### [`v5.13.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5130) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.12.1...5.13.0) \============== ## Features - [#​1454](https://togithub.com/java-native-access/jna/pull/1454): Add `c.s.j.p.win32.Psapi.QueryWorkingSetEx` and associated Types - [@​crain-32](https://togithub.com/Crain-32). - [#​1459](https://togithub.com/java-native-access/jna/pull/1459): Add `VirtualLock` and `VirtualUnlock` in `c.s.j.p.win32.Kernel32` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1471](https://togithub.com/java-native-access/jna/pull/1471): Add `c.s.j.p.win32.Advapi32Util#isCurrentProcessElevated` and associated Types - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1474](https://togithub.com/java-native-access/jna/pull/1474): Add `c.s.j.p.win32.WbemCli#IWbemClassObject.IWbemQualifierSet`, `IWbemServices.GetObject`, `IWbemContext.SetValue` and associated methods - [@​rchateauneu](https://togithub.com/rchateauneu). - [#​1482](https://togithub.com/java-native-access/jna/pull/1482): Add multilingual support of `Kernel32Util.formatMessage` - [@​overpathz](https://togithub.com/overpathz). - [#​1490](https://togithub.com/java-native-access/jna/pull/1490): Adds support for a custom `SymbolProvider` in `NativeLibrary` & `Library` - [@​soywiz](https://togithub.com/soywiz). - [#​1491](https://togithub.com/java-native-access/jna/pull/1491): Update libffi to v3.4.4 - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1487](https://togithub.com/java-native-access/jna/issues/1487): Add 'uses' information to OSGI metadata in MANIFEST.MF to improve stability of package resolution - [@​sratz](https://togithub.com/sratz). ## Bug Fixes - [#​1452](https://togithub.com/java-native-access/jna/issues/1452): Fix memory allocation/handling for error message generation in native library code (`dispatch.c`) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1460](https://togithub.com/java-native-access/jna/issues/1460): Fix win32 variant date conversion in DST offest window and with millisecond values - [@​eranl](https://togithub.com/eranl). - [#​1472](https://togithub.com/java-native-access/jna/issues/1472): Fix incorrect bitmask in `c.s.j.Pointer#createConstant(int)` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1481](https://togithub.com/java-native-access/jna/issues/1481): Fix NPE in NativeLibrary when unpacking from classpath is disabled - [@​trespasserw](https://togithub.com/trespasserw). - [#​1489](https://togithub.com/java-native-access/jna/pull/1489): Fixes typo in `OpenGL32Util#wglGetProcAddress`, instead of parameter `procName` the hardcoded value `wglEnumGpusNV` was used - [@​soywiz](https://togithub.com/soywiz). ### [`v5.12.1`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5121) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.12.0...5.12.1) \============== ## Bug Fixes - [#​1447](https://togithub.com/java-native-access/jna/issues/1447): Null-check cleanable in `c.s.j.Memory#close` - [@​dbwiddis](https://togithub.com/dbwiddis). ### [`v5.12.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5120) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.11.0...5.12.0) \============== ## Features - [#​1433](https://togithub.com/java-native-access/jna/pull/1433): Add `CFEqual`, `CFDictionaryRef.ByReference`, `CFStringRef.ByReference` to `c.s.j.p.mac.CoreFoundation` - [@​shalupov](https://togithub.com/shalupov) - [#​978](https://togithub.com/java-native-access/jna/issues/978): Remove use of finalizers in JNA and improve concurrency for `Memory`, `CallbackReference` and `NativeLibrary` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1440](https://togithub.com/java-native-access/jna/pull/1440): Support for LoongArch64 - [@​Panxuefeng-loongson](https://togithub.com/Panxuefeng-loongson). - [#​1444](https://togithub.com/java-native-access/jna/pull/1444): Update embedded libffi to [`1f14b3f`](https://togithub.com/java-native-access/jna/commit/1f14b3fa92d4442a60233e9596ddec428a985e3c) and rebuild native libraries - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Bug Fixes - [#​1438](https://togithub.com/java-native-access/jna/pull/1438): Handle arrays in structures with differing size - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1442](https://togithub.com/java-native-access/jna/issues/1442): Handle race condition in `c.s.j.p.win32.PdhUtil#PdhEnumObjectItems` - [@​dbwiddis](https://togithub.com/dbwiddis). ## Important Changes - `Memory#dispose`, `CallbackReference#dispose` and `NativeLibrary#dispose` were called by the `Object#finalize` override. These calls were replaced by the use of a cleaner. It is not guaranteed anymore, that `dispose` is called on subclasses on finalization. ### [`v5.11.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5110) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.10.0...5.11.0) \============== ## Features - [#​1398](https://togithub.com/java-native-access/jna/pull/1398): Increase `c.s.j.p.win32.Sspi#MAX_TOKEN_SIZE` on Windows 8/Server 2012 and later - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1403](https://togithub.com/java-native-access/jna/pull/1403): Rebuild AIX binaries with libffi 3.4.2 (other architectures were part of 5.10) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1404](https://togithub.com/java-native-access/jna/issues/1404): Added Solaris Kstat2 library - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1416](https://togithub.com/java-native-access/jna/pull/1416): Add `CFDictionaryGetCount` to `c.s.j.p.mac.CoreFoundation` - [@​shalupov](https://togithub.com/shalupov) - [#​1418](https://togithub.com/java-native-access/jna/pull/1418): Add `CertOpenStore` to `c.s.j.p.win32.Crypt32` - [@​shalupov](https://togithub.com/shalupov) ## Bug Fixes - [#​1411](https://togithub.com/java-native-access/jna/pull/1411): Do not throw `Win32Exception` on success for empty section in `Kernel32Util#getPrivateProfileSection` - [@​mkarg](https://togithub.com/mkarg). - [#​1414](https://togithub.com/java-native-access/jna/pull/1414): Fix definition of `c.s.j.p.unix.X11.XK_Shift_R` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1323](https://togithub.com/java-native-access/jna/issues/1323). Fix crashes in direct callbacks on mac OS aarch64 - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1422](https://togithub.com/java-native-access/jna/pull/1422): Load jawt library relative to `sun.boot.library.path` system on unix OSes - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1427](https://togithub.com/java-native-access/jna/pull/1427): Rebuild all binaries with fix from [#​1422](https://togithub.com/java-native-access/jna/issues/1422) and [#​1323](https://togithub.com/java-native-access/jna/issues/1323) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ### [`v5.10.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5100) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.9.0...5.10.0) \============== ## Features - [#​1377](https://togithub.com/java-native-access/jna/pull/1377): Add `RegLoadAppKey` to `c.s.j.p.win32.Advapi32` and `registryLoadAppKey` to `c.s.j.p.win32.Advapi32Util` - [@​mfilippov](https://togithub.com/mfilippov). - [#​1093](https://togithub.com/java-native-access/jna/issues/1093): Add `OpenFileMapping` to `c.s.j.p.win32.Kernel32` - [@​lmitusinski](https://togithub.com/lmitusinski). - [#​1388](https://togithub.com/java-native-access/jna/issues/1388): Map the arch `zarch_64` as reported by SAPJVM8 to `s390x` - [@​MBaesken](https://togithub.com/MBaesken). - [#​1381](https://togithub.com/java-native-access/jna/issues/1381): Update embedded libffi to 3.4.2 - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1393](https://togithub.com/java-native-access/jna/issues/1393): Update native encoding detection for JEP400 / JDK 18 (`file.encoding` now defaults to `UTF-8`) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Bug Fixes - [#​1378](https://togithub.com/java-native-access/jna/pull/1378): Handle failure in `ffi_closure_alloc` - [@​davecturner](https://togithub.com/davecturner). ### [`v5.9.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-590) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.8.0...5.9.0) \============= ## Features - [#​1336](https://togithub.com/java-native-access/jna/pull/1336): Add `HKEY_CURRENT_USER_LOCAL_SETTINGS` to `c.s.j.p.win32.WinReg` - [@​Dani-Hub](https://togithub.com/Dani-Hub). - [#​1337](https://togithub.com/java-native-access/jna/pull/1337): Add `REG_NOTIFY_THREAD_AGNOSTIC` to `c.s.j.p.win32.WinNet` and update `REG_LEGAL_CHANGE_FILTER` - [@​Dani-Hub](https://togithub.com/Dani-Hub). - [#​1338](https://togithub.com/java-native-access/jna/pull/1338): Add `RegNotifyChangeKeyValue` to `c.s.j.p.win32.Advapi32` - [@​Dani-Hub](https://togithub.com/Dani-Hub). - [#​1340](https://togithub.com/java-native-access/jna/issues/1340): Add `CM_Get_DevNode_Registry_Property` to `c.s.j.p.win32.Cfgmgr32` and corresponding util in `c.s.j.p.win32.Cfgmgr32Util` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1352](https://togithub.com/java-native-access/jna/pull/1352): Add `BringWindowToTop` to `c.s.j.p.win32.User32` - [@​kahgoh](https://togithub.com/kahgoh). - [#​1354](https://togithub.com/java-native-access/jna/pull/1352): Add `GetParent` to `c.s.j.p.win32.User32` - [@​kahgoh](https://togithub.com/kahgoh). - [#​1360](https://togithub.com/java-native-access/jna/issues/1360): Add `CommandLineToArgvW` to `c.s.j.p.win32.Shell32` and corresponding util in `c.s.j.p.win32.Shell32Util` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1363](https://togithub.com/java-native-access/jna/issues/1363): Update `NUMA_NODE_RELATIONSHIP` in `c.s.j.p.win32.WinNT` to new version of the structure and improve support for future values of `c.s.j.p.win32.WinNT.LOGICAL_PROCESSOR_RELATIONSHIP` - [@​dbwiddis](https://togithub.com/dbwiddis). ## Bug Fixes - [#​1343](https://togithub.com/java-native-access/jna/issues/1343): `c.s.j.p.mac.CoreFoundation.CFStringRef#stringValue` buffer needs space for a null byte - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1351](https://togithub.com/java-native-access/jna/issues/1351): Define `c.s.j.p.unix.size_t.ByReference` and fix macOS sysctl `size_t *` parameters - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1362](https://togithub.com/java-native-access/jna/issues/1362): Clear security sensitive data after usage in `c.s.j.p.win32.Crypt32Util#cryptProtectData` and `#cryptUnprotectData` - [@​dmytro-sheyko](https://togithub.com/dmytro-sheyko). - [#​1361](https://togithub.com/java-native-access/jna/issues/1361): Make `c.s.j.p.win32.Crypt32Util#cryptProtectData` and `#cryptUnprotectData` properly handle 0-length array as input - [@​dmytro-sheyko](https://togithub.com/dmytro-sheyko). ### [`v5.8.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-580) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.7.0...5.8.0) \============= ## Features - [#​1313](https://togithub.com/java-native-access/jna/issues/1313): Normalize `RESOURCE_PREFIX` for darwin to `darwin-$arch` and split jnidispatch library per architecture - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1318](https://togithub.com/java-native-access/jna/pull/1318): Add support for linux-riscv64 - [@​thentschel](https://togithub.com/thentschel). - [#​1327](https://togithub.com/java-native-access/jna/pull/1327): Add partial support for future values of `c.s.j.p.win32.WinNT.LOGICAL_PROCESSOR_RELATIONSHIP` enum present in Windows Insider builds - [@​dbwiddis](https://togithub.com/dbwiddis). ## Bug Fixes - [#​1317](https://togithub.com/java-native-access/jna/pull/1317): Change the maven coordinates of the JPMS artifacts from classifier `jpms` to custom artifact ids `jna-jpms` and `jna-platform-jpms` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1322](https://togithub.com/java-native-access/jna/pull/1322): Handle 0-length domain names in `c.s.j.p.win32.Advapi32Util#getAccountBySid` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1326](https://togithub.com/java-native-access/jna/pull/1326): Ensure pointers indirected from Memory and pointing into Memory retain originating object - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Important Changes - The maven coordinates of the experimental JPMS (java module system) artifacts were moved from using the classifier `jpms` to custom artifact ids `jna-jpms` and `jna-platform-jpms`, without an classifier. The reason for this is, that the platform artifacts depend on the jna artifacts and need to pull in the right variant. This is not possible if the classifier is used. - `RESOURCE_PREFIX` for darwin (mac OS) was changed from `darwin` to `darwin-$arch` as the fat binaries on mac OS causes various problems: It was reported, that binaries were rejected from the appstore because x86 binaries were found in the application (jnidispatch for mac OS x86) and that builds needed to be special cased so that the native library can be assembled. The latter is also true for JNA.
While the prefix is changed, the old prefix is still searched as a fallback location, so if only a fat binary is present, it can still be loaded. ### [`v5.7.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-570) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.6.0...5.7.0) \============= ## Features - [#​1301](https://togithub.com/java-native-access/jna/pull/1301/): Improve bindings of the printer notification functions (`FindFirstPrinterChangeNotification`, `FindNextPrinterChangeNotification`) in `c.s.j.p.w.Winspool` - [@​ianjoneill](https://togithub.com/ianjoneill). - [#​1238](https://togithub.com/java-native-access/jna/pull/1238): Add macOS `aarch64` architecture to universal `darwin` target. Cherry pick [libffi/libffi#577](https://togithub.com/libffi/libffi/pull/577). - [@​fkistner](https://togithub.com/fkistner), [@​Vzor-](https://togithub.com/Vzor-), [@​tresf](https://togithub.com/tresf). - [#​1264](https://togithub.com/java-native-access/jna/pull/1264): Update libffi to v3.3; Add Windows `aarch64` target. - [@​tresf](https://togithub.com/tresf). - [#​1293](https://togithub.com/java-native-access/jna/issues/1293): Bind part of Windows Application Recovery and Restart API: `RegisterApplicationRestart`, `UnregisterApplicationRestart` and `GetApplicationRestartSettings` in `c.s.j.p.w.Kernel32` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1217](https://togithub.com/java-native-access/jna/pull/1217): Add mappings for AIX `Perfstat` library to `c.s.j.p.unix.aix` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1231](https://togithub.com/java-native-access/jna/pull/1231): The test suite can now be executed on Windows using either ANSI or UNICODE win32 API by passing `-Dw32.ascii=true/false` to ant. Previously, UNICODE was always used. - [@​T-Svensson](https://togithub.com/T-Svensson/) - [#​1237](https://togithub.com/java-native-access/jna/pull/1237): *Experimental:* Add artifacts that make jna and jna-platform named modules (provide `module-info.class`). The new artifacts are named `jna-jpms.jar` and `jna-platform-jpms.jar` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1242](https://togithub.com/java-native-access/jna/pull/1242): Add CallWindowProc to User32 - [@​heldplayer](https://togithub.com/heldplayer). - [#​1239](https://togithub.com/java-native-access/jna/pull/1239): Improve performance of allocation of `c.s.j.Memory` objects - [@​joerg1985](https://togithub.com/joerg1985). - [#​1246](https://togithub.com/java-native-access/jna/pull/1246): Improve performance of `c.s.j.Structure#read` and `c.s.j.Structure#write` - [@​joerg1985](https://togithub.com/joerg1985). - [#​1260](https://togithub.com/java-native-access/jna/pull/1260): Add mapping for X11 generic events - [@​lafoletc](https://togithub.com/lafoletc). - [#​1263](https://togithub.com/java-native-access/jna/pull/1263): Add LowLevelMouseProc - [@​nordiakt](https://togithub.com/nordiakt). - [#​1265](https://togithub.com/java-native-access/jna/pull/1265): Add mapping for XQueryExtension - [@​lafoletc](https://togithub.com/lafoletc). - [#​1299](https://togithub.com/java-native-access/jna/pull/1299): Add `c.s.j.p.win32.IPHlpApi#GetExtendedTcpTable`, `c.s.j.p.win32.IPHlpApi#GetExtendedUdpTable`, and supporting structures. - [@​dbwiddis](https://togithub.com/dbwiddis). ## Bug Fixes - [#​1286](https://togithub.com/java-native-access/jna/pull/1286): Fix bindings of `c.s.j.p.win32.DBT` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​326](https://togithub.com/java-native-access/jna/issues/326): Fix loading library that re-uses pointers for different callbacks - [@​fpapai](https://togithub.com/fpapai). - [#​1244](https://togithub.com/java-native-access/jna/issues/1244): Fix building on GCC 10 - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1252](https://togithub.com/java-native-access/jna/issues/1252): - Fix bindings of `CTL_ENTRY#getRgAttribute`, `CTL_INFO#getRgCTLEntry`, `CTL_INFO#getRgExtension`, `CERT_EXTENSIONS#getRgExtension`, `CERT_INFO#getRgExtension`, `CRL_INFO#getRgCRLEntry`, `CRL_INFO#getRgExtension`, `CRL_ENTRY#getRgExtension`. Add bindings for `CertEnumCertificatesInStore`, `CertEnumCTLsInStore`, `CertEnumCRLsInStore` and `CryptQueryObject` in `c.s.j.p.win32.Crypt32`.
*WARNING:* The signatures for `CTL_INFO#getRgCTLEntry` and `CTL_INFO#getRgExtension` were changed - as the original signatures were obviously wrong and read the wrong attributes, it is not considered an API break - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1275](https://togithub.com/java-native-access/jna/issues/1275): Fix `CFStringRef#stringValue` for empty Strings - [@​dyorgio](https://togithub.com/dyorgio). - [#​1279](https://togithub.com/java-native-access/jna/issues/1279): Remove `DLLCallback` import from `CallbackReference` - [@​dyorgio](https://togithub.com/dyorgio). - [#​1278](https://togithub.com/java-native-access/jna/pull/1278): Improve compatibility of `c.s.j.p.WindowUtils#getProcessFilePath` and fix unittests for windows 32bit intel - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1284](https://togithub.com/java-native-access/jna/pull/1284): Fix illegal access exceptions, when retrieving options for private library interfaces with an instance field - [@​fkistner](https://togithub.com/fkistner). - [#​1300](https://togithub.com/java-native-access/jna/pull/1300): Deprecate `c.s.j.p.win32.WTypes.BSTR` String constructor and `setValue` method, as `BSTR` allocation should be managed by COM, Automation, and Interop functions - [@​dbwiddis](https://togithub.com/dbwiddis). ## Breaking Changes - Prebuild native library for darwin x86 (32bit java on mac OS) was removed ### [`v5.6.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-560) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.5.0...5.6.0) \============= ## Features - [#​1160](https://togithub.com/java-native-access/jna/issues/1160): Make FileUtils#moveToTrash a varargs method - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1167](https://togithub.com/java-native-access/jna/pull/1167): Add `c.s.j.p.win32.Kernel32#GetProcessAffinityMask` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1168](https://togithub.com/java-native-access/jna/pull/1168): Add `c.s.j.p.win32.Kernel32#SetProcessAffinityMask` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1169](https://togithub.com/java-native-access/jna/issues/1169): Wait for process in getLinuxLdPaths - [@​rdesgroppes](https://togithub.com/rdesgroppes). - [#​1178](https://togithub.com/java-native-access/jna/pull/1178): Add `c.s.j.p.win32.IPHlpAPI#GetTcpStatistics`, `c.s.j.p.win32.IPHlpAPI#GetUdpStatistics`, `c.s.j.p.win32.IPHlpAPI#GetTcpStatisticsEx` and `c.s.j.p.win32.IPHlpAPI#GetUdpStatisticsEx` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1182](https://togithub.com/java-native-access/jna/pull/1182): Add `toString` to classes extending `c.s.j.ptr.ByReference` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1191](https://togithub.com/java-native-access/jna/pull/1191): Add `c.s.j.p.win32.Advapi32Util#getTokenPrimaryGroup` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1194](https://togithub.com/java-native-access/jna/pull/1194): Add `GetConsoleScreenBufferInfo`, `ReadConsoleInput` and `WriteConsole` with associated structures to `c.s.j.p.win32.Wincon` - [@​rednoah](https://togithub.com/rednoah). - [#​1198](https://togithub.com/java-native-access/jna/pull/1198): Add `NetSessionEnum` to `c.s.j.p.win32.Netapi32` and `WTSEnumerateSessions`, `WTSQuerySessionInformation`, and `WTSFreeMemory` to `c.s.j.p.win32.Wtsapi32` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1200](https://togithub.com/java-native-access/jna/pull/1200): Add mappings for `libudev` to `c.s.j.p.linux.Udev` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1202](https://togithub.com/java-native-access/jna/pull/1202): Add mappings supporting shared memory including `c.s.j.p.unix.LibCAPI` types `size_t` and `ssize_t`, `c.s.j.p.linux.LibC` methods `munmap()`, `msync()`, and `close()`, `c.s.j.p.unix.LibCUtil` mapping `mmap()` and `ftruncate()`, and `c.s.j.p.linux.LibRT` methods `shm_open()` and `shm_unlink()` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1209](https://togithub.com/java-native-access/jna/pull/1209): Add mappings for `Thread32First` and `Thread32Next` to `c.s.j.p.win32.Kernel32` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1214](https://togithub.com/java-native-access/jna/pull/1214): Add mapping for EnumProcesses to `c.s.j.p.win32.Psapi` and `c.s.j.p.win32.PsapiUtil` - [@​T-Svensson](https://togithub.com/T-Svensson/). ## Bug Fixes - [#​1183](https://togithub.com/java-native-access/jna/pull/1183): `c.s.j.p.win32.WinDef.CHARByReference#getValue` should only read one byte - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1184](https://togithub.com/java-native-access/jna/pull/1184): `c.s.j.p.win32.WinDef.ULONGLONG` should always be 8 bytes - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1196](https://togithub.com/java-native-access/jna/pull/1196): `c.s.j.p.win32.WinNT.LARGE_INTEGER` needs to populate both union fields - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1216](https://togithub.com/java-native-access/jna/pull/1216): Failure loading frameworks on macOS 11 - [@​dkocher](https://togithub.com/dkocher). ### [`v5.5.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-550) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.4.0...5.5.0) \============= ## Features - [#​1131](https://togithub.com/java-native-access/jna/pull/1131): Add CoreFoundation, IOKit, and DiskArbitration mappings in `c.s.j.p.mac`. [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1143](https://togithub.com/java-native-access/jna/pull/1143): `c.s.j.p.mac.SystemB` now extends `c.s.j.p.unix.LibCAPI`. [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1147](https://togithub.com/java-native-access/jna/pull/1147): Add additional OSGi headers for the JNA bundle to support 32bit ARM (hardfloat) [@​mattixtech](https://togithub.com/mattixtech). - [#​1148](https://togithub.com/java-native-access/jna/pull/1148)/[#​1096](https://togithub.com/java-native-access/jna/issues/1096): Include Win32 COM utils (`c.s.j.p.win32.com.util` and `c.s.j.p.win32.com.annotation`) in OSGI bundle [@​dbwiddis](https://togithub.com/dbwiddis). ## Bug Fixes - [#​1115](https://togithub.com/java-native-access/jna/issues/1115): Fix signature for `c.s.j.p.win32.Kernel32#CreateRemoteThread` and bind `VirtualAllocEx`, `VirtualFreeEx`, `GetExitCodeThread` in `c.s.j.p.win32.Kernel32` - [@​apangin](https://togithub.com/apangin), [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1127](https://togithub.com/java-native-access/jna/issues/1127): Windows needs a wide string in `c.s.j.p.win32.COM.IShellFolder#ParseDisplayName` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1128](https://togithub.com/java-native-access/jna/issues/1128): KEY_ALL_ACCESS value is incorrect in `c.s.j.p.win32.WinNT.java` - [@​trevormaggs](https://togithub.com/trevormaggs). - [#​1133](https://togithub.com/java-native-access/jna/issues/1133): Ensure JARs created from the build system don't contain invalid `Info-ZIP Unicode Path` extra info - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1134](https://togithub.com/java-native-access/jna/issues/1134): Read correct member of `WinBase.SYSTEM_INFO.processorArchitecture` union - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1118](https://togithub.com/java-native-access/jna/issues/1118): Fix passing unions containing integer and floating point members as parameters by value - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ### [`v5.4.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-540) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.3.1...5.4.0) \============= ## Features - [#​1105](https://togithub.com/java-native-access/jna/issues/1105): Deprecate `c.s.j.p.win32.Advapi32Util.EventLogRecord#getEventId` in favor of `#getInstanceId` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1097](https://togithub.com/java-native-access/jna/issues/1097): Allow `.ocx` as extension of native libraries on windows - [@​dmigowski](https://togithub.com/dmigowski). - [#​1108](https://togithub.com/java-native-access/jna/pull/1108): Improve performance of `c.s.j.Structure#newInstance` by iteration available constructors instead of exception handling [@​bjorndarri](https://togithub.com/bjorndarri). ## Bug Fixes - [#​1095](https://togithub.com/java-native-access/jna/pull/1095) Align behaviour of com.sun.jna.platform.macXAttrUtil#setXattr and #getXAttr with CLI tool - [@​jrobhoward](https://togithub.com/jrobhoward), [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1091](https://togithub.com/java-native-access/jna/issues/1091): Check target number to be greater than zero, before calling `Structure#toArray` in `c.s.j.p.win32.Netapi32Util` - [@​trevormagg](https://togithub.com/trevormaggs), [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1103](https://togithub.com/java-native-access/jna/issues/1103): On big endian architecture IntegerType based values are incorrectly decoded when using direct binding - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ### [`v5.3.1`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-531) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.3.0...5.3.1) \============= ## Bug Fixes - [#​1089](https://togithub.com/java-native-access/jna/issues/1089): `c.s.j.internal.ReflectionUtils` accesses `java.lang.invoke.MethodType` without reflection, causing `java.lang.NoClassDefFoundError` on android API level < 26 - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1087](https://togithub.com/java-native-access/jna/pull/1087): Fix wrong calls to Structure#toArray with zero sized arrays - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ### [`v5.3.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-530) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.2.0...5.3.0) \============= ## Features - [#​1058](https://togithub.com/java-native-access/jna/pull/1058): Add selectable timeout to stopService() and improve timeout handling - [@​keithharp](https://togithub.com/keithharp). - [#​1050](https://togithub.com/java-native-access/jna/pull/1050): Add `c.s.j.p.win32.VersionHelpers` and supporting functions - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1061](https://togithub.com/java-native-access/jna/pull/1061): replace toArray(new T\[size]) with toArray(new T\[0]) for better performance - [@​hc-codersatlas](https://togithub.com/hc-codersatlas). - [#​1064](https://togithub.com/java-native-access/jna/pull/1064): Add `c.s.j.p.win32.Kernel32.GetLogicalProcessorInformationEx` function, convenience Util method and supporting structures - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1065](https://togithub.com/java-native-access/jna/pull/1065): Add `c.s.j.p.win32.PowrProf#CallNTPowerInformation` and supporting structures - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1063](https://togithub.com/java-native-access/jna/pull/1063): Enhance `c.s.j.p.win32.User32` and associated classes to support keyboard related functionality. - [@​kevemueller](https://togithub.com/kevemueller). - [#​1068](https://togithub.com/java-native-access/jna/pull/1068): `c.s.j.p.win32.Advapi32Util.getAccountBySid(String systemName, PSID sid)` ignored parameter instead of passing it to the native function - [@​nirud](https://togithub.com/nirud). - [#​813](https://togithub.com/java-native-access/jna/issues/813): Support for default methods on interfaces (experimental) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1073](https://togithub.com/java-native-access/jna/issues/1073): Support COM setters with multiple parameters using `c.s.j.p.win32.COM.util.ProxyObject` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1083](https://togithub.com/java-native-access/jna/issues/1083): Prevent access to unsupported values in `c.s.j.p.win32.COM.WbemcliUtil#enumerateProperties` and bind `c.s.j.p.win32.COM.Wbemcli.IWbemClassObject.GetNames` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Bug Fixes - [#​1052](https://togithub.com/java-native-access/jna/pull/1052), [#​1053](https://togithub.com/java-native-access/jna/issues/1053): WinXP compatibility for `c.s.j.p.win32.PdhUtil` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1055](https://togithub.com/java-native-access/jna/pull/1055): Include `c.s.j.p.linux` in OSGi bundle. - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1066](https://togithub.com/java-native-access/jna/issues/1066): On AIX OpenJDK differs from IBM J9 in the mapping of library names. While J9 maps jnidispatch to `libjnidispatch.a`, OpenJDK maps to `libjnidispatch.so`, which causes the native library extractor to fail. AIX is now hard-coded to `libjnidispatch.a` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1079](https://togithub.com/java-native-access/jna/issues/1079): Fix maximum structure alignment for Android i386 - [@​BugsBeGone](https://togithub.com/BugsBeGone). ### [`v5.2.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-520) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.1.0...5.2.0) \============= ## Features - [#​1038](https://togithub.com/java-native-access/jna/pull/1038): Improve exception when native library loading fails by preserving the original exceptions and messages - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1039](https://togithub.com/java-native-access/jna/pull/1039): Remove use of `System.out` and `System.err` in favor of regular logging - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1048](https://togithub.com/java-native-access/jna/pull/1048): Bind `c.s.j.p.win32.Kernel32#OpenEvent` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Bug Fixes - [#​1036](https://togithub.com/java-native-access/jna/issues/1036): `Advapi32Util.registryValueExists` called on non existing key raises exception instead of returning `false` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​384](https://togithub.com/java-native-access/jna/issues/384): Android only supports loading libraries through the JVM `System#loadLibrary` mechanism, defaulting `jna.nosys` to `true` disabled that code path - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1041](https://togithub.com/java-native-access/jna/pull/1041): Avoid IllegalArgumentException when reading xattrs with zero length - [@​jrobhoward](https://togithub.com/jrobhoward). - [#​1042](https://togithub.com/java-native-access/jna/issues/1042): `c.s.j.p.WindowUtils.W32WindowUtils.getProcessFilePath(HWND)` does not close process handle - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1044](https://togithub.com/java-native-access/jna/issues/1044): Fix field order for `c.s.j.p.unix.X11.XResizeRequestEvent` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ### [`v5.1.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-510) [Compare Source](https://togithub.com/java-native-access/jna/compare/5.0.0...5.1.0) \============= ## Features - [#​1029](https://togithub.com/java-native-access/jna/issues/1029): Add `statvfs` to `c.s.j.platform.linux.LibC` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1032](https://togithub.com/java-native-access/jna/pull/1032): Deprecate `c.s.j.platform.win32.COM.util.annotation.ComEventCallback` in favour of `c.s.j.platform.win32.COM.util.annotation.ComMethod` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1021](https://togithub.com/java-native-access/jna/pull/1021): Added `com.sun.jna.platform.linux.XAttr` and `com.sun.jna.platform.linux.XAttrUtil` JNA wrapper for `` for Linux - [@​wilx](https://togithub.com/wilx). - [#​381](https://togithub.com/java-native-access/jna/issues/381): Bind `c.s.j.p.win32.Secur32#CompleteAuthToken` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Bug Fixes - [#​1025](https://togithub.com/java-native-access/jna/issues/1025): Restore java 6 compatibility and introduce animal-sniffer to prevent regressions - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1027](https://togithub.com/java-native-access/jna/issues/1027): Fix Linux LibC.Sysinfo FieldOrder - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1033](https://togithub.com/java-native-access/jna/pull/1033): Replace deprecated Class#newInstance calls - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ### [`v5.0.0`](https://togithub.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-500) [Compare Source](https://togithub.com/java-native-access/jna/compare/4.5.2...5.0.0) \============= ## Features - [#​975](https://togithub.com/java-native-access/jna/pull/982): Add package versions to OSGi metadata. - [@​io7m](https://togithub.com/io7m). - [#​915](https://togithub.com/java-native-access/jna/pull/915): Adding interfaces to call to Cryptui and Crypt32 windows libraries and adding related structures to Wincrypt. - [@​rosh89](https://togithub.com/rosh89). - [#​903](https://togithub.com/java-native-access/jna/pull/903): Carry `HRESULT` in `c.s.j.p.win32.COM.COMException`, introduce `c.s.j.p.win32.COM.COMInvokeException` as subclass of `COMException` for exception as the result of a `IDispatch#Invoke`. The `EXECPINFO` is unwrapped into fields in the `COMInvokeException` and correctly freed. - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​822](https://togithub.com/java-native-access/jna/issues/822): `Native#loadLibrary` requires that the interface class passed in is an instance of Library. The runtime check can be enhanced by using a constraint generic. This breaks binary compatibility (see notes below) - [@​d-noll](https://togithub.com/d-noll).

In a followup, the original `loadLibrary` methods were deprecated and `Native#load` methods were introduced, that hold the new generic definitions. So this change is now binary compatible. - [#​889](https://togithub.com/java-native-access/jna/issues/889): The `Structure#newInstance` receive the target type as a parameter. This adds a limited generic type, so that the return type ist the target type and not a generic structure, removing the necessity to do an explizit cast - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​913](https://togithub.com/java-native-access/jna/issues/913): Add `@ComInterface` annotation to `com.sun.jna.platform.win32.COM.util.IConnectionPoint` to make it possible to retrieve it via `IUnknown#queryInterface` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​797](https://togithub.com/java-native-access/jna/issues/797): Binding `Advapi32#EnumDependendServices`, `Advapi32#EnumServicesStatusEx` and `Advapi32#QueryServiceStatus`. `W32Service#stopService` was modified to be more resilent when stopping service - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - Bind `com.sun.jna.platform.win32.Kernel32.ExpandEnvironmentStrings` and add helper method for it as `Kernel32Util#expandEnvironmentStrings` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​935](https://togithub.com/java-native-access/jna/pull/935): Add RegConnectRegistry to Advapi32 mappings. - [@​cxcorp](https://togithub.com/cxcorp). - [#​947](https://togithub.com/java-native-access/jna/pull/947): Allow retrieval of `ACEs` from `com.sun.jna.platform.win32.WinNT.ACL` even if the contained `ACE` is not currently supported - [@​jrobhoward](https://togithub.com/jrobhoward). - [#​954](https://togithub.com/java-native-access/jna/pull/954): Add `c.s.j.Structure.FieldOrder` annotation to define the field order of a structures without implementing `Structure#getFieldOrder()` - [@​idosu](https://togithub.com/idosu). - [#​959](https://togithub.com/java-native-access/jna/pull/959): Added `GetProcessTimes` and `GetProcessIoCounters` to `com.sun.jna.platform.win32.Kernel32` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​952](https://togithub.com/java-native-access/jna/issues/952): Added `CreateMutex`, `OpenMutex` and `ReleaseMutex` to `com.sun.jna.platform.win32.Kernel32` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​973](https://togithub.com/java-native-access/jna/issues/973): Added `PdhLookupPerfNameByIndex`, `PdhLookupPerfIndexByName`, and `PdhEnumObjectItems` to `c.s.j.platform.win32.Pdh` and a `c.s.j.platform.win32.PdhUtil` class to access them - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​980](https://togithub.com/java-native-access/jna/issues/980): Added `PERF_OBJECT_TYPE`, `PERF_COUNTER_BLOCK`, and `PERF_COUNTER_DEFINITION` to `c.s.j.platform.win32.WinPerf` and added `Pointer` constructors to \`\`PERF_INSTANCE_DEFINITION`and`PERF_DATA_BLOCK\` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​981](https://togithub.com/java-native-access/jna/issues/981): Added `WTS_PROCESS_INFO_EX`, `WTSEnumerateProcessesEx`, and `WTSFreeMemoryEx` to `c.s.j.platform.win32.Wtsapi32` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​983](https://togithub.com/java-native-access/jna/issues/983): Added `GetIfEntry`, `GetIfEntry2`, and `GetNetworkParams` and supporting structures `MIB_IFROW`, `MIB_IF_ROW2`, and `FIXED_INFO` to `c.s.j.platform.win32.IPHlpAPI.java` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​984](https://togithub.com/java-native-access/jna/issues/984): Added `CM_Locate_DevNode`, `CM_Get_Parent`, `CM_Get_Child`, `CM_Get_Sibling`, `CM_Get_Device_ID`, and `CM_Get_Device_ID_Size` to `c.s.j.platform.win32.Cfgmgr32.java` and a `c.s.j.platform.win32.Cfgmgr32Util` class for `CM_Get_Device_ID` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​988](https://togithub.com/java-native-access/jna/issues/988): Added `PdhLookupPerfIndexByEnglishName` to `c.s.j.platform.win32.PdhUtil` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​992](https://togithub.com/java-native-access/jna/pull/992): Improve stability of windows tests and add appveyor configuration for windows CI builds - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​995](https://togithub.com/java-native-access/jna/pull/995): Added structures and methods to `c.s.j.platform.mac.SystemB` for Process, Network interface, Swapfile, Time, and Filesystem info - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​997](https://togithub.com/java-native-access/jna/issues/997): Added `Sysinfo` structure and function to `c.s.j.platform.linux.LibC` - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1001](https://togithub.com/java-native-access/jna/pull/1001): Added overloads to `c.s.j.platform.win32.Advapi32Util` methods which allow the caller to specify `samDesiredExtra` to request additional registry key security and access rights - [@​camw](https://togithub.com/camw). - [#​1007](https://togithub.com/java-native-access/jna/pull/1007): Added OSGi export of Solaris package - [@​swimmesberger](https://togithub.com/swimmesberger). - [#​1003](https://togithub.com/java-native-access/jna/pull/1003): Allow `NativeMapped` to be used with enums - [@​koraktor](https://togithub.com/koraktor). - [#​994](https://togithub.com/java-native-access/jna/issues/994): Added `CoInitializeSecurity` and `CoSetProxyBlanket` to `c.s.j.platform.win32.Ole32`, added new `c.s.j.platform.win32.Wbemcli` classes needed to query WMI, and added a `WbemcliUtil` class implementing WMI queries. - [@​dbwiddis](https://togithub.com/dbwiddis). - [#​1013](https://togithub.com/java-native-access/jna/pull/1013): Add automatic module name entries to manifest of jna and jna-platform - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​985](https://togithub.com/java-native-access/jna/issues/985): Improve handling of dynamicaly extracted native library. On Mac OS X systems `~/Library/Application Support/JNA/temp` and on other Unix like systems `$XDG_CACHE_DIR/JNA/temp` (Default value is: `~/.cache/JNA/temp`) is used - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - Bind `com.sun.jna.platform.win32.Kernel32#ExitProcess` - [@​Groostav](https://togithub.com/Groostav). ## Bug Fixes - [#​652](https://togithub.com/java-native-access/jna/issues/652): Dead Lock in class initialization - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​843](https://togithub.com/java-native-access/jna/pull/843): Correctly bind `com.sun.jna.platform.win32.SecBufferDesc` and add convenience binding as `com.sun.jna.platform.win32.SspiUtil.ManagedSecBufferDesc`. Bind SSPI functions `InitializeSecurityContext`, `AcceptSecurityContext`, `QueryCredentialsAttributes`, `QuerySecurityPackageInfo`, `EncryptMessage`, `DecryptMessage`, `MakeSignature`, `VerifySignature` in `com.sun.jna.platform.win32.Secur32` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​863](https://togithub.com/java-native-access/jna/pull/863): Fix ARM softfloat/hardfloat detection by modifying armSoftFloat condition in ELFAnalyser. Before this fix a softfloat binary could be misdetected as hardfloat. - [@​kunkun26](https://togithub.com/kunkun26). - [#​867](https://togithub.com/java-native-access/jna/issues/867): Fix memory leak in `COMLateBindingObject#getStringProperty` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​871](https://togithub.com/java-native-access/jna/issues/871): Fix mapping of libc function `gethostname`, `sethostname`, `getdomainname` and `setdomainname` and bind `com.sun.jna.platform.win32.Winsock2.gethostname(byte[], int)` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​876](https://togithub.com/java-native-access/jna/pull/876): Restore java 6 compatibility - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​882](https://togithub.com/java-native-access/jna/pull/882): Correctly close file in `ELFAnalyser#runDetection`, fix suggested by [@​Sylvyrfysh](https://togithub.com/Sylvyrfysh) in [#​880](https://togithub.com/java-native-access/jna/pull/880) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​887](https://togithub.com/java-native-access/jna/issues/887): MacFileUtils.moveToTrash() doesn't work in a sandboxed app fix suggested by [@​sobakasu](https://togithub.com/sobakasu) - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​894](https://togithub.com/java-native-access/jna/issues/894): NullPointerException can be caused by calling `com.sun.jna.platform.win32.COM.util.ProxyObject#dispose` multiple times - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​925](https://togithub.com/java-native-access/jna/issues/925): Optimize `Structure#validate` and prevent `ArrayIndexOutOfBoundsException` in `SAFEARRAY#read` for zero dimensions - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​340](https://togithub.com/java-native-access/jna/issues/340): Guard registry handling against out-of-bounds reads by ensuring all read strings are NULL terminated - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​902](https://togithub.com/java-native-access/jna/issues/902): Allow building JNA on JDK 10. `javah` was removed from the JDK and `javac` is now used to create the necessary headers. JNA now has JDK 8 as the minimum build version, at runtime Java 6 is the minimum version.
Native code for platforms with a JDK version lower than 8 can still be build by (demonstrated for Solaris x86):
  1. Run `ant -Dbuild.os.name=SunOS -Dbuild.os.arch=x86 native-build-package`
  2. Transfer the `build/build-package-sunos-x86-5.2.1.zip` file to the target system. The file holds the native sources, the necessary headers and and a shell script for the build.
  3. Expand the zip on the target system.
  4. Setup `JAVA_HOME` to point to the JDK sources.
  5. Change into the expanded directory and run `bash build.sh`.
  6. The resulting `sunos-x86.jar` is copied back to the original build system to `lib/native/sunos-x86.jar`
- [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​958](https://togithub.com/java-native-access/jna/issues/958): Update for PR 863: Old toolchains produce binaries without hard-/softfloat markers. Rasbian is missing the markers and the oracle JDK is also affected. For hardfloat detection now also the Arm EABI section is also considered - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​974](https://togithub.com/java-native-access/jna/issues/974): If the callback code failed to attach to the JVM, this lead to a segfault. The success of attaching to the JVM was checked to late and an invalid `JNIEnv` pointer was used to access the JVM - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​1010](https://togithub.com/java-native-access/jna/issues/1010): Fix binding of `lpAccessName` parameter of `com.sun.jna.platform.win32.Mpr#WNetUseConnection` - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). - [#​384](https://togithub.com/java-native-access/jna/issues/384): Switch default value for `jna.nosys` to `true`. By default then the embedded native library is used - [@​matthiasblaesing](https://togithub.com/matthiasblaesing). ## Breaking Changes - `com.sun.jna.Pointer#SIZE` is removed. Its use is replaced by `com.sun.jna.Native#POINTER_SIZE` to prevent a class loading deadlock, when JNA is initialized from multiple threads - `com.sun.jna.Pointer#getString(long offset, boolean wide)` is removed. It was replaced by `com.sun.jna.Pointer#getString(long offset)` or `com.sun.jna.Pointer#getWideString(long offset)` - `com.sun.jna.Pointer#getStringArray(long offset, boolean wide)` is removed. It was replaced by `com.sun.jna.Pointer#getStringArray(long offset)` or `com.sun.jna.Pointer#getWideStringArray(long offset)` - `com.sun.jna.Pointer#setString(long offset, String value, boolean wide)` is removed. It was replaced by `com.sun.jna.Pointer#setString(long offset, String value)` or `com.sun.jna.Pointer#setWideString(long offset, String value)` - `com.sun.jna.Structure#setFieldOrder` is removed. It was replaced by `com.sun.jna.Structure#getFieldOrder` and threw an `java.lang.Error` on call. - `com.sun.jna.Native#parseVersion` was removed without replacement - `com.sun.jna.Native#setPreserveLastError` and `com.sun.jna.Native#getPreserveLastError` were removed without replacement. They were turned into NOOPs in the past. - `com.sun.jna.Native#getDirectByteBuffer` was replaced by `com.sun.jna.Pointer#getByteBuffer` - the parameters of the methods `gethostname`, `sethostname`, `getdomainname` and `setdomainname` in the interface `com.sun.jna.platform.unix.LibCAPI` were changed from `(char[] name, int len)` to `(byte[] name, int len)` - `com.sun.jna.Platform#isAix` was replaced by `com.sun.jna.Platform#isAIX` - `com.sun.jna.platform.win32.Sspi.SecBufferDesc` was incompatibly changed to match the correct native semantics. SecBufferDesc describing more than one buffer were broken. For most usecases `com.sun.jna.platform.win32.SspiUtil.ManagedSecBufferDesc` is the best alternative. - `com.sun.jna.platform.win32.WinBase.FILETIME#toLong()` was replaced by `com.sun.jna.platform.win32.WinBase.FILETIME#toTime()` - `com.sun.jna.platform.win32.Variant#COM_DAYS_ADJUSTMENT` was removed - `com.sun.jna.platform.win32.Variant#MICRO_SECONDS_PER_DAY` was removed - `com.sun.jna.platform.win32.Variant.VARIANT#toJavaDate` was removed - `com.sun.jna.platform.win32.Variant.VARIANT#fromJavaDate` was removed - `com.sun.jna.platform.win32.User32#MonitorFromPoint(Point pt, int dwFlags)` was replaced by `com.sun.jna.platform.win32.User32#MonitorFromPoint(Point.ByValue pt, int dwFlags)` - `com.sun.jna.platform.win32.OleAuto.LoadTypeLib(WString, PointerByReference)` was replaced by `com.sun.jna.platform.win32.OleAuto.LoadTypeLib(String, PointerByReference)` - `com.sun.jna.platform.win32.Kernel32Util.formatMessageFromHR(HRESULT)` was replaced by `com.sun.jna.platform.win32.Kernel32Util.formatMessage(HRESULT)` - `com.sun.jna.platform.win32.COM.COMException` was structurally modified. The `pExcepInfo` and `puArgErr` members were removed and `hresult` member was added. The now missing information in `COMException` was moved to `COMInvokeException`. - The third parameter of `com.sun.jna.platform.win32.COM.IShellFolder#GetDisplayNameOf` was changed from `PointerByReference` to `STRRET` and matching this, the first parameter of `com.sun.jna.platform.win32.Shlwapi.StrRetToStr` was changed identically. - `ACE_HEADER` replaces `ACEStructure` as the base class for `ACEs`. `com.sun.jna.platform.win32.WinNT.ACL` was modified to support ACLS, that contain `ACEs` other than `ACCESS_ALLOWED_ACE_TYPE` and `ACCESS_DENIED_ACE_TYPE` by widening the return type of `getACEStructures` to `ACE_HEADER[]` and renaming the method to `getACEs`. In consequence `com.sun.jna.platform.win32.Advapi32Util#getFileSecurity` was changed similarly. The SID accessors `getSidString` and `getSID` were moved from `ACEStructure` to `ACCESS_ACEStructure`. - `com.sun.jna.platform.win32.Ole32#CoCreateGuid(GUID.ByReference pguid)` was replaced by `com.sun.jna.platform.win32.Ole32#CoCreateGuid(GUID pguid)` and `com.sun.jna.platform.win32.Ole32#CLSIDFromString(WString lpsz, CLSID.ByReference pclsid)` was replaced by `com.sun.jna.platform.win32.Ole32#CLSIDFromString(String lpsz, CLSID.ByReference pclsid)` ### [`v4.5.2`](https://togithub.com/java-native-access/jna/compare/4.5.1...4.5.2) [Compare Source](https://togithub.com/java-native-access/jna/compare/4.5.1...4.5.2) ### [`v4.5.1`](https://togithub.com/java-native-access/jna/compare/4.5.0...4.5.1) [Compare Source](https://togithub.com/java-native-access/jna/compare/4.5.0...4.5.1)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.