Skip to content

Releases: truenas/py-SMART

Version 1.3.0

25 Oct 08:33
b947600
Compare
Choose a tag to compare
  • 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.

Version 1.2.5

01 Jun 14:23
d6ebff7
Compare
Choose a tag to compare
  • 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.

Version 1.2.4

12 Apr 15:34
e99a8b4
Compare
Choose a tag to compare
  • [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

Special thanks to:
@ulmitov
@Nikolay-Gamzin

Version 1.2.3

25 Jan 10:22
304a970
Compare
Choose a tag to compare
  • 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 to False) 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.

Version 1.2.2

23 Dec 11:06
5ea5a4a
Compare
Choose a tag to compare
  • 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 around smartctl_interface for compatibility.

Version 1.2.1

07 Dec 12:55
a8e3c09
Compare
Choose a tag to compare
  • 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)

Version 1.2.0

07 Dec 12:53
6878ead
Compare
Choose a tag to compare

Version 1.2.0

  • 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

Version 1.1.0

07 Dec 12:54
d3ed87b
Compare
Choose a tag to compare

Version 1.1.0

  • 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.

Previous/legacy releases

07 Dec 12:55
67a7566
Compare
Choose a tag to compare

Version 1.0.6

  • 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.

Version 1.0.0

  • 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