Skip to content

Releases: smartmontools/smartmontools

Release 7.4

01 Aug 11:47
Compare
Choose a tag to compare
  • The docker image used for CI and release builds is now based on
    Debian 12 instead of Ubuntu 18.04.
  • macOS: CI and release builds are now generated for the x86_64 and arm64
    targets. 32 bit platforms will require to be compiled from the source.
  • smartctl -t short, -t long and -X: NVMe support.
  • smartctl -l selftest: NVMe support.
  • smartctl -l farm: Prints Seagate's vendor-specific Field Access
    Reliability Metrics (FARM) log for ATA and SCSI drives.
  • smartctl -l error: Now also prints an error message for each entry
    of NVMe error information log.
  • smartctl -l genstats: Prints SCSI General statistics and performance
    log page.
  • smartctl -i and --identify: ACS-4/5/6 enhancements.
  • smartctl -c: Added NVMe 2.0 capability flags.
  • smartctl -g security: Added ata_security.master_password_id
    to JSON output. Plaintext output shows Master Password ID if set
    to a non-default value.
  • smartctl -q noserial: Now also suppresses the output of NVMe Namespace
    IEEE EUI-64.
  • smartctl -j: -l error -l selftest JSON output for NVMe devices.
  • smartctl -j: Avoid invalid UTF-8 sequences in JSON/YAML strings.
  • smartctl -j: Fixed a bogus exception during SCSI JSON output.
  • smartctl -j: Renamed JSON element scsi_temperature back to
    temperature (regression).
  • smartctl -a: Now suggests -x for ATA devices because -a only
    provides legacy SMART information.
  • smartd: No longer issues LOG_CRIT warnings if new entries of NVMe error
    information log do not indicate device problems.
  • smartd: Now detects accidental use of smartd_warning script as
    -M exec parameter.
  • smartd: No longer writes the Copyright... line to syslog.
  • smartd.conf -M always: Sends reminder emails without any delay.
  • smartd.conf -M diminishing: Limited email delay to 32 days.
  • ATA: Fixed decoding of extended self-test log on big endian hosts.
  • ATA: Enhanced LBA range for device types -d jmb39x-q,... and
    -d jms56x,... from 33-62 to 1-255.
  • ATA: Device type -d intelliprop,N now fails with a deprecation message.
    Added -d intelliprop,N,force flag to use it anyway.
  • ATA/USB: Device type -d usbasm1352r,N for ASMedia ASM1352R USB to SATA
    RAID bridges
  • SCSI: Fixed possible corruption issue with the Error Counter and
    Non medium Error log pages.
  • SCSI: Added more "Informational Exceptions" strings.
  • SCSI: Added initial support for REPORT SUPPORTED OPERATION command.
  • SCSI: Initial rework of SCSI debug output.
  • NVMe: Added error messages for NVMe status values.
  • NVMe: Fixed crash after read of error information log on big endian hosts.
  • HDD, SSD and USB additions to drive database.
  • update-smart-drivedb: Fixed syntax for sed versions which require
    ; before } or do not support ; at all.
  • update-smart-drivedb: Replaced a usually not executed bashism.
  • configure: Default for --with-nvme-devicescan is now yes also on
    Darwin and FreeBSD. It is still no on NetBSD only.
  • configure: Defines _FORTIFY_SOURCE=3 if supported and not predefined.
  • configure: No longer fails if libsystemd-dev is installed and
    LDFLAGS=-static is used.
  • Compile fix for systems without legacy getdtablesize().
  • Pre-releases from SVN snapshots now show "pre-VERSION" in version
    information and smartctl.pre_release=true in JSON output.
  • Linux: Device type -d sssraid for 3SNIC RAID controllers.
  • Linux: Device type -d marvell now fails with a deprecation message.
    Added -d marvell,force flag to use it anyway.
  • Linux: The generic SCSI code now defaults to SG_IO_V3 and does no
    longer fall back to the deprecated SCSI_IOCTL_SEND_COMMAND
    (but this ioctl is still used for -d 3ware and -d marvell,force).
  • Linux smartd: Now prevents systemd unit startup timeout when many
    devices are registered and then initially checked.
  • Linux smartd: Systemd no longer reports a service failure if no device
    is present and a -q *nodev0* option is used.
  • Solaris SPARC: Dropped legacy ATA support. Dropped configure option
    --with-solaris-sparc-ata.
  • Windows: IOCTL_STORAGE_PROTOCOL_COMMAND variant for NVMe self-tests.
  • Windows: Installer now defaults to 64-bit executables.
  • Windows: No longer prints bogus Local Time if enhanced TZ syntax is used.
  • Windows: Workaround to keep backward compatibility with old versions
    of Windows if some versions of MinGW-w64 are used.

