1$Id: ChangeLog 5155 2020-12-30 16:49:18Z chrfranke $
2
32020-12-30  Christian Franke  <franke@computer.org>
4
5	smartmontools 7.2
6
72020-12-30  Christian Franke  <franke@computer.org>
8
9	configure.ac, update-smart-drivedb.in: Use RELEASE_7_2_DRIVEDB for
10	drivedb.h updates.
11
12	Create new branch RELEASE_7_2_DRIVEDB.
13
142020-12-29  Christian Franke  <franke@computer.org>
15
16	drivedb.h:
17	- Micron 5100 Pro / 52x0 / 5300 SSDs: 5300HC.
18	- Samsung based SSDs: PM871 MZY* (#1384), 870 QVO (#1388).
19	- Silicon Motion based SSDs: ADATA IMSS332 (#1399),
20	  ADATA SU650NS38 (#1386), JAJS600M1TB (#1414), NFN025SA31T.
21	- Silicon Motion based OEM SSDs: Dogfish,
22	  Intenso portable (GH issues/81, GH pull/82),
23	  Intenso Sata III (#1412), KingDian S280 (#1402).
24	- SK hynix SATA SSDs: SC300 (#1407).
25	- Hitachi Travelstar 5K500.B: *SA02 (#1408).
26	- Fix '-v' comments.  Remove trailing whitespace.
27
28	scsinvme.cpp: Realtek: Limit NVMe log transfer size to 512 bytes.
29
302020-12-21  Christian Franke  <franke@computer.org>
31
32	smartctl.8.in: Add EXPERIMENTAL notes for SCSI variants of
33	'-n POWERMODE' and '-s standby,...'.  Fix syntax.
34
35	update-smart-drivedb.in: Add 'Accept-Encoding' HTTP header when
36	curl is used.  This avoids caching problems with svn URL.
37
38	update-smart-drivedb.in: Print output of 'gpg --import' if '-v' is
39	specified.
40
41	update-smart-drivedb.in: Extend expiration year of current database
42	signing key from 2020 to 2025 (#1278).
43
442020-12-20  Christian Franke  <franke@computer.org>
45
46	configure.ac: Use AC_CONFIG_HEADERS instead of obsolete
47	AC_CONFIG_HEADER.  This silences a warning from new autoconf 2.70.
48	Print 'deprecated' warning for '--with-solaris-sparc-ata'.
49
50	drivedb.h:
51	- Intel X25-E SSDs: IBM OEM (#1401).
52	- Seagate BarraCuda 3.5: 12TB
53	- Seagate Exos X16: 10TB (#1406, GH issues/63), 12TB.
54	- Seagate Archive HDD: Rename to ...(SMR) (#1392).
55	- Seagate BarraCuda, Enterprise Capacity, Exos, IronWolf:
56	  Add attributes 18, 200.
57	- Seagate IronWolf Pro 125 SSDs (#1396).
58	- Unify indentation.
59
602020-12-15  Douglas Gilbert  <dgilbert@interlog.com>
61
62	smartctl: expand -s option with standby,now and standby,off (or
63	standby,0) to include SCSI. Modified code from Simon Fairweather
64	found in github pull #72. As per my 20201205 patch, this
65	area (i.e. SCSI power conditions including START and STOP) needs
66	to be revisited; leave that until after the 7.2 release.
67
682020-12-14  Alex Samorukov  <samm@os2.kiev.ua>
69
70	drivedb.h: add Sony HD-E1B (#1410)
71
722020-12-12  Alex Samorukov  <samm@os2.kiev.ua>
73
74	Add automake 1.16.2 to the list of tested versions
75	os_freebsd.cpp: number of minor patches from Christian Franke
76
772020-12-05  Douglas Gilbert  <dgilbert@interlog.com>
78
79	smartctl: expand -n option to include SCSI. Code from Simon
80	Fairweather. Still thinking about how to handle SCSI "stopped"
81	state which requires the user to send a SCSI command to restart.
82
832020-12-04  Christian Franke  <franke@computer.org>
84
85	nvmeprint.cpp: Print Log Page Attributes.  Print NVMe 1.4 features.
86
87	nvmecmds.cpp, nvmecmds.h, nvmeprint.cpp: Fix check for LPO support.
88
892020-12-03  Christian Franke  <franke@computer.org>
90
91	nvmeprint.cpp: Print NVMe version.
92
93	nvmecmds.cpp, nvmecmds.h, nvmeprint.cpp: Limit NVMe log transfer size
94	to one page.  This should fix device or kernel crashes on '-l error'
95	if log has more than 64 entries (#1404, Debian Bug 947803).
96
97	nvmeprint.cpp: Read only requested number of entries from NVMe
98	Error Information Log.
99
1002020-11-23  Christian Franke  <franke@computer.org>
101
102	smartd.cpp: Allow to specify a delay limit for staggered self-tests.
103	smartd.conf.5.in: Document new functionality.
104
1052020-11-21  Christian Franke  <franke@computer.org>
106
107	smartd.cpp: Add staggered self-tests (#310).
108	smartd.conf.5.in: Document new functionality.
109
1102020-11-17  Dmitriy Potapov <atomsk+oss@google.com>
111
112	smartd.cpp: Don't write attrlog when device is skipped due to idle or
113	standby mode, or if attributes were not read for any other reason
114	(GH pull/75).
115
1162020-11-09  Christian Franke  <franke@computer.org>
117
118	smartd.cpp: Resolve symlinks before device names are checked for
119	duplicates (#1390).
120	dev_interface.cpp, dev_interface.h: Add 'get_unique_dev_name()'
121	and 'is_raid_dev_type()' to support platform specific modifications.
122	smartd.conf.5.in: Document new functionality.
123
1242020-11-07  Christian Franke  <franke@computer.org>
125
126	json.cpp, json.h: Add YAML support.
127	smartctl.cpp: Add '--json=y' option.
128	smartctl.8.in: Document new option.
129
130	smartctl.8.in, smartd.conf.5.in: Remove EXPERIMENTAL notes for
131	features added before 7.0.
132	update-smart-drivedb.8.in: Add missing EXPERIMENTAL note.
133
1342020-11-01  Christian Franke  <franke@computer.org>
135
136	drivedb.h:
137	- Phison Driven SSDs: KINGSTON OM4P0S3* (#1374), OMSP0S3* (#1375).
138	- InnoDisk iCF 9000 / 1SE2 Cards: Rename entry. Add 1SE2 H (#1351).
139	- Marvell based SanDisk SSDs: 2TB SDSSDH3 (GH issues/67, GH pull/69),
140	  WD Blue SSD WDS100T2B0A (#1378).
141	- SanDisk based SSDs: SDSA6GM*.
142	- Toshiba 2.5" HDD MK..76GSX/GS001A (GH pull/58).
143	- Toshiba L200 (CMR), Toshiba L200 (SMR) (#1228, patch from #1377).
144	- Western Digital Blue: Apple OEM (#1385).
145	- Western Digital Scorpio Blue Serial ATA: 320 GB (patch from #888).
146
147	os_win32.cpp: Decode Windows 10 20H2 and Server 2004, 20H2
148	build numbers.
149
1502020-10-29  Alex Samorukov  <samm@os2.kiev.ua>
151
152	os_freebsd.cpp: skip SCSI subenclosure devices on scan (#1299)
153
1542020-10-24  Christian Franke  <franke@computer.org>
155
156	drivedb.h:
157	- HGST Travelstar Z5K1000: *B*610 variant.
158	- Hitachi Travelstar 7K320: HITACHI*SA60 variant (#983).
159	- Hitachi/HGST Deskstar 5K4000: Rename entry. Add HGST (#1060).
160	- HGST Deskstar NAS: 8TB.
161	- Hitachi/HGST Ultrastar 5K3000 (#1055).
162	- Hitachi Ultrastar 7K3000: Variant without vendor name (#1361).
163	- Hitachi/HGST Ultrastar 7K4000: Variant without vendor name (#1361).
164	- HGST Ultrastar HC310/320 (#1157, #1365).
165
1662020-10-19  Christian Franke  <franke@computer.org>
167
168	drivedb.h:
169	- ATP SATA III aMLC M.2 2242 SSD (based on patch from #1366).
170	- Silicon Motion based OEM SSDs: TCSUNBOW X3 (#1349),
171	  KingDian S370 (#1350), LDLC (#1353), Lenovo.
172	- SSSTC ER2 GD/CD Series SSDs (based on patch from #1376).
173
1742020-10-15  Christian Franke  <franke@computer.org>
175
176	drivedb.h:
177	- Apacer SSDs (based on patch from #1202).
178	- Crucial/Micron MX500 SSDs (FW <= M3CR032): Remove entry (#1227).
179	- Crucial/Micron Client SSDs: Rename entry. Fix name of attribute 127.
180	  This prevents false 'Currently unreadable (pending) sectors' warnings
181	  from smartd (#1227, #1294, #1311, #1336).
182	- Intel 730 and DC S35x0/3610/3700 Series SSDs: *H* variant (#1363).
183	- Samsung based SSDs: 883 DCT (#1373).
184
185	os_win32.cpp: Fix removal of trailing blanks.
186	Silence misleading -Wstring-compare warning from g++ 10.2.0
187	(GCC Bugzilla 97336).
188
1892020-10-09  Christian Franke  <franke@computer.org>
190
191	scsiprint.cpp: Don't print 'Accumulated power on time' if no
192	option is specified (GH issues/65, regression from r5075).
193	Fix setting of 'any_output' (regression from r4188).
194
195	Based on patch from GH pull/66.
196
1972020-10-06  Christian Franke  <franke@computer.org>
198
199	Remove all occurrences of the throw() specifier.
200	This specifier is deprecated since C++11.
201
2022020-09-27  Christian Franke  <franke@computer.org>
203
204	update-smart-drivedb.in: Add '--branch' option.
205	Select signing key accordingly.
206	update-smart-drivedb.8.in: Document new option.
207
2082020-09-20  Christian Franke  <franke@computer.org>
209
210	drivedb.h:
211	- Crucial/Micron BX/MX1/2/3/500, M5/600, 11/1300 SSDs: BX500 2TB,
212	  1100 with version suffix (#1178), 1300 without prefix (#1369).
213	- Micron 5100 Pro / 52x0 / 5300 SSDs: Add attribute 246.
214	- Phison Driven SSDs: Kingston A400 M.2 (#1362),
215	  Kingston OCP0S3* (#1370), Kingston OM8P0* (#1371).
216	- Kingston SSDNow UV400/500: UV500 M.2 (#1347).
217	- SAMSUNG SpinPoint N3U-3 (USB): Rename.
218	- USB: Samsung S1 Mini (0x04e8:0x2f06) (Debian Bug 964032).
219
2202020-09-19  Christian Franke  <franke@computer.org>
221
222	ataprint.cpp: Report unavailable TRIM command only for SSDs.
223
2242020-08-23  Christian Franke  <franke@computer.org>
225
226	drivedb.h: DEFAULT entry: Limit attribute 231 (Temperature_Celsius)
227	to HDDs.  Various SSDs use this attribute for a different purpose.
228
229	drivedb.h:
230	- Micron 5100 Pro / 52x0 / 5300 SSDs: Rename, add 5210 (#1356),
231	  5300 *TDT variant (#1355)
232	- Phison Driven SSDs: SSD Smartbuy 64GB and other sizes (#1359)
233	- Indilinx Barefoot_2/Everest/Martini based SSDs: OCZ-OCTANE (#1360)
234	- Marvell based SanDisk SSDs: Ultra 3D 4TB (#1358)
235	- Silicon Motion based SSDs: ACPI SED2QII-LP, Transcend 230
236	- Western Digital Gold: WD102KRYZ (#1357)
237
2382020-08-22  Christian Franke  <franke@computer.org>
239
240	smartd.service.in: Don't start smartd in virtualized environments
241	(GH issues/62).
242
2432020-08-22  Marko Hauptvogel  <marko.hauptvogel@googlemail.com>
244
245	smartd.service.in: Remove obsolete 'StandardOutput=syslog'.
246
2472020-07-11  Christian Franke  <franke@computer.org>
248
249	scsiprint.cpp: Add JSON values 'power_on_time.{hours,minutes}' to
250	'smartctl -a' output.  Add missing pout() -> jout() replacements.
251
2522020-07-10  Douglas Gilbert  <dgilbert@interlog.com>
253
254	scsiprint.cpp: Add "Accumulated power on time" entry to
255	  'smartctl -a' output. Previously this was only output
256	  when the '-x' option was given, together with other
257	  fields in the Background scan results log page. Now
258	  with the '-a' option "Accumulated power on time" is
259	  printed just before the "Manufactured in week ..." line.
260
2612020-07-06  Douglas Gilbert  <dgilbert@interlog.com>
262
263	scsiprint.cpp: Attempted fix to tickets 1272, 1331 and 1346
264	  The difficulty is handling SCSI log _sub_-pages that hold
265	  info about SSDs and newer hard drives, against older
266	  devices (20 year old disks?) that do many and varied
267	  things when asked to list supported sub-pages. Add a
268	  heuristic and change some naming.
269
2702020-06-24  Alex Samorukov  <samm@os2.kiev.ua>
271
272	os_darwin.cpp: Fix NVMe log support, handle error codes,
273	  remove SMARTReadData call
274	os_darwin.h: Cleanup, remove all private functions
275
2762020-06-23  Harry Mallon  <hjmallon@gmail.com>
277
278	os_darwin.cpp, os_darwin.h: Add support for NVMe logs.
279	smartctl.8.in: Update related documentation.
280
2812020-06-20  Christian Franke  <franke@computer.org>
282
283	drivedb.h:
284	- Crucial/Micron BX/MX1/2/3/500, M5/600, 11/1300 SSDs: Rename,
285	  add 1300
286	- Plextor M3/M5/M6/M7 Series SSDs: Rename, *M6G variant, *M7CV (#991)
287	- Silicon Motion based SSDs: ADATA SU650 (#1243), ADATA SU655
288	- Seagate IronWolf Pro: 16TB (#1341)
289	- USB: Toshiba (0x0930:0xa002)
290	- USB: ADATA HD330 (0x125f:0xa83a)
291	- USB: AkiTio NT2 (0x2ce5:0x0014)
292
293	os_solaris.cpp: Suggest '-d sat' if '-d ata' is specified.
294
2952020-06-18  Christian Franke  <franke@computer.org>
296
297	scsiprint.cpp: Fix JSON value 'scsi_grown_defect_list'.
298
299	Thanks to Ryan Allgaier for the bug report.
300
3012020-06-05  Alex Samorukov  <samm@os2.kiev.ua>
302
303	os_netbsd.cpp: fix timeout handling
304	os_openbsd.cpp (based on Marek Benc GH request):
305	- Migrate to the new API (#102)
306	- Fix for the ATA registries on the BE arc (GH PR #56)
307	- Fix timeout handling (GH PR #56)
308
3092020-06-01  Christian Franke  <franke@computer.org>
310
311	drivedb.h:
312	- Crucial/Micron MX500 SSDs: Detect firmware <= M3CR032 (#1336)
313	- Micron 5100 Pro / 5200 / 5300 SSDs: Rename, add 5300 (#1326)
314	- Phison Driven SSDs: Corsair Force LE200
315	- JMicron/Maxiotek based SSDs: Rename, add KingSpec NT
316	- Plextor M3/M5/M6 Series SSDs: *M6V variant
317	- Seagate IronWolf: *VN001 variant (GH pull/55)
318	- WD Blue / Red / Green SSDs: Rename, add WD Red SA500 (#1321)
319	- Western Digital Blue Mobile: re-add WD10JPZX (removed in r5054)
320	- USB: OWC Mercury Elite Pro Quad (0x1e91:0xa4a7) (patch from #1337)
321
322	os_win32.cpp: Decode Windows 10 2004 build number.
323
3242020-05-25  Christian Franke  <franke@computer.org>
325
326	ataprint.cpp: Print TRIM Command support info.
327	Print Zoned Device Capabilities if reported.
328	May also be useful to detect SMR HDDs (#1313).
329
3302020-05-24  Christian Franke  <franke@computer.org>
331
332	drivedb.h:
333	- Phison Driven SSDs: GIGABYTE GP-GSTFS31,
334	  KINGSTON DC450R/DC500M/DC500R 7.68TB (#1329), PNY CS900 (#1281)
335	- Intel 320 Series SSDs: HP OEM (#1332)
336	- JMicron based SSDs: ADATA SP600NS34 (GH pull/53),
337	  ADATA OEM IM2S3138E* (#1298)
338	- Plextor M3/M5/M6 Series SSDs: allow extra space (#1293)
339	- Samsung based SSDs: 860 EVO 4TB, 850/860 PRO 2/4TB (#1316)
340	- Marvell based SanDisk SSDs: SDSSDA-*
341	- Silicon Motion based SSDs: Corsair Force LX (#1320)
342	- WD Blue and Green SSDs: WDBNCE* (#1129)
343
344	drivedb.h: Add separate entries for WDC SMR drives (#1313).
345	- Western Digital Blue (SMR)
346	- Western Digital Black (SMR)
347	- Western Digital Red: Move WD60EFAX to ...
348	- Western Digital Red (SMR): ... here, add 2TB, 3TB, 4TB
349	- Western Digital Blue Mobile: Move  WD[12]0SPZX to ...
350	- Western Digital Blue Mobile (SMR): ... here
351
3522020-04-23  Christian Franke  <franke@computer.org>
353
354	drivedb.h: USB: Realtek RTL9210 (0x0bda:0x9210)
355
356	scsinvme.cpp: Add '-d sntrealtek' device type for Realtek RTL9210
357	USB to NVMe bridges (#1315).
358	dev_interface.cpp: Update help text.
359	smartctl.8.in, smartd.conf.5.in: Document new option.
360
361	Thanks to Plugable Support for providing a NVMe enclosure.
362
3632020-04-05  Christian Franke  <franke@computer.org>
364
365	drivedb.h:
366	- Crucial/Micron MX500 SSDs: Detect also older firmware (#1311)
367	- Silicon Motion based SSDs: Add attributes 159 and 231 (#1304)
368	- Seagate BarraCuda 3.5: Rename, merge entries,
369	  add ST2000DM008 (#1179, #1252, #1286), ST10000DM0004
370	- Seagate Exos X14: ST12000NM0538 (#1256)
371	- Seagate Exos X16 (#1291, #1301)
372	- Seagate Skyhawk (#1039)
373
3742020-04-04  Christian Franke  <franke@computer.org>
375
376	dev_jmb39x_raid.cpp: Add '-d jms56x,...' device type for protocol
377	variant used by JMS562 USB to SATA RAID bridges (#1314).
378	dev_interface.cpp: Parse '-d jms56x*[+TYPE]' option, update help text.
379	smartctl.8.in, smartd.conf.5.in: Document new option.
380
3812020-03-29  Christian Franke  <franke@computer.org>
382
383	drivedb.h:
384	- Western Digital Ultrastar He10/12: Rename, add He12
385	  (#1308, GH issues/51)
386	- Western Digital Ultrastar DC HC530 (#1257)
387	- Western Digital Green: WD5000AZRX (#1072)
388	- Western Digital Red: WD120EMFZ (GH issues/49)
389	- Western Digital Purple: WD*PURZ, WD80PUZX (#1057)
390	- Western Digital Gold: WD6003FRYZ
391	- Western Digital Blue Mobile: Rename, re-add WD10JPVX
392	  (removed in r4991)
393	- Western Digital Elements / My Passport (USB, AF):
394	  WD10SMZW (#1088), WD50NDZW
395
3962020-03-28  Christian Franke  <franke@computer.org>
397
398	drivedb.h:
399	- Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: CT1000BX500SSD1,
400	  MTFDDAK* (#1276)
401	- Kingston SSDNow UV400/500: Rename, add UV500 (#1126)
402	- Silicon Motion based SSDs: KingDian S100/200, Kingdian S280 1TB,
403	  Kingston KC600 (#1304), Transcend MTS420S (#1280),
404	  Transcend 360S (#1282)
405	- Seagate IronWolf Pro: ST4000NE001
406	- Western Digital RE3 Serial ATA: WD*BYS-* variant
407	- Western Digital Gold: WD4003FRYZ (#1289), WD8004FRYZ (#1287)
408	- USB: 0x0860:0x0001 (#1295)
409	- USB: JMicron (0x152d:0x1337) (#1296)
410	- USB: Corsair SSD & HDD Cloning Kit (0x0984:0x0301) (#1307)
411
4122020-03-25  Christian Franke  <franke@computer.org>
413
414	smartd.cpp: Set 'SMARTD_DEVICETYPE=auto' if DEVICESCAN is used
415	without '-d TYPE' directive (GH issues/52).
416
4172020-03-05  Christian Franke  <franke@computer.org>
418
419	Silence some cppcheck 1.85 warnings.
420	nvmeprint.cpp,  smartd.cpp: knownConditionTrueFalse.
421	scsicmds.cpp, scsiprint.cpp: variableScope.
422	scsicmds.h: Remove unused function supported_vpd_pages::num_pages().
423
424	cppcheck.sh: Remove no longer used HAVE_*NTDDDISK_H defines.
425
4262020-03-01  Christian Franke  <franke@computer.org>
427
428	dev_intelliprop.cpp, dev_interface.cpp, dev_interface.h: Move option
429	parsing to get_intelliprop_device().  Move this function to class
430	smart_interface.
431	dev_intelliprop.h: Remove file.
432	Makefile.am, os_win32/vc14/smart*.vcxproj*: Remove old file.
433
434	configure.ac: Fail if '--without-working-snprintf' is specified.
435	utility.cpp, utility.h: Remove support for pre-C99 snprintf().
436
437	os_win32.cpp: Remove backward compatibility fixes for include files
438	of very old versions of Cygwin, MinGW and MSVC.
439	configure.ac, Makefile.am: Remove check for DDK include files.
440
4412020-02-25  Christian Franke  <franke@computer.org>
442
443	Silence some warnings from g++ 9.2:
444	atacmds.cpp: -Waddress-of-packed-member.
445	os_win32.cpp: -Wcast-function-type.
446	smartd.cpp: -Wformat-truncation.
447
4482020-02-25  Fabrice Fontaine  <fontaine.fabrice@gmail.com>
449
450	configure.ac: fix stack-protector detection.
451	Use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE to check for
452	stack-protector availability as some compilers could missed the
453	needed library (-lssp or -lssp_nonshared) at linking step.
454
4552020-01-11  Christian Franke  <franke@computer.org>
456
457	dev_jmb39x_raid.cpp: Add '-d jmb39x-q,...' device type for JMB39x
458	protocol variant used by QNAP-TR004 NAS (#1283).
459	dev_interface.cpp: Update help text.
460	smartctl.8.in, smartd.conf.5.in: Document '-q' suffix.
461
4622020-01-02  Christian Franke  <franke@computer.org>
463
464	configure.ac: Use 'uname -n' if 'hostname' is not available
465	(GH PR 44).  Remove check for SVN < 1.7.
466
4672020-01-01  Christian Franke  <franke@computer.org>
468
469	Happy New Year!  Update copyright year in version info.
470
4712019-12-30  Christian Franke  <franke@computer.org>
472
473	smartmontools 7.1
474
4752019-12-29  Christian Franke  <franke@computer.org>
476
477	smartctl.8.in: Add info about AMD Windows RAID driver.
478	Fix some font changes.
479
480	os_win32/installer.nsi: Delete old ChangeLog-5.0-6.0 on update
481	installs.  Remove outdated delete commands.
482
483	scsicmds.cpp: Remove never needed include of atacmds.h.
484
485	ataprint.cpp, smartd.cpp: Silence 'multiplication overflow' warning
486	from lgtm.
487
488	ataprint.cpp: Fix size of Device Statistics value.
489
490	os_win32.cpp: CSMI: Detect missing ATA output registers.
491
4922019-12-28  Christian Franke  <franke@computer.org>
493
494	drivedb.h:
495	- Crucial/Micron MX500 SSDs: New entry to handle bogus
496	  attribute 197 (#1227)
497	- Phison Driven SSDs: Kingston DC450R (#1249),
498	  Patriot Flare, Blast, Blaze (#830), Burst (#1182)
499	- Silicon Motion based SSDs: Patriot P200, TC-Sunbow X3 (#1261),
500	  Team Group L5Lite 3D T253TD variant
501	- Seagate IronWolf: ST6000VN0033 (#1273)
502	- Western Digital Red: WD60EFAX (#1274)
503	- USB: Samsung (0x04e8:0x8003)
504	- USB: JMicron JMS561 (0x152d:0xa561)
505
506	do_release: Update code signing key id.
507
5082019-12-13  Christian Franke  <franke@computer.org>
509
510	smartd.conf.5.in: Fix very old comment about man2html bug.
511
512	smartctl.8.in, smartd.conf.5.in, update-smart-drivedb.8.in:
513	Remove EXPERIMENTAL notes for features added before 6.6.
514	Fix typos.
515
516	update-smart-drivedb.in: If signature verification fails, always
517	print GPG error message regardless of '-v' option.
518
519	os_win32.cpp: Decode Windows 10 1909 and Server 1909 build number.
520	Fix IRST version in comment.
521
5222019-12-10  Alex Samorukov <samm@os2.kiev.ua>
523
524	drivedb.h: Fix SanDisk SSD Plus matching pattern (GH PR 43)
525
5262019-12-06  Christian Franke  <franke@computer.org>
527
528	drivedb.h:
529	- Hitachi Ultrastar A7K1000: HITACHI* variant (#1255)
530	- Seagate IronWolf: *0008 variant (#1262)
531	- WD Blue and Green SSDs: *2G* variant, allow extra space
532	- USB: Unknown (0x0850:0x0031)
533	- USB: ADATA (0x125f:0xa37a) (#1264)
534
5352019-12-06  Alex Samorukov <samm@os2.kiev.ua>
536
537	drivedb.h:
538	- Extend Micron 5100 attributes (#1270)
539
5402019-12-05  Alex Samorukov <samm@os2.kiev.ua>
541
542	drivedb.h:
543	- Add Toshiba MQ04UBD200 (#1106)
544	- Add LITEON LCH SSD (#1124)
545
5462019-12-04  Alex Samorukov <samm@os2.kiev.ua>
547
548	drivedb.h:
549	- hynix SC311 SSD (#1267)
550	- Seagate Mobile HDD (#1118)
551	- Kingston SSDNow UV400 (#848, GH: 7)
552	- Add another PM841 definition (GH: 30)
553	- Add Seagate Barracuda Pro Compute family
554	- Extend WD Blue regexp
555	- Extend Seagate Mobile HDD regexp
556	- Add Seagate Exos X14
557
5582019-11-24  Christian Franke  <franke@computer.org>
559
560	Add '-d jmb39x,N[,sLBA][,force][+TYPE]' device type for SATA drives
561	behind a JMicron JMB39x RAID port multiplier (#705).
562	dev_jmb39x_raid.cpp: New file, based on JMraidcon by Werner Johansson.
563	dev_interface.cpp: Parse '-d jmb39x*[+TYPE]' option.
564	dev_interface.h: Add get_jmb39x_device().
565	smartctl.8.in, smartd.conf.5.in: Document new option.
566	Makefile.am, os_win32/vc14/smart*.vcxproj*: Add new file.
567
568	Thanks to Karl McMurdo for providing access to a machine for testing.
569
5702019-11-22  Christian Franke  <franke@computer.org>
571
572	atacmds.cpp: Fix bogus errno message in debug output.
573	Print original IDENTIFY DEVICE error if IDENTIFY PACKET DEVICE
574	also fails.
575
576	cciss.cpp: Fix segfault on transfer size > 512 bytes.
577	Replace printf() and fprintf() with pout().
578
5792019-10-19  Christian Franke  <franke@computer.org>
580
581	scsiprint.cpp: Silence 'value never read' warning from clang
582	analyzer.
583
584	Avoid usage of asctime(), ctime(), gmtime(), and localtime().
585	Use thread-safe *_r() or *_s() variants instead.
586	utility.cpp, utility.h: Add wrapper function for localtime_*().
587	smartd.cpp: Attribute logs now use local time instead of UTC.
588
5892019-10-16  Alex Samorukov  <samm@os2.kiev.ua>
590
591	drivedb.h: improve Innodisk 3TG6 record (patch by GH user Shaing)
592
5932019-10-15  Christian Franke  <franke@computer.org>
594
595	os_win32.cpp: CSMI: Add workaround for AMD RAID drivers which return
596	incomplete and incorrect drive information in CSMI_SAS_PHY_INFO
597	(GH issues/39).
598
599	Thanks to GH user 'Shine-' for original patch and testing.
600
6012019-10-05  Christian Franke  <franke@computer.org>
602
603	ataprint.cpp: Set JSON value 'power_on_time.hours' if raw value
604	also contains milliseconds (#1165).
605
6062019-10-04  Christian Franke  <franke@computer.org>
607
608	configure.ac: Don't check for _FORTIFY_SOURCE if it is a
609	compiler preset.
610
6112019-10-03  Christian Franke  <franke@computer.org>
612
613	configure.ac: Define _FORTIFY_SOURCE=2 if supported.
614
6152019-10-01  Douglas Gilbert  <dgilbert@interlog.com>
616
617	scsiprint.cpp:
618	- in scsiGetSupportedLogPages() the code assumes if the
619	  device supports the "Supported Log pages and subpages"
620	  log page then that will supersede the "Supported Log
621	  pages" log page. However in tickets #1225 and #1239
622	  different Samsung SAS SSDs seem to have a dummy
623	  response to the '... and subpages' variant log page
624	  and a correct response to the shorter (and older)
625	  variant. Change code so the '... and subpages'
626	  variant is ignored if its response is shorter than
627	  the other variant's response. This code change needs to
628	  be tested on real Samsung SAS SSDs, preferably by the
629	  reporters of tickets #1225 and #1239 .
630
6312019-09-30  Douglas Gilbert  <dgilbert@interlog.com>
632
633	scsiprint.cpp:
634	- in scsiPrintGrownDefectListLen() change to silently bypass
635	  if defect list type is 6 since it means "vendor specific".
636	  On recent SAS SSDs it seems to mean: we (the manufacturer)
637	  are not going to give you any more information about this
638	  SSD's internal format.
639
6402019-09-28  Christian Franke  <franke@computer.org>
641
642	drivedb.h:
643	- Phison Driven SSDs: Goodram CX400, Goodram Iridium Pro,
644	  Goodram IRIDM (#1136, #1212), MyDigital BP4, PS3110-S10C (#1075),
645	  SSM28256GPTCB3B
646	- Phison Driven OEM SSDs: Intenso SATA III, Silicon Power A55
647	- Silicon Motion based SSDs: Rename, sort, add Cervoz M305 (#1097),
648	  Drevo X1 (#949), Drevo X1 Pro (#936), J&A LEVEN JS500 (#998),
649	  KingDian S280, OWC Envoy Pro (#1168), Ramsta S800 (#1158),
650	  TC-Sunbow M3, Zheino M3
651	- Silicon Motion based OEM SSDs: New entry with FW detection:
652	  Intenso SSD, Intenso SATA III High (#1005), KingFast F6M (#968),
653	  Silicon Power M.2 2280 M55 (#978), SuperMicro DM032-SMCMVN1 (#1172),
654	- USB: OWC Envoy Pro (0x1e91:0xa2a5) (#1168)
655
6562019-09-27  Christian Franke  <franke@computer.org>
657
658	drivedb.h:
659	- Phison Driven OEM SSDs: Hoodisk (#1231)
660	- Innodisk 3IE2/3ME2/3MG2/3SE2/3TG6 SSDs: Rename,
661	  add 3TG6 (GH pull/40)
662	- Marvell based SanDisk SSDs: X600, Ultra 3D 1024G,
663	  Plus (#1120, #1160)
664	- USB: LaCie P9230 (0x059f:0x1053) (#1235)
665	- USB: Toshiba Stor.E D10 (0x0939:0x0b13)
666	- USB: Atech (0x1234:0x5678) (#1234)
667
668	os_win32.cpp: Enhance CSMI_SAS_PHY_INFO debug output.
669	Print all nonempty entries.
670
6712019-08-20  Christian Franke  <franke@computer.org>
672
673	drivedb.h:
674	- SiliconMotion based SSDs: ADATA SU800 (#954, #1214), SU900 (#996),
675	  Transcend 430S (#1229)
676	- USB: JMicron JMS576 (0x152d:0x1576)
677	- USB: PNY (0x154b:0x5678)
678
6792019-08-13  Christian Franke  <franke@computer.org>
680
681	drivedb.h: Phison Driven SSDs: Fix typo, add DC500 attributes (#1176)
682
6832019-08-12  Christian Franke  <franke@computer.org>
684
685	ataprint.cpp: Add ACS-5 major version and latest ACS-4 minor version.
686
687	drivedb.h:
688	- Apacer AS340 (based on patch from #1209)
689	- Phison Driven SSDs: Kingston DC500R/M (#1176)
690	- USB: Unknown (0x0850:0x0003)
691
6922019-08-08  Christian Franke  <franke@computer.org>
693
694	os_linux.cpp: Add more debug output to 'get_usb_id()'.
695
696	json.cpp, json.h: Make 'json::ref::~ref()' non-inline to decrease
697	code size.  Remove some extra ';'.
698
699	os_win32/wtssendmsg.c: Fix parsing of numeric options.
700	Fix reading message from stdin pipe or console.
701
7022019-08-07  Christian Franke  <franke@computer.org>
703
704	os_win32/wtssendmsg.c: Don't convert '\r\n' in message read from
705	stdin as it is also written to event log.  Add '-t' and '-w' option.
706
707	smartd.cpp: Increase size of email message buffer to avoid truncation
708	if device name is very long (#1217).
709
7102019-08-04  Christian Franke  <franke@computer.org>
711
712	examplescripts/Example8: Try mail and mailx first, then fall back to
713	sendmail.
714	examplescripts/README: Update documentation.
715
716	json.cpp, json.h: Suppress extra spaces in '--json=cg' output.
717
718	linux_nvme_ioctl.h: Replace with current version from Linux kernel
719	sources (include/uapi/linux/nvme_ioctl.h fadccd8 2019-02-20).
720	This version adds Linux-syscall-note to its GPL-2.0 (only) license.
721	This should fix the GPL-2.0-or-later licensing problem (#1226).
722
7232019-07-01  Christian Franke  <franke@computer.org>
724
725	Replace all ASSERT_*() macros with STATIC_ASSERT().
726	static_assert.h: New file with STATIC_ASSERT() macro using C++11
727	static_assert() if available.
728	Makefile.am, os_win32/vc14/smart*.vcxproj*: Add new file.
729
730	os_win32/vc14/smart*.vcxproj*: Add missing scsinvme.cpp.
731
7322019-06-28  Christian Franke  <franke@computer.org>
733
734	smartd.cpp: Reset scheduled_test_next_check time if system clock
735	has been adjusted to the past.
736	Use LOG_INFO instead of LOG_CRIT for related message.
737
738	examplescripts/Example6: Update from Fedora package 7.0-5.fc31.
739
740	examplescripts/Example[78]: New scripts using /usr/sbin/sendmail
741	to send email (Ubuntu Bug 1833331).
742	Makefile.am, examplescripts/README: Add new scripts.
743
7442019-06-19  Christian Franke  <franke@computer.org>
745
746	os_win32.cpp: Decode Windows 10 1903 and Server 1903 build number.
747	Allow drive letters as device names for Windows 10 NVMe driver.
748	Check for unsupported nonzero NVMe CDW11..15.
749
750	smartctl.8.in: Fix typo introduced 15 years ago in r1789.
751
752	drivedb.h:
753	- Unify some 'Host_Reads/Writes_*' attribute names
754	- JMicron based SSDs: Transcend SSD340K, SSD740
755	- Samsung based SSDs: PM863a Dell OEM (#1200)
756	- Toshiba MG06ACA... Enterprise Capacity HDD (#1023, #1099)
757	- Toshiba MG07ACA... Enterprise Capacity HDD (#1023, #1175)
758	- WD Blue and Green SSDs: Variants without trailing -* (#1198)
759	- USB: JMicron JMS583 [NVMe] (0x152d:0x0583): Remove '#please_try'
760	- USB: Transcend (0x8564:0x7000) (GH issues/32)
761
7622019-06-17  Christian Franke  <franke@computer.org>
763
764	os_win32.cpp: Clear ProtocolDataRequestSubValue for NVMe Get Log Page
765	commands because newer drivers pass this value as CDW12 (LPOL) to the
766	drive.  This fixes log page access for NVMe 1.2.1+ drives (#1201).
767
768	Thanks to Vikram Manja for bug report and testing.
769
7702019-06-12  Christian Franke  <franke@computer.org>
771
772	os_netbsd.cpp: Fix device scan crash on empty name list.
773	Fix a memory leak introduced 15 years ago in r1434.
774
775	Thanks to Alexander Nasonov for bug report and testing.
776
7772019-05-21  Christian Franke  <franke@computer.org>
778
779	smartd.conf.5.in: Update list of directives which affect '-m'.
780	This also fixes a typo introduced 15 years ago in r1658
781	(GH issues/24).
782
783	drivedb.h:
784	- Intel 53x and Pro 1500/2500 Series SSDs: Rename, add Pro 1500 *A4H
785	  variant (#1194)
786	- Western Digital Red: WD100EFAX (#986, #1029)
787	- Western Digital Red Pro: *003* and *FFBX variants (#1085, #1192),
788	  WD101KFBX (#1030, #1189)
789
7902019-05-21  Erwan Velu  <e.velu@criteo.com>
791
792	drivedb.h: Intel DC S3110 Series SSDs (GH pull/35)
793
7942019-04-30  Christian Franke  <franke@computer.org>
795
796	os_linux.cpp: Fix '/dev/megaraid_sas_ioctl_node' open check
797	(cppcheck 1.85: resourceLeak).
798	Reduce variable scope (cppcheck 1.85: variableScope).
799	Remove unused variable (cppcheck 1.85: unreadVariable).
800
801	cppcheck.sh: New script to run cppcheck with predefined settings.
802	Makefile.am: Add new script to tarball.  Add 'cppcheck' target.
803
8042019-04-22  Christian Franke  <franke@computer.org>
805
806	drivedb.h:
807	- Apacer SDM... Series SSD Module: Rename, split into separate entries
808	  for SDM4 and SMD5*, add SMD5A-M variant (based on patch from #1183)
809	- Intel 545s Series SSDs: *2KW* variant (#1185)
810	- SK hynix SATA SSDs: *G39MND* variant, *G39TND* variant (#1146),
811	  *G3[2E]FEH* variant (based on patch from #1181)
812	- USB: JMicron JMS578 (0x0080:0x0578)
813	- USB: Unknown (0x0080:0xa0001) (#852)
814
8152019-03-31  Christian Franke  <franke@computer.org>
816
817	drivedb.h:
818	- Swissbit X-600m Series Industrial mSATA SSD (patch from #1177)
819	- Samsung based SSDs: SM863a *JP variant (#1105), SM863a Dell OEM (#1151)
820	- Marvell based SanDisk SSDs: Ultra 3D (#1091, #1166, #1173)
821	- WDC HGST Ultrastar He10: WD100EMAZ (#1152)
822	- WD Blue and Green SSDs: Blue 3D NAND (#1162, #1169)
823	- USB: VIA VL716 (0x2109:0x0716)
824
8252019-03-18  Alex Samorukov  <samm@os2.kiev.ua>
826
827	drivedb.h:
828	- add Intel 545s Series SSDs (PR #26)
829
8302019-03-13  Alex Samorukov  <samm@os2.kiev.ua>
831
832	drivedb.h:
833	- add Seagate Nytro SATA SSD and Seagate IronWolf 110 SATA SSD (PR #25)
834
8352019-03-10  Christian Franke  <franke@computer.org>
836
837	configure.ac: Pass '-pie' option directly to MinGW linker.
838	This adds relocation info which is needed for ASLR (#1170).
839	Document ASLR related issues of MinGW-w64 toolchain.
840
841	Makefile.am: Remove 'Type=notify' from smartd.service if
842	libsystemd-dev is not available.
843
8442019-01-11  Christian Franke  <franke@computer.org>
845
846	update-smart-drivedb.8.in: Add missing definition of '.Sp' macro.
847
848	json.cpp, json.h: Add extra setter for char pointers.
849	Prevent nullptr exceptions if JSON mode is not enabled.
850
851	ataprint.cpp: Fix bogus exception on unknown form factor value
852	(#1154, regression from r4640).
853
8542019-01-01  Alex Samorukov <samm@os2.kiev.ua>
855
856	FreeBSD: use "fetch" as default download tool
857	os_freebsd.cpp: fix build on FreeBSD 12, fix nvme on Big Endian hosts
858	(patch from the bugtracker)
859
8602019-01-01  Christian Franke  <franke@computer.org>
861
862	Happy New Year!  Update copyright year in version info.
863
8642018-12-30  Christian Franke  <franke@computer.org>
865
866	Rename old ChangeLog to ChangeLog-6.0-7.0.
867	Remove ChangeLog-5.0-6.0 from DOCDIR but keep in tarball.
868	Start new ChangeLog.
869
8702018-12-30  Christian Franke  <franke@computer.org>
871
872	smartmontools 7.0
873