Download Latest Version Release 7.7.1 source code.zip (4.0 MB) Google Add to Preferred Sources
Home / oshi-parent-7.7.0
Name Modified Size InfoDownloads / Week
Parent folder
oshi-dist-7.7.0.zip 2026-09-29 5.3 MB
README.md 2026-09-29 3.4 kB
Release 7.7.0 source code.tar.gz 2026-09-29 2.9 MB
Release 7.7.0 source code.zip 2026-09-29 4.0 MB
Totals: 4 Items   12.2 MB 1
New Features
  • #3745: The FFM implementation now reads NetBSD natively, through sysctl, getloadavg, _lwp_self and getrlimit, where it previously ran commands and parsed their output - @dbwiddis.
  • #3709, #3757: Display.getCurrentMode() returns the mode a display is driven in: its logical and pixel resolution, refresh rate, rotation, and position on the desktop. Display.isBuiltIn() reports whether it is a built-in panel, and Display.isPrimary() whether it is the primary display. All three are available on Windows, macOS, and on Linux and the other UNIX platforms through X11 - @ayonization, @dbwiddis.
Bug Fixes and Improvements
  • #3723: Windows Sensors now reads CPU temperature, fan speed and voltage from the ROOT\LibreHardwareMonitor WMI namespace when the LibreHardwareMonitor application is running, in addition to the ROOT\OpenHardwareMonitor namespace it already read. Users running the maintained LibreHardwareMonitor previously got its GPU metrics but no CPU sensor data - @dbwiddis.
  • #3727: The oshi.os.windows.ohm.disabled and oshi.os.windows.lhm.disabled configuration properties now skip the Open Hardware Monitor and Libre Hardware Monitor WMI namespaces, which OSHI otherwise queries on each sensor read until one returns data. The latter also covers GPU metrics - @dbwiddis.
  • #3730: Fixed Sensors.getCpuVoltage() on Windows when using the voltage published by Open Hardware Monitor or LibreHardwareMonitor - @dbwiddis.
  • #3742: NetworkParams.getRoutes() on NetBSD now reads the routing table from the kernel where the JNA native library is available - @dbwiddis.
  • #3743: Fixed three HWDiskStore faults on NetBSD: read and write byte totals that could decrease between readings, a doubled getTransferTime(), and a 1-byte disk or 512-byte partition size where the size is unknown, which also affected OpenBSD - @dbwiddis.
  • #3744: Fixed OSProcess naming on NetBSD: getPath() and getName() were truncated to seven characters, and where the kernel withholds a process's arguments, getCommandLine() returned ps's (command) placeholder and getName() kept its parentheses - @dbwiddis.
  • #3754: OperatingSystem.getProcessId() and getThreadId() return 0 when the ID is unknown on every platform. On NetBSD without JNA, getThreadId() returned a Java thread ID, and on failure some implementations returned -1, which led getCurrentProcess() to return an arbitrary process on the BSDs, Solaris and AIX. getProcess() with a negative PID now returns null on Solaris and AIX - @dbwiddis.

Full change log

Source: README.md, updated 2026-09-29