Smartmontools 7.4 released – tool to monitor disk (NVMe, SATA, SCSI) health
<p><pre><code>    - 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 &#x27;-t short&#x27;, &#x27;-t long&#x27; and &#x27;-X&#x27;: NVMe support.
    - smartctl &#x27;-l selftest&#x27;: NVMe support.
    - smartctl &#x27;-l farm&#x27;: Prints Seagate&#x27;s vendor-specific Field Access
      Reliability Metrics (FARM) log for ATA and SCSI drives.
    - smartctl &#x27;-l error&#x27;: Now also prints an error message for each entry
      of NVMe error information log.
    - smartctl &#x27;-l genstats&#x27;: Prints SCSI General statistics and performance
      log page.
    - smartctl &#x27;-i&#x27; and &#x27;--identify&#x27;: ACS-4&#x2F;5&#x2F;6 enhancements.
    - smartctl &#x27;-c&#x27;: Added NVMe 2.0 capability flags.
    - smartctl &#x27;-g security&#x27;: Added &#x27;ata_security.master_password_id&#x27;
      to JSON output.  Plaintext output shows Master Password ID if set
      to a non-default value.
    - smartctl &#x27;-q noserial&#x27;: Now also suppresses the output of NVMe Namespace
      IEEE EUI-64.
    - smartctl &#x27;-j&#x27;: &#x27;-l error -l selftest&#x27; JSON output for NVMe devices.
    - smartctl &#x27;-j&#x27;: Avoid invalid UTF-8 sequences in JSON&#x2F;YAML strings.
    - smartctl &#x27;-j&#x27;: Fixed a bogus exception during SCSI JSON output.
    - smartctl &#x27;-j&#x27;: Renamed JSON element &#x27;scsi_temperature&#x27; back to
      &#x27;temperature&#x27; (regression).
    - smartctl &#x27;-a&#x27;: Now suggests &#x27;-x&#x27; for ATA devices because &#x27;-a&#x27; only
      provides legacy SMART information.
    - smartd: Now detects accidental use of smartd_warning script as
      &#x27;-M exec&#x27; parameter.
    - smartd: No longer writes the &#x27;Copyright...&#x27; line to syslog.
    - smartd.conf &#x27;-M always&#x27;: Sends reminder emails without any delay.
    - smartd.conf &#x27;-M diminishing&#x27;: 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 &#x27;-d jmb39x-q,...&#x27; and
      &#x27;-d jms56x,...&#x27; from 33-62 to 1-255.
    - ATA: Device type &#x27;-d intelliprop,N&#x27; now fails with a deprecation message.
      Added &#x27;-d intelliprop,N,force&#x27; flag to use it anyway.
    - ATA&#x2F;USB: Device type &#x27;-d usbasm1352r,N&#x27; 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 &quot;Informational Exceptions&quot; 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 &#x27;sed&#x27; versions which require
      &#x27;;&#x27; before &#x27;}&#x27; or do not support &#x27;;&#x27; at all.
    - configure: Default for &#x27;--with-nvme-devicescan&#x27; is now &#x27;yes&#x27; also on
      Darwin and FreeBSD.  It is still &#x27;no&#x27; on NetBSD only.
    - configure: Defines &#x27;_FORTIFY_SOURCE=3&#x27; if supported and not predefined.
    - configure: No longer fails if libsystemd-dev is installed and
      &#x27;LDFLAGS=-static&#x27; is used.
    - Compile fix for systems without legacy &#x27;getdtablesize()&#x27;.
    - Pre-releases from SVN snapshots now show &quot;pre-VERSION&quot; in version
      information and &#x27;smartctl.pre_release=true&#x27; in JSON output.
    - Linux: Device type &#x27;-d sssraid&#x27; for 3SNIC RAID controllers.
    - Linux: Device type &#x27;-d marvell&#x27; now fails with a deprecation message.
      Added &#x27;-d marvell,force&#x27; 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 &#x27;-d 3ware&#x27; and &#x27;-d marvell,force&#x27;).
    - 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 &#x27;-q *nodev0*&#x27; option is used.
    - Windows: IOCTL_STORAGE_PROTOCOL_COMMAND variant for NVMe self-tests.
    - Windows: Installer now defaults to 64-bit executables.</code></pre>