- Added support for test polling_minutes. Requested in #77 and #78. Thanks @Gigahawk
- Minnor typo fixed in NvmeAttributes (issue #81). Thanks @petersulyok
- Fixed getstate method in Device class. (issue #86). Thanks @f18m
- Breaking changes
- smartctl.all:
- Officially removed support for python 3.7.
- smartctl.all:
- Fixed some special NVMe capacity parsing issues (issue #73). Thanks @wolfdate25
- Fixed nvme test parsing on smartmontools >= 7.4 (issue #75). Thanks @NicholasCJL
- Other minnor fixes with @ulmitov's help
- Breaking changes
- smartctl.all:
- Officially removed support for python 3.7. However, pyproject.toml still allows the 3.7 version. This will be removed in the next release.
- smartctl.interface.ata:
- Now ata interfaces are handled in the same way as NVMe interfaces.
- device.attribute references if_attributes.legacyAttributes for backwards compatibility.
- smartctl.all:
- Minnor fix on serial NVME readings (MR #69). Thanks @Heidistein
- Minnor fix on reads/writes NVME readings (MR #71. Thanks @Heidistein
- Fixed capacity detection in some devices & envirorments (issue #72). Thanks @Shablykinm
- Now file/process encodings are automatically detected. This whould fix issue #72).
- Minnor refactor on interface.nvme and ata attributes. This should not affect any user.
- [dev tools] Test reorganization
- [dev tools] Added new tests (issues #46)
- Fixed parsing of NVMe devices on some systems / languages (issue #63)
- Fixed parsing of NVMe tests on smartmontools >=7.4 (issue #64)
- Fixed parsing of ATA attributes on some systems (issue #65)
- Fixed parsing of Drive type detection (calling -d test) (issue #65)
- Removed setup.py and moved to pyproject.toml
- Improved parsing of device vendor (requested in #58)
- As reported in #57, sometimes there is a None vale in some device diagnostics. This is now handled.
- DeviceList: Added init param
catch_errors
(defaults toFalse
) to catch errors when parsing devices. This is useful when you want to parse a list of devices and you don't want to stop the parsing if one of the devices fails. The error will be printed to logger.exception and the device will be skipped. Requested in #59.
- Fixing more python typing issues
- Fixed issue with device interfaces on some methods #56
- Smartctl now has exec method for better overloadings. Requested in #54
- Fix disk capacity parsing: Now we retrieve the human and the "real" values. Size() will return the real/machine value instead the expanded human value which introduces some inaccuracies.
- Fix disk capacity parsing on NVMe devices (#53)
- Fixed some strange issues with char \u202f (#52)
- Breaking changes
- smartctl.all:
- Parameters where reordered to make it more consistent with the rest of the library.
- device.interface, device.smartctl_interface and device.dev_interface:
- Attribute
interface
moved into_interface
- Added new property
smartctl_interface
which returns the interface value used by smartctl - Added new property
dev_interface
which returns a fine tuned interface value that reflects more accurately the device interface - Added new property
interface
that wraps aroundsmartctl_interface
for compatibility.
- Attribute
- smartctl.all:
- Fixed some issues with scsi devices parsing (#51)
- Fixed some issues with ATA attributes parsing on ssd+usb+arm devices (#50)
- Removed support for python 3.6 (just for testing convenience, probably it will still works for months)
- Added property vendor to Device object
- Added property sector_size to Device object
- Added property logical_sector_size to Device object
- Added property physical_sector_size to Device object
- Added "sudo" property to the Smartctl class for POSIX systems.
- Added global SMARTCTL object used for defaults.
- Added sector sizes to diagnostics class and other minor improvements to its structure.
- Added class NvmeAttributes to handle specific attributes on NVMe devices.
- Added device property:
if_attributes
to return the device's interface attributes. This is currently only implemented for NVMe devices but ATA/SCSI devices will be implemented in the future. - Minor changes on parsing regexes
- Checks for temperature units (farenheit) and converts to celsius
- Fixed MacOS compatibility issues up to version 11.x
- Fixed some localization (lang) issues
- Fixed issue (#49) detecting selective test capabilities as short/long tests on device parsing
- Minor fixes
- Added tests
- Breaking changes
- Typing:
- Tests and attributes have been typed. This may cause some exceptions if you have been attached to the "everything is a string" previously philosophy.
- Some attributes have been kept back for compatibility but others (like num) have been directly converted into an integer. Test everything after the upgrade
- Other typing changes might take place in the future when it is confirmed that smartctl always uses a fixed time instead of "anything" (str for us).
- device.tests: Now returns an empty list instead of None when there are no tests present
- device.diags: Device.diags have been deprecated and moved into a class called Diagnostics. For compatibility reasons, a property called "diags" has been created. This property simulates the old diags behavior.
- Typing:
- This release contains minnor changes and upgrades to support python 3.8/9/10 as other other mithor improvements
- It contains all the commits on TRUENAS/pySMART from 9/8/2019 to this version tag.
- This release contains all the commits on TRUENAS/pySMART from 11/6/2015 to 9/8/2019.
- This mostly adds multiplatform support for freebsd and many other interesting improvements