Release 7.3

14 Apr 16:22
Compare
Choose a tag to compare
  • smartctl: -j: Many additions to the JSON output for SCSI/SAS devices.
  • smartctl: -j: JSON output always includes timestamp, regardless of -i.
  • smartctl: -i and --identify: ATA ACS-5 enhancements.
  • smartctl: -l defects: additionally works for SCSI Pending Defects log
    subpage.
  • smartctl: -l envrep: Prints SCSI Environmental Reporting log subpage.
  • smartctl: -l scterc[,R,W],p: Gets/sets the persistent power-on values.
  • smartctl: -l scterc,reset: Restores to manufacturer's default values.
  • smartctl: -l tapedevstat: Prints SCSI Tape Device Statistics log page.
  • smartctl: -l tapealert: Prints SCSI Tape Alert log page.
  • smartctl: -l zdevstat: Prints SCSI Zoned Block Device Statistics log
    subpage.
  • smartctl: -H: No longer checks and clears the SCSI Tape Alert log page
    unless the option is given twice.
  • smartctl: -H: No longer sets bit 2 of exit status if ATA attributes are
    available.
  • smartctl: -H: Checks new NVME 1.4 status bit.
  • smartctl: -n POWERMODE: ATA: Optionally exits immediately if unsupported.
  • smartctl: Support for Zoned block device characteristics and statistics.
  • smartctl: Various fixes related to SCSI supported log pages and subpages.
  • smartd: Fixed code execution vulnerability in conjunction with
    GNU mailutils < 3.13.
  • smartd: -u USER[:GROUP]: Runs the warning script as a non-privileged user.
  • smartd: --capabilities: No longer suppresses mail notification.
  • smartd: --capabilities=mail: Adds capabilities required for exim MTA.
  • smartd: -q *nodev0*: Three new options to change the exit status to 0 if
    there are no devices to monitor.
  • smartd: -s and -A: Allows one to disable preconfigured files with -.
  • smartd: : Fixed handling of multiple email addresses in conjunction with
    plugin scripts. Added new environment variable SMARTD_ADDRESS_ORIG.
  • smartd: No longer writes smartd -D output to syslog on syntax error.
  • smartd.conf: -c i=N: Allows one to specify device specific check intervals.
  • SCSI: Retry on UNIT ATTENTION when fetching capacity.
  • NVMe/USB: Device type -d sntasmedia for ASMedia ASM2362 USB to
    NVMe bridges.
  • VERSION information in drive database files of all branches.
  • smartctl: and smartd print drive database VERSION information.
  • HDD, SSD and USB additions to drive database.
  • update-smart-drivedb: Now checks VERSION information to prevent downgrades.
  • update-smart-drivedb: --force: Overrides the VERSION check.
  • update-smart-drivedb: --file and --url: Updates from local files or
    other URLs.
  • update-smart-drivedb: -q: Suppresses info messages.
  • update-smart-drivedb: Added long option variants for all short options.
  • update-smart-drivedb: Prevents dangling gpg-agents and temp directories.
  • update-smart-drivedb: --install: Installs runtime drivedb.h from location
    specified by ...
  • configure: --with-drivedbinstdir: drivedb.h package install location.
  • configure: SOURCE_DATE_EPOCH prevents inclusion of configure arguments
    in executables.
  • configure: Check for -fstack-protector now includes the required libs.
  • Dropped restriction to C++98, a C++11 compiler is now required.
  • Linux: Device scan range enhanced to /dev/sdzz.
  • Linux: Fixed access to -d aacraid and -d megaraid devices from smartd
    if --capabilities is used.
  • Linux: -d cciss,N is no longer required for non-RAID hpsa devices.
  • Darwin: smartctl -s apm,N is now supported.
  • OpenBSD: Fixed too short command timeouts.
  • OpenBSD: Fixed device name used for autodetection.
  • OpenBSD: Fixed SAT autodetection of sd* devices.
  • FreeBSD: Added direct access (-d megaraid,N) and scanning for LSI RAID on
    mfi and mrsas controllers.
  • Windows: smartd -u restricted: Runs the warning script with a restricted
    access token.
  • Windows: New script update-smartd-drivedb.ps1 provides gpg verification
    and replaces update-smartd-drivedb.exe.
  • Windows: Disabled -d aacraid support due to unresolved bugs.
    Added -d accraid,...,force flag to try anyway.

