- 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.
Signed-off-by: Pierre-Yves <pyu@riseup.net>