Skip to content

Bump com.github.oshi:oshi-core from 6.4.1 to 7.4.4 - #283

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/maven/com.github.oshi-oshi-core-7.4.4
Closed

Bump com.github.oshi:oshi-core from 6.4.1 to 7.4.4#283
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/maven/com.github.oshi-oshi-core-7.4.4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 14, 2026

Copy link
Copy Markdown
Contributor

Bumps com.github.oshi:oshi-core from 6.4.1 to 7.4.4.

Release notes

Sourced from com.github.oshi:oshi-core's releases.

Release 7.4.4

  • #3561: Fix AIX reporting the current instant as its boot time, and an uptime of zero, when the uptime command transiently failed; parse the year-less who -b format AIX 7.3 emits, and add ParseUtil.parseYearlessDateToEpoch - @​dbwiddis.
  • #3562: Make Linux getMaxFreq() reproducible by resolving it from the cpufreq policy, lshw, and the vendor frequency rather than folding in a live frequency reading, returning -1 when none of those reports a maximum - @​dbwiddis.
  • #3564: Fix Linux getSoftOpenFileLimit() returning -1 for a process whose hard open-file limit is unlimited, discarding a valid soft limit - @​dbwiddis.
  • #3566: Read the OpenBSD host name from gethostname rather than resolving it, so getHostName() no longer reports localhost on a host whose name is not resolvable - @​dbwiddis.
  • #3568: Fix the Windows FFM getProcess(pid) and getProcesses(pids) returning a process that getProcesses() does not list, reporting a recently exited process as running with no path, no threads, and no CPU time - @​dbwiddis.
  • #3569: 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 null, which it can never be); Windows volumes whose mount-point list exceeds the buffer were dropped rather than re-read on ERROR_MORE_DATA (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 ERROR_INSUFFICIENT_BUFFER - @​dbwiddis.
  • #3573: 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 - @​Krillsson.
  • #3574: Never report a decrease in a BSD process's or thread's kernel or user time across updateAttributes(). DragonFly's ps TIME column sums only the currently live LWPs, so an exiting thread takes its accumulated CPU time out of the process total - @​dbwiddis.
  • #3577: Fix macOS OSProcess#getArguments() and getEnvironmentVariables() corrupting every entry after one containing a non-ASCII character. The KERN_PROCARGS2 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 - @​dbwiddis.
  • #3578: 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 supported flag - @​dbwiddis.
  • #3579: 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 ParseUtil.decodeNulTerminated and decode through it on both backends - @​dbwiddis.
  • #3581: Fix ParseUtil.parseHertz throwing NumberFormatException 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 - @​dbwiddis.
  • #3582: Fix AIX dropping the highest-pid processes from getProcesses(), and getProcess() returning null for them, when enough processes spawn between the two perfstat_process calls to overrun the padded buffer. Because perfstat sorts by pid, the entry most often lost is the calling JVM's own - @​dbwiddis.
  • #3583: Guarantee OperatingSystem#getCurrentProcess() never returns null. It delegated to getProcess(int), which is documented to return null, so a failed read of the calling process left every non-Linux getCurrentThread() throwing a NullPointerException - @​dbwiddis.

Full change log

Release 7.4.3

Bug Fixes and Improvements
  • #3526: Fix a potential NullPointerException in the macOS FFM process backend when an IOPlatformDevice entry has no readable name, and guard the native passwd/group struct dereferences against a null return - @​dbwiddis.
  • #3527: Consolidate the SLF4J log level dispatch duplicated in ExceptionUtil and PerfDataUtil into a new oshi.util.LogUtil, whose isEnabled method offers the slf4j 1.x-compatible equivalent of Logger#isEnabledForLevel - @​dbwiddis.
  • #3531: 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; Sensors#getCpuTemperature now reports 0 (unavailable) instead - @​dbwiddis.
  • #3535: Fix Sensors#getCpuTemperature 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 TCMb (die average) and TCMz (die max) before the per-core keys, reporting the die average - @​dbwiddis.
  • #3536: 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 oshi.os.mac.sensors.gputemperature.keys to override the discovered keys - @​dbwiddis.
  • #3541: Identify Apple Silicon chips at runtime rather than from hardcoded tables that stopped at the M4. PhysicalProcessor#getEfficiency now classifies performance and efficiency cores from the IORegistry cluster-type property, fixing an all-zero classification (and the degraded per-core frequencies that followed from it) on newer chips, and ProcessorIdentifier#getMicroarchitecture falls back to a description derived from the core codenames instead of reporting unknown. An entry in oshi.architecture.properties still takes precedence where one exists - @​dbwiddis.
  • #3555: Fix Linux graphics cards all reporting the same VRAM, DRM device and GPU metrics: request the stable lspci -vnnmm machine-readable format so the Slot: field exists, stop discarding the PCI slot when entering a card record, and identify display controllers by PCI class 0x03 rather than a VGA substring match (expands to include XGA and others) - @​Krillsson.