Release 7.2

02 Jan 18:22
Compare
Choose a tag to compare
  • smartctl: New option --json=y[c] selects YAML output.
  • smartctl: -i: Prints ATA TRIM and Zoned Device capabilities.
  • smartctl: -j: Fixed scsi_grown_defect_list value.
  • smartctl: -a: Prints SCSI 'Accumulated power on time'.
  • smartctl: -n POWERMODE: SCSI support.
  • smartctl: -s standby,now and -s standby,off: SCSI support.
  • smartctl: -c: NVMe 1.4 additions.
  • smartd: Support for staggered self-tests.
  • smartd: No longer writes attribute log if no attributes were read
    due to standby mode or other error.
  • smartd: Now resolves symlinks before device names are checked for
    duplicates.
  • smartd: Fixed SMARTD_DEVICETYPE environment variable if DEVICESCAN is
    used without -d TYPE.
  • ATA: Device type -d jmb39x-q,N for JMB39x protocol variant used by
    some QNAP NAS devices.
  • ATA: Device type -d jms56x,N for JMS562 USB to SATA RAID bridges.
  • SCSI: Improved heuristics for log subpages of new and very old disks.
  • NVMe: Log transfer size limited to avoid device or kernel crashes.
  • NVMEe/USB: Device type -d sntrealtek for Realtek RTL9210 USB to
    NVMe bridges.
  • update-smart-drivedb: New option --branch X.Y.
  • HDD, SSD and USB additions to drive database.
  • Dropped support for pre-C99 snprintf().
  • configure: Dropped option --without-working-snprintf.
  • configure: Fixed -fstack-protector* detection.
  • Linux: Various fixes of smartd.service file.
  • Darwin: NVMe log support.
  • FreeBSD: Device scan does no longer include T_ENCLOSURE devices.
  • NetBSD: Fixed timeout handling.
  • NetBSD big endian: Fixed ATA register handling.
  • OpenBSD: Fixed timeout handling.
  • Windows: Dropped backward compatibility fixes for very old compilers.

Release 7.1

01 Jun 18:51
Compare
Choose a tag to compare
  • smartctl: Fixed bogus exception on unknown form factor value (regression).
  • smartctl --json=cg: Suppresses extra spaces also in 'g' format.
  • smartctl -i: ATA ACS-4 and ACS-5 enhancements.
  • smartd: No longer truncates very long device names in warning emails.
  • smartd: No longer skips scheduled tests if system clock has been adjusted
    to the past.
  • smartd -A: Attribute logs now use local time instead of UTC.
  • ATA: Device type -d jmb39x,N for drives behind JMicron JMB39x RAID port
    multipliers.
  • SCSI: Workaround for incomplete Log subpages response from some SAS SSDs.
  • HDD, SSD and USB additions to drive database.
  • Autodetection of -d sntjmicron type for JMicron USB to NVMe bridges.
  • configure: Defines '_FORTIFY_SOURCE=2' if supported and not defined.
  • Linux/FreeBSD: Fixed segfault on CCISS transfer sizes > 512 bytes.
  • Linux: Fixed smartd.service 'Type' if libsystemd-dev is not available.
  • Linux: Fixed /dev/megaraid_sas_ioctl_node fd leak.
  • Linux: Fixed GPL licensing problem of linux_nvme_ioctl.h.
  • FreeBSD update-smart-drivedb: Now uses fetch as default download tool.
  • FreeBSD big endian: Fixed NVMe access.
  • FreeBSD: Compile fix for FreeBSD 12.
  • NetBSD: Fixed device scan crash on empty name list.
  • NetBSD: Fixed memory leak in device scan.
  • Windows: Fixed log page access via Windows 10 NVMe driver for NVMe 1.2.1+.
  • Windows: Allow drive letters as device names for Windows 10 NVMe driver.
  • Windows: Workround to allow CSMI access to devices behind AMD RAID drivers.
  • Windows: Fixed MinGW options to add relocation info if ASLR is enabled.
  • Windows wtssendmsg: No longer writes \n line endings to event log.
  • Windows wtssendmsg: New options -t and -w.
     

