- Removed Solaris support.
- Added DragonflyBSD support.
- Fixed example task.
- Made some constants private in the generic Unix code that should have been private.
- The architecture method on Linux will now interpret values 4, 5 and 15. If it's not any of those values it will return 'Unknown'.
- The Sys::CPU.model method will now return "ARM" for machines using an ARM-based processor instead of "Unknown".
- Updated the cpu detection handling for Mac M1 systems. Thanks go to Julien W for the spot.
- The OSX code for the CPU.freq method was updated for arm64 systems.
- Some refactoring to the specs and uses shared examples now.
- Now makes the new method a private class method. The constructor was never meant to be used with this library, so now it's explicitly forbidden.
- Added rubocop and rubocop-rspec as development dependencies, as well as a rubocop rake task, and applied some suggested changes.
- Fixed the global Gemfile source issue. Just use the gemspec.
- Added some new cpu families for Windows.
- Added a respond_to_missing? method to the Linux version since it uses method_missing.
- The MS Windows version now assumes Ruby 2.0 or later.
- The code for OSX was split out into its own source file. This was partly for ease of maintenance, but also because there was confusion with the processor_info function. The original function was only aimed at Solaris, but it turns out OSX has its own, different implementation. This caused segfaults.
- Fixed issues where things that were meant to be private weren't actually private.
- Switched from rdoc to markdown.
- Fixed a bug in the Windows version where the attempt to convert the ConfigManagerErrorCode to a string was busted. Coincidentally, this also exposed a core bug in JRuby (see PR #6443). Thanks go to G. Gibson for reporting the issue.
- Switched the tests from test-unit to rspec.
- Added explicit freq, architecture, num_cpu and model methods to the Linux version in an effort to create a common interface across platforms.
- Modified the Linux version so that method_missing will raise a NoMethodError if you try to call access an attribute that doesn't exist.
- Some updates to the Linux tests.
- Properly include a LICENSE file as per the Apache-2.0 license.
- Added explicit .rdoc extension to README, CHANGES and MANIFEST files.
- Fixed license name in README.
- Added metadata to the gemspec.
- Fixed missing hyphen in license name.
- Switched license to Apache 2.0.
- Updated documentation for the cpu_stats method on Linux.
- The VERSION constant is now frozen.
- Now uses require_relative internally where needed.
- Replaced a global array with a constant in the Linux version. Thanks go to Yorick Peterse for the patch.
- Added method comments back to the Unix version.
- Added a sys-cpu.rb stub file for your convenience.
- This gem is now signed.
- Added a workaround for a win32ole bug in the Windows version.
- Reorganized code so that there is now a single gem rather than three separate platform gems.
- Updated test-unit dependency which let me simplify the test files a bit.
- Code base now uses FFI. However, HP-UX is not currently supported. HP-UX users should continue to use the 0.6.x version. Note that the code base remains unchanged on Linux and Windows.
- The cpu_type method has been replaced with the architecture method on Solaris to keep the interface more in line with other platforms.
- The type method has been changed to cpu_type on Windows.
- Some Rakefile and test suite updates.
- The CPU.freq method now works on OSX.
- The CPU.model method on OSX has been altered. Previously it returned the machine model. However, the information is limited.
- Fixed a couple unused variable warnings for the BSD/OSX code.
- The Linux and Windows gems now have a 'universal' architecture.
- Refactored the clean task in the Rakefile.
- Fixed a bug in the install.rb file and refactored it a bit. Thanks go to Di-an Jan for the spot. Note, however, that this file will eventually be removed and/or integrated into the Linux source file.
- Fixed the example Rake task, and refactored some of the other tasks.
- Fixed and updated the CPU.architecture method on MS Windows to handle IA64 and x64 architectures.
- Fixed a bug in the cpu_freq function (which would only be noticed on certain platforms in cases where the CPU.freq method failed). Thanks go to Edho P Arief for the spot.
- Explicitly add sys/param.h on OpenBSD, and default to the HW_MODEL mib because HW_MACHINE does not exist. Thanks go to Edho P Arief for the patch.
- Updated my support notes. In short I will support 1.8.6 and 1.9.x. I will not support any 1.8.x branch later than 1.8.6.
- Removed redundant information in the various .txt files that is already covered in the README file.
- Test files renamed.
- Added test-unit 2.x as a development dependency.
- Fix for OS X 10.5.x. Thanks go to Victor Costan for the spot and the patch.
- Updated the gemspec and some other minor changes.
- On MS Windows the impersonation level is now explicitly set to 'impersonate' to avoid issues where systems might be using an older version of WMI.
- Added support for most BSD flavors, including OS X. The freebsd.c file is now just bsd.c.
- The CPU.type method for Solaris has been changed to CPU.cpu_type to avoid conflicting with the Object.type method.
- Added a Rakefile. There are now tasks for building, testing and installing, among other things. Run 'rake -T' to check your options.
- Many internal directory layout changes - C source files are now under the 'ext' directory.
- Improved RDoc comments in the C source files.
- Changed CPUError to CPU::Error.
- Fixed a bug in the Linux version where there could be a key but no associated value, causing a String#strip! call to fail. Now the value is simply left at nil.
- Refactored the CPU.processors method on Linux, including the removal of '?' from the CPUStruct members for the boolean methods (Ruby doesn't like them).
- Minor tweaks and updates to the documentation, including the README.
- Modified the gemspec so that it sets the platform properly for Linux and Windows.
- Added a gemspec (and a gem on RubyForge).
- The CPU.architecture method on HP-UX now returns nil if it cannot be determined instead of "Unknown" for consistency with the other platforms.
- Inlined the RDoc and made some minor cosmetic source code changes.
- Fixed in a bug in the Solaris version where CPU.load_avg returned bad values when compiled in 64 bit mode. Thanks go to James Hranicky for the spot and both James Hranicky and Peter Tribble (via comp.unix.solaris) for patches.
- Made some modifications to the test suite. You know longer need to know which test suite to run. All platforms now use 'ts_all.rb', which will run the appropriate test case behind the scenes.
- Bug fixed on Linux where empty lines could cause problems. This affected both the install.rb and linux.rb files, though it only seems to have been an issue on the 2.6+ kernel.
- Altered the behavior of the CPU.cpu_stats method on Linux. Now, only the numbered cpu entries return associated data, unless the numberless entry is the only entry.
- Added a sample program for Linux under the 'examples' directory.
- Fixed a potential bug in the FreeBSD version of CPU.model.
- Eliminated some warnings in the FreeBSD version.
- Moved examples directory to the toplevel package directory.
- Renamed and updated the sample scripts.
- Added a sample script for FreeBSD.
- Removed the INSTALL file. That information is now included in the README.
- Made the CHANGES, README, and .txt files rdoc friendly.
- The dynamic documentation generation for Linux has been altered. Anything relating to rd2 has been removed. The doc file generated is now doc/linux.txt.
- Some $LOAD_PATH setup changes in the unit tests.
- Now requires Ruby 1.8.0 or later.
- FreeBSD support added.
- Replaced 'CPUException' with 'CPUError'
- The MS Windows version has been completely revamped to use WMI instead of the C API. Some method names have changed and some methods have been dropped entirely. Please see the documentation for details.
- Corresponding documentation updates and test suite changes.
- Sample programs have been moved to doc/examples.
- Installation procedure somewhat revamped.
- No longer autogenerates test file.
- The .html files have been removed. You can generate the html on your own if you like.
- Added MS Windows support
- Changed some method names. The "cpu" has been dropped from most method names. See documentation for details.
- The state() and freq() methods (where supported) now assume a default value of zero.
- More unit tests added.
- Fixed minor issue with test.rb for those without TestUnit installed.
- Fixed issue with linux.rb file being auto-installed on non-Linux platforms.
- Minor API change for the load_avg() method on HP-UX. It now accepts a CPU number as an argument.
- Fixed a bug in the Solaris version that was using up and not freeing file descriptors.
- Added html doc for Solaris under doc directory.
- Minor changes to test_hpux.rb and test_sunos.rb
- Minor README changes.
- Added HP-UX support
- Removed the VERSION class method. Use the constant instead
- Changed license to "Artistic"
- Moved version info into its own file for convenience
- Some minor mods to the test suites
- Modified extconf.rb, moving some of the dynamic test generation into separate files
- fpu_type and cpu_type now return nil if not found (Solaris)
- CPUException is now a direct subclass of StandardError
- Modified extconf.rb script
- Minor doc updates
- Added another test to the solaris test suite
- Important note added to INSTALL file
- Added the cpu_stats() class method for Linux, which contains the data from the 'cpu' lines of /proc/stat
- Minor fix for extconf.rb (thanks Michael Granger)
- Some tests added to Linux test suite
- MANIFEST correction
- Linux support added (pure Ruby only)
- Many changes to extconf.rb to support Linux version
- sys-uname prerequisite dropped
- rd2 documentation now kept separate from source
- Initial release
- Currently supports Solaris (only)