Full change log

Release 7.4.2

Bug Fixes and Improvements
  • #3493: Document the CPU/memory trade-off of reusing versus recreating SystemInfo when polling, with supporting benchmarks - @​dbwiddis.
  • #3499: Fix FreeBSD, NetBSD, and OpenBSD df -i inode parsing to include ZFS, tmpfs, devfs, and mfs filesystems that do not start with / - @​dbwiddis.
  • #3504: Fix AIX processor cache detection, which read the POWER generation from the hostname (uname -n) instead of prtconf's Processor Version field, causing getProcessorCaches() to return an empty list - @​dbwiddis.
  • #3505: Fix the AIX FFM backend reading perfstat_partition_config_t.processorMHz at the wrong struct offset (344 instead of 340), which reported the processor's vendor frequency as unknown - @​dbwiddis.
  • #3507: Extend the native-free provider (oshi-common alone, no JNA or FFM) to NetBSD, so NetBSD users without the JNA native library can depend on oshi-common without --enable-native-access, as Linux already can - @​dbwiddis.
  • #3518: Consolidate the duplicated sysctl utility code into shared command-line (BsdSysctlUtil), JNA (SysctlUtilJNA), and FFM (SysctlFFM) helpers, and fix a latent bug where reading an int-width sysctl (e.g. FreeBSD hw.clockrate) through the long API returned uninitialized bytes, intermittently reporting an absurd CPU vendor frequency such as 6.2 EHz - @​dbwiddis.
  • #3519: Fix the Solaris JNA Kstat2 processor identifier reporting the CPU vendor frequency in MHz instead of Hz (missing the clock_MHz to Hz conversion applied on the other code paths) - @​dbwiddis.
  • #3525: Carry the exception log level with a new oshi.util.LogLevel enum instead of org.slf4j.event.Level, 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) - @​wolfs.

Full change log

Release 7.4.1

Bug Fixes and Improvements
  • #3441: Wrap AppKit/Cocoa display-name calls in an autorelease pool, extract ObjCFunctions FFM bindings, and use ExceptionUtil for consistent error handling - @​dbwiddis.
  • #3442: Convert static memoized suppliers to instance fields, allowing cached data to be reclaimed when users create new SystemInfo instances - @​dbwiddis.

... (truncated)

Changelog

Sourced from com.github.oshi:oshi-core's changelog.

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)

New Features
  • #3415: Add Display.getDisplayInfo() and a new DisplayInfo interface (exposing decoded attributes including isEdidSynthetic()), plus EDID-encoding methods in EdidUtil, allowing display attributes to be exposed without a raw EDID - @​dbwiddis.
  • #3436: Detect the Apple Silicon built-in Retina display via IOMobileFramebuffer and synthesize a DisplayInfo from CoreGraphics and NSScreen properties (resolution, physical size, serial, model name) - @​dbwiddis.
