]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - ChangeLog
import smartmontools 7.0
[mirror_smartmontools-debian.git] / ChangeLog
index 3f56c98b0db87521547c456a989c0dfd0e180e94..df34cf2aa948cdc2fbcd349d3528f06a37fde019 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,895 @@
-$Id: ChangeLog 4594 2017-11-05 15:21:35Z 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>