dependabot[bot] opened a new pull request, #718: URL: https://github.com/apache/karaf-decanter/pull/718
Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.12.0 to 7.4.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/oshi/oshi/releases">com.github.oshi:oshi-core's releases</a>.</em></p> <blockquote> <h2>Release 7.4.4</h2> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3561">#3561</a>: Fix AIX reporting the current instant as its boot time, and an uptime of zero, when the <code>uptime</code> command transiently failed; parse the year-less <code>who -b</code> format AIX 7.3 emits, and add <code>ParseUtil.parseYearlessDateToEpoch</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3562">#3562</a>: Make Linux <code>getMaxFreq()</code> reproducible by resolving it from the cpufreq policy, <code>lshw</code>, and the vendor frequency rather than folding in a live frequency reading, returning -1 when none of those reports a maximum - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3564">#3564</a>: Fix Linux <code>getSoftOpenFileLimit()</code> returning -1 for a process whose hard open-file limit is <code>unlimited</code>, discarding a valid soft limit - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3566">#3566</a>: Read the OpenBSD host name from <code>gethostname</code> rather than resolving it, so <code>getHostName()</code> no longer reports <code>localhost</code> on a host whose name is not resolvable - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3568">#3568</a>: Fix the Windows FFM <code>getProcess(pid)</code> and <code>getProcesses(pids)</code> returning a process that <code>getProcesses()</code> does not list, reporting a recently exited process as running with no path, no threads, and no CPU time - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3569">#3569</a>: Fix three JNA/FFM divergences on the file-system and network paths: the macOS FFM file store never bailed when the DiskArbitration session failed to open (the guard tested a foreign pointer for Java <code>null</code>, which it can never be); Windows volumes whose mount-point list exceeds the buffer were dropped rather than re-read on <code>ERROR_MORE_DATA</code> (missing entirely on JNA, keyed on the wrong error code on FFM); and the Windows FFM TCP/UDP connection queries could transiently return no connections under connection churn, where JNA retries on <code>ERROR_INSUFFICIENT_BUFFER</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3573">#3573</a>: Report Linux VRAM from NVML rather than summing the prefetchable PCI BARs, which measures the card's address aperture (capped at 256 MiB without Resizable BAR) instead of its memory size - <a href="https://github.com/Krillsson"><code>@Krillsson</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3574">#3574</a>: Never report a decrease in a BSD process's or thread's kernel or user time across <code>updateAttributes()</code>. DragonFly's <code>ps</code> <code>TIME</code> column sums only the currently live LWPs, so an exiting thread takes its accumulated CPU time out of the process total - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3577">#3577</a>: Fix macOS <code>OSProcess#getArguments()</code> and <code>getEnvironmentVariables()</code> corrupting every entry after one containing a non-ASCII character. The <code>KERN_PROCARGS2</code> parser advanced its offset by each entry's length in characters rather than bytes, landing mid-character and returning garbage in place of the remaining arguments - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3578">#3578</a>: Fix the Windows JNA AMD GPU path reporting a power draw of -1 on Overdrive 6-era Radeon cards. Power draw is read through the Overdrive 6 API but was gated on Overdrive N support, rejecting the cards that implement the call; the Overdrive capability check also ignored the library's <code>supported</code> flag - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3579">#3579</a>: Align the macOS FFM firmware, baseboard, computer system, and CPU manufacturer strings with the JNA backend when decoding IORegistry byte properties, which are NUL-terminated within a fixed-width buffer. The FFM path stripped every NUL and trimmed, so a property holding several NUL-separated strings would be returned concatenated and significant leading or trailing spaces discarded, where the JNA twin stopped at the first NUL. Add <code>ParseUtil.decodeNulTerminated</code> and decode through it on both backends - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3581">#3581</a>: Fix <code>ParseUtil.parseHertz</code> throwing <code>NumberFormatException</code> instead of returning the documented -1 when the decimals are introduced by something other than a decimal point, such as the comma separator a localized frequency string can carry - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3582">#3582</a>: Fix AIX dropping the highest-pid processes from <code>getProcesses()</code>, and <code>getProcess()</code> returning null for them, when enough processes spawn between the two <code>perfstat_process</code> calls to overrun the padded buffer. Because perfstat sorts by pid, the entry most often lost is the calling JVM's own - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3583">#3583</a>: Guarantee <code>OperatingSystem#getCurrentProcess()</code> never returns null. It delegated to <code>getProcess(int)</code>, which is documented to return null, so a failed read of the calling process left every non-Linux <code>getCurrentThread()</code> throwing a <code>NullPointerException</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <p><a href="https://github.com/oshi/oshi/blob/master/CHANGELOG.md">Full change log</a></p> <h2>Release 7.4.3</h2> <h5>Bug Fixes and Improvements</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3526">#3526</a>: Fix a potential <code>NullPointerException</code> in the macOS FFM process backend when an <code>IOPlatformDevice</code> entry has no readable name, and guard the native <code>passwd</code>/<code>group</code> struct dereferences against a null return - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3527">#3527</a>: Consolidate the SLF4J log level dispatch duplicated in <code>ExceptionUtil</code> and <code>PerfDataUtil</code> into a new <code>oshi.util.LogUtil</code>, whose <code>isEnabled</code> method offers the slf4j 1.x-compatible equivalent of <code>Logger#isEnabledForLevel</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3531">#3531</a>: Stop reporting an implausible CPU or GPU temperature on Apple Silicon. An idle core cluster is power-gated and its die sensors then report a fixed parked value below room ambient, which was previously returned as a reading; <code>Sensors#getCpuTemperature</code> now reports 0 (unavailable) instead - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3535">#3535</a>: Fix <code>Sensors#getCpuTemperature</code> returning 0 on Apple Silicon chips whose per-core SMC keys differ from the hardcoded set (e.g. the M3 Pro, where all five are absent). Prefer the chip-independent, firmware-computed CPU-die aggregate keys <code>TCMb</code> (die average) and <code>TCMz</code> (die max) before the per-core keys, reporting the die average - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3536">#3536</a>: Discover Apple Silicon GPU temperature SMC keys at runtime instead of reading a fixed list of four chip-specific keys, and report the hottest GPU cluster rather than the first one found. Adds <code>oshi.os.mac.sensors.gputemperature.keys</code> to override the discovered keys - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3541">#3541</a>: Identify Apple Silicon chips at runtime rather than from hardcoded tables that stopped at the M4. <code>PhysicalProcessor#getEfficiency</code> now classifies performance and efficiency cores from the IORegistry <code>cluster-type</code> property, fixing an all-zero classification (and the degraded per-core frequencies that followed from it) on newer chips, and <code>ProcessorIdentifier#getMicroarchitecture</code> falls back to a description derived from the core codenames instead of reporting <code>unknown</code>. An entry in <code>oshi.architecture.properties</code> still takes precedence where one exists - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3555">#3555</a>: Fix Linux graphics cards all reporting the same VRAM, DRM device and GPU metrics: request the stable <code>lspci -vnnmm</code> machine-readable format so the <code>Slot:</code> field exists, stop discarding the PCI slot when entering a card record, and identify display controllers by PCI class <code>0x03</code> rather than a <code>VGA</code> substring match (expands to include XGA and others) - <a href="https://github.com/Krillsson"><code>@Krillsson</code></a>.</li> </ul> <p><a href="https://github.com/oshi/oshi/blob/master/CHANGELOG.md">Full change log</a></p> <h2>Release 7.4.2</h2> <h5>Bug Fixes and Improvements</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3493">#3493</a>: Document the CPU/memory trade-off of reusing versus recreating <code>SystemInfo</code> when polling, with supporting benchmarks - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3499">#3499</a>: Fix FreeBSD, NetBSD, and OpenBSD <code>df -i</code> inode parsing to include ZFS, tmpfs, devfs, and mfs filesystems that do not start with <code>/</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3504">#3504</a>: Fix AIX processor cache detection, which read the POWER generation from the hostname (<code>uname -n</code>) instead of <code>prtconf</code>'s <code>Processor Version</code> field, causing <code>getProcessorCaches()</code> to return an empty list - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3505">#3505</a>: Fix the AIX FFM backend reading <code>perfstat_partition_config_t.processorMHz</code> at the wrong struct offset (344 instead of 340), which reported the processor's vendor frequency as unknown - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3507">#3507</a>: Extend the native-free provider (<code>oshi-common</code> alone, no JNA or FFM) to NetBSD, so NetBSD users without the JNA native library can depend on <code>oshi-common</code> without <code>--enable-native-access</code>, as Linux already can - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3518">#3518</a>: Consolidate the duplicated <code>sysctl</code> utility code into shared command-line (<code>BsdSysctlUtil</code>), JNA (<code>SysctlUtilJNA</code>), and FFM (<code>SysctlFFM</code>) helpers, and fix a latent bug where reading an int-width sysctl (e.g. FreeBSD <code>hw.clockrate</code>) through the <code>long</code> API returned uninitialized bytes, intermittently reporting an absurd CPU vendor frequency such as 6.2 EHz - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3519">#3519</a>: Fix the Solaris JNA Kstat2 processor identifier reporting the CPU vendor frequency in MHz instead of Hz (missing the <code>clock_MHz</code> to Hz conversion applied on the other code paths) - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3525">#3525</a>: Carry the exception log level with a new <code>oshi.util.LogLevel</code> enum instead of <code>org.slf4j.event.Level</code>, so OSHI no longer class-loads a type added in slf4j-api 1.7.15 on non-exceptional code paths and works again against host-provided slf4j-api older than 1.7.15 (e.g. the 1.7.5 bundled by Apache Maven 3.3.x) - <a href="https://github.com/wolfs"><code>@wolfs</code></a>.</li> </ul> <p><a href="https://github.com/oshi/oshi/blob/master/CHANGELOG.md">Full change log</a></p> <h2>Release 7.4.1</h2> <h5>Bug Fixes and Improvements</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3441">#3441</a>: Wrap AppKit/Cocoa display-name calls in an autorelease pool, extract <code>ObjCFunctions</code> FFM bindings, and use <code>ExceptionUtil</code> for consistent error handling - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3442">#3442</a>: Convert static memoized suppliers to instance fields, allowing cached data to be reclaimed when users create new <code>SystemInfo</code> instances - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/oshi/oshi/blob/master/CHANGELOG.md">com.github.oshi:oshi-core's changelog</a>.</em></p> <blockquote> <h1>7.4.0 (2026-07-08), 7.4.1 (2026-07-18), 7.4.2 (2026-07-24), 7.4.3 (2026-07-31), 7.4.4 (2026-08-06)</h1> <h5>New Features</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3415">#3415</a>: Add <code>Display.getDisplayInfo()</code> and a new <code>DisplayInfo</code> interface (exposing decoded attributes including <code>isEdidSynthetic()</code>), plus EDID-encoding methods in <code>EdidUtil</code>, allowing display attributes to be exposed without a raw EDID - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3436">#3436</a>: Detect the Apple Silicon built-in Retina display via <code>IOMobileFramebuffer</code> and synthesize a <code>DisplayInfo</code> from CoreGraphics and NSScreen properties (resolution, physical size, serial, model name) - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <h5>Bug Fixes and Improvements</h5> <ul> <li><a href="https://redirect.github.com/oshi/oshi/pull/3424">#3424</a>: Fix <code>WrongMethodTypeException</code> when freeing BSTR strings on the Windows FFM WMI path, caused by a void <code>invokeExact</code> in an expression lambda inferring an <code>Object</code> return - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3425">#3425</a>: Fix the Windows perf-counter process and thread maps occasionally mis-keying a real process/thread under ID 0, when PDH reports its "ID Process"/"ID Thread" sentinel for one that is starting or exiting - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3432">#3432</a>: Replace <code>Logger#atLevel</code>/<code>setCause</code>/<code>isEnabledForLevel</code> usage in <code>ExceptionUtil</code>, <code>PerfDataUtil</code>, and <code>ForeignFunctions</code> with level-switches to the classic SLF4J methods, so oshi no longer requires slf4j-api 2.x at runtime - <a href="https://github.com/wolfs"><code>@wolfs</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3431">#3431</a>: Declare the optional jlibrehardwaremonitor OSGi package imports as optional, so oshi-common resolves in OSGi environments that do not provide it - <a href="https://github.com/MrEasy"><code>@MrEasy</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3433">#3433</a>: Restore optional JNA native access for NetBSD, falling back to the command-line implementation when the JNA native library is not installed - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3437">#3437</a>: Add <code>ParseUtil.decodeIntOrDefault</code>/<code>decodeLongOrDefault</code> and forbid direct use of <code>Integer.decode</code>, <code>Long.decode</code>, <code>parseUnsignedInt</code>, and <code>parseUnsignedLong</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3438">#3438</a>: Deprecate <code>Display.getEdid()</code> in favor of <code>Display.getDisplayInfo().getEdid()</code>, consolidating display data access under <code>DisplayInfo</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3441">#3441</a>: Wrap AppKit/Cocoa display-name calls in an autorelease pool, extract <code>ObjCFunctions</code> FFM bindings, and use <code>ExceptionUtil</code> for consistent error handling - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3442">#3442</a>: Convert static memoized suppliers to instance fields, allowing cached data to be reclaimed when users create new <code>SystemInfo</code> instances - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3443">#3443</a>: Share memoized iostat supplier across disk instances; cache pluggable hardware lists (displays, USB, sound cards, graphics cards) in the HAL with a 3-second TTL - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3444">#3444</a>: Consolidate try/catch-log-return-default patterns to use <code>ExceptionUtil</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3459">#3459</a>: Deduplicate the Windows <code>CentralProcessor</code> frequency queries into the shared base, and fix the JNA per-processor current-frequency numbering, which mis-assigned frequencies to logical processors on multi-processor-group/NUMA systems - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3473">#3473</a>: Fix several macOS bugs: correct Intel Mac sensor temperatures that were under-reported by the SP78 fractional byte, decode process working directories and login sessions as UTF-8, and add missing null/bounds guards on native results - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3478">#3478</a>: Fix several Windows bugs: stop reporting a UPS/non-system battery as the system battery, restore the WMI fallback (and avoid an NPE) when a PDH wildcard collection fails, drop phantom file stores for volumes that can't be queried, keep enumerating sound cards past an incomplete registry key, retain sessions without a client address, and include processors in NUMA nodes spanning more than 64 logical processors - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3479">#3479</a>: Fix several Windows bugs: return all configured DNS servers instead of an empty list when more than one is present, keep querying the OpenHardwareMonitor/LibreHardwareMonitor namespaces after an initial failure so late-started sensors still appear, and classify CD-ROM drives as non-local - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3480">#3480</a>: Align remaining JNA/FFM inconsistencies: report disk type (Removable/SSD/HDD/Unknown) on the native-free Linux backend, allocate a large enough buffer for long UTF-16 device names in the Windows JNA <code>DeviceTree</code>, fix WMI query when COM is already initialized in another apartment, returning zeroed TCP/UDP stats instead of null on a query failure, detecting x86 via <code>GetNativeSystemInfo</code> (correct under WOW64), and retrying the initial <code>PDH_NO_DATA</code> performance-counter sample - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3481">#3481</a>: Share one registry-value parser between the JNA and FFM Windows installed-applications backends, so an application is resolved identically regardless of backend even when a value is stored as <code>REG_DWORD</code> or <code>REG_BINARY</code> rather than a string - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3482">#3482</a>: Fix macOS <code>getThreadCount()</code> on the default JNA backend, which under-reported the thread count (a <code>proc_listpids</code> buffer size passed as an element count, and stale reused-buffer data counted for processes <code>proc_pidinfo</code> could not fill), and release the CoreFoundation device dictionary and lookup keys leaked per disk enumeration in the JNA disk-type detection - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3483">#3483</a>: Fix several Windows backend issues: guard against a hard crash when enumerating a network session with a null client name, allocate the AMD ADL callback buffer from the C heap so the driver's <code>free()</code> is valid, close leaked system event-log handles, and read <code>REG_QWORD</code>/<code>REG_BINARY</code> registry values in the FFM backend so graphics-card VRAM is reported consistently with the JNA backend - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3484">#3484</a>: Fix several parsing and consistency issues: return empty instead of throwing from <code>ParseUtil.getStringBetween</code> on a single unmatched delimiter, throw the documented <code>IllegalArgumentException</code> (not <code>ArrayIndexOutOfBoundsException</code>) for mismatched tick arrays, correct an off-by-one bounds guard in Solaris <code>Prtvtoc</code>, decode FreeBSD/Solaris utmpx session strings as UTF-8, and read native <code>utmpx</code> for Solaris sessions in the FFM backend to match the JNA backend - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3493">#3493</a>: Document the CPU/memory trade-off of reusing versus recreating <code>SystemInfo</code> when polling, with supporting benchmarks - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3499">#3499</a>: Fix FreeBSD, NetBSD, and OpenBSD <code>df -i</code> inode parsing to include ZFS, tmpfs, devfs, and mfs filesystems that do not start with <code>/</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3504">#3504</a>: Fix AIX processor cache detection, which read the POWER generation from the hostname (<code>uname -n</code>) instead of <code>prtconf</code>'s <code>Processor Version</code> field, causing <code>getProcessorCaches()</code> to return an empty list - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3505">#3505</a>: Fix the AIX FFM backend reading <code>perfstat_partition_config_t.processorMHz</code> at the wrong struct offset (344 instead of 340), which reported the processor's vendor frequency as unknown - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3507">#3507</a>: Extend the native-free provider (<code>oshi-common</code> alone, no JNA or FFM) to NetBSD, so NetBSD users without the JNA native library can depend on <code>oshi-common</code> without <code>--enable-native-access</code>, as Linux already can - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3518">#3518</a>: Consolidate the duplicated <code>sysctl</code> utility code into shared command-line (<code>BsdSysctlUtil</code>), JNA (<code>SysctlUtilJNA</code>), and FFM (<code>SysctlFFM</code>) helpers, and fix a latent bug where reading an int-width sysctl (e.g. FreeBSD <code>hw.clockrate</code>) through the <code>long</code> API returned uninitialized bytes, intermittently reporting an absurd CPU vendor frequency such as 6.2 EHz - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3519">#3519</a>: Fix the Solaris JNA Kstat2 processor identifier reporting the CPU vendor frequency in MHz instead of Hz (missing the <code>clock_MHz</code> to Hz conversion applied on the other code paths) - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3525">#3525</a>: Carry the exception log level with a new <code>oshi.util.LogLevel</code> enum instead of <code>org.slf4j.event.Level</code>, so OSHI no longer class-loads a type added in slf4j-api 1.7.15 on non-exceptional code paths and works again against host-provided slf4j-api older than 1.7.15 (e.g. the 1.7.5 bundled by Apache Maven 3.3.x) - <a href="https://github.com/wolfs"><code>@wolfs</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3526">#3526</a>: Fix a potential <code>NullPointerException</code> in the macOS FFM process backend when an <code>IOPlatformDevice</code> entry has no readable name, and guard the native <code>passwd</code>/<code>group</code> struct dereferences against a null return - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3527">#3527</a>: Consolidate the SLF4J log level dispatch duplicated in <code>ExceptionUtil</code> and <code>PerfDataUtil</code> into a new <code>oshi.util.LogUtil</code>, whose <code>isEnabled</code> method offers the slf4j 1.x-compatible equivalent of <code>Logger#isEnabledForLevel</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3531">#3531</a>: Stop reporting an implausible CPU or GPU temperature on Apple Silicon. An idle core cluster is power-gated and its die sensors then report a fixed parked value below room ambient, which was previously returned as a reading; <code>Sensors#getCpuTemperature</code> now reports 0 (unavailable) instead - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3535">#3535</a>: Fix <code>Sensors#getCpuTemperature</code> returning 0 on Apple Silicon chips whose per-core SMC keys differ from the hardcoded set (e.g. the M3 Pro, where all five are absent). Prefer the chip-independent, firmware-computed CPU-die aggregate keys <code>TCMb</code> (die average) and <code>TCMz</code> (die max) before the per-core keys, reporting the die average - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3536">#3536</a>: Discover Apple Silicon GPU temperature SMC keys at runtime instead of reading a fixed list of four chip-specific keys, and report the hottest GPU cluster rather than the first one found. Adds <code>oshi.os.mac.sensors.gputemperature.keys</code> to override the discovered keys - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3541">#3541</a>: Identify Apple Silicon chips at runtime rather than from hardcoded tables that stopped at the M4. <code>PhysicalProcessor#getEfficiency</code> now classifies performance and efficiency cores from the IORegistry <code>cluster-type</code> property, fixing an all-zero classification (and the degraded per-core frequencies that followed from it) on newer chips, and <code>ProcessorIdentifier#getMicroarchitecture</code> falls back to a description derived from the core codenames instead of reporting <code>unknown</code>. An entry in <code>oshi.architecture.properties</code> still takes precedence where one exists - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3555">#3555</a>: Fix Linux graphics cards all reporting the same VRAM, DRM device and GPU metrics: request the stable <code>lspci -vnnmm</code> machine-readable format so the <code>Slot:</code> field exists, stop discarding the PCI slot when entering a card record, and identify display controllers by PCI class <code>0x03</code> rather than a <code>VGA</code> substring match (expands to include XGA and others) - <a href="https://github.com/Krillsson"><code>@Krillsson</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3561">#3561</a>: Fix AIX reporting the current instant as its boot time, and an uptime of zero, when the <code>uptime</code> command transiently failed; parse the year-less <code>who -b</code> format AIX 7.3 emits, and add <code>ParseUtil.parseYearlessDateToEpoch</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3562">#3562</a>: Make Linux <code>getMaxFreq()</code> reproducible by resolving it from the cpufreq policy, <code>lshw</code>, and the vendor frequency rather than folding in a live frequency reading, returning -1 when none of those reports a maximum - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3564">#3564</a>: Fix Linux <code>getSoftOpenFileLimit()</code> returning -1 for a process whose hard open-file limit is <code>unlimited</code>, discarding a valid soft limit - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3566">#3566</a>: Read the OpenBSD host name from <code>gethostname</code> rather than resolving it, so <code>getHostName()</code> no longer reports <code>localhost</code> on a host whose name is not resolvable - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3568">#3568</a>: Fix the Windows FFM <code>getProcess(pid)</code> and <code>getProcesses(pids)</code> returning a process that <code>getProcesses()</code> does not list, reporting a recently exited process as running with no path, no threads, and no CPU time - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> <li><a href="https://redirect.github.com/oshi/oshi/pull/3569">#3569</a>: Fix three JNA/FFM divergences on the file-system and network paths: the macOS FFM file store never bailed when the DiskArbitration session failed to open (the guard tested a foreign pointer for Java <code>null</code>, which it can never be); Windows volumes whose mount-point list exceeds the buffer were dropped rather than re-read on <code>ERROR_MORE_DATA</code> (missing entirely on JNA, keyed on the wrong error code on FFM); and the Windows FFM TCP/UDP connection queries could transiently return no connections under connection churn, where JNA retries on <code>ERROR_INSUFFICIENT_BUFFER</code> - <a href="https://github.com/dbwiddis"><code>@dbwiddis</code></a>.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/oshi/oshi/commit/3df3d3bc2b5814d31465382051b570a3c28ded74"><code>3df3d3b</code></a> [maven-release-plugin] prepare release oshi-parent-7.4.4</li> <li><a href="https://github.com/oshi/oshi/commit/62543ba6dad3406cbe47c46d9a9dac145f8e888f"><code>62543ba</code></a> 7.4.4 Release</li> <li><a href="https://github.com/oshi/oshi/commit/a16e1abb96a7aec2c81b7df4ba2a1ba9cf8090c3"><code>a16e1ab</code></a> Synchronize the BSD ps-family updateAttributes instead of suppressing S3078 (...</li> <li><a href="https://github.com/oshi/oshi/commit/cd7034c6ed1f2461a8efdc3412361e690a2a789d"><code>cd7034c</code></a> Drop the dead attempt bound from the AIX perfstat loop guards</li> <li><a href="https://github.com/oshi/oshi/commit/6ed5e8d755383682820e19a3d573a4ed11fb09f2"><code>6ed5e8d</code></a> Update github/codeql-action digest to 5595cca (<a href="https://redirect.github.com/oshi/oshi/issues/3584">#3584</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/c7550d589ae8a9622eea323c881d0dc711823167"><code>c7550d5</code></a> Thank the Claude for Open Source program, and widen the temporary-code note</li> <li><a href="https://github.com/oshi/oshi/commit/65876d6870efefedf84b4e64980d74c28ba78b8e"><code>65876d6</code></a> Update vmactions/netbsd-vm digest to 00081e8 (<a href="https://redirect.github.com/oshi/oshi/issues/3585">#3585</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/f5290f33d8fbc0ce10232e2ed940746bee759f72"><code>f5290f3</code></a> Guarantee getCurrentProcess() never returns null (<a href="https://redirect.github.com/oshi/oshi/issues/3583">#3583</a>)</li> <li><a href="https://github.com/oshi/oshi/commit/fdafcf62797dd73d72ae7fbc850e9ccceb8053eb"><code>fdafcf6</code></a> Document the semver boundary in AGENTS.md</li> <li><a href="https://github.com/oshi/oshi/commit/b2cdb436118cea376c01bedd399daf9008c899a1"><code>b2cdb43</code></a> Retry the AIX perfstat_process fill when the buffer filled exactly (<a href="https://redirect.github.com/oshi/oshi/issues/3582">#3582</a>)</li> <li>Additional commits viewable in <a href="https://github.com/oshi/oshi/compare/oshi-parent-6.12.0...oshi-parent-7.4.4">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