Bug Fixes and Improvements
  • #3424: Fix WrongMethodTypeException when freeing BSTR strings on the Windows FFM WMI path, caused by a void invokeExact in an expression lambda inferring an Object return - @​dbwiddis.
  • #3425: 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 - @​dbwiddis.
  • #3432: Replace Logger#atLevel/setCause/isEnabledForLevel usage in ExceptionUtil, PerfDataUtil, and ForeignFunctions with level-switches to the classic SLF4J methods, so oshi no longer requires slf4j-api 2.x at runtime - @​wolfs.
  • #3431: Declare the optional jlibrehardwaremonitor OSGi package imports as optional, so oshi-common resolves in OSGi environments that do not provide it - @​MrEasy.
  • #3433: Restore optional JNA native access for NetBSD, falling back to the command-line implementation when the JNA native library is not installed - @​dbwiddis.
  • #3437: Add ParseUtil.decodeIntOrDefault/decodeLongOrDefault and forbid direct use of Integer.decode, Long.decode, parseUnsignedInt, and parseUnsignedLong - @​dbwiddis.
  • #3438: Deprecate Display.getEdid() in favor of Display.getDisplayInfo().getEdid(), consolidating display data access under DisplayInfo - @​dbwiddis.
  • #3441: Wrap AppKit/Cocoa display-name calls in an autorelease pool, extract ObjCFunctions FFM bindings, and use ExceptionUtil for consistent error handling - @​dbwiddis.
  • #3442: Convert static memoized suppliers to instance fields, allowing cached data to be reclaimed when users create new SystemInfo instances - @​dbwiddis.
  • #3443: 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 - @​dbwiddis.
  • #3444: Consolidate try/catch-log-return-default patterns to use ExceptionUtil - @​dbwiddis.
  • #3459: Deduplicate the Windows CentralProcessor 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 - @​dbwiddis.
  • #3473: 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 - @​dbwiddis.
  • #3478: 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 - @​dbwiddis.
  • #3479: 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 - @​dbwiddis.
  • #3480: 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 DeviceTree, 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 GetNativeSystemInfo (correct under WOW64), and retrying the initial PDH_NO_DATA performance-counter sample - @​dbwiddis.
  • #3481: 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 REG_DWORD or REG_BINARY rather than a string - @​dbwiddis.
  • #3482: Fix macOS getThreadCount() on the default JNA backend, which under-reported the thread count (a proc_listpids buffer size passed as an element count, and stale reused-buffer data counted for processes proc_pidinfo could not fill), and release the CoreFoundation device dictionary and lookup keys leaked per disk enumeration in the JNA disk-type detection - @​dbwiddis.
  • #3483: 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 free() is valid, close leaked system event-log handles, and read REG_QWORD/REG_BINARY registry values in the FFM backend so graphics-card VRAM is reported consistently with the JNA backend - @​dbwiddis.
  • #3484: Fix several parsing and consistency issues: return empty instead of throwing from ParseUtil.getStringBetween on a single unmatched delimiter, throw the documented IllegalArgumentException (not ArrayIndexOutOfBoundsException) for mismatched tick arrays, correct an off-by-one bounds guard in Solaris Prtvtoc, decode FreeBSD/Solaris utmpx session strings as UTF-8, and read native utmpx for Solaris sessions in the FFM backend to match the JNA backend - @​dbwiddis.
  • #3493: Document the CPU/memory trade-off of reusing versus recreating SystemInfo when polling, with supporting benchmarks - @​dbwiddis.
  • #3499: Fix FreeBSD, NetBSD, and OpenBSD df -i inode parsing to include ZFS, tmpfs, devfs, and mfs filesystems that do not start with / - @​dbwiddis.
  • #3504: Fix AIX processor cache detection, which read the POWER generation from the hostname (uname -n) instead of prtconf's Processor Version field, causing getProcessorCaches() to return an empty list - @​dbwiddis.
  • #3505: Fix the AIX FFM backend reading perfstat_partition_config_t.processorMHz at the wrong struct offset (344 instead of 340), which reported the processor's vendor frequency as unknown - @​dbwiddis.
  • #3507: Extend the native-free provider (oshi-common alone, no JNA or FFM) to NetBSD, so NetBSD users without the JNA native library can depend on oshi-common without --enable-native-access, as Linux already can - @​dbwiddis.
  • #3518: Consolidate the duplicated sysctl utility code into shared command-line (BsdSysctlUtil), JNA (SysctlUtilJNA), and FFM (SysctlFFM) helpers, and fix a latent bug where reading an int-width sysctl (e.g. FreeBSD hw.clockrate) through the long API returned uninitialized bytes, intermittently reporting an absurd CPU vendor frequency such as 6.2 EHz - @​dbwiddis.
  • #3519: Fix the Solaris JNA Kstat2 processor identifier reporting the CPU vendor frequency in MHz instead of Hz (missing the clock_MHz to Hz conversion applied on the other code paths) - @​dbwiddis.
  • #3525: Carry the exception log level with a new oshi.util.LogLevel enum instead of org.slf4j.event.Level, 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) - @​wolfs.
  • #3526: Fix a potential NullPointerException in the macOS FFM process backend when an IOPlatformDevice entry has no readable name, and guard the native passwd/group struct dereferences against a null return - @​dbwiddis.
  • #3527: Consolidate the SLF4J log level dispatch duplicated in ExceptionUtil and PerfDataUtil into a new oshi.util.LogUtil, whose isEnabled method offers the slf4j 1.x-compatible equivalent of Logger#isEnabledForLevel - @​dbwiddis.
  • #3531: 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; Sensors#getCpuTemperature now reports 0 (unavailable) instead - @​dbwiddis.
  • #3535: Fix Sensors#getCpuTemperature 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 TCMb (die average) and TCMz (die max) before the per-core keys, reporting the die average - @​dbwiddis.
  • #3536: 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 oshi.os.mac.sensors.gputemperature.keys to override the discovered keys - @​dbwiddis.
  • #3541: Identify Apple Silicon chips at runtime rather than from hardcoded tables that stopped at the M4. PhysicalProcessor#getEfficiency now classifies performance and efficiency cores from the IORegistry cluster-type property, fixing an all-zero classification (and the degraded per-core frequencies that followed from it) on newer chips, and ProcessorIdentifier#getMicroarchitecture falls back to a description derived from the core codenames instead of reporting unknown. An entry in oshi.architecture.properties still takes precedence where one exists - @​dbwiddis.
  • #3555: Fix Linux graphics cards all reporting the same VRAM, DRM device and GPU metrics: request the stable lspci -vnnmm machine-readable format so the Slot: field exists, stop discarding the PCI slot when entering a card record, and identify display controllers by PCI class 0x03 rather than a VGA substring match (expands to include XGA and others) - @​Krillsson.
  • #3561: Fix AIX reporting the current instant as its boot time, and an uptime of zero, when the uptime command transiently failed; parse the year-less who -b format AIX 7.3 emits, and add ParseUtil.parseYearlessDateToEpoch - @​dbwiddis.
  • #3562: Make Linux getMaxFreq() reproducible by resolving it from the cpufreq policy, lshw, and the vendor frequency rather than folding in a live frequency reading, returning -1 when none of those reports a maximum - @​dbwiddis.
  • #3564: Fix Linux getSoftOpenFileLimit() returning -1 for a process whose hard open-file limit is unlimited, discarding a valid soft limit - @​dbwiddis.
  • #3566: Read the OpenBSD host name from gethostname rather than resolving it, so getHostName() no longer reports localhost on a host whose name is not resolvable - @​dbwiddis.
  • #3568: Fix the Windows FFM getProcess(pid) and getProcesses(pids) returning a process that getProcesses() does not list, reporting a recently exited process as running with no path, no threads, and no CPU time - @​dbwiddis.
  • #3569: 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 null, which it can never be); Windows volumes whose mount-point list exceeds the buffer were dropped rather than re-read on ERROR_MORE_DATA (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 ERROR_INSUFFICIENT_BUFFER - @​dbwiddis.