Release 7.0

16 Oct 11:45
Compare
Choose a tag to compare

7.0 Changelog

  • smartctl: New options -j and --json[=giosu] to enable experimental
    JSON output mode. Also supports an alternative flat format suitable
    for grep (--json=g).
  • smartctl -l devstat: Fix for logs with 256 sectors.
  • smartctl -l error: Prints SCSI Pending Defects log page if supported.
  • smartctl -H: Prints SCSI Format Status log page if supported.
  • smartctl -x: Now includes -l defects.
  • NVMe/USB: Device type -d sntjmicron for NVMe drives behind JMicron USB
    to NVMe bridges.
  • NVMe: SMART/Health Information and Error Information are always read with
    broadcast NSID.
  • SCSI: Various improvements for the decoding of log pages.
  • SCSI: Improved handling of READ CAPACITY command.
  • SCSI: Support for SAS host managed drives.
  • New option -d scsi+TYPE to disable SAT auto detection for aacraid
    and cciss.
  • update-smart-drivedb: New option -u github.
  • update-smart-drivedb: New signing key.
  • configure: New options --with-cxx11-regex and --with-libsystemd.
  • configure: Default for --with-nvme-devicescan is now yes on Linux
    and Windows.
  • configure: Default for --with-scriptpath now includes /usr/local/bin.
  • configure: Options -with-initscriptdir=[auto\|yes] are no longer
    supported.
  • Reworked handling of unaligned LE and BE integers.
  • Dropped various backward compatibility fixes for very old compilers.
  • Replaced GPL header with 'SPDX-License-Identifier' in all source files.
  • HDD, SSD and USB additions to drive database.
  • Always use -d sat for USB vendor IDs with known SAT support.
  • Linux: Device scan with -d by-id scans /dev/disk/by-id/* symlinks.
  • Linux: Dropped device scan support for devfs.
  • Linux: Fixed device scan with multiple -d TYPE options.
  • Linux: Fixed device scan crash on missing /proc/devices.
  • Linux: USB ID detection also for /dev/sgN.
  • Linux: Compile fix for systems with musl libc.
  • Linux smartd: Could now run as systemd service with Type=notify set.
  • FreeBSD: NVMe device scanning.
  • FreeBSD: Various compile fixes.
  • NetBSD: Fixed regression in name based device type detection.
  • NetBSD big endian: Fixed regression in ATA code.
  • NetBSD big endian: Fixed byte ordering of ATA IDENTIFY data from USB/SAT
    drives.
  • Windows: Improved search for actual CSMI port number.
  • Windows: Installer includes VERSIONINFO resource.

Release 6.6

05 Nov 18:05
Compare
Choose a tag to compare

Changelog

  • smartctl -i and --identify: ATA ACS-4 and SATA 3.3 enhancements.
  • smartctl: Control ATA write cache through SCT Feature Control
    with -s wcache-sct,ata|on|off[,p] and -g wcache-sct.
  • smartctl: Print ATA Pending Defects log with -l defects.
  • smartctl -s wcreorder,on|off: New persistent flag ,p.
  • smartctl -s standby: Prevent temporary drive spinup.
  • smartctl -n POWERMODE: New parameter to set exit status.
  • smartctl -g security: ATA Security Level check fixed.
  • smartctl -l scttemp*: Print minimum supported ERC Time Limit.
  • smartctl -q noserial: Now also suppresses "SAS address" output.
  • smartctl -i: Print IEEE EUI-64 of NVMe namespace.
  • smartctl -c: Print NVMe 1.3 feature flags.
  • smartctl -A: Print NVMe 1.3 thermal temperature transition
    statistic.
  • smartctl -g/s dsn: Get/set ATA DSN.
  • smartd: Uses also device identify information to detect for duplicate
    devices.
  • smartd -e dsn directive: Set ATA DSN.
  • smartd: Improved SCSI/SAS temperature logging.
  • smartd: Silence emails and log messages on open errors of
    -d removable devices.
  • smartd: Exit on device open error unless -q never or -d removable
    is specified (regression).
  • update-smart-drivedb: Now authenticates downloaded file with GnuPG.
  • update-smart-drivedb: New options --trunk, --no-verify and
    --export-key.
  • Device type -d intelliprop,N for IntelliProp controllers.
  • SCSI: Default timeout increased to 1 minute.
  • configure: New options --with-gnupg, --with-scriptpath and
    --with-update-smart-drivedb=X.Y
  • configure: Checks for C++11 support option and requires
    --with[out]-cxx11-option if option unknown or no C++11 support.
  • HDD, SSD and USB additions to drive database.
  • New smartmontools-* mailing list addresses.
  • Man page formatting reworked.
  • Linux: Uses SG_IO V4 API if supported.
  • Linux: Devices behind hpsa driver are no longer detected as regular
    SCSI devices.
  • Darwin: Initial NVMe support based on undocumented API.
  • FreeBSD: Fix panic on INVARIANTS enabled kernel.
  • FreeBSD: Improve ATA SMART STATUS check for legacy controllers.
  • FreeBSD: Compile fix for FreeBSD-11 and newer.
  • NetBSD: NVMe support.
  • NetBSD: Full 28-bit ATA support.
  • NetBSD: Compile fix.
  • NetBSD: Use a raw disk device file.
  • OpenBSD: Compile fix.
  • OS/2: Support for the OS2AHCI driver, updating source code,
    adding autoscan support, adding self-test support.
  • Windows: Support for Windows 10 NVMe driver (stornvme.sys).
  • Windows: Fix CSMI access for IRST driver 15.2.
  • Windows smartd: Ability to run PowerShell scripts with -M exec.
  • Windows smartd: New PowerShell script to send smartd warning emails
    without external tools.
  • Windows package: Now provides PDF man pages.

MD5

MD5 (smartmontools-6.6-1.dmg) = 3cb2a739967bd11c7a424fd33a8053b4
MD5 (smartmontools-6.6-1.win32-setup.exe) = f3abb6e80c758594d66b58939b751dd1
MD5 (smartmontools-6.6.tar.gz) = 9ae2c6e7131cd2813edcc65cbe5f223f

Release 6.5

08 Oct 19:19
Compare
Choose a tag to compare

Changelog

  • Experimental support for NVMe devices on FreeBSD, Linux and Windows.
  • smartctl '-i', '-c', '-H' and '-l error': NVMe support.
  • smartctl '-l nvmelog': New option for NVMe.
  • smartd.conf '-H', '-l error' and '-W': NVMe support.
  • Optional NVMe device scanning support on Linux and Windows.
  • configure option '--with-nvme-devicescan' to include NVMe in
    default device scanning result.
  • Device scanning now allows to specify multiple '-d TYPE' options.
  • ATA: Added new POWER MODE values introduced in ATA ACS-2.
  • ATA: SCT commands are no longer issued if ATA Security is locked.
  • SCSI: LB provisioning improvements.
  • SCSI: Fixed GLTSD bit set/cleared info messages.
  • SCSI: Solid State media log page is no longer checked for tapes.
  • SCSI: Improved handling when no tape cartridge in drive.
  • SCSI: Workaround for buggy Seagate firmware.
  • SAT: Improved heuristics to detect bogus sense data from SAT layer.
  • smartd: Fixed crash on missing argument to '-s' directive.
  • update-smart-drivedb: Now uses HTTPS for download by default.
  • update-smart-drivedb: New options to select URL and download tool.
  • update-smart-drivedb: New download tool 'svn'.
  • configure option '--without-update-smart-drivedb' to disable
    update-smart-drivedb script.
  • configure options '--disable-drivedb', '--enable-savestates',
    '--enable-attributelog' and '--with-docdir' are no longer supported.
  • autoconf < 2.60 and automake < 1.10 are no longer supported.
  • Drive database file now also includes the DEFAULT setting
    for each attribute.
  • HDD, SSD and USB additions to drive database.
  • Darwin: New support files for package installer.
    New makefile target 'install-darwin' builds DMG image.
  • Solaris: Auto detection of SATA devices behind SAT layer.
  • Solaris SPARC: Legacy ATA support disabled by default.
    New configure option '--with-solaris-sparc-ata' enables it.
    File os_solaris_ata.s is no longer included in source tarball.
  • Windows: Auto detection of USB devices specified by drive letter.
  • Windows: Device scanning does no longer ignore unknown USB devices.
  • Windows: Prevent drive spin up by '-n standby' check.
  • Windows: New application manifests indicating Win 10 support.
  • Windows smartd: '-m [sys]msgbox' is no longer supported.
  • Windows installer: Defaults to 64-bit version on 64-bit Windows.
  • Various code changes suggested by Clang Static Analyser and Cppcheck.

Release 6.4

05 Nov 20:50
Compare
Choose a tag to compare
  • Device type '-d usbprolific' for Prolific PL2571/277x USB bridges.
  • SAT: Support for ATA registers returned in fixed format sense data.
  • smartctl '-i' and '--identify': ATA ACS-4 and SATA 3.2 enhancements.
  • smartctl '-l xerror': Support for logs with more than 255 pages.
  • smartctl '-l devstat': Prints ACS-3 DSN flags.
  • smartctl '-l devstat': Read via SMART command if GP log is not
    available.
  • smartctl '-l scttempsts': Prints SCT SMART STATUS (ACS-4) and
    vendor specific SCT bytes.
  • configure option '--with-systemdenvfile=auto' as new default.
  • configure options '--disable-drivedb', '--enable-savestates'
    and '--enable-attributelog' are deprecated.
  • Corresponding '--with-*' options are enhanced accordingly.
  • Configure option '--with-docdir' is deprecated.
  • autoconf < 2.60 and automake < 1.10 are deprecated.
    (all of the above still work but a warning is printed if used)
  • HDD, SSD and USB additions to drive database.
  • Linux: AACRAID fixes, SMART STATUS should work now.
  • Linux: '/dev/megaraid_sas_ioctl_node' fd leak fix.
  • Darwin: '-S' command implemented, '-l devstat' should work now.
  • Cygwin: Compile fix.
  • Windows: Device type '-d aacraid' for AACRAID controllers.
  • Windows: SAT autodetection based on IOCTL_STORAGE_QUERY_PROPERTY.
  • Windows installer: Fix possible loss of user PATH environment variable.

Release 6.3

05 Nov 20:53
Compare
Choose a tag to compare
  • smartctl: Fixed bogus error messages from '-g/-s wcreorder'.
  • smartctl prints ATA form factor.
  • SCSI: Improved support of modern disks (SAS SSDs).
  • SCSI: Fixed sense data noise from old disks.
  • update-smart-drivedb man page.
  • configure option '--with-smartdscriptdir'.
  • configure option '--with-smartdplugindir'.
  • configure option '--with-systemdenvfile'.
  • configure option '--with-working-snprintf'.
  • Removed build time stamps to support reproducible builds.
  • Compile fixes for C++11.
  • HDD, SSD and USB additions to drive database.
  • Linux: Support for controllers behind AACRAID driver.
  • Linux: Fixed DEVICESCAN max path count.
  • FreeBSD: Fixed possible crash caused by wrong SCSI error handling.
  • FreeBSD: Compile fix for kFreeBSD.
  • Windows: Reworked CSMI port scanning.
  • QNX: Compile fix.