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 &quot;ID Process&quot;/&quot;ID 
Thread&quot; 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 />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.oshi:oshi-core&package-manager=maven&previous-version=6.12.0&new-version=7.4.4)](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]

Reply via email to