... (truncated)

Commits
  • 3df3d3b [maven-release-plugin] prepare release oshi-parent-7.4.4
  • 62543ba 7.4.4 Release
  • a16e1ab Synchronize the BSD ps-family updateAttributes instead of suppressing S3078 (...
  • cd7034c Drop the dead attempt bound from the AIX perfstat loop guards
  • 6ed5e8d Update github/codeql-action digest to 5595cca (#3584)
  • c7550d5 Thank the Claude for Open Source program, and widen the temporary-code note
  • 65876d6 Update vmactions/netbsd-vm digest to 00081e8 (#3585)
  • f5290f3 Guarantee getCurrentProcess() never returns null (#3583)
  • fdafcf6 Document the semver boundary in AGENTS.md
  • b2cdb43 Retry the AIX perfstat_process fill when the buffer filled exactly (#3582)
  • Additional commits viewable in compare view

Dependabot compatibility score

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 commands and options

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)

Bumps [com.github.oshi:oshi-core](https://github.com/oshi/oshi) from 6.4.1 to 7.4.4.
- [Release notes](https://github.com/oshi/oshi/releases)
- [Changelog](https://github.com/oshi/oshi/blob/master/CHANGELOG.md)
- [Commits](oshi/oshi@oshi-parent-6.4.1...oshi-parent-7.4.4)

---
updated-dependencies:
- dependency-name: com.github.oshi:oshi-core
  dependency-version: 7.4.4
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Aug 14, 2026
@dependabot
dependabot Bot had a problem deploying to configure coverage August 14, 2026 04:03 Failure
@dependabot
dependabot Bot had a problem deploying to configure coverage August 14, 2026 04:03 Failure
@dependabot @github

dependabot Bot commented on behalf of github Aug 14, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/maven/com.github.oshi-oshi-core-7.4.4 branch August 14, 2026 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant