Skip to content

build(deps): bump com.github.oshi:oshi-core from 7.3.0 to 7.4.3 - #4115

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/com.github.oshi-oshi-core-7.4.3
Open

build(deps): bump com.github.oshi:oshi-core from 7.3.0 to 7.4.3#4115
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/com.github.oshi-oshi-core-7.4.3

Conversation

@dependabot

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

Copy link
Copy Markdown

Bumps com.github.oshi:oshi-core from 7.3.0 to 7.4.3.

Release notes

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

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.
  • #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.

Full change log

Release 7.4.0

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.

... (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
  • 3f758ae [maven-release-plugin] prepare release oshi-parent-7.4.3
  • 1a563ee 7.4.3 Release
  • ef774f3 Fix Linux graphics cards all reporting the same VRAM (#3555)
  • 7fb5640 Update github/codeql-action digest to f205ea1 (#3556)
  • ea3c16f Cover the WMI CIM type conversions and fix a null query handle (#3554)
  • 315cd75 Share the systemd session fallback and fold the ADL clock duplicates (#3553)
  • b4acfc6 Inherit the DragonFly BSD hardware layer from FreeBSD's (#3552)
  • c7bb35b Share the SMC key resolution between the two backends (#3551)
  • 96c7f14 Extract a common BSD ComputerSystem base (#3550)
  • d208368 Update vmactions/netbsd-vm digest to e7ac71b (#3548)
  • 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 7.3.0 to 7.4.3.
- [Release notes](https://github.com/oshi/oshi/releases)
- [Changelog](https://github.com/oshi/oshi/blob/master/CHANGELOG.md)
- [Commits](oshi/oshi@oshi-parent-7.3.0...oshi-parent-7.4.3)

---
updated-dependencies:
- dependency-name: com.github.oshi:oshi-core
  dependency-version: 7.4.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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 7, 2026
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.

0 participants