-$Id: ChangeLog 4324 2016-05-31 20:45:50Z chrfranke $
+$Id: ChangeLog 4883 2018-12-30 14:48:54Z chrfranke $
+
+2018-12-30 Christian Franke <franke@computer.org>
+
+ smartmontools 7.0
+
+2018-12-29 Christian Franke <franke@computer.org>
+
+ smartctl.8.in: Remove extra quote.
+
+ INSTALL: Update or remove various outdated info.
+
+2018-12-28 Christian Franke <franke@computer.org>
+
+ configure.ac: Set drivedb.h branch to 7.0.
+ update-smart-drivedb.in: Update public key block.
+ update-smart-drivedb.8.in: Update key ID.
+
+ Create new branch RELEASE_7_0_DRIVEDB.
+ Sign drivedb.h using new key ID 721042C5.
+
+2018-12-27 Christian Franke <franke@computer.org>
+
+ do_release: Add quotes to AC_INIT regex.
+
+ configure.ac: Update PACKAGE_HOMEPAGE.
+
+ configure.ac: Set release number to 7.0
+
+ smartctl.cpp: Set JSON format version to 1.0 (#766).
+
+ scsiprint.cpp: Omit JSON values for unavailable counters from
+ Format Status log page. This ensures that each JSON value always
+ has the same type.
+
+ drivedb.h:
+ - SandForce Driven SSDs: Kingston E50 (#756)
+ - WDC HGST Ultrastar He10 (#959, #997, #1093, #1111)
+ - Toshiba 2.5" HDD MQ04UBF... (USB 3.0) (#937)
+ - Seagate Barracuda 7200.10: HP OEM 160GB (#1037)
+ - Seagate Constellation ES.3: HP OEM 4TB
+ - Seagate Exos 5E8 (#1058)
+ - Seagate IronWolf Pro (#1076, GH issues/10, GH issues/14)
+ - WD Blue and Green SSDs: Rename, add Green (#980, #1073)
+
+2018-12-20 Donald Pierce <...>
+
+ drivedb.h:
+ - Dell Certified Intel S3520 Series SSDs (#1147)
+ - Dell Certified Intel S4x00/D3-S4x10 Series SSDs (#1148)
+
+2018-12-20 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - SandForce Driven SSDs: Kingston HyperX Fury (#805)
+ - Phison Driven SSDs: PNY CS2211 (#992)
+ - JMicron based SSDs: ADATA SX390 (#818),
+ KingSpec KDM-SA.51-008GMJ (#741)
+ - SiliconMotion based SSDs: KingSpec KSD, KingSpec T60,
+ Team Group L5Lite 3D (#1144), Transcend ESD400
+ - USB: Transcend ESD400 (0x2174:0x2000)
+
+ smartd.cpp: Remove unneeded '.c_str()' call. Update a comment.
+
+ configure.ac: Use AS_HELP_STRING instead of AC_HELP_STRING
+ as suggested by autoupdate. Add missing check for 'enableval'.
+
+2018-12-16 Christian Franke <franke@computer.org>
+
+ smartd.8.in: Don't use empty lines before '.SH' macros.
+
+ smartd.cpp: [_WIN32] Remove check for '-m [sys]msgbox'.
+
+ nvmeprint.cpp: Don't print NSID in SMART/Health Information title
+ line. This log is always read with broadcast NSID.
+
+2018-12-16 Giuseppe Iuculano <iuculano@debian.org>
+
+ cciss.cpp: Fix kFreeBSD build (Debian kfreebsd.patch).
+
+ smartd.service.in: Declaring After=syslog.target is unnecessary by
+ now because syslog is socket-activated and will therefore be started
+ when needed (Debian removesyslogtarget.patch).
+
+2018-12-11 Christian Franke <franke@computer.org>
+
+ smartd.conf.5.in: Update DEVICESCAN info and move it up to a
+ new section. Add section header for DEFAULT SETTINGS.
+
+ smartctl.8.in, smartd.8.in, smartd.conf.5.in: Remove EXPERIMENTAL
+ notes for features added before 6.5.
+
+ os_linux.cpp: Call realpath() with full /sys/* path instead of
+ device name (GH pull/23). This fixes detection of hpsa devices
+ (regression from r4603).
+
+2018-12-11 Harry Mallon <hjmallon@gmail.com>
+
+ scsinvme.cpp: Fix debug message.
+
+2018-12-05 Christian Franke <franke@computer.org>
+
+ smartctl.8.in, smartd.conf.5.in: Mark '-d sntjmicron' as
+ EXPERIMENTAL.
+
+ drivedb.h: Enable JMicron JMS583 entry, use an internal -d option.
+ scsinvme.cpp: Detect this internal -d option and ask user to test
+ '-d sntjmicron'.
+
+ scsinvme.cpp: Add missing include of config.h.
+
+2018-12-05 Harry Mallon <hjmallon@gmail.com>
+
+ Add '-d sntjmicron[,NSID]' device type for NVMe drives behind
+ JMicron USB to NVMe bridges (JMS583).
+
+2018-12-04 Christian Franke <franke@computer.org>
+
+ os_linux.cpp: Add '-d by-id' option to device scanning.
+ If specified, scan '/dev/disk/by-id/*' for symlinks to '/dev/sdX'
+ and remove duplicates.
+
+2018-12-02 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Samsung based SSDs: CM851 (#1109), SM863a (#1140)
+ - SiliconMotion based SSDs: Transcend 420K (GH issues/20),
+ Transcend 630 (#1038)
+ - Western Digital Gold: Re-add 8TB *2 variant
+ - USB: Buffalo HD-PNTU3 (0x0411:0x01e7), HD-LC3 (0x0411:0x027e)
+ - USB: ADATA NH13 (0x125f:0xa13a), HD710P (0x125f:0xa75a)
+ - USB: Verbatim External Hard Drive (0x18a5:0x0408) (#1107)
+
+ AUTHORS: Add Harry Mallon.
+
+2018-12-02 Harry Mallon <hjmallon@gmail.com>
+
+ drivedb.h: USB: LaCie Rugged Mini HDD (0x059f:0x106b)
+
+ Fix many typos.
+
+ ataprint.cpp: Fix Form Factor string with bits set in reserved area
+ - Happens with APPLE SSD SD0256F
+
+2018-11-27 Christian Franke <franke@computer.org>
+
+ os_linux.cpp: Add USB ID detection for '/dev/sgN'.
+
+ smartd_warning.sh.in: Fix typo (#1138).
+
+2018-11-27 Harry Mallon <hjmallon@gmail.com>
+
+ autogen.sh: allow automake 1.16 and 1.16.1.
+
+2018-11-25 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: Micron 1100
+ alternative ID string (#1131)
+ - SandForce Driven SSDs: Comay BladeDrive E28 (#823),
+ MX-DS FUSION (#900), OCZ Deneva 2 *.C (#1119), OCZ-VERTEX3 LT
+ - Phison Driven SSDs: Kingston A400 with extra space in ID (#801)
+ - Samsung based SSDs: SM951 *HDGM variant (patch from #1113)
+ - SiliconMotion based SSDs: KingDian S400 (#1116)
+ - Western Digital Gold: 1TB, 2TB (#1035, #1047), 8TB (#1033),
+ 12TB, attribute 22 "Helium_Level" (patch from #1115)
+
+2018-11-25 Cameron Costa <cameron.costa@intel.com>
+
+ drivedb.h: Intel S4510 M.2 (#1121, #1122, #1123, #1133)
+
+2018-11-13 Christian Franke <franke@computer.org>
+
+ os_linux.cpp: Drop device scan support for obsolete devfs.
+ Implement new version of scan_smart_devices(). This avoids
+ duplicates if multiple '-d TYPE' options are specified.
+
+ dev_interface.cpp, dev_interface.h: Add default implementation for
+ old version of scan_smart_devices().
+
+2018-11-02 Oleksii Samorukov <samm@os2.kiev.ua>
+
+ os_darwin.cpp, os_freebsd.cpp: fix return value in error paths
+ patch provided by rikard.falkeborn (github)
+
+2018-11-02 Christian Franke <franke@computer.org>
+
+ json.cpp: Allow UTF-8 characters in strings.
+
+ ataprint.cpp: Add JSON support for '-l defects'.
+ Add numeric values to JSON 'interface_speed' info.
+ Replace local 'le*_to_uint()' with 'sg_get_unaligned_le*()'.
+
+ ataprint.cpp, ataprint.h: Remove request to send '-l defects' output.
+ Remove 'pending_defects_info' flag.
+ smartctl.cpp, smartctl.8.in: Add '-l defects' to '-x' output.
+
+2018-10-25 Christian Franke <franke@computer.org>
+
+ json.cpp, json.h: Add 'pretty' print option.
+ smartctl.cpp, smartctl.8.in: Add '--json=c' option to disable
+ pretty-printing.
+
+ ataprint.cpp, nvmeprint.cpp, smartctl.cpp: Use const references
+ for json::ref function parameters.
+
+ json.cpp, json.h: Clean up usage of 'int64_t' and 'long long'.
+ Use PRI?64 instead of "ll?" in printf() format strings.
+ This re-enables build on older versions of MinGW.
+
+2018-10-23 Christian Franke <franke@computer.org>
+
+ json.cpp: Remove extra space after JSON key names.
+
+ json.cpp, json.h: Remove return of self reference from operator=().
+
+ json.cpp, json.h: Change handling of unsafe and 128-bit integers:
+ Output as string 'KEY_s' and LE byte array 'KEY_le' if range exceeded
+ or verbose mode enabled.
+ smartctl.cpp, smartctl.8.in: Add '--json=v' option.
+
+2018-10-17 Christian Franke <franke@computer.org>
+
+ os_win32/popen_win32.cpp, os_win32/popen.h: New popen()/pclose()
+ for Windows. Unlike MSVCRT _popen(), it does not open a new console.
+ os_win32.cpp: Remove run_cmd(), use popen() instead.
+ os_win32/daemon_win32.cpp, os_win32/daemon_win32.h: Remove
+ daemon_spawn().
+ smartd.cpp: Remove _WIN32 specific usage of daemon_spawn(),
+ use generic code with popen() also on Windows.
+ Place quotes around warning script path on Windows.
+ Makefile.am, os_win32/vc14/smart*.vcxproj*: Add new files.
+
+2018-10-17 Rick Chen <juihsiang.chen@gmail.com>
+
+ scsiprint.cpp: Add SCSI information to JSON output as below:
+ - Drive trip temperature (#1079)
+ - Error counter log read/write/verify (#1079)
+ - Grown defect list (#1082)
+ - Percentage used endurance indicator (#1083)
+
+2018-10-14 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: MX500 M.2
+ - Samsung based SSDs: Samsung SM841 (#1043), PM841 (#1052),
+ Samsung 860 EVO (#1034, #1040, #1051, #1059),
+ Samsung 860 PRO (#1010, #1068, #1102, #1103, #1104),
+ Samsung Portable SSD T5 (#1050)
+ - USB: Samsung Portable SSD T5 (0x04e8:0x61f5) (#1050)
+
+ os_darwin.cpp: Add missing braces to SMART RETURN STATUS LBA register
+ setting. Detected by g++ 7.3 -Wmisleading-indentation.
+
+2018-10-11 Christian Franke <franke@computer.org>
+
+ os_win32.cpp: Decode Windows 10 1809 and Server 2019 build number.
+ Move "(64)" to end of version info.
+
+ os_linux.cpp: Fix '-d megaraid' open crash on missing /proc/devices.
+ There is no /proc/devices on ESXi (see #800) and WSL.
+
+2018-10-09 Christian Franke <franke@computer.org>
+
+ smartd.cpp: Move code for '--capabilities' to separate functions.
+
+ smartd.cpp: Rework main loop.
+
+ smartctl.cpp, smartd.cpp, os_linux.cpp, os_solaris.cpp:
+ Replace all uses of EXIT() macro. Use early return where possible,
+ use throw otherwise.
+ utility.h: Remove EXIT() macro.
+
+ utility.cpp: Detect more C++ language versions for -V option.
+
+ drivedb.h:
+ - Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: Rename,
+ BX500 (#1095)
+ - Seagate Samsung SpinPoint F4 EG (AF) (#1090)
+ - Seagate Momentus 5400.6: Add '-F xerrorlba' (#1094)
+ - USB: JMicron JM562 (0x152d:0x0562) (IDENTIFY only, see #966)
+ - USB: VIA VL715 (0x2109:0x0715) (#1098)
+
+2018-10-09 Anthony D'Atri <anthony.datri@gmail.com>
+
+ drivedb.h: (#1096)
+ - Samsung based SSDs: Samsung PM863a (#951, #952, #961, #962, #972)
+ - Intel 730 and DC S35x0/3610/3700 Series SSDs: Dell-flavor S3500
+
+2018-10-09 Thomas Niedermeier <tniedermeier@thomas-krenn.com>
+
+ drivedb.h: Samsung PM883 and SM883 (GH pull/19)
+
+2018-09-27 Christian Franke <franke@computer.org>
+
+ INSTALL: Update list of default ./configure options.
+
+ utility.cpp: Add check of sg_get_unaligned_[bl]e16() and *32 to
+ check_endianness().
+
+ utility.cpp, utility.h: Optionally use C++11 'std::regex' instead of
+ POSIX regex(3).
+ configure.ac: Add option '--with-cxx11-regex'.
+
+ utility.cpp, utility.h: Simplify 'class regular_expression', remove
+ unneeded flag parameters, remove unused function.
+ atacmds.cpp, knowndrives.cpp, os_win32.cpp, smartd.cpp: Adjust usage
+ accordingly.
+
+ configure.ac, utility.cpp, utility.h: Remove replacement for missing
+ 'strtoull()'.
+
+ configure.ac: Change default for '--with-nvme-devicescan' to 'yes'
+ on Linux and Windows. Keep 'no' on FreeBSD, NetBSD and Darwin.
+
+2018-09-26 Christian Franke <franke@computer.org>
+
+ configure.ac: Print warning if systemd(1) is present but
+ libsystemd-dev package is missing.
+
+ smartd.cpp: Notify READY=1 to systemd just before first sleep() to
+ ensure that the signal handlers are set.
+
+ smartd.cpp: Always ignore failure of ATA SMART ENABLE command if
+ '-T permissive' is specified. Useful for testing on virtual
+ machines.
+
+2018-09-21 Christian Franke <franke@computer.org>
+
+ configure.ac, os_linux.cpp: Remove redundant define WITH_SELINUX.
+
+ configure.ac: Check for 'libcap-ng' only on Linux.
+ Rework __USE_MINGW_ANSI_STDIO test for MinGW runtime.
+ Print 'deprecated' warning for '--without-working-snprintf'.
+
+ Add systemd(1) notify support to smartd (#1081):
+ configure.ac: Add option '--with-libsystemd'.
+ Makefile.am: Add linker flag and man page conditional.
+ smartd.cpp: If environment variable NOTIFY_SOCKET is set, use
+ sd_notify(3) to inform the service manager about state changes.
+ smartd.service.in: Set 'Type=notify'.
+ smartd.8.in: Document new functionality.
+
+2018-09-16 Christian Franke <franke@computer.org>
+
+ atacmds.cpp: Avoid possible virtual call in dtor
+ (cppcheck 1.84: virtualCallInConstructor).
+
+ os_win32.cpp: Use unsigned int for bit shifts
+ (cppcheck 1.84: shiftTooManyBitsSigned).
+
+ Makefile.am: Set HAVE_WORKING_SNPRINTF also in VC14 config.h.
+
+ os_netbsd.cpp: Add spaces between string literals and macros for
+ C++11 (g++ -Wliteral-suffix).
+
+ ataprint.cpp: Add JSON support for '-l selective'.
+
+ drivedb.h: Update or remove links in warning messages.
+
+ drivedb.h: Crucial/Micron BX300, MX1/2/3/500, M5/600, 1100 SSDs:
+ - Rename,
+ - Crucial BX300 (GH pull/16, #963),
+ - Crucial MX300 750GB,
+ - Crucial MX500 (#977, #994, #995, #1004, #1024),
+ - Micron M500IT (#958),
+ - Micron 1100 OEM (GH pull/17),
+ - fix name of attribute 202 and 248.
+
+2018-09-12 Christian Franke <franke@computer.org>
+
+ ataprint.cpp: Get JSON values 'temperature.op_limit_min/max' from
+ Device Statistics.
+
+ atacmds.h, ataprint.cpp: Print ACS-4 max operating temperature
+ from SCT Status.
+
+ Makefile.am: Remove define of 'HAVE_GETOPT_LONG'.
+ os*.cpp: Remove remaining checks for 'HAVE_GETOPT_LONG'.
+
+ configure.ac: Remove check for 'uname()'.
+ os_generic.cpp, os_qnxnto.cpp: Remove function 'unsupported()'.
+
+ drivedb.h:
+ - HGST Deskstar NAS: *6040ALE614 (#935, #1089)
+ - HGST Ultrastar DC HC520 (He12) (#1086)
+
+2018-09-12 Anthony D'Atri <anthony.datri@gmail.com>
+
+ drivedb.h: Micron 5100 Pro / 5200 SSDs (#1071)
+
+2018-09-11 Oleksii Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: Fix build on FreeBSD 12, patch by fernape@
+
+2018-09-10 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Seagate Enterprise Capacity 3.5 HDD: V5.1 (#1087)
+ - Seagate Exos X12 HDD (#1042, #1046)
+ - Western Digital VelociRaptor (AF): WD5000BHTZ (patch from #1041)
+
+2018-09-10 David Purdy <david.c.purdy@gmail.com>
+
+ drivedb.h: Phison Driven SSDs: Kingston A400 (#801)
+
+2018-09-02 Christian Franke <franke@computer.org>
+
+ dev_intelliprop.h: Fix copyright info.
+
+ ataprint.cpp, nvmeprint.cpp: Change JSON value 'power_on_hours'
+ to 'power_on_time.hours'. Add '.minutes' if available.
+ scsiprint.cpp: Add JSON values 'power_on_time.hours/minutes' from
+ Seagate factory lpage or from background scan lpage.
+
+2018-08-20 Christian Franke <franke@computer.org>
+
+ Add missing license headers to some source files.
+
+2018-08-19 Christian Franke <franke@computer.org>
+
+ Add SPDX-License-Identifier to all files with GPL header (#919).
+ Remove GPL headers. Remove outdated info about smartsuite.
+
+ getopt/*, regex/*: Replace with current version from glibc 2.28
+ (2018-08-01). Add _GETOPT/REGEX*_STANDALONE configurations.
+ Makefile.am, os_win32/vc14/smart*.vcxproj*: Set *_STANDALONE.
+ Add new files.
+
+ examplescripts/README: Update mailing list address.
+ os_solaris_ata.s: Remove old mailing list address.
+
+ os_win32/wbemcli_small.h: Remove this file.
+ The file <wbemcli.h> is usually provided by recent MinGW packages.
+ configure.ac: Remove check for <wbemcli.h>.
+ Makefile.am, os_win32/wmiquery.h, os_win32/vc14/smart*.vcxproj*:
+ Remove usage of 'wbemcli_small.h'.
+
+ ataprint.cpp, nvmeprint.cpp: Add JSON values 'power_cycle_count'
+ and 'power_on_hours'.
+ json.cpp, json.h: Add 'set_if_safe_*' member functions.
+
+2018-08-13 Christian Franke <franke@computer.org>
+
+ ataprint.cpp: Add JSON support for '-l devstat'.
+ Add JSON support also for old SCT Status format.
+
+2018-08-10 Christian Franke <franke@computer.org>
+
+ smartctl.cpp, os_win32/wmiquery.h: Add missing printf() format checks.
+ This also silences -Wformat-nonliteral warnings from clang++ 5.0.
+
+ os_win32.cpp: Increase IOCTL_ATA_PASS_THROUGH timeout to 60 seconds.
+
+2018-08-10 Zhdan Bybin <zhdan.bybin@intel.com>
+
+ drivedb.h:
+ - Intel S3520 Series SSDs (#985)
+ - Intel S4510/S4610/S4500/S4600 Series SSDs (#912, #928, #1000)
+
+2018-08-04 Christian Franke <franke@computer.org>
+
+ Remove int64.h, use <inttypes.h> or <stdint.h> instead.
+
+ configure.ac, utility.cpp, utility.h: Add 128-bit unsigned integer
+ to string conversion. Provides full integer precision if compiler
+ supports '__int128' (e.g. x86_64 GCC and CLang).
+ json.cpp, nvmeprint.cpp: Use these new functions.
+ Makefile.am: Adjust config-vc14 target.
+
+2018-08-02 Christian Franke <franke@computer.org>
+
+ scsicmds.h, scsiprint.cpp: Add support for SAS host managed drives
+ (patch from #1045).
+
+2018-08-01 Christian Franke <franke@computer.org>
+
+ dev_interface.cpp, scsiata.cpp, smartctl.8.in, smartd.conf.5.in:
+ Add option '-d scsi+TYPE' to disable SAT auto detection.
+ Useful in conjunction with TYPEs 'aacraid' and 'cciss' (#871).
+
+2018-07-31 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Phison Driven SSDs: Kingston DC400 (#933, #1011), move GOODRAM to ...
+ - Phison Driven OEM SSDs: ... here, PC Engines msata16d (#967),
+ INTENSO SATA III TOP (#1053)
+ - USB: Iomega MDHD500-U (0x059b:0x0274) (#1003)
+ - USB: Freecom (0x07ab:0xfc17) (#1049)
+ - USB: JMicron JMS539 (0x152d:0x0539/0x2801) (patch from #970)
+ - USB: JMicron (0x152d:0x0561) (#945)
+ - USB: JMicron JMS567 (0x152d:0x2567) (#948)
+ - USB: JMicron (0x152d:0x578e) (#987)
+
+ json.cpp: Add missing ';' to '--json=g' output of 128-bit values.
+
+2018-07-29 Christian Franke <franke@computer.org>
+
+ os_win32.cpp: Decode Windows Server 1803 build number.
+ Improve search for actual CSMI port number.
+
+2018-06-21 Christian Franke <franke@computer.org>
+
+ os_linux.cpp: Rework handling of glob() return code.
+ Don't abort device scan on missing '/dev/discs' (#1036).
+
+ os_win32.cpp: Decode Windows 10 1803 build number.
+ Silence g++ 7.3 -Wformat-truncation warning.
+
+2018-04-19 Christian Franke <franke@computer.org>
+
+ utility.cpp, utility.h: Use array reference for buffer parameter
+ of dateandtimezoneepoch(). Remove no longer used dateandtimezone().
+
+ utility.cpp: Add check of sg_get_unaligned_[bl]e64() to
+ check_endianness().
+
+2018-04-16 Douglas Gilbert <dgilbert@interlog.com>
+
+ switch usage of unaligned.h to sg_unaligned.h which is functionally
+ the same. sg_unaligned.h is the same header used by libsgutils which
+ is the basis of the sg3_utils, sdparm and ddpt packages available on
+ many of the same architectures as smartmontools is. This change
+ introduces a "sg_" prefix on the inline functions defined
+ sg_unaligned.h . The new header has specializations for big and little
+ endian machines that depends on the non-standard bswap_16(), bswap_32()
+ and bswap_64() calls. They are defined in the byteswap.h header which is
+ a GNU extension. According to the 'net both gcc and clang use intrinsics
+ {assembler ?} to implement these calls. If the byteswap.h header is not
+ present on the build machine, the generic implementations will be
+ used for the "unaligned" family of functions. Additionally the generic
+ implementations can be imposed with './configure --disable-fast-lebe'.
+ Developers may need to use './autogen.sh' prior to their normal build
+ sequence. Please report any problems to the author.
+
+2018-03-28 Christian Franke <franke@computer.org>
+
+ ataprint.cpp, nvmeprint.cpp, scsiprint.cpp:
+ Output JSON 'user_capacity' as 'blocks' and 'bytes'.
+ Handle both as unsafe ints.
+
+ smartd.cpp: Ignore remaining percentage in initial check of
+ self-test execution status.
+
+ scsiata.cpp: Fix device type info for 'usbcypress'.
+
+ os_linux.cpp: Fix device scan crash on missing /proc/devices.
+
+ update-smart-drivedb.in, update-smart-drivedb.8.in:
+ Add option '-u github'.
+
+2018-03-20 Christian Franke <franke@computer.org>
+
+ nvmeprint.cpp: Add initial JSON support for '-i', '-H' and '-A'.
+
+ json.cpp, json.h: Add support for 64 and 128 bit unsigned
+ integers. Add 'set_unsafe_*()' member functions to print unsigned
+ integers >= 53 bit as JSON number and string.
+
+2018-03-07 Douglas Gilbert <dgilbert@interlog.com>
+
+ smartd.cpp:
+ - continue to use READ CAPACITY(10) first on unseen
+ SCSI devices but once we discover the need for
+ READ CAPACITY(16) use it for subsequent accesses
+ dev_interface.h:
+ - struct scsi_device: add set_rcap16_first() and
+ use_rcap16() const methods
+ scsicmds.cpp:
+ - use scsi_device::set_rcap16_first() when READ
+ CAPACITY(10) reports 32 bits can't represent the
+ number of blocks
+
+2018-03-06 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - add Transcend PSD SSD family (#979)
+ - add Toshiba HK4R Series SSD (#898)
+ - extend Western Digital Re regexp (#896)
+ - extend Wester Digital Se regexp (#953)
+ - add Smartbuy ignition plus (#976)
+
+2018-03-05 Gabriele Pohl <contact@dipohl.de>
+
+ drivedb.h:
+ - Add Seagate IronWolf 12TB ST12000VN0007-2GS116 (#988)
+
+2018-03-05 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h: add Seagate Barracuda Pro family (#981)
+
+2018-03-01 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: Fix build under -CURRENT (patch by cy@)
+
+2018-02-28 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - Add SanDisk SDSSDH2128G (#982)
+
+2018-02-27 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - extend PLEXTOR PX regexp (#934)
+ - add Seagate Enterprise NAS HDD family (#946)
+ - add SanDisk SDSA6MM-* family (#965)
+ - fix Seagate Laptop HDD regexp (#955)
+ - add Seagate Barracuda Compute series (#927)
+ - extend Seagate Enterprise Capacity 3.5 HDD regexp (#956)
+
+2018-02-26 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - add Seagate XF1230 SSD (GH: issues/4)
+ - add Intel SSD Pro 5400s Series (GH: pull/5)
+ - add SanDisk-SD8SN8U-256G-1006 (GH: pull/3)
+ - add Toshiba Q300 SSD series (#932)
+ - extend HGST Deskstar NAS regexp (#975)
+ - add KINGSTON SNS4151S316GD SSD (#902)
+
+2018-02-20 Christian Franke <franke@computer.org>
+
+ os_netbsd.cpp: Apply patch-os_netbsd.cpp 1.1 (2017-12-15) from
+ pkgsrc.se/sysutils/smartmontools: Add missing <sys/stat.h>.
+
+ configure.ac, int64.h: Remove support for pre-C99 environments without
+ <inttypes.h> and <stdint.h>.
+
+ configure.ac: Add '-Wformat=2 -fstack-protector-strong' unless
+ CXXFLAGS include other '-W' or '-f' options.
+
+2018-02-16 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - USB: Default to '-d sat' for Toshiba (0x0480), Seagate (0x0bc2),
+ Western Digital (0x1058), Initio (0x13fd), ASMedia (0x174c).
+ Keep known exceptions. Merge some entries.
+
+2018-02-08 Douglas Gilbert <dgilbert@interlog.com>
+
+ nvme on windows: just some code comments. Seems as though
+ W10 tries to completely neuter the idea of a pass-through.
+
+2018-01-06 Douglas Gilbert <dgilbert@interlog.com>
+
+ scsi subsystem: improve dStrHex() signature, adjust
+ invocations. Adjust scsi_format_id_string() signature.
+ Add smartctl support for Pending Defects (sub-)log page;
+ seems similar to 'smartctl -l defects' but that is ATA
+ only. Needs to be generalized (as it will probably appear
+ in NVMe also).
+
+2018-01-04 Douglas Gilbert <dgilbert@interlog.com>
+
+ scsi subsystem: preparation for decoding more log pages.
+
+2018-01-01 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: fix build with CLANG/6. Patch provided by
+ Dimitry Andric, PR 224826
+
+2018-01-01 Christian Franke <franke@computer.org>
+
+ Happy New Year! Update copyright year in version info.
+
+2017-12-30 Douglas Gilbert <dgilbert@interlog.com>
+
+ scsi subsystem: add code to check for both log pages
+ and subpages, subpages were not checked for previously.
+ Add decoding for Format Status log page. Associated
+ cleanups. Tighten checking for Seagate and Hitachi
+ vendor specific log pages; '-T permissive' will relax
+ checks back to the situation before this patch
+
+2017-12-29 Douglas Gilbert <dgilbert@interlog.com>
+
+ unaligned.h: fix inconsistency in function argument
+ of get_unaligned_be24()
+
+2017-12-29 Douglas Gilbert <dgilbert@interlog.com>
+
+ Add --enable-scsi-cdb-check option to ./configure that
+ results in a SCSI cdb sanity check prior to SCSI generic
+ pass-through in Linux. [So it does not sanity check
+ Megaraid and 3ware (etc) pass-throughs (but could).] When
+ selected defines SCSI_CDB_CHECK in config.h . This may be
+ temporary. This patch is an attempt to catch strange
+ frames (perhaps SATA FIS) being sent to the SCSI
+ pass-through.
+
+2017-12-29 Douglas Gilbert <dgilbert@interlog.com>
+
+ Rework scsiGetSize() and remove scsiGetProtPBInfo().
+ Convert scsicmds.cpp to use unaligned.h get and put.
+
+2017-12-27 Alex Samorukov <samm@os2.kiev.ua>
+
+ Add unaligned.h header file to the Makefile.am
+
+2017-12-27 Douglas Gilbert <dgilbert@interlog.com>
+
+ Add unaligned.h header file; has get and put variants of
+ unaligned be16,24,32,48,64 and le16,24,32,48,64 copies
+ plus all_zeros() and all_ffs() helpers. All inline.
+
+2017-12-27 Douglas Gilbert <dgilbert@interlog.com>
+
+ Remove UINT8, INT8, UINT32 and INT32 typedefs in favour
+ of the types from <stdint.h>; for example uint8_t
+
+2017-12-27 Douglas Gilbert <dgilbert@interlog.com>
+
+ nvmecmds.cpp: according to NVMe 1.3a spec, the SMART/
+ health information log page is global and should take
+ the global nsid (all ff_s). It also says the Error
+ info lpage is "global. Broke WD Black PCIe (NVMe)
+ SSD but worked on Intel SSDs. Fix; could break others.
+
+2017-12-27 Douglas Gilbert <dgilbert@interlog.com>
+
+ os_freebsd.cpp: on error was setting set_nvme_err() to 1,
+ not the actual NVMe status value; fix.
+
+2017-12-24 Alex Samorukov <samm@os2.kiev.ua>
+ CircleCI: add FreeBSD cross compilation
+
+2017-12-22 Alex Samorukov <samm@os2.kiev.ua>
+ configure.ac: add -lsbuf to FreeBSD libs to fix static builds.
+
+2017-12-21 Douglas Gilbert <dgilbert@interlog.com>
+
+ scsiprint.cpp: Start some JSON work. Other cleanups and helper
+ functions; potentially new header for those helpers.
+
+2017-12-17 Christian Franke <franke@computer.org>
+
+ ataprint.cpp: Add JSON support for '-g all', '-l scterc' and
+ '-l scttemp'.
+
+ ataprint.cpp: Don't print obsolete SCT Support Level (#940).
+
+2017-12-14 Christian Franke <franke@computer.org>
+
+ ataprint.cpp: JSON '-A' output: Add booleans and string for attribute
+ flags. Remove string array. Rename table.
+
+ ataprint.cpp: Add JSON support for '-l [x]error'.
+
+2017-12-13 Christian Franke <franke@computer.org>
+
+ smartctl.cpp, smartctl.8.in: Rename '--json=a' to '--json=o'.
+
+ smartctl.cpp: Show command line error messages in JSON output.
+
+ ataprint.cpp: Add JSON support for '-l [x]selftest' and
+ '-l directory'.
+
+ atacmds.cpp, atacmds.h: Move self-test print functions to ...
+ ataprint.cpp: ... here.
+ smartd.cpp: Rework self-test error counting.
+
+ ataprint.cpp: Add JSON support for '-c'.
+
+ atacmds.cpp, atacmds.h: Change return type of capability checks to
+ bool. Declare simple checks inline.
+
+2017-12-07 Christian Franke <franke@computer.org>
+
+ json.cpp: Avoid 'cbegin()' and 'cend()' to fix build with older
+ libstdc++.
+
+ json.cpp, json.h, smartctl.cpp, smartctl.8.in: Add '--json=s' option.
+ Outputs JSON object elements sorted by key.
+ Add '--json=g' option. Outputs JSON structure suitable for grep.
+
+2017-12-05 Christian Franke <franke@computer.org>
+
+ ataprint.cpp: Add JSON support for '-l sataphy'.
+
+ smartctl.cpp: Add JSON support for '--scan'.
+ Add similar device info to regular JSON output.
+ ataprint.cpp, scsiprint.cpp: Remove now duplicate "protocol" element.
+
+ smartctl.cpp: Silence false positive warnings from clang analyzer.
+
+2017-12-02 Christian Franke <franke@computer.org>
+
+ Add initial support for smartctl JSON output mode (#766):
+ json.cpp, json.h: New files with JSON support class.
+ Makefile.am, os_win32/vc14/smartctl.vcxproj*: Add new files.
+ ataprint.cpp: Add initial JSON support for -i, -H, -A and -l [x]error.
+ scsiprint.cpp: Add initial JSON support for -i and -H.
+ smartctl.cpp, smartctl.h: Add '-j, --json' option, global JSON object
+ and new print functions.
+ smartctl.8.in: Document new functionality.
+
+ atacmds.cpp: Remove no longer needed variable 'must_swap'.
+
+ os_win32.cpp: Remove include of smartctl.h, add extern declaration.
+ Decode Windows Server 1709 build number.
+
+ configure.ac, os_linux.cpp: Always include <sys/sysmacros.h> if available.
+ This silences a 'deprecated' warning from glibc 2.25 headers.
+
+2017-11-20 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_netbsd.cpp (fix regressions in smartmontools 6.6)
+ - fix BE platforms support, tested on sparc64 (#943)
+ - fix name based device type detection (#943)
+ - Add byte-swapping for IDENTIFY command and remove related hacks from the
+ atacmds.cpp (#117)
+
+2017-11-18 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - Add Swissbit C440 industrial cf card series (#942)
+ - Fix Innolite Satadom D150QV entry (#939)
+
+2017-11-16 Christian Franke <franke@computer.org>
+
+ smartd.initd.in: Remove FreeBSD section.
+
+ os_linux.cpp: Add missing braces to 3ware SELinux code.
+ This possibly harmless bug was introduced ~10 years ago in r2510.
+ It is now detected by g++ 6.3 -Wmisleading-indentation warning.
+
+ update-smart-drivedb.in: Include configured PATH in help and
+ error messages. Allow digits in SVN Id user name.
+
+ configure.ac: Prepend '/usr/local/bin' to default for
+ '--with-scriptpath' (#941).
+
+2017-11-15 Christian Franke <franke@computer.org>
+
+ smartd.cpp: Use 'sigaction()' instead of deprecated 'sigset()'
+ or 'signal()'.
+ configure.ac: Add '--with-signal-func' to select old function
+ if needed.
+
+ configure.ac: Remove '-with-initscriptdir=[auto|yes]' heuristics.
+ The default init script is no longer useful on most platforms.
+ INSTALL: Update related documentation.
+
+ configure.ac, Makefile.am: Use smartd.cygwin.initd.in on Cygwin.
+ smartd.cygwin.initd.in: New file.
+ smartd.initd.in: Remove Cygwin section.
+
+ configure.ac: Make some header checks platform specific.
+ Print '--with-nvme-devicescan' warning also on FreeBSD.
+ Remove '--with-solaris-sparc-ata' warning.
+
+ examplescripts/Example6: Add enhancements from Fedora package.
+
+2017-11-13 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Western Digital Red: WD80EZZX
+ - USB: WD My Book (0x1058:0x25ee) (Red Hat Bugzilla 1446533)
+
+2017-11-13 Matt Coates <me@mattjackets.com>
+
+ drivedb.h: USB: Seagate Backup Plus 4TB (0x0bc2:0xab43) (#926)
+
+2017-11-10 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h: add SanDisk iSSD SDIS6BM (#923)
+
+2017-11-08 Christian Franke <franke@computer.org>
+
+ Makefile.am, os_win32/installer.nsi: Add VERSIONINFO resource to
+ installer.
+
+ os_win32/installer.nsi: Remove get/set of old 'Install_Dir' registry
+ entry. No longer needed for recent versions of GSmartControl.
+ Remove deletion of old .exe.manifest files.
+ Search also for 64-bit version of Notepad++.
+
+ ataprint.cpp: Fix detection of Device Statistics log with
+ 256 sectors (#922).
+
+ os_linux.cpp: Use 'realpath()' (BSD, POSIX) instead of
+ 'canonicalize_file_name()' (GNU extension).
+ This fixes build on systems with musl libc (#921).
+
+2017-11-06 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: implement NVMe device scan (#687)
+ os_freebsd.cpp: show hint if /dev/nvd* is specified as device name
+
+2017-11-05 Christian Franke <franke@computer.org>
+
+ configure.ac: Add separate version number for drivedb.h branch.
+
+2017-11-05 Christian Franke <franke@computer.org>
+
+ smartmontools 6.6
+
+2017-11-04 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Apple SD/SM/TS...E/F/G SSDs: Rename, add 1TB
+ - Innodisk 3IE3/3ME3/3ME4 SSDs: Rename, add 3ME4
+ - Intel 730 and DC S35x0/3610/3700 Series SSDs: 150GB, *G7
+ (ticket #750)
+ - USB: Toshiba Canvio (0x0480:0xa202, 0xa207)
+ - USB: Seagate Expansion Desktop (0x0bc2:0x3330)
+ - USB: Maxtor D3 Station 3TB (0x0bc2:0x6123)
+ - USB: Seagate Backup Plus 4TB (0x0bc2:0xab1e)
+ - USB: JMicron (0x152d:0x0579)
+ - USB: Hitachi Touro Mobile (0x4971:0x1023)
+ - USB: JMicron JMS566 (0xa152:0xb566)
+ - USB: LogiLink PCCloneEX Lite (0xabcd:0x6104)
+
+ smartd.conf.5.in: Fix conditionals of platform specific samples.
+
+ smartctl.8.in, smartd.conf.5.in: Shorten or remove info about
+ very old 3ware controllers.
+
+ smartctl.8.in: Add '-g' to '-x' documentation.
+ Avoid a very long line.
+
+ smartctl.cpp: Improve help text formatting.
+
+2017-11-03 Christian Franke <franke@computer.org>
+
+ update-smart-drivedb.8.in: Update mailing list link.
+ update-smart-drivedb.in: Update mailing list comment.
+
+ utility.cpp: Silence g++ 7.1 -Wformat-truncation warning.
+
+ atacmds.cpp, dev_areca.cpp, os_linux.cpp: Add comments to silence
+ g++ 7.1 -Wimplicit-fallthrough=[1-4] warnings.
+
+ os_linux.cpp: Fix indentation (g++ 6.3: -Wmisleading-indentation).
+
+ nvmeprint.cpp: Print IEEE EUI-64 of namespace.
+
+2017-10-29 Christian Franke <franke@computer.org>
+
+ smartctl.8.in: Add notes about SMART commands obsoleted in ACS-4.
+ Remove some outdated info.
+
+ smartctl.8.in, smartd.8.in, smartd.conf.5.in: Enable NVMe sections
+ for Darwin.
+
+ os_win32/installer.nsi: Update links.
+ Remove outdated uninstall commands.
+
+ INSTALL: Update ./configure description and OS info.
+
+ ataidentify.cpp, ataprint.cpp: Minor ACS-4 additions.
+
+ ataprint.cpp, ataprint.h, smartctl.cpp: Add option '-l defects'
+ to print ATA ACS-4 Pending Defects log (ticket #909).
+ smartctl.8.in: Document '-l defects'.
+
+2017-10-25 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Samsung based SSDs: PM871b (tickets #895, #903)
+ - Seagate Enterprise Capacity 3.5 HDD: 4TB (fix for #913)
+ - Western Digital Red Pro: 6TB (ticket #785)
+
+ os_win32/smartd_warning.cmd: Add ability to run PowerShell scripts
+ with '-M exec'.
+ smartd.conf.5.in: Document new functionality. Fix typo.
+
+2017-10-25 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - add SATA Voyager GTX (#893)
+
+2017-10-24 Christian Franke <franke@computer.org>
+
+ do_release: Update code signing key id.
+
+ update-smart-drivedb.in: Add new mailing list address to database
+ signing key.
+
+2017-10-24 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - add USB Voyager GTX (#893)
+ - add Phison based OEM SSD based on the firmware name (#853, #831)
+ - add Ultrastar 7K2 series (#892)
+ - add LITEON ZETA (LMH-*V2M-*) (#794)
+
+2017-10-22 Christian Franke <franke@computer.org>
+
+ os_win32.cpp: Decode Windows 10 1709 build number.
+
+ configure.ac: Fail instead of warn if no compiler option to accept
+ C++11 found and '--with-cxx11-option' is not specified.
+
+2017-10-19 Alex Samorukov <samm@os2.kiev.ua>
+
+ scsicmds.h: increase SCSI_TIMEOUT_DEFAULT to 1 minute to work on the
+ big JBOD arrays (#917)
+
+2017-10-15 Christian Franke <franke@computer.org>
+
+ smartd.cpp: Use also device identify information to detect for
+ duplicate devices (ticket #313).
+
+ atacmds.cpp: Don't pass possibly unaligned pointers to swapx().
+ This silences '-Waddress-of-packed-member' warning from clang++ 4.0
+ (ticket #915).
+
+2017-10-12 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_linux.cpp: implemented support for the SG_IO V4 API. This should
+ fix kernel warnings and other issues on the /dev/bsg SCSI devices.
+ Based on the patch created by Circuitsoft (#782)
+
+2017-10-11 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_darwin.cpp: fix crash on --scan (regression from r4549)
+
+2017-10-10 Christian Franke <franke@computer.org>
+
+ configure.ac, os_darwin.cpp: Align Darwin NVMe device scanning with
+ other platforms: Disable unless '--with-nvme-devicescan' or '-d nvme'
+ is specified. Print related configure warning.
+
+2017-10-09 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - Extend Seagate Barracuda 7200.12 regexp (#910)
+ - Extend Seagate NAS HDD regexp (#778)
+ - Extend Seagate Surveillance regexp (#807)
+ - Extend Seagate Enterprise Capacity 3.5 HDD regexp (#864, #913)
+ - Fix Seagate Barracuda 2.5 5400 regexp to add new models and
+ avoid false matches (#796)
+ - Add Seagate IronWolf HDD series (#760)
+ - Fix attribute 183 for the Seagate Barracuda 2.5 5400 HDD (#816)
+ - Added Mushkin Triactor series (#905)
+ - Extend Samsung PM830 regexp (#897)
+
+2017-10-08 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - Add TOSHIBA MQ03UBB... series (#901)
+ - extend TOSHIBA THNSF regexp (#790)
+
+2017-10-08 Christian Franke <franke@computer.org>
+
+ configure.ac: Check for compiler option to accept C++11.
+ If none found, print warning and ask user to provide info.
+ Add '--with-cxx11-option' to suppress this warning.
+ This is intended to check whether C++11 could be used in some
+ future smartmontools release. The current build is not affected.
+
+ configure.ac, Makefile.am: Add Windows VERSIONINFO resource also to
+ runcmd*.exe and wtssendmsg.exe. Include application manifests if
+ needed. This also fixes manifests with older MinGW binutils which
+ do not support more than one resource objects.
+ os_win32/smart*_res.rc.in: Replace by os_win32/versioninfo.rc.in.
+
+2017-10-06 Christian Franke <franke@computer.org>
+
+ Makefile.am: Add PDF man page formatting.
+ os_win32/installer.nsi: Add PDF man pages, remove TXT man pages.
+
+ drivedb.h:
+ - SMART Modular Technologies mSATA XL+ SSDs (patch from ticket #802)
+ - StorFly CFast SATA: Add missing space.
+ - Fix regexp from tickets #882, #885.
+
+2017-10-05 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h: add StorFly CFast SATA 6Gbps SSDs (#911)
+
+2017-10-05 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Western Digital Red: WD80EFAX (tickets #857, #899)
+ - USB: Toshiba Canvio (0x0480:0xb207)
+ - USB: Apple/TOSHIBA MQ01UBB200 (0x05ac:0x8406)
+ - USB: Seagate Expansion Portable 2TB (0x0bc2:0x231a)
+ - USB: Maxtor M3 Portable 4TB (0x0bc2:0x61b7) (ticket #875)
+ - USB: WD Elements / My Passport (0x1058:0x259f) (ticket #833)
+ - USB: WD Elements / My Passport (0x1058:0x25e2)
+ - USB: WD Elements / My Passport (0x1058:0x25fa) (ticket #840)
+ - USB: WD My Book / Easystore (0x1058:0x1230) (ticket #835)
+ - USB: WD My Book / Easystore (0x1058:0x25fb) (tickets #857, #899)
+ - USB: JMicron JMS561U (0x152d:0x8561) (ticket #860)
+ - USB: Innostor IS888 (0x1f75:0x0888): -d sat works (ticket #827)
+
+2017-10-04 Alex Samorukov <samm@os2.kiev.ua>
+
+ smartctl.8.in: update information about NVMe in Darwin and OS/2 support
+ smartd.cpp, utility.cpp: fix compiler warnings related to vprintf
+
+2017-10-03 Christian Franke <franke@computer.org>
+
+ nvmeprint.cpp: Print new NVMe 1.3 feature flags.
+
+2017-10-02 Christian Franke <franke@computer.org>
+
+ smartd.cpp: Add strict tests of /dev/null redirection and chdir("/").
+
+ configure.ac: Use '-fstack-protector' if '-strong' is not supported.
+
+2017-10-01 Christian Franke <franke@computer.org>
+
+ configure.ac: Set default LDFLAGS for MinGW only if LDFLAGS is unset.
+ Add '-Wformat=2 -fstack-protector-strong' if supported and CXXFLAGS
+ is unset.
+
+ drivedb.h:
+ - Fix regexp from tickets #714, #721, #759, #789, #797, #798, #806,
+ #824, #825, #866, #872, #880.
+ - SK hynix SATA SSDs (based on patch from ticket #874)
+
+2017-09-25 Alex Samorukov <samm@os2.kiev.ua>
+
+ NVME:
+ - extend controller and smart log page structures to match 1.3 specification.
+ - Print thermal temperature transition statistic
+ drivedb.h:
+ - Added support for more LaCie and Freecom devices (patch from #891)
+
+2017-09-24 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - Added Toshiba MK..34GSX series (#886) and MK..32GSX series (#887)
+ - Added GOODRAM CX200 SSD (#838)
+ - Added Mushkin SSD family (#797)
+ - Added Samsung PM871 to the Samsung SSD family (#798)
+ - Added PNY CS1311 family (#890)
+ - Added 0x152d:0x0578 Jmicron USB->SATA
+ - Added Transcend MTS800 drives (#787)
+ - Added Transcend MSA 630 series (#759)
+ - Extended Hitachi Deskstar 7K3000 regexp (#858)
+
+2017-09-23 Alex Samorukov <samm@os2.kiev.ua>
+
+ drivedb.h:
+ - Fix HGST HDS724040ALE640 (#885)
+ - Add Toshiba MQ03ABB300 (#884)
+ - Fixed Hitachi 7K1000 (#883)
+ - Added Seagate Barracuda 2.5 5400 series (#882)
+ - Added new Seagate Barracuda 3.5 7200 series (#880)
+ - Added Toshiba P300 series (#881)
+ - Added SK hynix SSD SC300 series (#699)
+ - Added Toshiba HG6 Series SSD (#721)
+ - Added Hynix SSD series
+ - Added AMD Radeon Solid State Drives (#762)
+ - Added USB Bridge 0x3538:0x0064 (#855)
+ - Added Seagate ST4000NM0085 to the Capacity family
+ - Added Sandisk SATA Cloudspeed Max and GEN2 ESS SSDs and Sandisk SATA CS1K
+ GEN1 ESS SSDs (#846)
+ - Added Seagate FireCuda drives (#825)
+ - Added Transcend MTS400 drives (#847)
+ - Added Transcend MTS420 drives (#869)
+ - Added Transcend SSD230 drives (#879)
+ - Added Transcend SSD220S drives (#821)
+ - Added Intel 540 Series SSDs (#803)
+ - Added Intel 3710 Series SSDs (#824)
+ - Added Micron 5100 ECO, PRO, and MAX Models (#861)
+ - Added Samsung EVO SSD series - make regexp match less strict (#806)
+ - Added Hitachi CinemaStar 5K1000 series (#758)
+ - Added WDC WD4004FZWX disk to the Digital Black family (#765)
+ - Added Samsung SSD 845DC EVO series (#866)
+ - Added SK hynix SL308 family (#808)
+ - Added WD Blue PC SSD family (#767)
+ - Corrected Crucial M4 drivedb entry to include 32Gb model (#844)
+
+2017-09-20 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd: use /dev/nvme/nvme.h on the recent versions
+ os_darwin:
+ - initial NVMe support for the darwin platform.
+ - NVMe device scan support
+ - Add device type autodetection
+
+2017-08-08 Christian Franke <franke@computer.org>
+
+ ataprint.cpp: Fix ATA Security Level check.
+
+ configure.ac: Detect MinGW libstdc++ problems with high
+ '--image-base'.
+
+ Update smartmontools-support mailing list address.
+ Remove old mailing list address from all source files.
+
+2017-05-03 Christian Franke <franke@computer.org>
+
+ smartctl.8.in, smartd.8.in, smartd.conf.5.in,
+ update-smart-drivedb.8.in:
+ Rework vertical space and '.nf...fi' (no-fill) sections
+ for better formatting with various tools (groff, mandoc,
+ man2html) and output formats (text, pdf, html).
+ Use default vertical space instead of an empty line
+ between paragraphs.
+ Use '.br' instead of '.nf...fi' where applicable.
+ Use CW font in remaining no-fill sections.
+
+ smartctl.8.in: Replace UTF-8 quotes.
+
+2017-05-02 Christian Franke <franke@computer.org>
+
+ smartctl.8.in, smartd.8.in, smartd.conf.5.in,
+ update-smart-drivedb.8.in:
+ Various man/groff syntax fixes (ticket #656):
+ Split long lines.
+ Insert two spaces or newline between sentences.
+ Use ' for apostrophes.
+ Use groff extension \(aq (apostrophe quote, ASCII 0x27)
+ or ' for quotes.
+ Use \- (minus sign) for options and examples.
+ Use \(en (en-dash) for numeric ranges.
+ Protect . with \& if not at end of sentence.
+
+2017-04-24 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: remove duplicated code which checks ATA SMART
+ status (#746)
+
+2017-04-23 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_os2.cpp:
+ - code cleanup
+ - add os2ahci driver initial support
+ - fix selftest command
+ - add device scan support
+
+2017-04-19 Alex Samorukov <samm@os2.kiev.ua>
+
+ OS/2 - many fixes:
+ - autodetect and build os_os2.o on OS/2
+ - fix os_os2.cpp/os_os2.h compilation (thanks to franke@)
+ - get rid from the os_os/hdreg.h - use constants from the atacmd.h
+ - remove most of the dead code and unused functions
+
+2017-04-17 Christian Franke <franke@computer.org>
+
+ os_win32.cpp: Decode Windows 10 1703 build number.
+
+ atacmds.h, ataprint.cpp: Use STANDBY instead of IDLE command if
+ '-s standby,[N|off]' and '-s standby,now' are both specified.
+ smartctl.8.in: Document new behaviour of '-s standby,*'.
+
+2017-04-01 Christian Franke <franke@computer.org>
+
+ atacmds.cpp, atacmds.h, ataprint.cpp: Print minimum supported ERC
+ Time Limit from SCT Status.
+
+ ataidentify.cpp, ataprint.cpp: Add ACS-4 and SATA 3.3 major
+ versions, log pages, device statistic values and feature bits.
+
+2017-03-27 Christian Franke <franke@computer.org>
+
+ scsiprint.cpp: Suppress "SAS address" if '-q noserial' is
+ specified (ticket #822).
+
+ scsicmds.cpp: Remove useless variable
+ (cppcheck 1.77: knownConditionTrueFalse).
+
+ smartd.cpp: Always suppress "failed to read Temperature" message
+ if SCSI device does not support temperature (ticket #817).
+ Fix initial check for SCSI temperature support.
+ Log SCSI temperature regardless of its origin.
+
+2017-03-11 Christian Franke <franke@computer.org>
+
+ smartctl.8.in, smartd.8.in, smartd.conf.5.in,
+ update-smart-drivedb.8.in: Update EXPERIMENTAL notes.
+ Update links. Update or remove various outdated info.
+
+ smartctl.8.in: Fix documentation of the '-g all' option.
+
+ smartctl.cpp: Add '-g dsn' to '-x' output.
+
+2017-03-11 Jonghwan Choi <jhbird.choi@gmail.com>
+
+ ataprint.cpp: Fix false positive DSN support detection.
+
+2017-03-09 Jean Delvare <...>
+
+ smartctl.8.in: Fix documentation of the '-q' option.
+
+2017-03-09 Christian Franke <franke@computer.org>
+
+ AUTHORS: Add Jonghwan Choi.
+
+2017-03-09 Jonghwan Choi <jhbird.choi@gmail.com>
+
+ Add options to get/set ATA DSN (Device Statistics Notification)
+ feature (ticket #815):
+ atacmds.h: Add DSN feature subcommand code.
+ ataprint.cpp, ataprint.h, smartctl.cpp: Add '-g/s dsn' options.
+ smartd.cpp: Add '-e dsn' directive.
+ smartctl.8.in, smartd.conf.5.in: Document the new options.
+
+2017-03-04 Christian Franke <franke@computer.org>
+
+ smartctl.cpp, smartd.cpp: Fix help text for '-B' option.
+
+ smartd.cpp: Unify indent style, replace tabs.
+ Move ATA/SCSI/NVMe device open to new common function.
+ Suppress warning emails and repeated log messages on open error if
+ '-d removable' is specified (Debian Bug 770872, Ubuntu Bug 1451572).
+ smartd.conf.5.in: Document new behaviour of '-d removable'.
+
+2017-03-02 Christian Franke <franke@computer.org>
+
+ smartd.cpp: Move single device registration to new function.
+ Exit smartd on device open error unless '-q never' or '-d removable'
+ is specified (regression from r2602).
+ Prevent retry if registration failed and '-q never' is specified.
+ Add enum for '-q, --quit' option.
+
+2017-02-27 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Crucial/Micron RealSSD C300/P300: Rename, add P300, remove M500
+ - Crucial/Micron RealSSD m4/C400/P400: P400e micro SATA
+ - Crucial/Micron MX1/2/300, M5/600, 1100 Client SSDs: Rename,
+ add MX300 (tickets #763, #791), M550 M.2 (ticket #810),
+ 1100 (ticket #783)
+
+2017-02-22 Christian Franke <franke@computer.org>
+
+ configure.ac: Set various default LDFLAGS for MinGW builds:
+ Link statically, indicate DEP and TS compatibility, enable ASLR.
+ Add '--with-mingw-aslr' option.
+
+2017-02-20 Christian Franke <franke@computer.org>
+
+ os_win32.cpp: Decode Windows Server 2016 build number.
+
+ os_win32.cpp: Rework CSMI port mapping. This fixes access to
+ ports != 0 behind IRST driver 15.2 (ticket #804).
+
+2017-01-30 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: unblock 48bit ATACAM commands for the legacy controllers
+ if FreeBSD version is >= 9.2-RELEASE, tested on FreeBSD 10.3
+
+2017-01-28 Christian Franke <franke@computer.org>
+
+ ataidentify.cpp: Don't shift negative values
+ (g++ 6.3: -Wshift-negative-value, cppcheck 1.77: shiftNegativeLHS).
+
+ os_win32.cpp, scsiata.cpp, scsicmds.cpp, scsiprint.cpp: Fix 'if'
+ and 'else' clause indentations (g++ 6.3: -Wmisleading-indentation).
+
+ Add indent style configuration for EditorConfig
+ (http://editorconfig.org/):
+ .editorconfig: New file.
+ Makefile.am: Add new file to source tarball.
+
+2017-01-21 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Marvell based SanDisk SSDs: X300 OEM (ticket #747),
+ X400 (ticket #715), Ultra II (ticket #744)
+ - USB: Renesas uPD720231A (0x045b:0x0229)
+ - USB: Maxtor D3 Station 5TB (0x0bc2:0x6126)
+ - USB: Seagate Backup Plus 8TB (0x0bc2:0xab38) (ticket #786)
+ - USB: WD Elements / My Passport (0x1058:0x107d) (ticket #772)
+ - USB: WD Elements / My Passport (0x1058:0x25a1) (ticket #773)
+ - USB: WD My Book 4TB (0x1058:0x25a3) (ticket #784)
+ - USB: WD Elements / My Passport: Merge entries
+ - USB: WD My Book: Merge entries
+
+2017-01-14 Christian Franke <franke@computer.org>
+
+ scsiata.cpp: Remove redundant assignment
+ (cppcheck: redundantAssignment).
+
+ ataprint.cpp, ataprint.h, smartctl.cpp, smartctl.8.in:
+ Add STATUS parameter to '-n POWERMODE' option (ticket #697).
+
+2017-01-13 Christian Franke <franke@computer.org>
+
+ configure.ac: Rework CXXFLAGS settings, use shell intrinsics.
+
+ os_win32.cpp: Fix harmless buffer overflow bug
+ (found by VC14 code analyser).
+
+2017-01-12 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - Innodisk 1ME3/3ME/3SE SSDs: Rename, add 1ME3 (ticket #713), 3SE
+ - Innodisk 3IE2/3ME2/3MG2/3SE2 SSDs: Rename, add 3ME2
+ - Samsung based SSDs: 750 EVO, PM810(470), 840, PM830, PM851,
+ CM871 (ticket #754), CM871a, PM871a (tickets #745, #775),
+ SM951 (ticket #704)
+
+2017-01-11 Christian Franke <franke@computer.org>
+
+ smartctl.8.in: Make '-d intelliprop' visible on all platforms.
+ Add warning.
+ smartd.conf.5.in: Document '-d intelliprop'.
+
+ os_win32/vc14/smart*.vcxproj*: Add new files.
+
+ AUTHORS: Add Casey Biemiller
+
+2017-01-11 Casey Biemiller <cbiemiller@intelliprop.com>
+
+ Add '-d intelliprop' device type for drives behind IntelliProp
+ RAID controllers (ticket #730):
+ atacmds.cpp, atacmds.h: Add function ataWriteLogExt().
+ dev_intelliprop.cpp, dev_intelliprop.h: New files.
+ dev_interface.cpp: Add '-d intelliprop,N[+TYPE]' option.
+ Makefile.am: Add new files.
+ smartctl.8.in, smartd.conf.5.in: Document it.
+
+2017-01-09 Alex Samorukov <samm@os2.kiev.ua>
+
+ os_freebsd.cpp: fix panic on INVARIANTS enabled kernel, patch
+ provided (#780) by Oliver Pinter <oliver.pinter@hardenedbsd.org>
+
+2017-01-01 Christian Franke <franke@computer.org>
+
+ Happy New Year! Update copyright year in version info.
+
+2016-11-12 Christian Franke <franke@computer.org>
+
+ atacmds.h, freebsd_nvme_ioctl.h: Apply patch-atacmds.h 1.1
+ and patch-freebsd_nvme_ioctl.h 1.1 (2016-11-04) from
+ pkgsrc.se/sysutils/smartmontools:
+ Build fix for FreeBSD-11 and newer. Don't redefine now
+ existing things, ATA_SET_FEATURES and nvme_command.
+
+2016-11-10 Christian Franke <franke@computer.org>
+
+ os_linux.cpp: Don't detect devices behind hpsa driver as regular
+ SCSI devices. Suggest to use '-d cciss,N' instead.
+
+ Based on patch provided by Stanislav Brabec.
+
+2016-11-05 Christian Franke <franke@computer.org>
+
+ update-smart-drivedb.in: Fix 'mv' error on first update with new
+ script.
+
+ configure.ac, update-smart-drivedb.in: Add '--with-gnupg' option.
+
+ configure.ac: Add '--with-update-smart-drivedb=X.Y' option to
+ backport drive database update script and man page to older
+ version X.Y.
+
+ configure.ac: Remove checks for no longer supported options
+ --disable-drivedb, --enable-savestates and --enable-attributelog.
+
+2016-11-04 Christian Franke <franke@computer.org>
+
+ Add authentication to update-smart-drivedb (ticket #751):
+ Create missing branches RELEASE_6_5_DRIVEDB and RELEASE_6_6_DRIVEDB.
+ Add signature files drivedb.h.raw.asc to each maintained branch.
+
+ update-smart-drivedb.in: Include new public key block ID DFD22559.
+ Download also drivedb.h.raw.asc.
+ Do no longer download from trunk if branch does not exist.
+ Create drivedb.h.raw. Verify signature.
+ Add options '--trunk', '--no-verify' and '--export-key'.
+ update-smart-drivedb.8.in: Document new behaviour and options.
+
+2016-10-23 Christian Franke <franke@computer.org>
+
+ smartd.8.in: Document Windows PARAMCHANGE service control command.
+
+ smartctl.8.in, smartd.8.in, smartd.conf.5.in: Enable NVMe sections
+ for NetBSD.
+
+ configure.ac, os_netbsd.cpp: Add --with-nvme-devicescan for NetBSD.
+
+ drivedb.h:
+ - Toshiba 3.5" MG04ACA... Enterprise HDD (ticket #732)
+ - Toshiba X300 (ticket #716)
+ - Seagate Laptop HDD: Rename, add 3/4TB (ticket #738)
+ - Seagate Constellation ES: HP OEM
+ - Western Digital RE4: *ABYZ variant
+ - Western Digital Re: Add attribute 16 (ticket #742)
+ - Western Digital Black: Remove *BEK[TX] variants
+ - Western Digital Black Mobile: 1TB, *BEKT, *LPLX variants
+ - Western Digital Elements / My Passport (USB, AF): 4TB
+ - USB: Neodio Technologies (0x0aec:0x3050)
+ - USB: Dura Micro (0x0c0b:0xb136)
+ - USB: My Passport Ultra 4TB (0x1058:0x2599)
+
+2016-10-17 Christian Franke <franke@computer.org>
+
+ configure.ac: Add --with-scriptpath option.
+ smartd_warning.sh.in, update-smart-drivedb.in: Set PATH variable.
+
+2016-10-03 Christian Franke <franke@computer.org>
+
+ os_win32/vc14/*.vcxproj: Add platform x64.
+
+ os_win32.cpp: Use new enhanced version of IOCTL_STORAGE_QUERY_PROPERTY
+ to access NVMe info. This works with Windows 10 NVMe driver
+ (stornvme.sys) (ticket #691).
+ smartctl.8.in, smartd.8.in: Document device names.
+
+2016-09-28 Christian Franke <franke@computer.org>
+
+ drivedb.h:
+ - USB: Buffalo MiniStation HD-PZU3 (0x0411:0x01f9) (ticket #739)
+ - USB: Iomega Prestige (0x059b:0x0571)
+ - USB: LaCie P9223 (0x059f:0x1070)
+ - USB: Seagate Expansion Desktop (0x0bc2:0x331a) (ticket #725)
+ - USB: Seagate Backup Plus (0x0bc2:0xab28) (ticket #738)
+ - USB: WD My Passport Ultra (0x1058:0x259d) (ticket #736)
+ - USB: ASMedia ASM1351 (0x174c:0x1351)
+
+2016-09-25 Christian Franke <franke@computer.org>
+
+ AUTHORS: Add Kimihiro Nonaka.
+
+2016-09-25 Kimihiro Nonaka <...>
+
+ os_netbsd.cpp: Migrate to new dev_interface (ticket #101).
+ Add NVMe support (ticket #728).
+ Implement netbsd_ata_device::ata_pass_through().
+ netbsd_nvme_ioctl.h: New file based on "sys/dev/ic/nvmeio.h" from
+ NetBSD kernel sources.
+ Makefile.am: Add new file.
+
+2016-09-07 Christian Franke <franke@computer.org>
+
+ Makefile.am: clean-vc14 targets.
+
+ os_win32.cpp: Decode Windows 10 build number.
+
+ os_win32/smartd_warning.cmd: Use delayed variable expansion.
+
+ os_win32/smartd_mailer.ps1: Use domainname for default sender address.
+ os_win32/smartd_mailer.conf.sample.ps1: Update related comment.
+ os_win32/smartd_warning.cmd: Remove trailing '\r' from USERDNSDOMAIN.
+
+2016-08-28 Christian Franke <franke@computer.org>
+
+ os_win32/installer.nsi: Fix quoting of EDITOR shortcuts.
+
+ Send warning mails via PowerShell script on Windows (ticket #731):
+ Makefile.am, os_win32/installer.nsi: Add new files.
+ os_win32/smartd_mailer.ps1: New PowerShell script using Send-MailMessage
+ cmdlet to send mail.
+ os_win32/smartd_mailer.conf.sample.ps1: New sample config file.
+ os_win32/smartd_warning.cmd: Call new script if configured.
+ Improve error handling. Add setlocal.
+ smartd.conf.5.in: Document it.
+
+2016-08-17 Christian Franke <franke@computer.org>
+
+ AUTHORS: Add Song Liu.
+
+ smartctl.cpp: Reduce scope of 'persistent' flag
+ (cppcheck: variableScope).
+
+2016-08-17 Song Liu <songliubraving@fb.com>
+
+ ataprint.cpp, ataprint.h, smartctl.cpp, smartctl.8.in:
+ Add persistent option ',p' to '-s wcreorder,on|off' (ticket #726).
+
+ atacmds.cpp, atacmds.h, ataprint.cpp, ataprint.h, smartctl.cpp,
+ smartctl.8.in: Add ability to control ATA drive write cache through
+ SCT Feature control. The new smartctl options are
+ '-s wcache-sct,ata|on|off[,p]' and '-g wcache-sct' (ticket #723).
+
+2016-08-06 Christian Franke <franke@computer.org>
+
+ os_win32.cpp: Add Windows 10 build number to get_os_version_str().
+
+ Update MSVC10 (VS2010) for VC14 (VS2015):
+ os_win32/vc14/*: Move from os_win32/vc10/*.
+ os_win32/vc14/*.vcxproj: Update for VC14.
+ Remove '__func__' workaround (revert r4225).
+ Makefile.am: Rename and update config-vc14 target.
+ utility.cpp: Add workaround for missing 'tzname'.
+
+ drivedb.h:
+ - OCZ/Toshiba Trion SSDs: Rename, add TOSHIBA-TR150 (ticket #722)
+ - HGST Ultrastar 7K6000 (ticket #708)
+ - HGST Ultrastar He10
+ - Seagate Desktop HDD.15: 6TB, 8TB
+ - Seagate Enterprise Capacity 3.5 HDD: 8TB, 10TB (ticket #717),
+ attribute 240
+ - Seagate SV35: 4TB
+ - Western Digital Gold (ticket #711)
+ - USB: LaCie (0x059f:0x1075) (ticket #718)
+ - USB: Seagate Expansion External (0x0bc2:0x3322) (ticket #706)
+ - USB: Seagate FreeAgent GoFlex (0x0bc2:0x5030) (ticket #720)
+ - USB: Seagate Backup Plus Desktop (0x0bc2:0xab34) (ticket #700)
2016-05-31 Christian Franke <franke@computer.org>