- Your contribution here!
6.4.0 (2022-12-02), 6.4.1 (2023-03-18), 6.4.2 (2023-05-02), 6.4.3 (2023-06-06), 6.4.4 (2023-07-01), 6.4.5 (2023-08-20)
- #2259: Cache AIX partition list to reduce disk reads from lspv - @dbwiddis.
- #2260: Use regex to pre-filter to parseable CPU numbers for ARM Macs - @dbwiddis.
- #2262: Consistent treatment of AIX tick lengths - @dbwiddis.
- #2264: Don't assume ticks match logical processor count - @dbwiddis.
- #2292: Update to JNA 5.13.0 - @dbwiddis.
- #2315, #2318: Fix parsing generally and for FreeBSD cpu detection - @decketron.
- #2327: Improve Udev exception handling - @dbwiddis.
- #2329: Allow using SLF4J 1 in OSGi containers - @mshabarov.
- #2361: Convert per-process CPU ticks on Apple Silicon to milliseconds - @dbwiddis.
- #2362: Make use of Kstat2 configurable - @dbwiddis.
- #2377: Graceful fallback for macOS Process user or group name - @dbwiddis.
- #2393: Get threadId by syscall when gettid not available - @silencewood.
- #2394: Fix bit shifting in CPUID calculation - @dbwiddis.
- #2396: Add command-line fallbacks for udev and sysfs processor info - @dbwiddis.
- #2407: Improve performance of Linux User and Group name queries - @dbwiddis.
- #2421: Handle non-unique UUIDs in demo ComputerID class - @dbwiddis.
- #2427: Lookup hardware implementer if lscpu fails to do so - @dbwiddis.
- #2434: Fix Windows OS Process logic to use registry values - @tzfun.
- #2436: Fall back to vendor frequency on failed max on Windows - @dbwiddis.
- #2129: Added JMX demo project - @SalvadorRomo.
- #2197: Added support for Android OS - @milan-fabian.
- #2198: Added Processor Cache Information - @dbwiddis.
- #2218: Added system-wide per-process open file descriptor limits - @gitseti
- #2225: Added process specific open file descriptor limits - @gitseti
- #2179: Update JUnit EnabledOnOS for OpenBSD and FreeBSD - @dbwiddis.
- #2180: Suppress log warnings for common non-root procfs failures - @dbwiddis.
- #2181: Better handling of ARM CPU Names - @dbwiddis.
- #2204: Improve performance using parallel streams for processes and threads - @adrian-kong.
- #2212: Suppress log warnings for common non-root macOS sysctl failures - @pavangole.
- #2224: Detect Windows Server 2022 in older JDKs - @dbwiddis.
- #2229: Fix division by zero on AIX with fewer logical processors than physical processors - @dbwiddis.
- #2243: Actually return Windows IP Connections - @dbwiddis.
This release leverages improvements in JNA 5.12.1 which should significantly improve performance. Finalizers in JNA were replaced by Cleaners, reducing the impact of Memory
objects in tenured heap space by promptly releasing native memory allocations.
In addition, JNA's Memory
class now implements Closeable
. All direct and most indirect allocations of Memory
in OSHI now have their underlying native allocation freed proactively.
- #2075: Reduce heap thrash with HKEY_PERFORMANCE_DATA buffer - @dbwiddis.
- #2080: JNA 5.12.0 - @dbwiddis.
- #2081: Proactively free direct native Memory allocations - @dbwiddis.
- #2082, #2083, #2085, #2090, #2091: Proactively free indirect native Memory allocations - @dbwiddis.
- #2094: JNA 5.12.1 - @dbwiddis.
- #2046: Added getSystemCpuLoad/getProcessorCpuLoad convenience methods - @Osiris-Team.
- #2050: Implement optional Windows Load Average - @dbwiddis.
- #2118: Support Apple M2 chip - @dbwiddis.
- #2016: Make disabled counter check robust to invalid registry types - @dbwiddis.
- #2033: Graceful fallback for CPU Topology without udev - @dbwiddis.
- #2034: Fallback or log warning to avoid exception with no udev - @dbwiddis.
- #2039: Include PID 0 on macOS - @dbwiddis.
- #2054: Prevent NPE when network interface has no statistics - @dbwiddis.
- #2055: Fix incomplete collection of child processes - @marcelkliemannel.
- #2077: Fix processor numbering with Windows Processor Groups - @dbwiddis.
- #2078: Support macOS 13 (Ventura) - @dbwiddis.
- #2089: PDH wild card counters need English objects but localized instances - @dbwiddis.
- #2097: Prefer character classes to alternators in regex - @varun83388.
- #2095: Avoid using reserved identifiers as variable names - @muhammetgumus
- #2099: Remove useless public constructor for abstract class - @victorjbassey.
- #2124: Properly determine Apple Silicon frequency - @dbwiddis.
- #2133: Fix NPE for null canonical host name - @dbwiddis.
6.1.0 (2022-01-20), 6.1.1 (2022-02-13), 6.1.2 (2022-02-14), 6.1.3 (2022-02-22), 6.1.4 (2022-03-01), 6.1.5 (2022-03-15), 6.1.6 (2022-04-10)
- #1851, #1858: Add PhysicalProcessor class to expose hybrid processor topology - @dbwiddis.
- #1886: Implement Processor Utility to optionally match Windows Task Manager CPU usage - @dbwiddis.
- #1974: Enable suppression of disabled perfmon counter warnings - @dbwiddis.
- #1831: Improve Solaris and AIX process listing using procfs - @dbwiddis.
- #1836: Remove all lsof calls and replace with procfs equivalent - @dbwiddis.
- #1837: Implement Kstat2 for Solaris 11.4+ - @dbwiddis.
- #1844: Update Microarchitecture table - @dbwiddis.
- #1849: Use udev for Linux cpu enumeration and frequency - @dbwiddis.
- #1859: Fix battery power usage rate on Fedora/RHEL - @dbwiddis.
- #1869: Ignore mount headers on AIX filesystem - @dbwiddis.
- #1889: Improved calculation of AIX disk reads and writes - @siddhantdixit.
- #1898: Fix Solaris Utmpx structure mapping - @dbwiddis.
- #1909: Move configuration string constants to GlobalConfig - @dbwiddis.
- #1933: Remove malformed DOCTYPE tags in 6.1.1 release POM files - @dbwiddis.
- #1937, #1939: Make Processor Utility calculations robust to edge cases - @dbwiddis.
- #1944: Get page size, hz, and feature bits from Linux aux vector - @dbwiddis.
- #1945: Refactor all binary file reading to use ByteBuffers - @dbwiddis.
- #1949: Refine Processor Utility calculations for more precision - @dbwiddis.
- #1950: Handle Processor Utility 32-bit counter rollover - @dbwiddis.
- #1960, #1962: Improve kstat chain locking - @dbwiddis.
- #1966: Determine kstat2 branch by attempting to load library - @dbwiddis.
- #1971: Show performance and efficiency core total on CPU toString - @dbwiddis.
- #1988: Update to JNA 5.11.0 - @dbwiddis.
- #2007: Pick one property file to load even with duplicates - @dbwiddis.
- #1724: Removed deprecated MACOSX value from PlatformEnum and SystemInfo and removed the getCurrentPlatformEnum() method - @Novaenn.
- #1725: Removed deprecated process sorting methods from the OperatingSystem class - @varnaa.
- #1729: Changed the return value of LinuxOSPRocess and MacOSProcess method getCommandLine() from null-delimited string to space-delimited string - @prathamgandhi.
- #1730: Changed the return value of getServices() from array to list in OperatingSystem - @adrian-kong.
- #1736: Changed the return type of the NetworkInterface method getMTU() from int to long in all its OS implementations. - @Simba-97.
5.8.0 (2021-07-18), 5.8.1 (2021-08-22), 5.8.2 (2021-09-05), 5.8.3 (2021-10-21), 5.8.5 (2021-11-24), 5.8.6 (2021-12-14), 5.8.7 (2021-12-31)
- #1673: Fix FreeBSD ps command arguments for context switches - @basil.
- #1675: Replace ps argument lists with enum - @dbwiddis.
- #1678: Refactor to fix leaking udev reference in LinuxUsbDevice - @mattmacleod.
- #1680: Move supported operating system check out of SystemInfo constructor - @KyongSik-Yoon.
- #1701: Update to JNA 5.9.0 - @dbwiddis.
- #1707: Display Windows 11 version for insider builds - @dbwiddis.
- #1711, #1749: Fix WMI backup table source for process counters - @dbwiddis.
- #1712: Align PlatformEnum to JNA Platform type - @dbwiddis.
- #1768: Fixed incorrect use of reference equality - @mythili-rajaraman.
- #1792: Fix fd leaks in Solaris after Runtime.exec calls - @shvo123.
- #1796: Ban the use of Junit 4 and associated Hamcrest Core - @mprins
- #1803: Configure checkstyle, remove code-assert - @dbwiddis.
- #1808: Restrict imports with maven enforcer - @dbwiddis.
- #1812: Add tests for all WMI drivers and fix failures - @dbwiddis.
- #1822: Fix handle leaks in Windows after Runtime.exec calls - @shvo123.
5.7.0 (2021-04-01), 5.7.1 (2021-04-15), 5.7.2 (2021-05-01), 5.7.3 (2021-05-16), 5.7.4 (2021-05-30), 5.7.5 (2021-06-12)
- #1584: Add logical volume group information - @tausiflife.
- #1587: Add context switches to OSProcess - @dbwiddis.
- #1592: Add suspended process and thread state for Windows - @dbwiddis.
- #1626: Add getIndex() in NetworkIF and demo of Interfaces - @angelyouyou.
- #1585: macOS doesn't provide system level context switches or interrupts - @dbwiddis.
- #1596: Single COM initialization for groups of queries - @dbwiddis.
- #1603: Improve performance of Windows USB device tree parsing - @dbwiddis.
- #1605: Cache localized perf counter object strings - @dbwiddis.
- #1608: LinuxOSProcess#getOpenFiles returns one more than expected - @slaha.
- #1610: Remove redundant check for isLocalInterface - @barddoo.
- #1614: Simplify Windows version parsing using JDK properties - @dbwiddis.
- #1620: Reduced log level to debug for fallback class loading - @UnusualFrog.
- #1628: Null check volume name when iterating Mac File Stores - @dbwiddis.
- #1631: Null check all CFStrings to prevent exceptions - @dbwiddis.
- #1649: Fix macOS and unix sysctl mappings for size_t - @dbwiddis.
- #1657: macOS 12 Monterey - @dbwiddis.
- #1662: PDH queries shouldn't be localized on Vista+ - @dbwiddis.
- #1664: Fix PDH failed query thread safety - @dbwiddis.
- #1665: (Java11 branch) JNA needs reflective access to Windows structure mappings - @vatbub.
- #1541: Expose the alias of a network interface (Windows and Linux) - @dornand.
- #1546: Expose network interface operational status (Windows and Linux) - @dornand.
- #1548: Add getter for descendants of a process - @dbwiddis.
- #1552: Handle exceptions querying Windows user info - @dbwiddis.
- #1562: Fix missing space in WMI process query - @dbwiddis.
- #1566: Handle new WinAPI Logical Processor Information types - @dbwiddis.
- #1567: Handle empty process performance registry query - @dbwiddis.
- #1569: Fix udev reference leak in LinuxNetworkIF - @dbwiddis.
- #1576: JNA 5.8.0 - @dbwiddis.
- New
oshi-core-java11
artifact (in beta) intended for modular projects. - #1526: Make process filtering and sorting more flexible - @dbwiddis.
- #1509: Directly read M1 CPU IOPlatformDevice registry entries - @dbwiddis.
- #1523: Fix Windows partition GUID retrieval - @dbwiddis.
- #1524: Fix Windows USB serial number retrieval - @ymortier.
- #1529: JNA 5.7.0 - @dbwiddis.
- #1535: Fix NetworkIF.isConnectorPresent() on Windows - @dornand.
- #1536: Fix Windows version parsing regression - @dbwiddis.
- #1461: List TCP and UDP connections - @dbwiddis.
- #1466: OpenBSD port - @mprins, @dbwiddis.
- #1473: List Desktop Windows - @dbwiddis.
- #1476: Include ComputerSystem Hardware UUID - @dbwiddis.
- #1478: Added configuration properties to exclude/include filestores - @majster-kat.
- #1464: Also get disk statistics from AppleAPFSContainerScheme - @mpfz0r.
- #1485, #1493: Parse Apple M1 Processor ID info - @dbwiddis.
- #1488, #1489: Use IOUSB plane to iterate/recurse Mac USB tree - @dbwiddis.
- #1490: Apple M1 Baseboard and Firmware backups - @dbwiddis.
- #1494: Deprecate MACOSX platform enum - @dbwiddis.
- #1495: Report Linux filesystem label - @dbwiddis.
- #1497: Don't unnecessarily make lists unmodifiable - @dbwiddis.
- #1498: Identify Rosetta as virtual architecture - @dbwiddis.
- #1501: Get bare metal Apple M1 CPU info from IODeviceTree - @dbwiddis.
- #1502: Fix bitness mismatch on 32-bit OpenBSD - @dbwiddis.
- #1505: Fix windows disk transfer time (yet again) - @dbwiddis.
5.3.0 (2020-10-11), 5.3.1 (2020-10-18), 5.3.2 (2020-10-25), 5.3.3 (2020-10-28), 5.3.4 (2020-11-01), 5.3.5 (2020-11-11), 5.3.6 (2020-11-15), 5.3.7 (2020-12-20)
- #1350: Optionally list loopback and virtual network interfaces - @zalintyre.
- #1359, #1379: Set suppressed network filesystem types and pseudo filesystem types via config - @J-Jimmy, @mprins.
- #1387: Switch tests to JUnit5 and Hamcrest matchers - @dbwiddis.
- #1353: runNative locale issues on linux - @dmitraver
- #1355: Allow variable size structs for macOS IP stat sysctl calls - @dbwiddis.
- #1362: Correct invalid Windows processor bitmask logic on 64th core - @J-Jimmy.
- #1363, #1374: Index logical processors by NUMA node - @dbwiddis.
- #1368: Backup for getting process name and state - @J-Jimmy.
- #1375: Reduce log level for expected Windows permission failures - @dbwiddis.
- #1380: Fix exception sorting child process list on Windows - @agaponik.
- #1382: Fix exception on 32-bit Windows thread stats - @dbwiddis.
- #1388: Fix service listing with systemd 245 and newer - @Szwendacz99.
- #1389: Vendor frequency from non-Intel chips - @dbwiddis.
- #1399: Fix redundant multiplication in Linux max Freq - @dbwiddis.
- #1400: Make Windows System CPU usage Process-group aware - @dbwiddis.
- #1402: Don't use localized environment for xrandr - @dbwiddis.
- #1409: Parse processor name on Orange Pi - @dbwiddis.
- #1410: Adapt to macOS 11 version reverse compatibility - @dbwiddis.
- #1411: Add mapping of device and volume to be used for getting uuid - @tausiflife.
- #1413: Handle macOS unsigned byte ifTypes - @dbwiddis.
- #1419: WMI performance improvement demo classes - @dbwiddis.
- #1432: Properly round Linux current frequency - @dbwiddis.
- #1434: Document unsigned int MTU and update toString - @dbwiddis.
- #1440: Add ps backup for command line for macOS Big Sur compatibility - @dbwiddis.
- #1442, #1443: FreeBSD CI; fix FreeBSD Test Failures - @dbwiddis.
- #1455: Fix hanging prstat call on Solaris thread details - @dbwiddis.
- #1457: Fix macOS codename with new versioning scheme - @dbwiddis.
- #1460: Fetch thread names on Linux - @dbwiddis.
4.9.1 / 5.2.1 (2020-07-14), 4.9.2 / 5.2.2 (2020-07-20), 4.9.3 / 5.2.3 (2020-08-09), 4.9.4 / 5.2.4 (2020-08-16), 4.9.5 / 5.2.5 (2020-08-30)
- #1282: (5.x) AIX Port - @tausiflife, @dbwiddis.
- #1290: Demo class matching filestore to partition - @dbwiddis.
- #1285: Fallback to read properties file from classloader of the class - @ngyukman.
- #1298: Use lshw as backup for max CPU frequency - @dbwiddis, @Szwendacz99
- #1299: JNA 5.6.0 / macOS 11 Compatibility - @dbwiddis
- #1302: More accurate process start times - @dbwiddis.
- #1307: Correctly fetch logical partitions on Windows - @AnakinHou.
- #1310: Use fragment size in Linux FileStore size calculation - @dbwiddis.
- #1316: Fix ARM architecture parsing - @dbwiddis.
- #1320: Avoid NPE for failed Windows registry counter size - @dbwiddis.
- #1327: Fix Raspberry Pi sensor parsing - @dbwiddis.
- #1247: Add Automatic-Module-Name to support JPMS - @dbwiddis.
- #1258: (5.x) Add threads details of a process - @tausiflife.
- #1262: Read macOS versions from properties file - @hkbiet.
- #1270: (5.x) Add page fault info to OSProcess - @tausiflife.
- #1266: Suppress repeated attempts to query failed PDH - @dbwiddis.
- #1267: Check proc_pidinfo return value before incrementing numberOfThreads - @markkulube.
- #1240: Add a driver for proc/pid/statm - @dbwiddis.
- #1241: (5.x) Add code-assert - @dbwiddis.
- #1231: Add OSSessions. - @dbwiddis.
- #1246: Configure data source for OperatingSystem#getSessions - @dbwiddis.
- #1252: Fallback to command line if getSessions sanity check fails - @dbwiddis.
- #1256: Fix calculation of Linux process start time - @dbwiddis.
- #1237: Update Udev to object oriented style - @dbwiddis.
- #1245: Refactor PerfCounterQuery classes and fix memory leak - @dbwiddis.
- #1229: Changed the linux and solaris virtual memory swapins/outs to count just swaps - @roeezz
- #1177: Remove deprecated code. - @dbwiddis.
- #1178: Make NetworkIF an interface. - @dbwiddis.
- #1181: Make HWPartition immutable. - @dbwiddis.
- #1185: Make HWDiskStore an interface. - @dbwiddis.
- #1186: List returns for Display, PowerSource, SoundCard, GraphicsCard. - @dbwiddis.
- #1187: List returns for UsbDevice. - @dbwiddis.
- #1189: List returns for CentralProcessor, GlobalMemory. - @dbwiddis.
- #1190: Make OSFileStore an interface. - @dbwiddis.
- #1191: Make OSProcess an interface. - @dbwiddis.
- #1194: Optionally batch WMI Command Line queries. - @dbwiddis.
- #1174: Add TCP and UDP statistics. - @dbwiddis.
- #1183: Add more VirtualMemory information. - @dbwiddis.
- #894: Look up microarchitecture from processor identifier. - @tbradellis.
- #1150: Add fields to NetworkIF to help determine physical interfaces. - @dbwiddis.
- #1151: Add Graphics Card information. - @dbwiddis.
- #1157: Audit and annotate ThreadSafe classes. - @dbwiddis.
- #1123: Add driver to parse Linux proc/diskstats. - @dbwiddis.
- #1124: Add driver to parse Linux proc/pid/stat. - @dbwiddis.
- #1125: Add driver to parse Linux proc/stat and proc/uptime. - @dbwiddis.
- #1127: Add Volume Label to OSFileStore. - @dbwiddis.
- #1140: Demo Swing GUI. - @dbwiddis.
- #1143: Add process CPU usage between ticks calculation. - @dbwiddis.
- #1098: Option to limit FileStore list to local file systems. - @Space2Man.
- #1100: Get FileStore options. - @dbwiddis.
- #1101: Add network interface dropped packets and collisions. - @dbwiddis.
- #1105: Added additional pseudo filesystems. - @Space2Man.
- #1057: Added Subnet Mask & Prefix Length to NetworkIF. - @vesyrak.
- #1095: Vend JSON via HTTP Server (oshi-demo). - @dbwiddis.
- #1060: Fixed Linux page size calculation. - @dbwiddis.
- #1063, #1065: Fixed Windows disk transfer time. - @Space2Man.
- #1070: Improve PDH counter robustness. - @dbwiddis.
- #1073: Fix Linux Process stats in OpenVZ. - @dbwiddis.
- #1075: Use systemctl for stopped Linux Services. - @dbwiddis.
- #1093: Fix Windows firmware field ordering. - @dbwiddis.
API CHANGE: This version implements thread-safe getters for OSHI attributes. As part of this change, support for serialization has been removed. In addition, some setters have been removed from the API, as they were never intended for end user use. Additional setter removal may occur in future versions.
The default configuration file has been renamed to oshi.properties
to prevent classpath conflicts.
- #943, #944, #948, #949, #950, #953, #968, #972: Add toString methods to API interface implementations - @agithyogendra, @rohitkukreja1508, @colinbobolin, @phillips0616, @BooSandy1994, @shivangi14, @fdmcneill2019, @dbwiddis.
- #959: Implement thread safety -- Hardware API overhaul. - @dbwiddis.
- #960: OSProcess constructor with PID. - @Potat0x.
- #981: List Services - @agithyogendra.
- #1005: PhysicalMemory class - @rohitkukreja1508.
- #962: Properly handle null WMI DateTime results. - @dbwiddis.
- #963: Move the ProcessorIdentifier inner class to the CentralProcessor class - @Praveen101997.
- #971: Fix handle leak in WindowsDisplay.java - @r10a.
- #977: Rename default configuration - @cilki.
- #989: Improve Windows current frequency stats. - @dbwiddis.
- #995: CoreFoundation, IOKit, DiskArbitration API overhaul. - @dbwiddis.
- #1008: Specialize getHostName() - @2kindsofcs.
- #756: Require Java 8. - @dbwiddis.
- #773: Remove oshi-json artifact. - @dbwiddis.
- #774: API overhaul - ComputerSystem, Baseboard, and Firmware. - @dbwiddis.
- #775: API overhaul - GlobalMemory, new VirtualMemory. - @dbwiddis.
- #776: oshi-demo artifact. - @dbwiddis.
- #779: API overhaul - CentralProcessor, new LogicalProcessor. - @dbwiddis.
- #794: Add NUMA nodes to Logical Processors. - @dbwiddis.
- #838, #845, #911: JNA version updates. - @dbwiddis.
- #914: Add System Boot Time. - @shannondavid.
- #916: Move Uptime and Boot Time to OperatingSystem class. - @dbwiddis.
- #917: API overhaul - Sensors. - @dbwiddis.
- #929: Add isElevated check to OperatingSystem. - @dbwiddis.
- #857: Fix CPU temperature - @rlouwerens.
- #901: Fix incorrect physical processor count on Linux. - @ellesummer.
- #918: Removed time interval based caching. - @dbwiddis.
- #921: Removed static map based caching. - @dbwiddis.
- #922: Show OSProcess Bitness. - @dbwiddis.
- #926: Fix SMC datatype reading. - @dbwiddis.
- #928: Raspberry Pi compatibility fixes. - @dbwiddis.
- #931: Standardize attribute updating. - @dbwiddis.
(oshi-core
artifact only)
3.13.0 (2019-01-18), 3.13.1 (2019-04-21), 3.13.2 (2019-04-28), 3.13.3 (2019-06-05), 3.13.4 (2019-09-06), 3.13.5 (2020-01-02), 3.13.6 (2020-07-14)
- #763: Refactor PDH/WMI Fallback. - @dbwiddis.
- #766: Use query key to update counters in groups. - @dbwiddis.
- #767: Allow subclassing WmiQueryHandler with reflection. - @dbwiddis.
- #769: Close PDH handles after each query. - @dbwiddis.
- #839: JNA 5.3.0. - @dbwiddis.
- #845: JNA 5.3.1. - @dbwiddis.
- #1299: JNA 5.6.0 / macOS 11 Compatibility - @dbwiddis
- #728: Separate WMI Query Handling from Util. - @retomerz.
- #730: Fix Windows process token handle leak. - @dbwiddis.
- #731: Switch to MIT License, JNA 5.2.0. - @dbwiddis.
- #735: Windows XP Compatibility fixes. - @dbwiddis.
- #737: Properly handle redundant COM initialization. - @dbwiddis.
- #694: ComputerIdentifier Util Method - @Aashishthakur10.
- #699: Fix PerfData error handling - @dbwiddis.
- #703: Remove deprecated CentralProcessor serialNumber method - @dbwiddis.
- #704: Check for Virtual Machine - @haidong.
- #724: Refactor unsigned long bitmasking - [@LiborB] (https://github.com/LiborB).
- #685: Get Linux HZ from system config - @dbwiddis.
- #686: JNA 5.1.0 - @dbwiddis.
- #688: Fix Linux proc stat and pagesize parsing - @dbwiddis.
- #689: Optionally skip slow OSProcess fields - @dbwiddis.
- #690: Prioritize system-release for Fedora and CentOS version - @dbwiddis.
- #691: Cache OSProcesses on Linux - @dbwiddis.
- #656: JNA 5.0.0. - @dbwiddis.
- #659: Add free/total inode counts. - @Space2Man.
- #666: Recreate counter handles when invalid - @dbwiddis.
- #675: Solaris 10 network stats compatibility fix - @dbwiddis.
- #647: Fix Windows idle counter calculation. - @dbwiddis.
- #653: Fix transferTime in WindowsDisks by using 1-%Idle - @Space2Man.
- #630, #640, #645, #652, #655: Add Sound Card list. - @bilalAM.
- #636: Catch exception when english counters missing. - @dbwiddis.
- #639: Implement QueueLength metric in HWDiskStore. - @Space2Man.
- #592: Test for non-numeric doubles in JSON parsing. - @dbwiddis.
- #597: Fix Windows serialnumber fallback bug. - @dbwiddis.
- #603: Fix Process Uptime bug. - @anitakosman.
- #604: Fix Windows interrupt count bug. - @dbwiddis.
- #605: Update OSGi imports. - @dbwiddis.
- #608: Fix Windows context swith count bug. - @dbwiddis.
- #611: Fix proc stat parsing on older Linux distros. - @dbwiddis.
- #612: OSProcess toString. - @dbwiddis.
- #614: Remove unneeded debug query and fix a WMI cast error - @dbwiddis.
- #626: Fix calculation of Hz on Linux - @dbwiddis.
- #580: Windows process uptime wasn't updating. - @dbwiddis.
- #585: Fix WMI type mapping and BSTR allocation. - @dbwiddis.
- #586: Add PerfDataUtil.removeAllCounters. - @dbwiddis.
- #587: Localize PDH instance enumeration. - @dbwiddis.
- #588: WMI backup for all PDH Counters. - @dbwiddis.
- #571: CIM date broken for timezones east of GMT. - @dbwiddis.
- #573: Don't get PDH swap stats if no swap. - @dbwiddis.
- #574: Suppress repeat updates of failed PDH counters. - @dbwiddis.
- #575: Replace WMI value types with Variant types. - @dbwiddis.
- #577: Get Windows temperature from PDH counters. - @dbwiddis.
- #551: Check for zero-length PDH counter lists to avoid exceptions - @dbwiddis.
- #556: WMI timeouts, standardization, and simplification. - @dbwiddis.
- #557: Localize PDH Counter paths. - @dbwiddis.
- #561: Optimize Process CPU sort. - @dbwiddis.
- #564: Cache WMI connections. - @dbwiddis.
- #567: Cache USB devices. - @dbwiddis.
- #569: Remove threetenbp dependency. - @dbwiddis.
- #527: Correct process information caching and command line retrieval under Windows - @dustin-johnson.
- #533: Filter to CPU zone if multiple Windows Thermal sensors. - @dbwiddis.
- #542: Disabled Windows performance collection leads to empty Process cache - @MarcMil.
- #547: Remove DataTypeConverter dependency so OSHI builds on Java 9+ - @dbwiddis.
- #489: Switch from WMI to native methods for most Windows Process data. - @dbwiddis.
- #501: Added HWDiskStore.updateDiskStats. - @cjbrowne.
- #503: Expose memory page size to API. - @dbwiddis.
- #507: Replace WMI with (faster) PDH queries for WindowsCentralProcessor. - @dbwiddis.
- #508: Replace WMI with (faster) registry data for Windows Processes. - @dbwiddis.
- #509: Add pages swapped in/out to paging/swap file. - @dbwiddis.
- #518: Add OS bitness. - @dbwiddis.
- #446: Add getChildProcesses to OperatingSystem. - @jsimomaa
- #447, #471: Added context switches and interrupts - @jpbempel, @dbwiddis.
- #476: Count CPU Packages - @dbwiddis.
- #478: Windows RSS now reports Private Working Set, matching Task Manager - @dbwiddis.
- Updated to JNA 4.5.1
- #433: Performance improvements for getProcesses() on Linux - @bildechinger.
- #455: Open files/handles support - @spyhunter99.
- #459: New methods for querying for a list of specific pids - @spyhunter99.
- #464: OSGi fixes - @lprimak.
- #465: Include a shaded jar with all dependencies - @lprimak.
- #392: Fix NPE for processes terminating before iteration - @dbwiddis.
- #396: Fix issue on macOS whereby the buffer size for the call to proc_listpids() was improperly calculated - @brettwooldridge
- Updated to JNA 4.5.0
- #336: Add Process Current Working Directory - @dbwiddis.
- #357: Prioritize OpenHardwareMonitor for Windows Sensors - @dbwiddis.
- #362: Add logical volume attribute to OSFileStore (Linux support only), providing a place for an alternate volume name. @darinhoward
- #363: Adding Steal Tick Type for Linux - @darinhoward.
- #375: Added OSGi bundle support - @swimmesberger
- Updated to JNA 4.4.0.
- Switch groupId to com.github.oshi
- #294, #305: Add NetworkParams for network parameter of OS - @chikei, @dbwiddis.
- #295: Make OSProcess (AbstractProcess.java) more easily extendible - @michaeldesigaud.
- #307: Deprecate CentralProcessor's getSystemSerialNumber method that duplicated ComputerSystem's getSerialNumber method. - @dbwiddis.
- #308: Add getProcessorID to CentralProcessor. - @dbwiddis.
- #309: Reduce C library duplication. - @dbwiddis.
- #317: Add user/uid, group/gid, and command line to OSProcess. - @dbwiddis.
- #262: Add bytesRead and bytesWritten to OSProcess - @plamenko.
- #264, #289: BIOS, manufacturer, and baseboard information - @lundefugl, @dbwiddis.
- #281: Improve Linux battery AC device exclusion - @dbwiddis.
- #282: Get Windows version from WMI - @dbwiddis.
- #283: Fix Linux block device stats on some distributions - @lu-ko.
- #284: Remove incorrect IOWait counter from WindowsCentralProcessor - @dbwiddis.
- #285: Rebrand Mac OS 10.12+ as macOS - @dbwiddis.
- #286: Reduce required calculations for LinuxProcess initialization - @dbwiddis.
- #290: Add input/output errors to Network IF - @dbwiddis.
- #243: Make Windows network statistics 64-bit - @dbwiddis.
- #244: Add timestamps to Disk and Network IO Stats - @dbwiddis.
- #253: Properly handle CoreStorage Volumes on OSX - @dbwiddis.
- #256: Use DeviceID to link Windows Disks and Partitions - @dbwiddis.
- #239: Fix exceptions on windows disks/partitions - @dbwiddis.
- #240: Check sysfs for Linux system serial number - @dbwiddis.
- #225: Bugfixes from Coverity, FindBugs, and PMD - @dbwiddis.
- #229: Solaris port - @dbwiddis.
- #232: FreeBSD port - @dbwiddis.
- #234: Add read/write count and active disk time to HWDiskStores - @dbwiddis.
- #235: Add partition information to HWDiskStores - @dbwiddis.
- #205: Separated oshi-core and oshi-json modules - @dbwiddis.
- #209: Move FileSystem and Processes to OperatingSystem - @dbwiddis.
- #210: Streamlined macOS FileSystem - @dbwiddis.
- #211: Combine IOwait and IRQ ticks into processor tick array - @dbwiddis.
- #213: Sort and Limit returned Processes - @dbwiddis.
- #214: Offer flat or tree USB listing - @dbwiddis.
- #216: Filter JSON output with properties - @dbwiddis.
- #219: NetworkIFs can now update stats - @dbwiddis.
- #223: JUnit Test overhaul, adds, refactoring - @dbwiddis.
- #199: Use WMI queries for raw data instead of maintaining PDH threads - @dbwiddis.
- Multiple efficiency improvements
- #190: Add VendorID and ProductID to UsbDevice - @dbwiddis.
- #193: Add read/write to Windows and macOS HWDiskStores - @dbwiddis.
- #194: Add volume name to OSFileStores - @henryx.
- #195: Fixed reading multiple (in particular external) displays on Mac - @dpagano.
- #197: Add UUID to OSFileStores - @dbwiddis.
- #198: macOS 10.12 (Sierra) - @dbwiddis.
- Created a Java 7 backport using threeten.org dependency released as 2.6-m-java7
- #186, #187, #188: Improve USB device trees - @dbwiddis.
- Created a Java 7 backport using threeten.org dependency released as 2.5.1-java7
- Upgraded to Java 8 base support
- #163: Update getFileStores() method to include mount point @henryx.
- #165: Added system-wide file descriptor counts - @cholland1989.
- #168: Switched WMI queries to use COM - @dbwiddis.
- #171: Added detailed process statistics - @dbwiddis.
- #176: Eliminate Swing threads in WindowsFileSystem - @henryx.
- #180: Made all system information classes serializable - @dbwiddis.
- #181: Added USB Device listing - @dbwiddis.
- #184: Improve Linux OS version parsing - @dbwiddis.
- #140: Added process and thread counts - @dbwiddis.
- #142: Added methods for getting swap (total and used) in the system - @henryx.
- #145: Refactored common code to abstract classes - @dbwiddis.
- #147, #149: Added disk information and statistics - @henryx, @dbwiddis.
- #150: Added filesystem types - @dbwiddis.
- #155, #157: Added network interface statistics - @henryx, @dbwiddis.
- #124: Read Windows Sensor info from Open Hardware Monitor as fallback - @dbwiddis.
- #129: Improve Linux version and code name parsing - @dbwiddis.
- #132, #133: Fix NPEs on Raspberry Pi - @pcollaog.
- #136: Updated CPU load average to use system call - @henryx.
- #137: Added iowait and irq ticks - @dbwiddis.
- #121: Added CPU temperature, fan speeds, and voltage - @dbwiddis.
- #123: Handle JSON nulls - @dbwiddis.
- #114: Memory information wasn't updating for Windows - @dbwiddis.
- #116: Added JSON output - @dbwiddis.
- #108: Added Display info from EDID - @dbwiddis.
- #111: Catch exceptions when Linux c library missing - @dbwiddis.
- #101: Refactored package structure for consistency - @dbwiddis.
- #103: Switched CentralProcessor to a single object for all processors - @dbwiddis.
- See UPGRADING.md for more details.
- #94: Upgraded JNA to 4.2.0 - @dbwiddis.
- #96: Read buffer immediately after Runtime.exec to prevent deadlock - @dbwiddis.
- #97: Add system serial number - @dbwiddis.
- #87: Added SLF4J logging, changed exception throwing to log errors to be robust to lack of permissions - @dbwiddis.
- #71, #72: Added support for Windows 10 & Windows Server 2016 - @laurent-r.
- #75: Added uptime information - @dbwiddis.
- #76: Better linux CPU processor counting - @dbwiddis.
- #78: Execute FileSystemView on Swing's Event Dispatch Thread - @dbwiddis.
- Upgraded to Java 7 base support
- Upgraded JNA to 4.1.0
- Brought over lessons learned from waffle for building project from source.
- #50: Added file store information - @dbwiddis.
- #51: Added CPU Ticks and switched to OperatingSystemMXBean for CPU load / load average - @dbwiddis.
- #62: Added Per-Processor CPU Load and Ticks - @dbwiddis.
- Added TODO list and enhanced README documentation - @ptitvert
- Added Travis-CI - @dblock.
- #3: Mavenized project - @le-yams.
- #5: Added Linux support - @ptitvert.
- #7: Added macOS Support - @ptitvert.
- #13: Support for Windows 8.1 and Windows Server 2008 R2 - @NagyGa1.
- #15, #18: Added support for CPU load - @kamenitxan, @Sorceror.
- #25, #29: Included inactive/reclaimable memory amount in GlobalMemory#getAvailable on Mac/Linux - @dbwiddis.
- #27: Replaced all macOS command line parsing with JNA or System properties - @dbwiddis.
- #30: Added processor vendor frequency information - @alessiofachechi.
- #32: Added battery state information - @dbwiddis.
- Added support for Windows 8 to
oshi.software.os.OperatingSystemVersion
,oshi.software.os.windows.nt.OSVersionInfoEx
- @laurent-r.
- Initial public release - @dblock.