- Your contribution here
- #1302: More accurate process start times - @dbwiddis.
- #1307: Correctly fetch logical partitions on Windows - @AnakinHou.
- #1282: (5.x) AIX Port - @tausiflife, @dbwiddis.
- #1285: Fallback to read properties file from classloader of the class - @ngyukman.
- #1290: Demo class matching filestore to partition - @dbwiddis.
- #1298: Use lshw as backup for max CPU frequency - @dbwiddis, @Szwendacz99
- #1299: JNA 5.6.0 / macOS 11 Compatibility - @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.
- #1266: Suppress repeated attempts to query failed PDH - @dbwiddis.
- #1267: Check proc_pidinfo return value before incrementing numberOfThreads - @markkulube.
- #1270: (5.x) Add page fault info to OSProcess - @tausiflife.
- #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.
- #1240: Add a driver for proc/pid/statm - @dbwiddis.
- #1241: (5.x) Add code-assert - @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
- #1231: Add OSSessions. - @dbwiddis.
- #1233, #1234: Added more unit tests in CentralProcessorTest and ParseUtilTest - @zachsez.
- #1195, #1222, #1224, #1225, #1226, #1228, #1232, #1235: Added messages to unit test assertions in multiple classes. - @tomokos2, @david145noone, @tausiflife, @tschens95, @dPramod, @roeezz, @zachsez, @RaymondLZhou.
- #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.
- #1219: Only get primary group on WindowsOSProcess. - @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.
- #1155: Linux proc symlinks may show as (deleted). - @jlangst6.
- #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.
- #1139: Fix Windows FileStore updating. - @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.
- #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.
- #1095: Vend JSON via HTTP Server (oshi-demo). - @dbwiddis.
- #1038: More Battery Statistics. - @dbwiddis.
- #1039: JNA 5.5.0. - @dbwiddis.
- #1041: Process Affinity. - @dbwiddis.
- #1045: Better event log exception handling. - @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.
- #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.
- #981: List Services - @agithyogendra.
- #989: Improve Windows current frequency stats. - @dbwiddis.
- #995: CoreFoundation, IOKit, DiskArbitration API overhaul. - @dbwiddis.
- #1005: PhysicalMemory class - @rohitkukreja1508.
- #1008: Specialize getHostName() - @2kindsofcs.
- Your contribution here.
- #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.
- #857: Fix CPU temperature - @rlouwerens.
- #901: Fix incorrect physical processor count on Linux. - @ellesummer.
- #914: Add System Boot Time. - @shannondavid.
- #916: Move Uptime and Boot Time to OperatingSystem class. - @dbwiddis.
- #917: API overhaul - Sensors. - @dbwiddis.
- #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.
- #929: Add isElevated check to OperatingSystem. - @dbwiddis.
- #931: Standardize attribute updating. - @dbwiddis.
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.