forked from RomanHargrave/displaycal
-
Notifications
You must be signed in to change notification settings - Fork 60
/
history.html
1927 lines (1848 loc) · 224 KB
/
history.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!--[if lte IE 8 ]>
<html class="ie_lte_8">
<![endif]-->
<!--[if (gt IE 8)|!(IE) ]><!-->
<html lang="en">
<!--<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>DisplayCAL—Open Source Display Calibration and Characterization powered by ArgyllCMS</title>
<meta name="description" content="Display calibration and profiling with a focus on accuracy and versatility" />
<link rel="shortcut icon" href="theme/icons/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato%3A400%2C700%2C900%2C400italic%2C700italic&subset=latin%2Clatin-ext" type="text/css" media="all" />
<link rel="stylesheet" href="theme/readme.css?ts=2018-01-17T19:12" />
<link rel="stylesheet" href="theme/slimbox2/slimbox2.css?ts=2018-01-17T17:39" />
<link rel="stylesheet" href="theme/prism.css" />
<script type="text/javascript" src="theme/jquery.js?ts=2018-09-17T15:00"></script>
<script type="text/javascript" src="theme/jquery.scrollTo.js?ts=2018-09-17T15:00"></script>
<script type="text/javascript" src="theme/jquery.localscroll.js?ts=2018-09-17T15:00"></script>
<script type="text/javascript" src="theme/slimbox2/slimbox2.js?ts=2015-09-01T14:54"></script>
<script type="text/javascript" src="theme/readme.js?ts=2018-09-17T15:30"></script>
</head>
<body>
<div id="header">
<div id="title-wrapper">
<div id="title">
<h1><img src="theme/icon-reflection.png" alt="" /> <a href="https://displaycal.net/"><span class="appname">Display<span>CAL</span></span></a><span><span class="dash">—</span>Open Source Display Calibration and Characterization powered by <a href="http://argyllcms.com">ArgyllCMS</a></span></h1>
</div>
<div id="site-navigation">
<ul>
<li><a href="https://displaycal.net/news/">News</a></li>
<li><a href="https://displaycal.net/forums/">Forums</a></li>
<li><a href="https://displaycal.net/issues/">Issue Tracker</a></li>
<li><a href="https://displaycal.net/wiki/">Wiki</a></li>
</ul>
</div>
</div>
<div id="header-inner-overlay"></div>
</div>
<div id="content">
<div id="changelog">
<h2>Version history</h2>
<dl>
<dt id="changelog-3.0.6.3">2016-01-11 10:34 (UTC) 3.0.6.3</dt>
<dd>
<h3>3.0.6.3</h3>
<h4>Fixed in this release:</h4>
<ul>
<li>Traceback after first run on some configurations.</li>
</ul>
</dd>
<dt id="changelog-3.0.6.2">2016-01-04 18:14 (UTC) 3.0.6.2 </dt>
<dd>
<h3>3.0.6.2 </h3>
<h4>Fixed in this release:</h4>
<ul>
<li>Mac OS X: 'NoneType' error when creating a 3D LUT after profiling or trying to install/save a 3D LUT.</li>
</ul>
</dd>
<dt id="changelog-3.0.6.1">2015-12-24 19:34 (UTC) 3.0.6.1 </dt>
<dd>
<h3>3.0.6.1 </h3>
<h4>Fixed in this release:</h4>
<ul>
<li>Standalone tools: If ArgyllCMS executables were not found at launch, the dialog asking for their location closed immediately.</li>
<li>Mac OS X: Error message “'Menu' object has no attribute 'IsShownOnScreen'” when trying to use the menu or Cmd-Q to quit after using some of the controls.</li>
<li>Mac OS X: Find ArgyllCMS reference files if ArgyllCMS was installed via Homebrew.</li>
<li>Mac OS X: Application logfiles for standalone tools weren't written anymore (regression of r3431).</li>
<li>Mac OS X: Standalone tools couldn't be run in parallel to each other or the main application.</li>
</ul>
</dd>
<dt id="changelog-3.0.6">2015-12-21 21:12 (UTC) 3.0.6 </dt>
<dd>
<h3>3.0.6 </h3>
<h4>Added in this release:</h4>
<ul>
<li>Support for the Q, Inc./Murideo Prisma video processor (pattern generation, 3D LUT upload).</li>
<li>Support for Argyll 1.8.3 (and newer) luminance preserving perceptual intent.</li>
<li>CIECAM02 viewing conditions for critical print evaluation environment (ISO-3664 P1) and television/film studio.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Advanced option: Smoother CIECAM02 perceptual and saturation gamut mapping for XYZ LUT profiles if the source profile is a matrix profile and “Enhance effective resolution of PCS to device tables” is enabled. Also works if creating CMYK (printer) profiles from existing reflective measurements (you can specify black generation and ink limiting parameters as additional commandline parameters to colprof).</li>
<li>Advanced option: Default CIECAM02 perceptual gamut mapping to (ICC) perceptual.</li>
<li>Profile information, 3D gamut visualization: Re-generate existing gamut visualization if involved profile(s) have a newer modification date than the visualization file(s).</li>
<li>When changing the 3D LUT input color space on the 3D LUT tab, automatically set a corresponding tone curve (match standalone 3D LUT maker behavior).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Colorimeter correction creation: Reference instrument, manufacturer name/ID and observer choice weren't added to the correction file if it was created by ArgyllCMS 1.8 or newer. This could prevent uploading the correction to the online database.</li>
<li>Optimize performance of adding log messages to the log window, especially under Mac OS X where enabling Argyll debug output could generate high CPU load and stall UI updates due to the huge amount of messages generated each second during measurements.</li>
<li>Re-enumerate 3D LUT input color space profiles when changing to a different ArgyllCMS version.</li>
<li>When re-creating a profile from an existing measurement file or profile that contains 3D LUT settings, remove those settings from its enclosed settings container if automatic 3D LUT creation after profiling is disabled in the current configuration (prevents a 3D LUT being automatically created unexpectedly after re-creating the profile).</li>
<li>Curve viewer: Hovering a specific channel would display unexpected zero values for the other two channels in the status bar (regression of r3309, DisplayCAL >= 3.0.3).</li>
<li>Mac OS X: Revert r3478 (DisplayCAL >= 3.0.4.3) which prevented custom values typed into comboboxes actually updating the configuration due to a Mac OS X specific wxWidgets bug that is not yet fixed in wxPython (<a href="http://trac.wxwidgets.org/ticket/9862">#9862</a>). Work-around the underlying problem that r3478 was meant to fix (wxPython 3 generates an EVT_TEXT when calling SetValue on a ComboBox, which could cause an infinite loop of events to be generated, wxPython 2.8 does not).</li>
</ul>
</dd>
<dt id="changelog-3.0.5">2015-11-26 21:14 (UTC) 3.0.5 </dt>
<dd>
<h3>3.0.5 </h3>
<h4>Changed in this release:</h4>
<ul>
<li>Added Rec. 2020 as well as Rec. 709, SMPTE 431-2 (DCI P3) and Rec. 2020 derivatives with imaginary primaries to PCS candidates for enhancing the effective resolution of PCS to device tables, and set the default lookup table size to “Auto” (base 33x33x33, increased if needed).</li>
<li>Enabled <a href="#verify-profile">verification without a display profile</a> by using the simulation profile as output with its tone curve unmodified.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Black point compensation (when enabled) was not being applied to PCS-to-device table when creating XYZ LUT profiles. Note that using black point compensation for LUT profiles is neither recommended nor required, as it needlessly reduces the accuracy of the profile, and LUT profiles by default are generated with a perceptual table that maps the black point.</li>
<li>Work-around a problem with i1D2 and Argyll 1.7 to 1.8.3 under Mac OS X 10.11 El Capitan where disabling interactive display adjustment would botch the first reading (black).</li>
<li>Calibration loader: Don't show bogus “Calibration curves could not be loaded” message when using ArgyllCMS 1.8.3 and the display profile does not contain calibration (profiles not created by DisplayCAL or ArgyllCMS).</li>
</ul>
</dd>
<dt id="changelog-3.0.4.3">2015-09-25 22:16 (UTC) 3.0.4.3 </dt>
<dd>
<h3>3.0.4.3 </h3>
<h4>Fixed in this release:</h4>
<ul>
<li>Restore 3D LUT source colorspace setting when loading a settings file.</li>
<li>Error message popup when selecting xvYCC encoding for eeColor (this input encoding is unsupported for eeColor 3D LUTs).</li>
<li>When selecting a settings file that changes the 3D LUT format, make sure the selectable 3D LUT encodings are updated.</li>
<li>File parsing errors when reading a measurement file to be used for a measurement report could prevent the main window from reappearing.</li>
<li>Profile 3D gamut view, testchart 3D diagnostic: X3D file could not be created if the file name started with a number.</li>
<li>Cosmetic: Standalone 3D LUT maker: Set controls to the correct state if no target profile is set and hide all irrelevant controls if using a device link profile as source profile.</li>
<li>Mac OS X: Hang when when changing whitepoint chromaticity coordinates.</li>
</ul>
</dd>
<dt id="changelog-3.0.4.2">2015-09-07 14:31 (UTC) 3.0.4.2 </dt>
<dd>
<h3>3.0.4.2 </h3>
<h4>Changed in this release:</h4>
<ul>
<li>Show a progress dialog during user-initiated display and instrument enumeration to give some visual feedback (and the ability to cancel) in case it takes longer than expected.</li>
<li>Give initial display and instrument enumeration at startup a timeout of ten seconds.</li>
<li>Removed option to automatically detect new instruments.</li>
<li>Linux: Enable verifying display profiles only available via X atom.</li>
<li>Linux: Cache the current display profile on disk if it comes from an X atom to allow it to be used as preconditioning profile for the testchart editor or as destination profile for the standalone 3D LUT maker (the cache path is <samp>~/.cache/icc/id=<profile-id>.icc</samp>).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Sporadic failure to create a spectral colorimeter correction when using ArgyllCMS 1.8 and newer.</li>
<li>Linux: Traceback when using the “Current profile” button on the testchart editor to set the preconditioning profile to the current display profile, and the display profile path is not available (e.g. if the profile comes from an X atom).</li>
</ul>
</dd>
<dt id="changelog-3.0.4.1">2015-09-01 12:56 (UTC) 3.0.4.1 </dt>
<dd>
<h3>3.0.4.1 </h3>
<h4>Fixed in this release:</h4>
<ul>
<li>wxPython Phoenix compatibility: Ensure that timer notifications run in the main GUI thread.</li>
<li>Mac OS X: Fix Resolve pattern generator loosing sync immediately if DisplayCAL is running standalone from a path that contains spaces.</li>
</ul>
</dd>
<dt id="changelog-3.0.4">2015-08-10 01:22 (UTC) 3.0.4 </dt>
<dd>
<h3>3.0.4 </h3>
<h4>Added in this release:</h4>
<ul>
<li>Ability to create 3D LUTs in PNG (Portable Network Graphic) and <a href="http://reshade.me/">ReShade</a> format. The latter allows fully color managed Direct3D (8–11.2) and OpenGL applications (e.g. games) under Windows (Vista and higher).</li>
<li>Compatibility for updated ArgyllCMS 1.8 Beta display technology mappings when creating colorimeter corrections.</li>
<li>“Apply calibration (vcgt)” to 3D LUT tab as advanced option, as well as a warning when installing a 3D LUT with applied calibration for a display with non-linear videocard gamma tables.</li>
<li>Option to enable/disable the 3D LUT tab.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Speed up calculation of 3D LUTs in 3DL, MGA, and SPI3D format when using a size smaller than 65x65x65.</li>
<li>Only prompt to import colorimeter corrections from the vendor software if none is currently selected.</li>
<li>Changed uniformity measurement report criteria to follow ISO 12646:2015 and allow selection of the layout to be used. “Update measurement or uniformity report” in the “Tools” menu can now also be used to update old uniformity reports.</li>
<li>The “Install profile” button changes to “Install 3D LUT” when on the 3D LUT tab.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>“Auto” colorimeter correction setting not selecting an available correction if the display device name contained the manufacturer name.</li>
<li>When creating a 3D LUT as part of a profiling run and if the path to ArgyllCMS contained non-ASCII characters, profile creation failed with an Unicode error.</li>
<li>Linux (cosmetic): Background of some bitmap buttons was black when wxGTK is built against GTK3.</li>
<li>Linux (cosmetic): Splash screen mask not working correctly with wxPython 3 classic.</li>
<li>Mac OS X, Windows: Changing (only) the 3D LUT gamma type setting and creating a 3D LUT from an existing profile could lead to a confirmation prompt to overwrite an existing 3D LUT with a different gamma type setting, because this setting was differentiated in the 3D LUT file name with the uppercase or lowercase letter “B” (Windows and Mac OS X have a case-insensitive file system).</li>
</ul>
<p id="changelog-3.0.3.1">2015-07-09 15:00 (UTC) 3.0.3.1 </p>
<h3>3.0.3.1 </h3>
<h4>Fixed in this release:</h4>
<ul>
<li>Make sure there are exactly 256 entries when saving the current videoLUT, otherwise dispwin will complain and not be able to load it back in. Fixes restoring current videoLUT after checking access under Linux when using a graphics card with more than 256 videoLUT entries per channel (e.g. nVidia Quadro).</li>
</ul>
</dd>
<dt id="changelog-3.0.3">2015-07-06 22:58 (UTC) 3.0.3 </dt>
<dd>
<h3>3.0.3 </h3>
<h4>Added in this release:</h4>
<ul>
<li>Curve viewer and profile information: Detect more known tone response curves.</li>
<li>Colorimetric observer choice as advanced calibration option for instruments that support it (i.e. spectrometers as well as i1 Display Pro, ColorMunki Display and Spyder 4/5).</li>
<li>Synthetic ICC profile creator:
<ul>
<li>SMPTE 2084 HDR tone response curve option.</li>
<li>Re-introduced black point compensation option.</li>
</ul>
</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>All remaining presets now use testchart auto-optimization for best profiling accuracy. Setting the patch amount slider to 73 or 97 patches will create a simple matrix-based profile aimed at quickly profiling high quality professional displays that are often very linear and have good additive color mixing properties.</li>
<li>When saving a 3D LUT for Resolve, try to find the Resolve LUT folder automatically.</li>
<li>When saving an existing 3D LUT, pre-fill the filename field in the file dialog with the existing name instead of “Unnamed”.</li>
<li>During interactive display adjustment, allow cancelling without confirmation and don't show “Calibration has not been finished” message.</li>
<li>Removed most pre-baked testcharts.</li>
<li>Improved the help text on the “Profiling” tab.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>When creating a profile and accompanying 3D LUT (from new measurements) that overwrite existing files with the same name (popup confirmation before commencing measurements), the progress dialog was never closed automatically and the application window never re-enabled after creating the profile. This could happen if the profile name didn't contain a fine grained enough time or other component distinguishing it from the name of the existing files, e.g. when measuring and creating two or more profiles as well as accompanying 3D LUTs, for the same display, with the same settings, in a single session one after the other.</li>
<li>When switching to the “Untethered” display, the “Profile only” button wasn't shown if not already visible.</li>
<li>Verifying using a device link profile that alters (corrects) device white on a display that was not adjusted to match the target whitepoint using the display controls, showed higher than actual errors in the measurement report (device link and 3D LUT being fine regardless) due to the report not accounting for the difference of unaltered (uncorrected) device white versus altered (corrected) device white.</li>
<li>Set 3D LUT verification options for Resolve automatically after profile generation.</li>
<li>Switching from pre-baked testchart to “Auto” and back to same previous pre-baked chart didn't work (was still using “Auto” testchart).</li>
<li>When changing the calibration tone curve of an existing profile (that used 1D LUT calibration) to “As measured”, store the updated setting in newly created profiles (unless using an existing calibration).</li>
<li>After creating a 3D LUT that incorporates 1D LUT calibration and previewing this calibration on a display connected directly to the system when saving/installing the 3D LUT, restore video card gamma table to the current display profile calibration (if any) afterwards.</li>
<li>Creating colorimeter correction with non-7-bit-ASCII characters in the description.</li>
<li>Added workaround for undecodable strings in some 3rd party ICC profiles.</li>
<li>Restoring defaults from the “Options” menu no longer resets the contribution popup “Do not show again” preference.</li>
<li>Cosmetic: Work-around ArgyllCMS 1.7 (harmless) warning message “Spyder: Measuring refresh rate failed” when using the Spyder4/5 with measurement modes “LCD (CCFL)” or “LCD (White LED)”.</li>
<li>Synthetic ICC profile creator:
<ul>
<li>Very low non-zero black points (Y around 0.0015 on a 0..100 scale) were parsed as zero from existing profiles due to rounding down to the next legal 16-bit ICC profile v2 encoded value.</li>
<li>Parsing grayscale profiles and profiles with a PCS other than CIE XYZ now works.</li>
</ul>
</li>
<li>madTPG network interface cross-platform support (Linux/Mac OS X): Reset video card gamma table when calibrating.</li>
<li>Linux: Work-around visual wxPython quirks when wxGTK is built against GTK3.</li>
<li>Linux (cosmetic): Prefer pygame audio backend to avoid fade crackling.</li>
</ul>
</dd>
<dt id="changelog-3.0.2">2015-06-08 00:08 (UTC) 3.0.2 </dt>
<dd>
<h3>3.0.2 </h3>
<h4>Added in this release:</h4>
<ul>
<li>Instrument first-time setup (i.e. importing colorimeter corrections) will now automatically run when it hasn't been run before.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Removed black point correction choice when switching to “refresh” measurement mode.</li>
<li>Cosmetic: Always show main buttons, but disable them if no action is possible.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Mac OS X (standalone): Use bundled python when running from application bundle (fixes Resolve and madTPG interface).</li>
<li>Windows: Installing a profile as system default wasn't working correctly when UAC was enabled (regression of a change in 3.0.1).</li>
</ul>
</dd>
<dt id="changelog-3.0.1">2015-05-31 20:35 (UTC) 3.0.1 </dt>
<dd>
<h3>3.0.1 </h3>
<h4>Added in this release:</h4>
<ul>
<li>madTPG network interface cross-platform support. This means you can now connect from Linux or Mac OS X to madTPG running under Windows.</li>
<li>Functionality to <a href="#change-display-profile-cal-whitepoint">change display profile (and calibration) whitepoint</a> of existing profiles without re-measuring (no UI, only available via the command line). This is more or less a gimmick and should not be used if colorimetric accuracy is important, but should result in a more precise white point change than using (for example) <a href="https://justgetflux.com/">f.lux</a> or <a href="http://jonls.dk/redshift/">redshift</a> because it fully takes into account the profile colorimetry, although white point shifting in real time is not supported.</li>
<li>Option to enable/disable startup sound.</li>
<li>Additional verification testcharts (roughly 750 and 1000 patches in size).</li>
<li>Output number placeholder for use in the profile name (as another means to disinguish equal display models).</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Force planckian locus in measurement reports if color temperature is >= 1667 and < 4000.</li>
<li>Improve “enhance effective resolution of PCS-to-device tables” slightly: Move CAM Jab clipping blending region from 50%..100% to 33%..75% in the cLUT grid. This improves inverse profile self check errors very slightly and in some cases visually further improves gamut mapping smoothness in the blue region for gamuts that are really limited there (e.g. Laptops/Notebooks, cheap TN panels).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Uniformity measurements not working with spectrometer if instrument self-calibration is performed during the measurements.</li>
<li>Work-around <a href="http://bugs.python.org/issue24142">Python 2.7 configuration file parsing bug</a> if configuration file gets corrupted (e.g. through hard disk issues, destructive edits or similar).</li>
<li>When installing a profile, always copy it to a temporary directory first so if accidentally installing a profile from the location where it's already installed (e.g. system32\spool\drivers\color) it doesn't get nuked by dispwin.</li>
<li>Cosmetic: Fix “ProgressDialog object has no attribute 'remaining_time'” when the fancy progress dialog is disabled under “Options” and using the testchart editor to create a testchart.</li>
<li>Chromecast messing with display enumeration under Linux and Mac OS X.</li>
<li>If missing, add DISPLAY_TYPE_BASE_ID to colorimeter correction matrix (CCMX) files when reading (fixes “Instrument access failed” when using ArgyllCMS 1.7 with older CCMX files).</li>
<li>When creating a synthetic ICC profile with Rec. 1886 tone response curve and a black level of zero, the fallback gamma value of 2.2 was used instead of the configured gamma of 2.4.</li>
</ul>
</dd>
<dt id="changelog-3.0">2015-05-02 22:11 (UTC) 3.0 </dt>
<dd>
<h3>3.0 </h3>
<h4>Added in this release:</h4>
<ul>
<li><strong>Tabbed user interface.</strong> See <a href="https://displaycal.net/#screenshots">screenshots</a>.</li>
<li>Full support for ArgyllCMS 1.7.0, which includes support for the ColorHug2, K-10A, Spyder5, the capability to use a <a href="https://www.google.com/chrome/devices/chromecast">Google Chromecast</a> as pattern generator, and more. Note that the accuracy of using a ChromeCast is limited due to the internal RGB to YCbCr conversion and upscaling in the device.</li>
<li>Optional automatic testchart optimization as part of the characterization process.</li>
<li>madTPG launches automatically when used (requires madVR 0.87.12 or later).</li>
<li>Optionally create a 3D LUT automatically after profiling. 3D LUT settings are stored in the profile and synced with measurement report settings when loaded.</li>
<li>1-click install of madVR 3D LUTs after generation (requires madVR 0.87.12 or later).</li>
<li>3D LUT maker: Optionally allow to use PCS-to-device instead of inverse device-to-PCS gamut mapping. This allows for fast creation of 3D LUTs, but the result is dependent on the quality and accuracy of the profile's B2A tables.</li>
<li>3D LUT maker/measurement report: Added an option to just apply black output offset to the tone response curve instead of overriding it completely. This option is only available for source profiles that have a tone response curve which is not defined by a simple power function (e.g. sRGB). Also added a warning message if input values would be clipped when using the tone response curve unmodified.</li>
<li>Show reference versus corrected colorimeter measurements along with delta E when creating a colorimeter correction matrix.</li>
<li>Optionally clip WTW on input when creating a 3D LUT (requires ArgyllCMS 1.7 or later).</li>
<li>Additional error checking for patterngenerator network interface: Check if each Argyll test pattern update is followed by a network send. Fail with a sync error otherwise.</li>
<li>Easily create a compressed archive of the currently selected profile and related files with the click of a button next to the “Settings” dropdown.</li>
<li>Testchart editor:
<ul>
<li>Support loading of CGATS files which do not contain XYZ values.</li>
<li>CSV import (drag and drop a CSV file) and export.</li>
<li>Export 16-bit PNG and TIFF or 10-bit DPX files.</li>
<li>Improved speed of image file export.</li>
<li>Dragging and dropping image files extracts and adds reference patches if a preconditioning profile is set.</li>
</ul>
</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Generate XYZ LUT profiles by default and for all presets. Consequently, black point compensation now defaults to off and is an advanced option (not shown by default).</li>
<li>XYZ LUT + matrix profiles will always have black point compensated matrix TRC tags. That way “dumb” applications which fall back to the matrix won't clip shadow detail if they don't support BPC internally, while “smart” applications can use the accurate LUTs.</li>
<li>When creating XYZ LUT profiles with enhanced effective PCS-to-device table resolution, improve reproduction of saturated colors for displays with limited gamut (e.g. smaller than sRGB), increasing visible detail and saturation in those areas. This should typically affect saturated blues the most. Users of displays that cover most of sRGB except parts of the blue region may see an improvement as well. Also, more accurately encode the PCS-to-device black point.</li>
<li>Show display technology type of spectral colorimeter corrections and sort by the shown name instead of the filename.</li>
<li>Moved display update delay and settle time controls to main window (“Show advanced options” must be enabled).</li>
<li>Force a minimum display update delay of 600 ms for Resolve irrespective of chosen preset.</li>
<li>Don't unload current settings file when changing calibration tone curve to “As measured”.</li>
<li>When creating a profile, automatically filter out XYZ = 0 readings if the RGB stimulus is < 5% (except black).</li>
<li>Files generated during incomplete/failed runs are moved to a different location than the storage directory. See “<a href="#userdata">User data and configuration file locations</a>”, “<a href="#incomplete">Incomplete/failed runs</a>”. Compare the list of files in the temporary directory and their modification times before and after running ArgyllCMS tools to determine if files should be kept in case of errors.</li>
<li>When updating via Zero Install, force exact version.</li>
<li>3D LUT: Default to 65x65x65 cube for all 3D LUT formats except Pandora (.mga) which only supports 17x17x17 and 33x33x33.</li>
<li>3D LUT: Default to 16..235 TV level encoding for the eeColor.</li>
<li>Measurement report: Changed displayed range of Y to be always 0..100 with four decimal digits.</li>
<li>Linux, Windows: On application startup, the current video LUT is restored after checking video LUT access. This differs from the previous behavior where the video LUT was reset to the calibration (if present) of the currently assigned display profile(s) (if any).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Error message when trying to quit the application while the “About” dialog was shown (regression of a change in 2.6 how lingering dialogs are handled on application exit).</li>
<li>Using Resolve as pattern generator prevented ambient measurements.</li>
<li>Fixed bug with Resolve interface related to APL that resulted in pattern updates being rejected by Resolve due to negative background RGB. This could happen with bright patches if the test patch size was above roughly 30% and below 100% screen area.</li>
<li>Due to file descriptors for session logfiles not being closed after being done with the file, DisplayCAL could run out of available file descriptors when used to create or inspect a large amount of profiles in a single session.</li>
<li>Disabled rollover for session logfiles.</li>
<li>Worked around uninitialized variables with Argyll's xicclu utility in versions 1.6.x to prevent unexpected color lookup output values.</li>
<li>Make sure the 1% reading during calibration check measurements doesn't trigger continuing to the following step.</li>
<li>Clicking the “Pause” button on the progress dialog in the first few seconds before instrument initialization was complete would not pause measurements, and disabled the button until clicking “Cancel”.</li>
<li>Verifying a device link created with an encoding other than full range RGB.</li>
<li>Curve viewer: Amount of tone values and grayscale % for calibration curves was not calculated correctly if the number of entries was not 256.</li>
<li>Testchart editor: Deleting a selection of non-consecutive rows didn't work correctly.</li>
</ul>
</dd>
<dt id="changelog-2.6">2014-11-15 20:46 (UTC) 2.6 </dt>
<dd>
<h3>2.6 </h3>
<h4>Added in this release:</h4>
<ul>
<li><a href="#scripting">Scripting</a> support (locally and over the network).</li>
<li>Possibilty to do spectrometer self-calibration on its own (look in the “Options” menu). Useful in conjunction with “Allow to skip spectrometer self-calibration”.</li>
<li>Curve viewer, profile information: Support plotting tone response curve of grayscale profiles.</li>
<li>wxPython 3.0.2 “Phoenix” compatibility.</li>
<li>Linux: Install/uninstall instrument configuration files (udev rules/hotplug scripts) from the “Tools” menu.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Use extended testchart as default for matrix profiles.</li>
<li>When switching profiles or displays, make sure the measurement report and 3D LUT creation windows are updated accordingly if shown.</li>
<li>Unset Argyll display update delay/settle time environment variables after disabling their override when they were not set initially.</li>
<li>All standalone tools have separate configuration files (overridden by main configuration if newer and vice versa) and logfiles.</li>
<li>VRML to X3D converter can now do batch processing.</li>
<li>Enhanced UI for colorimeter correction creation.</li>
<li>Limit the ability to create colorimeter corrections for the Klein K-10 to factory measurement mode.</li>
<li>Detect instruments at startup if no instruments were previously configured.</li>
<li>Changed “Resolve” preset to use a minimum display update delay of 600 ms and constant APL patterns by default.</li>
<li>Restore defaults for display update delay and settle time multiplier when loading settings without override.</li>
<li>Linux: The system-wide configuration file is ignored except for the profile loader.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Calibration curve plot was not working anymore for profiles with formula-type vcgt tags (regression of r2384, did not affect Argyll-generated profiles).</li>
<li>Re-use existing Resolve connection if possible and only shut it down on application exit (fixes “Address already in use” error under Linux and Mac OS X).</li>
<li>When using Resolve, the measurement window position and size aswell as the “Use black background” setting were not correctly stored in the generated calibration file and/or profile and could thus not be restored by loading the file(s).</li>
<li>When exporting test patches as image files, limit pixel dimensions to FullHD (fixes memory error when exporting fullscreen patches).</li>
<li>When applying a tone response curve to an existing profile, make sure curve values can't become negative at and near zero input.</li>
<li>Fix generation of synthetic grayscale profiles.</li>
<li>Linux (only if ArgyllCMS was installed via Zero Install)/Mac OS X/Windows: If the ArgyllCMS directory was not explicitly configured, ArgyllCMS reference profiles (e.g. Rec709.icm) were not added automatically to file dropdown lists and the “Install ArgyllCMS instrument drivers...” menu item (Windows only) was grayed out (this impacted convenience, not functionality).</li>
<li>Cosmetic, Mac OS X 10.8 and earlier: Splash screen had a light gray border instead of being semi-transparent.</li>
<li>Mac OS X 10.10 Yosemite: Disable functionality to load/clear calibration like under Mac OS X 10.6 and up.</li>
</ul>
</dd>
<dt id="changelog-2.5">2014-09-06 00:07 (UTC) 2.5 </dt>
<dd>
<h3>2.5 </h3>
<h4>Added in this release:</h4>
<ul>
<li><strong>ArgyllCMS 1.7 beta compatibility:</strong> Klein K10-A support (requires <a href="http://www.avsforum.com/forum/139-display-calibration/1471169-madvr-argyllcms-61.html?styleid=129#post24742730">ArgyllCMS 1.7 beta test 2014-05-21</a> or newer) and updated technology strings for colorimeter correction creation. When creating 3D LUTs with Rec. 1886 or custom tone response curve, force RGB source 0 0 0 to map to RGB destination 0 0 0 (requires ArgyllCMS 1.7 beta development code 2014-07-10 or newer).</li>
<li>Enable black output offset instead of all-input offset for 3D LUTs, measurement report and synthetic profile creation (based on ArgyllCMS 1.7 beta development code 2014-07-12, thanks to Graeme Gill). Note that for 3D LUTs, if using output offset ideally ArgyllCMS 1.7 should be used aswell once it becomes available since the current implementation in DisplayCAL that enables output offset when used with ArgyllCMS 1.6.3 or older has limited 16-bit precision for the black point mapping (due to the implementation altering the source profile TRC on-the-fly in that case, and the ICCv2 16-bit encoding used for the TRC tags in the source profile), while ArgyllCMS 1.7 will enable full floating point processing (due to the black point mapping then taking place internally in <code>collink</code>, and DisplayCAL not having to alter the source profile TRC beforehand).</li>
<li>Black point can be specified in XYZ or chromaticity coordinates when creating a synthetic ICC profile.</li>
<li>When dropping an existing profile onto the synthetic ICC profile creation window, set whitepoint, primaries, blackpoint and tone response curve (average) according to the profile.</li>
<li><strong>Support for the Resolve 10.1 (and newer) CM pattern generator.</strong> See also <a href="https://displaycal.net/wiki/3d-lut-creation-workflow-for-resolve/">3D LUT creation workflow for Resolve</a> on the <a href="https://displaycal.net/wiki/">DisplayCAL Wiki</a>.</li>
<li>Enable interactive display adjustment without creating calibration curves by setting “Tone curve” to “As measured”. This also causes all calibration setting placeholders in the profile name to be ignored.</li>
<li>Added options to override the minimum display update delay (requires ArgyllCMS 1.5 or newer) and display settle time multiplier (requires ArgyllCMS 1.7 Beta or newer). These options can be found in the <a href="#additional-commandline-arguments">“Set additional commandline arguments...”</a> window accessible from the “Options” menu. Note that these two settings (unlike the additional commandline parameters) are stored in the profile, and will be restored when the profile is selected again under “Settings”.</li>
<li>Testchart editor: If generating any number of iterative patches as well as single channel, gray or multidimensional patches, it is possible to add the single channel, gray and multidimensional patches in a separate step by holding the shift key while clicking on “Create testchart”. This prevents those patches affecting the iterative patch distribution, with the drawback of making the patch distribution less even. This is an experimental feature.</li>
<li>Windows: Simplified ArgyllCMS instrument driver installation by adding a respective menu item to the “Tools” menu.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Visual overhaul.</li>
<li>Calibration curves are no longer automatically loaded into the video card gamma table when loading a settings file. To manually load calibration curves into the video card gamma table, choose “Load calibration curves from calibration file or profile...” in the “Options” menu (Linux and Windows only), or install a profile, or use the “Preview calibration” checkbox (Linux and Windows only) in the profile installation dialog. The previous behavior can be restored by editing DisplayCAL.ini and adding a line <code>calibration.autoload = 1</code>.</li>
<li>Split “Smooth B2A tables” into “Enhance effective resolution of colorimetric <abbr title="Profile Connection Space">PCS<sup><a href="#definition_PCS">[11]</a></sup></abbr>-to-device table” and “Smoothing” options and moved them to advanced gamut mapping options.</li>
<li>Renamed “Apply BT.1886 gamma mapping” to “Apply tone response curve”.</li>
<li>Always override the source profile tone response curve when using “Apply tone response curve” (3D LUT creation and measurement report) so the result will be correct for the chosen parameters regardless of source profile tone response curve.</li>
<li>Removed black point compensation option from synthetic profile creation window.</li>
<li>Changing the black level or black point Y value when creating a synthetic ICC profile now rounds up or down to make it a multiple of the 16-bit encoding precision used in ICC v2 profiles (which is roughly 0.00153 when normalized to 0..100).</li>
<li>Re-enabled moving the standalone curve viewer between displays updating the graph according to the display it is currently on.</li>
<li>Always append the measurement mode to the instrument string in the measurement report.</li>
<li>Confirm quitting the application (via the application menu “Quit” item or the associated keyboard shortcut) if a task is still running (in practice this only affects Mac OS X as the menu is not accessible on other platforms while a task is running).</li>
<li>When selecting “Locate ArgyllCMS executables...” in the menu to switch to a different ArgyllCMS version, automatically detect if a newer version is on the search path and offer to use it right away without having to manually browse to the location.</li>
<li>Renamed “Gamma” entry in calibration tone response curve dropdown to “Custom” to emphasize that it is a curve with custom gamma exponent and other parameters.</li>
<li>When switching calibration tone response curve from Rec. 1886 to custom, restore the previous gamma and black output offset parameters (or defaults in case a preset was used).</li>
<li>Show an error message if trying to measure the ambient light color with an instrument which only has a monochrome ambient sensor (e.g. Spyder 3 and 4 Elite or Pro).</li>
<li>Importing colorimeter corrections and enabling the Spyder 2 is now truly automatic (necessary files are downloaded if not present on the local system).</li>
<li>Made black level control an advanced calibration option.</li>
<li>Loading a profile that does not contain calibration settings sets all calibration options to “As measured”.</li>
<li>When creating or loading a profile (except presets), it is now automatically set as the current profile in the measurement report and 3D LUT creation windows.</li>
<li>Enabled interactive display adjustment for the madVR and Resolve presets and altered them to not do video card gamma table calibration by default.</li>
<li>All presets that create LUT profiles use optimized testcharts.</li>
<li>When a virtual display is selected, don't offer profile installation but 3D LUT creation instead.</li>
<li>ReadMe: Completed testchart editor documentation.</li>
<li>Testchart editor: Always enable “Add saturation sweeps” and “Add reference patches...” controls when a preconditioning profile is set, regardless of selected patch distribution and adaptation.</li>
<li>Testchart editor: When enabling/disabling the preconditioning profile, set adaptation to 100%/10% respectively.</li>
<li>Testchart editor: Greatly improved the speed of inserting patches into large testcharts with thousands of patches.</li>
<li>Linux, profile installation: Try to install the profile using all available systems regardless if one of them fails to install the profile. Only report profile installation as failed if all available systems failed to install the profile. Report specific failures when profile installation only partly succeeds.</li>
<li>Linux, profile installation: Try colormgr as fallback (if available) if profile installation using Argyll 1.6+ failed.</li>
<li>Linux: Use the EDID MD5 to find the device ID (this only works with colord versions released after 26. Apr. 2013).</li>
<li>Mac OS X: No longer require administrator privileges if running from a non-administrator user account.</li>
<li>Windows Vista and newer: Enable system-wide profile and OEM files installation without the need to run the whole application as administrator. The UAC shield icon is shown on buttons if an action requires administrator privileges.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>The “Apply BT.1886 gamma mapping” checkbox in the 3D LUT creation window did re-enable itself when clicking on “Create 3D LUT” if Rec709.icm was selected as source profile.</li>
<li>Synthetic ICC profile creation: Setting gamma to absolute or relative when not using Rec. 1886 now actually makes a difference (previously the end result was always an absolute curve).</li>
<li>“Show actual calibration curves from video card” could not be enabled in the standalone curve viewer if the previously selected display did not allow video LUT access.</li>
<li>Measuring the ambient light level with an instrument which only has a monochrome ambient sensor (e.g. Spyder 3 and 4 Elite or Pro).</li>
<li>If loading a settings file created with automatic black point hue correction, that setting was not restored and the default value of no correction was used.</li>
<li>When doing a “Profile only” and using the current calibration from the video card gamma table, ArgyllCMS expects 256 entries. Interpolate on-the-fly if the number of entries in the video card gamma table is not 256 (this currently only affects Mac OS X 10.9 and newer where the table contains 1024 entries).</li>
<li>If the display manufacturer string recorded in a profile was the same as the three-letter manufacturer ID string (e.g. NEC), the profile could not be uploaded to the <a href="http://icc.opensuse.org">openSUSE ICC Profile Taxi</a> service due to a bogus “missing metadata” error message (regression of r1422).</li>
<li>Profile information window: Color coordinates in the status bar were wrong if the selected colorspace was not a*b* (bug introduced in DisplayCAL 2.0).</li>
<li>The specbos 1201 was not working due to not supporting measurement mode selection.</li>
<li>When getting normalized vcgt tag values, scaling was off if the vcgt wasn't 16-bit. This prevented e.g. the measurement report from working with certain 3rd-party display profiles.</li>
<li>Cosmetic: Correct padding of the patch number in the measurement report summary (fixes missing padding when multiple patches are evaluated for a single criterion).</li>
<li>Trivial: Tab order of controls (top-down, left-right).</li>
<li>Testchart editor: IndexError if trying to add saturation sweeps or reference patches when no cells are selected.</li>
<li>Linux, profile installation: Do not regard a missing colormgr as error.</li>
<li>Mac OS X: Selecting “About”, “Locate ArgyllCMS executables...” (preferences) and “Quit” in the application menu does something again (this stopped working with the move to wxPython 3.0 GUI library in DisplayCAL 2.0).</li>
</ul>
</dd>
<dt id="changelog-2.1">2014-05-11 19:00 (UTC) 2.1</dt>
<dd>
<h3>2.1</h3>
<h4>Added in this release:</h4>
<ul>
<li><strong>“Auto” measurement mode for the ColorHug.</strong> This will automatically create a colorimeter correction with the reference based on <abbr title="Extended Display Identification Data">EDID<sup><a href="#definition_EDID">[10]</a></sup></abbr> as part of the normal measurement process. This is a work-around for the red primary shift problem that some ColorHug users are experiencing (note that this will make ColorHug measurements closely match the gamut boundaries defined by the primaries and whitepoint from EDID). This mode should only be used as a last resort if no colorimeter correction with reference measurements from a spectrometer or other known accurate instrument can be obtained.</li>
<li><strong>Auto-update functionality.</strong> Apply updates from within DisplayCAL under Mac OS X and Windows, or if using Zero Install.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li><strong>Improved Zero Install integration.</strong> Installation is now as simple as a standalone installation.</li>
<li>Switched “Smooth B2A tables” off and “Low quality B2A tables” back on for the madVR preset to save some time during profile generation.</li>
<li>The HTML-embedded X3D viewer will now by default try and load its components from the web, with a fallback to a locally cached copy (if available) and not anymore the other way around. This means generated HTML files will automatically use updated viewer components when an internet connection is available.</li>
<li>Choosing “Profile information” from the “File” menu will now always present a file dialog to pick a profile and no longer use the profile currently selected in the main window (this functionality is still available via the small blue “Info” button next to the settings dropdown).</li>
<li>Show profile information with right pane expanded by default.</li>
<li>Don't lock measurement mode for colorimeter corrections, instead set colorimeter correction to none if an incompatible measurement mode is selected.</li>
<li>Allow black point compensation if “low quality B2A tables” is enabled.</li>
<li>Windows: Limit profile name length so that the length of the path of the temporary directory plus the length of the profile name does not exceed 254 characters (which is the maximum useable length for ArgyllCMS tools where an extension with a length of four characters is added automatically).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>When using the ColorHug in “Factory” or “Raw” measurement mode in DisplayCAL (r1378 or later) with a colorimeter correction that was created with ArgyllCMS 1.5 or later, the measurement mode was being locked to the wrong mode (a colorimeter correction created in “Factory” mode would lock to “Raw” and vice versa).</li>
<li>Transpareny rendering in the HTML-embedded X3D viewer: Transparency is now gamma-corrected.</li>
<li>Tone response curves plot: Removed the very slight interpolation offset error at zero input (around +0.5 RGB on a 0-255 scale for a synthetic 16-bit tone response curve following a gamma of 2.2 with no black offset) for tone response curves that have zero output at non-zero input.</li>
<li>Trying to open files with unicode characters in their filename or path in the standalone testchart editor, curve viewer, profile information, or VRML to X3D converter application from the commandline, via the desktop's “open with” functionality, or by assigning a supported filetype to be opened with the respective application failed (dragging and dropping the file onto the respective application window worked fine).</li>
<li>Correctly reflect in the GUI if black point compensation can be applied. Black point compensation is available for curves + matrix profiles and XYZLUT profiles with either “low quality B2A tables” or “smooth B2A tables” enabled.</li>
<li>Linux: Fixed a problem with unicode when querying colord for the current display profile (regression of r1832).</li>
<li>Windows: Report could not be saved after finishing display uniformity measurements due to the file dialog not receiving mouse clicks or keyboard input.</li>
<li>Windows: Work-around python issues with long pathnames (>= 260 characters).</li>
</ul>
</dd>
<dt id="changelog-2.0">2014-04-23 00:43 (UTC) 2.0</dt>
<dd>
<h3>2.0</h3>
<h4>Added in this release:</h4>
<ul>
<li>
<p><strong>New profiling option “smooth B2A tables” for XYZ LUT profiles.</strong> This should improve the smoothness of the relative colorimetric gamut mapping. Enabling this option will also generate a simple but effective perceptual mapping (which will be almost identical to the colorimetric mapping, but map the black point) if no other advanced gamut mapping options have been chosen.</p>
<p>See below example images for the result you can expect (note though that the particular synthetic image chosen, a “granger rainbow”, exaggerates banding, real-world material is much less likely to show this).</p>
<div style="overflow: hidden; padding: 1.4em 0;">
<div style="text-align: center;">
<p><a data-lightbox="lightbox-set-1784" href="https://displaycal.net/img/GrangerRainbow.png"><img src="https://displaycal.net/img/GrangerRainbow.thumb.png" alt="Original Granger Rainbow image" style="box-shadow: 0px 1px 3px rgba(0, 0, 0, .75);" /></a></p>
<p>Original “granger rainbow” image</p>
</div>
<div style="float: left; margin: 0 15px 0 22px; width: 200px">
<p><a data-lightbox="lightbox-set-1784" href="https://displaycal.net/img/GrangerRainbow_sRGB_to_widegamut_colorimetric_default.png"><img src="https://displaycal.net/img/GrangerRainbow_sRGB_to_widegamut_colorimetric_default.thumb.png" alt="Granger Rainbow - default colorimetric rendering" style="box-shadow: 0 1px 3px rgba(0, 0, 0, .75);" /></a></p>
<p>Default colorimetric rendering <span style="white-space: nowrap">(2500 OFPS XYZ LUT profile)</span></p>
</div>
<div style="float: left; margin: 0 15px; width: 200px">
<p><a data-lightbox="lightbox-set-1784" href="https://displaycal.net/img/GrangerRainbow_sRGB_to_widegamut_smooth_colorimetric.png"><img src="https://displaycal.net/img/GrangerRainbow_sRGB_to_widegamut_smooth_colorimetric.thumb.png" alt="Granger Rainbow - “smooth” colorimetric rendering" style="box-shadow: 0 1px 3px rgba(0, 0, 0, .75);" /></a></p>
<p>“Smooth” colorimetric rendering <span style="white-space: nowrap">(2500 OFPS XYZ LUT profile</span>, inverted A2B)</p>
</div>
<div style="float: left; margin: 0 15px; width: 200px">
<p><a data-lightbox="lightbox-set-1784" href="https://displaycal.net/img/GrangerRainbow_sRGB_to_widegamut_smooth_perceptual.png"><img src="https://displaycal.net/img/GrangerRainbow_sRGB_to_widegamut_smooth_perceptual.thumb.png" alt="Granger Rainbow - “smooth” perceptual rendering" style="box-shadow: 0 1px 3px rgba(0, 0, 0, .75);" /></a></p>
<p>“Smooth” perceptual rendering <span style="white-space: nowrap">(2500 OFPS XYZ LUT profile</span>, inverted A2B)</p>
</div>
</div>
<p>For the test, the image has been converted from sRGB to the display profile. Note that the sRGB blue in the image is actually out of gamut for the specific display used, which made the test particularly challenging (the edges visible in the blue gradient for the rendering are a result of the color being out of gamut, and the gamut mapping thus hitting the less smooth gamut boundaries).</p>
<p><em>Technical discussion:</em> “smooth B2A tables” works by inverting the already present A2B colorimetric table, making use of ArgyllCMS to do clipping in CAM Jab for saturated colors. A new cLUT, cLUT matrix and cLUT device channel curves are then generated. The matrix and device channel curves scale and transform the input values to distribute them across the cLUT grid points, trying to make good use of the limited number of points. Additional smoothing is then applied to the cLUT (this can be disabled by editing DisplayCAL.ini and adding a line <code>profile.b2a.smooth.extra = 0</code>). Diagnostic PNG images are created for each of the B2A cLUT tables (pre/post/post smoothing). This approach is relatively straightforward, but seems very effective in creating a smooth yet accurate mapping. There is a drawback though, if the native device gamut boundary is bumpy, the error at the gamut boundary and thus the max error can go up. In most cases, I feel this will be acceptable, and the smoothness and often also increased in-gamut accuracy should make up for the potential higher max error. If you're interested, you can check the error of the B2A table vs the A2B table by running (in a terminal) <code>invprofcheck -k -h -w -e</code> on the profile, and compare it to the error of a profile where “smooth B2A tables” was not used. Comments and feedback welcome as always.</p>
</li>
<li>Synthetic ICC profiles can be created with DICOM or BT.1886 tone response curve, with or without black offset, and can either be RGB (curves + matrix) or gray (curves only).</li>
<li>Expanded the color space choices for profile gamut views with L*u*v* and DIN99 family colorspaces.</li>
<li>Expanded the color space choices for diagnostic 3D views of testcharts with HSI, HSL, DIN99 family, LCH(ab), LCH(uv), L*u*v*, Lu'v' and xyY colorspaces. To differentiate the LCH(ab) and LCH(uv) views from L*a*b* and L*u*v* respectively, a layout where the hue angle increases along the horizontal and chroma along the vertical axis is used.</li>
<li><strong>3D views of profile gamuts and testcharts</strong> can be created as VRML, X3D, or X3D in HTML with embedded viewer for WebGL-enabled browsers.</li>
<li><strong>VRML to X3D standalone converter.</strong> Output options are X3D (XML) and X3D in HTML. The HTML files generated by default use the <a href="http://www.x3dom.org/">X3DOM</a> runtime to implement a viewer, which requires a WebGL-enabled browser. The converter can be run from a terminal without GUI. Run it with the <code>--help</code> argument to view the list of options.</li>
<li>Rendering intent and direction selector for curve viewer tone response curve plot. Also changed layout of controls slightly.</li>
<li>LUT checkbox to profile info gamut view (if the profile is a LUT profile and contains both LUT and matrix tags). This allows inspecting the gamut characterized by the LUT versus the one defined by the matrix.</li>
<li>Show estimated remaining time in the progress dialog if applicable. Note that it is not always particularly accurate, and for operations consisting of multiple steps (e.g. calibration & profiling), the shown estimate is for the current (sub-)step only.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Slightly adjusted presets:
<ul>
<li>Changed “madVR” and “Video” presets to use Rec. 1886 as calibration target.</li>
<li>Changed “Prepress” and “Softproof” presets to use full black point hue correction during calibration.</li>
<li>Disabled interactive display adjustment for “Laptop” preset.</li>
<li>Set profile type for those presets that defaulted to curves + matrix to single curve + matrix.</li>
</ul>
</li>
<li>Changed profile black point compensation option to map the black point to zero more reliably. This means black point compensation can no longer be used for L*a*b* LUT profiles, and will only be applied to the LUT part of XYZ LUT profiles if the new “smooth B2A tables” profiling option is used.</li>
<li>Changed 3D LUT and measurement report settings to automatically enable/disable Rec. 1886 gamma mapping if the source profile has/doesn't have a known “camera” transfer function (e.g. SMPTE 240M or Rec. 709).</li>
<li>Unlocked calibration Rec. 1886 gamma controls to bring them in line with the 3D LUT and measurement report offerings.</li>
<li>Set BT.1886 gamma mapping defaults to gamma 2.4 absolute to match the recommendation.</li>
<li>Show error message in case of ambient measurement failing due to instrument communications failure.</li>
<li>Curve viewer: Enable dragging and zooming.</li>
<li>Profile information comparison profile selection, measurement report simulation profile selection: The list of automatically recognized profiles (if they are installed) has been extended to the full range of <a href="http://www.eci.org/">ECI</a> offset, gravure and newsprint profiles as well as their basICColor equivalents (available on <a href="http://www.colormanagement.org">colormanagement.org</a>) and an increased range of RGB working space profiles. Other profiles can be added by dragging-and-dropping them on the profile list.</li>
<li>Never center the display adjustment and untethered measurement windows on the screen, or show them at their parent window coordinates if no previous coordinates were stored in the configuration (always use default coordinates of topleft screen corner in that case).</li>
<li>In the case of essential resource files missing (e.g. broken installation or deleted application files), show a more informative error message.</li>
<li>Diagnostic 3D views of testcharts are no longer created automatically. You have to click the “3D” button.</li>
<li>Slightly increased the logging verbosity.</li>
<li>Linux: No longer use GObject Introspection to interface with colord. It could in rare cases cause hard to diagnose problems with wxPython. Rely on colord support in ArgyllCMS 1.6 and newer instead (with a fallback to colormgr for profile queries or if libcolordcompat.so is not available for profile installation).</li>
<li>Linux: Deal with distribution-specific differences for the location of ArgyllCMS reference files (currently supported are <code>XDG_DATA_DIRS</code>/argyllcms/ref, <code>XDG_DATA_DIRS</code>/color/argyll and <code>XDG_DATA_DIRS</code>/color/argyll/ref).</li>
<li>Linux: Use udev hwdb instead of pnp.ids for looking up PNP ID to manufacturer name if available.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Unhandled exception when trying to start measurements on a display that was added/enabled while DisplayCAL was already running.</li>
<li>In case of untethered measurements, correctly detect and react to recurring need for intermittent instrument calibration.</li>
<li>Re-enabled the ability to generate some 3D LUT formats from existing DeviceLink profiles.</li>
<li>Don't allow leading dashes in profile filename which might trick the ArgyllCMS tools into mistaking parts of it as an option parameter.</li>
<li>Refresh display measurement mode was not correctly restored from saved settings.</li>
<li>Moving the measurement window between displays resulted in an error and did not update the display configuration (regression of r1737).</li>
<li>Linux: Make curve viewer and profile information compatible with wxPython 3.0.</li>
<li>Linux: When the trash directory was not already present, files couldn't be moved to the trash.</li>
<li>Linux: System-wide profile installation should now also work if sudo is configured to require a TTY.</li>
<li>Linux/colord interface: Leave out manufacturer name part of device ID if the PNP ID wasn't found in the database.</li>
<li>Linux/colord interface: Deal with potential differences in device ID depending on installed colord version and desktop environment.</li>
<li>Linux, Mac OS X: In rare cases, a worker thread could reach an infinitely blocked state.</li>
<li>Mac OS X: Standalone tools (broken due to internal symlinks pointing to wrong locations).</li>
<li>Mac OS X: Create user profile directory if it does not exist when trying to install a profile (fixes inability to install a profile if the user profile directory does not exist).</li>
<li><strong>Mac OS X 10.6 and newer: Calibration loading/clearing is now disabled</strong> due to undesirable side-effects (loading calibration from the current display profile could make it necessary to manually restore the display profile by opening system preferences → display → color and loading or clearing a calibration could have side-effects on calibration and profiling measurements).</li>
</ul>
</dd>
<dt id="changelog-1.7.5.7">2014-02-09 22:55 (UTC) 1.7.5.7</dt>
<dd>
<h3>1.7.5.7</h3>
<h4>Added in this release:</h4>
<ul>
<li>Unique icons for all standalone tools.</li>
<li>Profile information can plot and display colors from named color profiles (including ICC v4). Thanks to Alexander Bohn for adding the original named color support in the ICC profile module.</li>
<li>Testchart editor, “Add reference patches”: Named color profiles can be used as reference.</li>
<li>Linux: Desktop entries for standalone tools.</li>
<li>Mac OS X: Application bundles for standalone tools (Note: They won't work without the main application being present in the same folder, as the resources are shared and contained in the main application bundle).</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Error handling: Omit traceback from error messages for filesystem and operating system related errors (like disk full or no read permissions on a file) as such errors are not code-related.</li>
<li>Updated french translation (thanks to Loïc Guegant).</li>
<li>If a profile is corrupted, show the curves window regardless if enabled. Show the profile error message only when the corrupted profile is first accessed, not each time the curves window is shown/hidden.</li>
<li>Testchart editor, “Add reference patches” (dealing with image colorspaces): Support Lab TIFF images. Fail on colorspace mismatches.</li>
<li>Removed DCI_P3.icm profile (prefer SMPTE431_P3.icm which is part of recent ArgyllCMS releases).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Disable double-click centering and scaling for curve views (this was never supposed to be possible in the first place).</li>
<li>Testchart editor, “Add reference patches” (chromatic adaptation): When no device white is available, make sure alternate whitepoint definitions (APPROX_WHITE_POINT, LUMINANCE_XYZ_CDM2 fields) are actually used if present.</li>
<li>Always automatically add a file type extension to the filename in the curve/gamut saving dialog (fixes “unsupported filetype” error when trying to save under Mac OS X without manually adding the extension to the filename).</li>
<li>Calibration preview for calibration & profile from “<current>” setting no longer switches between .cal and .icm file created in that same run.</li>
</ul>
</dd>
<dt id="changelog-1.7.1.6">2014-01-19 10:02 (UTC) 1.7.1.6</dt>
<dd>
<h3>1.7.1.6</h3>
<h4>Added in this release:</h4>
<ul>
<li>A new option to not use the video card gamma table to apply calibration (default like in 1.5.2.5/1.5.3.1: On for madVR, off for everything else).</li>
<li>Correlated color temperature, gamma, RGB gray balance and gamut graphs to measurement report.</li>
<li>Re-added the default testchart for gamma + matrix profiles.</li>
<li>Testchart editor: Dark region emphasis controls (ArgyllCMS 1.6.2).</li>
<li>Testchart editor: Black patches amount control (ArgyllCMS 1.6).</li>
<li>Testchart editor: Ability to add saturation sweeps and reference patches (from CGATS or images) to a testchart if using a preconditioning profile and adaptation = 100%.</li>
<li>Standalone curve viewer. This allows to view the curves of the currently assigned display profile or the actual video card gamma table without launching DisplayCAL.</li>
<li>Curve viewer can reload, apply black point compensation to, load into the videocard, and export calibration files.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Untethered measurements window: Enable keyboard navigation in the grid view (up/down/pageup/pagedown/home/end keys).</li>
<li>Measurements are now pauseable.</li>
<li>Cancelling a potentially long-running operation like measurements or profile generation now needs to be confirmed.</li>
<li>Improved robustness of ambient measurement code.</li>
<li>Show an error message when communication with the instrument fails (instead of just logging the error).</li>
<li>Show an error message when trying to measure ambient light and ambient measurements are unsupported (instead of just logging the error).</li>
<li>Regenerated testcharts preconditioned by gamma-based profiles with slight dark region emphasis.</li>
<li>Updated french translation (thanks to Loïc Guégant).</li>
<li>“Allow skipping of spectrometer calibration” will now <em>always</em> try to skip spectrometer calibration if enabled, not just when doing a calibration and subsequent profile in one go (“Calibrate & profile”). This means a calibration timeout will then be in effect (which is 60 minutes for the ColorMunki Design/Photo, i1 Pro and i1 Pro 2), and a recalibration will only be needed if this timeout has been exceeded before the start of an operation.</li>
<li>Testchart VRML export: Only use Bradford chromatic adaptation if ACCURATE_EXPECTED_VALUES in the <code>.ti1</code> file is true (i.e. a preconditioning profile was used), otherwise XYZ scaling (to visually match VRML files generated by ArgyllCMS).</li>
<li>Renamed “Verify profile” to “Measurement report”. Added options for BT.1886 gamma mapping, whitepoint simulation, (limited) support for device link profiles, and madVR color management (3D LUTs). Overhauled report HTML layout and style.</li>
<li>Use nicer filenames and titles for HTML reports and uniformity check (e.g. include the display name for which the report was generated).</li>
<li>Improved dealing with profile linking errors during 3D LUT generation (show error dialog instead of just logging the error).</li>
<li>Always use a cLUT resolution of 65 and don't preserve device curves for 3D LUT generation, regardless of the selected 3D LUT format or size (this should make results consistent between eeColor/madVR, which were always generated like that, and the other formats).</li>
<li>Allow the use of PC levels for madVR 3D LUT output encoding.</li>
<li>Synchronize input and output encoding for eeColor 3D LUT format.</li>
<li>Disable xvYCC output encoding (not supported) and consequently disable it also as input encoding for eeColor because it needs the same input/output encoding.</li>
<li>Allow loading of calibration files that do not contain settings.</li>
<li>Testchart editor: Combined patch ordering controls.</li>
<li>Testchart editor: Vastly enhanced performance of row delete operations on very large testcharts (several thousand patches). Also slightly improved speed of testchart loading.</li>
<li>Measurement report charts: Each larger chart contains all the patches from the previous smaller chart. Re-generated video charts preconditioned to Rec. 709 and with slight dark region emphasis.</li>
<li>Windows 7 and up: Prefer DisplayCAL profile loader over calibration loading facility of the OS (the latter introduces quantization artifacts and applies wrong scaling, the former uses ArgyllCMS and thus doesn't have these problems).</li>
<li>Windows: Do not regard unability to determine startup folders as fatal error (this means an autostart entry to load calibration on login can not be created automatically in that case though, so unless Windows 7 or newer is used which has the ability to load calibration without external utilities, calibration needs to be loaded manually).</li>
<li>Windows/madVR: Always reset the video card gamma table to linear when using a calibration file and not using the video card gamma table to apply the calibration (this should prevent the potential problem of double calibration being applied if loading a calibration on a display, then switching over to madVR on the same display and using a calibration file while not using the video card gamma table to apply the calibration).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>A possible unicode decode error when the computer name contains non-ASCII characters, introduced in 1.5.2.5.</li>
<li>In some instances the handling of profile name placeholders was quirky (problematic character sequences were those consisting of the same characters, case insensitive, as calibration speed or profile quality shortcodes, i.e. F<em>x</em>F, M<em>x</em>M, S<em>x</em>S, VF<em>x</em>VF and VS<em>x</em>VS, with <em>x</em> being any non alphanumeric character).</li>
<li>When loading a settings file, only switch to the associated display device if it can be unambiguously determined (fixes multi-screen setups with identical screens always switching to the first one, a bug introduced in 1.5.2.5).</li>
<li>Ignore messages from the logging module (fixes a bogus error message being displayed under Windows when closing DisplayCAL, introduced in 1.5.2.5).</li>
<li>Handling of separate video card gamma table access controls was a bit quirky since the addition of virtual display devices.</li>
<li>If the 3D LUT target profile was overwritten by the generated device link profile (which could happen if choosing the same path and file name for the 3D LUT/device link profile as the target profile), it prevented changing the source profile.</li>
<li>Instrument (spectrometer) calibration can be required multiple times during a calibration run, depending on its duration. This was not handled correctly by the GUI.</li>
<li>3D LUT generation with TV RGB 16-235 encoding could lead to wrongly encoded 3D LUTs if not using the eeColor or madVR format.</li>
<li>3D LUT generation with YCbCr encodings failed with an error if not using the eeColor or madVR format.</li>
<li>Standalone utilities (3D LUT maker, curve viewer, profile information, and testchart editor) now function properly even if DisplayCAL itself was never launched before (previously the ArgyllCMS version was read from the configuration, so if it was never configured before it could happen that not all available options where shown or it was never asked to select an ArgyllCMS executable directory in case the ArgyllCMS executables were not found).</li>
<li>Don't block other windows when an operation fails while a progress dialog with a modal dialog on top is shown.</li>
</ul>
</dd>
<dt id="changelog-1.5.3.1">2013-10-23 20:09 (UTC) 1.5.3.1</dt>
<dd>
<h3>1.5.3.1</h3>
<h4>Added in this release:</h4>
<ul>
<li>New feature: When creating a profile from existing measurement data, averaging of measurements can be performed by selecting multiple files.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Fixed possible unicode error in logging module.</li>
<li>Fixed a bug with optimizing a testchart for untethered measurements halving the amount of different device combinations by repeating patches if the total patch count was even.</li>
<li>Mac OS X 10.6: Fixed weird behavior due to a bug in OS X 10.6's version of <code>sudo</code>.</li>
</ul>
</dd>
<dt id="changelog-1.5.2.5">2013-10-22 14:32 (UTC) 1.5.2.5</dt>
<dd>
<h3>1.5.2.5</h3>
<h4>Added in this release:</h4>
<ul>
<li><strong>Full ArgyllCMS 1.6.0 support</strong> (e.g. JETI specbos 1211/1201, madVR calibration and 3D LUT generation, body centered cubic grid option for creating testcharts).</li>
<li>Testchart editor: Charts can be exported as PNG or TIFF files.</li>
<li>Testchart editor: Gamma and neutral axis emphasis controls.</li>
<li>Testchart editor: “Use current profile as preconditioning profile” button.</li>
<li>Testchart editor: Save VRML diagnostic files for testcharts without the need to re-generate the chart.</li>
<li>Testchart editor: Sort patches by L*, RGB, sum of RGB or sort RGB gray and white to top.</li>
<li><a href="#untethered">Untethered display measurement and profiling</a>. Be sure to read the note on optimizing testcharts for untethered measurements in automatic mode.</li>
<li>Shortcut for the BT.1886 tone curve (previously available by setting gamma to 2.4, absolute, and black output offset to zero).</li>
<li>3D LUT: Enable additional intents.</li>
<li>3D LUT: Support eeColor and <a href="http://pogle.pandora-int.com/download/manual/lut3d_format.html" title="Pandora 3D LUT format specification">Pandora</a> LUT formats.</li>
<li>3D LUT: Support ArgyllCMS 1.6 video encodings and BT.1886 gamma mapping.</li>
<li><a href="#install-windows-driver">Windows 8 ArgyllCMS driver installation instructions</a> to the ReadMe.</li>
<li><a href="#issue-win-process-startfail">Instructions how to proceed when a process cannot be started</a> to the ReadMe.</li>
<li>Softproof preset (based on FOGRA recommendation).</li>
<li>madVR preset.</li>
<li>sRGB preset.</li>
<li>Allow specifying extra arguments for Argyll's <code>targen</code> command.</li>
<li>Computer name, EDID serial and EDID CRC32 placeholders for use in the profile name.</li>
<li>Synthetic profile creation facility (e.g. for use as source in 3D LUT generation).</li>
<li>ACES RGB and DCI P3 colorspace definitions and reference profiles.</li>
<li><strong>Dry run.</strong> If enabled in the options menu, all functionality that calls ArgyllCMS executables will effectively do nothing. This allows review of the used command line parameters by checking the log.</li>
<li>Additional session logs are saved for most operations involving the Argyll tools (i.e. directly in the folder where created files are saved to).</li>
<li>Show profile self check ΔE*76 info in profile installation dialog.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li><strong>Testchart and preset improvements:</strong>
<ul>
<li>All testcharts for LUT profiles have been complemented with additional single channel patches. This should in most cases improve average and maximum delta E of generated profiles, in some cases significantly. In fact, testing has shown that the new “small testchart for LUT profiles” with 154 patches total yields better results than the previous “extended testchart for LUT profiles” with 238 patches.</li>
<li>The charts for curves + matrix profiles have been improved by adding a few additional body centered cubic grid patches - all the charts which are not tuned for a certain display type are body centered cubic grid based (this was also the case previously for the LUT testcharts, but not for the matrix charts).</li>
<li>The patch order in the LUT charts has been optimized to improve measurement speed.</li>
<li>The chart for gamma + matrix profiles has been removed in favor of the updated default chart for matrix profiles.</li>
<li>New additional charts for LUT profiles have been added in various sizes.</li>
<li>For each of the new charts for LUT profiles, starting from the “very large” size, optimized farthest-point-sampled versions have been added which are pre-conditioned for several common display types: sRGB tone response with Rec. 709 primaries and D65 whitepoint (consumer-grade displays), gamma 2.2 with Rec. 709 primaries and D65 whitepoint (consumer-grade displays, TVs), gamma 2.2 with AdobeRGB primaries and D65 whitepoint (entry-level and high-end graphics displays), L* tone response with NTSC primaries and D50 whitepoint (high-end graphics displays).</li>
<li>The naming and patch count of the testcharts for LUT profiles has changed. The mapping that most closely resembles the old testcharts is as follows (total number of patches in parentheses):
<ul>
<li>Old “Default testchart for LUT profiles” (124) → new “Small testchart for LUT profiles” (154)</li>
<li>Old “Extended testchart for LUT profiles” (238) → new “Default testchart for LUT profiles” (270)</li>
<li>Old “Large testchart for LUT profiles” (396) → new “Extended testchart for LUT profiles” (442)</li>
<li>Old “Very large testchart for LUT profiles” (912) → new “Very large testchart for LUT profiles” (994)</li>
<li>Old “Massive testchart for LUT profiles” (2386) → new “Massive testchart for LUT profiles” (2527)</li>
</ul>
</li>
</ul>
Use of the new charts is highly recommended. All presets have been updated to use the new chart types. The “prepress" preset has also been updated to generate a XYZ LUT profile by default.</li>
<li>Detect if the instrument can use CCMX or CCSS colorimeter corrections based on the measurement mode. Disable colorimeter corrections for non-base display types.</li>
<li>Correctly map measurement mode to DISPLAY_TYPE_BASE_ID for all supported instruments when creating CCMX.</li>
<li>If a colorimeter correction with DISPLAY_TYPE_BASE_ID or DISPLAY_TYPE_REFRESH is selected, automatically set the correct measurement mode.</li>
<li>If measuring the colorimeter correction testchart, automatically ensure a suitable measurement mode for colorimeters (if they support more than refresh and non-refresh measurement modes).</li>
<li>Do not use spline interpolation for curve plots.</li>
<li>Updated french translation, thanks to Loïc Guégant.</li>
<li>Renamed calibration quality to calibration speed.</li>
<li>Set calibration speed for all presets to medium.</li>
<li>Standalone testchart editor: Parse first non-option argument as file to be opened.</li>
<li>Testchart editor: Always generate good optimized points rather than fast.</li>
<li>Testchart editor: Use existing file path when saving testchart.</li>
<li>Testchart editor: Greatly improved the speed of paste operations when comparatively large data sets are used.</li>
<li>Disallow -d and -D as extra arguments for Argyll's <code>targen</code> as the testchart editor only supports video RGB.</li>
<li>Reset adaptive measurement mode when restoring defaults.</li>
<li>Close all profile information windows when hiding the main window instead of just hiding them (don't reopen them when the main window is shown again).</li>
<li>Curve viewer: Use float formatting for input RGB display.</li>
<li>Only skip legacy serial ports if no instrument detected.</li>
<li>Also specify Argyll <code>dispcal</code>/<code>dispread</code> -y parameter for spectrometers.</li>
<li>Use Rec. 709 whitepoint chromaticity coordinates for “Video” preset.</li>
<li>Changed profile installation error message for virtual display devices.</li>
<li>Make it clearer which calibration is used when doing a “Profile only”: When a calibration file is going to be used, change the message from the warning “The current calibration curves will be used” to the informational “The calibration file <code><x></code> will be used” with the usual options to embed/not embed/reset video card gamma table.</li>
<li>Allow the use of calibration curves when profiling a web display.</li>
<li>When creating a colorimeter correction from profile(s), get the instrument name from the embedded TI3 if the data source is not EDID.</li>
<li>Do not specify (superfluous and thus ignored) patch window positioning arguments for <code>dispcal</code>/<code>dispread</code> when using a virtual display.</li>
<li>3D LUT: Removed black point compensation option (no longer easily possible because it now uses Argyll's <code>collink</code> internally. You can still have the effect of BPC by creating a display profile with BPC enabled and using it as destination profile during 3D LUT creation).</li>
<li>Always copy/move temporary files to the save location if not a dry run, also in case of an error. If copy/move fails, keep them in the temporary directory and inform the user.</li>
<li>Disable black point compensation for the “Prepress” preset (there are three presets without bpc - “madVR”, “Prepress” and “Softproof”) and use L* as calibration tone curve.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Show black point correction choice also when switching from refresh to any other measurement mode instead of only when switching from refresh to LCD measurement mode or vice versa.</li>
<li>Corrected averaged RGB transfer function display.</li>
<li>Adaptive measurement mode could not be disabled (regression of r1152 where adaptive measurement mode was made default in DisplayCAL).</li>
<li>Work-around a very rare problem where a (bogus) display size of 0x0 mm is returned.</li>
<li>Check if the configured colorimeter correction exists before adding it to the list.</li>
<li>Update colorimeter correction and testchart lists after deleting settings files.</li>
<li>Don't carry over colprof arguments from testchart file (fixes occasional wrong display model and manufacturer in profiles).</li>
<li>Average, RMS and maximum delta E metadata was not added to profiles if equal to or greater than 10.</li>
<li>Unhandled exception when 3D LUT window was opened and there was no profile selected under settings and also no display profile set.</li>
<li>Unhandled exception if colorimeter correction does not exist.</li>
<li>Standalone curve viewer: Fix loading of .cal file via commandline argument.</li>
<li>Don't strip trailing zeros when displaying average gamma in the status bar of the profile information or curve window.</li>
<li>Only set adaptive and hires measurement mode when the instrument supports it (fixes measurement mode switching to non-adaptive if toggling betweeen a colorimeter and a spectrometer).</li>
<li>Mac OS X with ArgyllCMS 1.5 and newer: Also search library folders for ArgyllCMS support files (fixes imported colorimeter corrections not found).</li>
<li>Only fall back to private copy of pnp.ids under Mac OS X and Windows.</li>
<li>Updated link to Datacolor website download section for the Spyder 2 Windows installers.</li>
<li>Transposed bits for EDID red y chromaticity coordinate.</li>
<li>Curve viewer / profile info window: Reset tone response curve calculation when toggling LUT checkbox.</li>
<li>Correctly react to detected display changes when the actual physical displays didn't change (e.g. when switching Argyll between versions supporting and not supporting the virtual “Web” display).</li>
<li>Keypresses or cancel were not recognized during patch reading.</li>
<li>Display uniformity measurements: Q or ESC had to be pressed twice to exit.</li>
<li>Do not use “install profile” message for non-display profiles.</li>
<li>3D LUT: “apply vcgt” checkbox stayed disabled after switching from a devicelink source profile to a non-devicelink source profile.</li>
<li>Update all open windows when switching Argyll versions</li>
<li>Do not reset selected colorimeter correction to none when selecting a preset or a settings file.</li>
<li>Measurement window position was not correct when switching from web display.</li>
<li>Show an error message when choosing a directory as profile save path where no subdirectories can be created.</li>
<li>Python 2.7 compatibility: Mask u16Fixed16Number (fixes profile information not working for profiles with negative XYZ or chromaticity values when using Python 2.7).</li>
<li>wxPython 2.9 compatibility: Do not specify number of rows in dynamically growing FlexGridSizer.</li>
<li>Linux: Use colord's quirk_vendor_name to fix the manufacturer string.</li>
<li>Mac OS X 10.6 and up: Clearing and loading calibration needs root privileges in some circumstances.</li>
<li>Windows: Correctly escape quotes in arguments (fixes hang when profile name, program path or Argyll path contains a single quote).</li>
<li>Windows: Show a meaningful error message when a subprocess can't be started instead of hanging indefinitely.</li>
<li>Windows: Ignore WMI errors.</li>
<li>Windows: Selecting testcharts saved in the root of a drive under Windows.</li>
<li>Windows: Disable broken Windows 2000 support (was broken since 0.8.5.6 when the interactive display adjustment GUI was introduced and is not fixable as Windows 2000 does not implement the required AttachConsole functionality).</li>
<li>Windows/Mac OS X: If Argyll profile installation failed, a success message was still shown.</li>
</ul>
</dd>
<dt id="changelog-1.2.7.0">2013-03-03 19:42 (UTC) 1.2.7.0</dt>
<dd>
<h3>1.2.7.0</h3>
<h4>Fixed in this release:</h4>
<ul>
<li>Colorimeter correction creation not working when using ArgyllCMS 1.5.0 because of missing newly required fields in CGATS data.</li>
<li>Mac OS X: Accidentally swapped “/Users/<Username>/Library/Application Support” and “/Library/Application Support”.</li>
</ul>
</dd>
<dt id="changelog-1.2.6.6">2013-03-01 09:39 (UTC) 1.2.6.6</dt>
<dd>
<h3>1.2.6.6</h3>
<h4>Added in this release:</h4>
<ul>
<li>ArgyllCMS 1.5.0 compatibility.</li>
<li>Ability to do remote measurements using ArgyllCMS 1.4.0 and newer (Firefox is recommended as client). See <a href="#remote">remote measurements and profiling</a>.</li>
<li>Include black level and contrast in profile verification reports (if possible, i.e. if the test chart contains a RGB=0 patch).</li>
<li>3D LUT: Support color space conversion ('spac') profiles.</li>
<li>DCI P3 reference profile.</li>
<li>Add “Quality” (if applicable) and “License” metadata to profiles.</li>
<li>Add colord device ID mapping to profile metadata.</li>
<li>Linux: Add screen brightness to profile metadata if profiling a mobile computer's screen (using the org.gnome.SettingsDaemon.Power DBus interface).</li>
<li>Additional logging.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Revised display uniformity test to generate HTML reports.</li>
<li>Use a delay of 200 ms for display uniformity measurements.</li>
<li>Detect “Calibrate failed with 'User hit Abort Key' (No device error)” ArgyllCMS error message and ignore further errors to prevent popping up multiple error dialogs.</li>
<li>Reload currently selected calibration after verifying a profile.</li>
<li>Add metadata to fast shaper matrix profiles (e.g. gamut volume and coverage).</li>
<li>When deleting a settings file, also offer CCSS, CCMX and files starting with the settings file basename in the same directory for deletion.</li>
<li>Enable use of absolute values in profile verification reports regardless of testchart.</li>
<li>When loading a profile without calibration settings, look for an accompanying colorimeter correction in the same directory.</li>
<li>When only creating a profile and not calibrating, give a clear choice whether to embed current calibration curves in a profile or not.</li>
<li>When using black point compensation, keep the black point compensated TI3 measurement file in addition to the unaltered file.</li>
<li>When restoring default settings, don't reset the 3D LUT abstract profile as well as 3D LUT and profile info window positions.</li>
<li>Truncate the colorimeter correction description displayed in the dropdown if it's overly long.</li>
<li>Only load linear calibration curves into the curve viewer when resetting the video card gamma table.</li>
<li>Do not remove spaces from the instrument name when assembling the profile name.</li>
<li>Only compress JavaScript in HTML reports if the <code>report.pack_js</code> configuration option is set (default 1 = compress).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Improved instrument event handling.</li>
<li>When measuring the screen using a spectrometer, make sure to repeat the instrument calibration until it is successfully completed or canceled (ColorMunki Design/Photo).</li>
<li>When measuring ambient light with a spectrometer, abort after a 30 second timeout if instrument calibration did not complete.</li>
<li>Correctly react if the instrument sensor is in the wrong position and prompt the user to set the correct position.</li>
<li>Mouse cursor and clicked “Measure” button stayed hidden when aborting a measurement in the display device uniformity test window.</li>
<li>Updating the calibration (vcgt) of a profile didn't work if first selecting a <code>.cal</code> file, ticking the “Update calibration” checkbox and then switching to the profile.</li>
<li>Disable all calibration controls (except the quality slider) when “Update calibration” is ticked.</li>
<li>Only enable “Update calibration” checkbox if calibration can actually be updated.</li>
<li>Disable the “Create colorimeter correction...” and “Create 3D LUT...” menu items as well as the “LUT” checkbox in the curves and profile information windows if ArgyllCMS executables are not found.</li>
<li>Update measurement modes when switching Argyll versions.</li>
<li>wxPython 2.9 compatibility.</li>
<li>Set manufacturer, model, creator and ID in reference profiles (except ClayRGB and sRGB from Argyll).</li>
<li>Only switch over to progress dialog after a three second delay (fixes erroneously switching over to progress dialog under Windows when running calibration or display uniformity measurements directly after a canceled testchart measurement).</li>
<li>If using a DTP92, only offer refresh measurement mode.</li>
<li>Make sure updated profiles also have updated descriptions.</li>
<li>Also overwrite .gam.gz and .wrz files if overwriting an existing profile.</li>
<li>Mac OS X: Make sure the menus are re-enabled after calibrate & profile.</li>
</ul>
</dd>
<dt id="changelog-1.1.8.3">2013-01-07 19:41 (UTC) 1.1.8.3</dt>
<dd>
<h3>1.1.8.3</h3>
<h4>Changed in this release:</h4>
<ul>
<li>Show display device uniformity measurement window on selected display device if multiple display devices are connected.</li>
<li>Hide mouse cursor and clicked button while measuring display device uniformity.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Sporadic measurement hang when measuring display device uniformity.</li>
<li>Wrong window being shown when calibrating after display device uniformity measurements or vice versa.</li>
</ul>
</dd>
<dt id="changelog-1.1.7.0">2013-01-05 13:32 (UTC) 1.1.7.0</dt>
<dd>
<h3>1.1.7.0</h3>
<h4>Added in this release:</h4>
<ul>
<li>Preliminary ArgyllCMS 1.5.0 compatibility.</li>
<li>Added facility to measure and report display device uniformity. <strong>Known issue:</strong> Sometimes measurements hang. Press space to try and continue.</li>
<li>3D LUTs can optionally incorporate abstract (“Look”) profiles.</li>
<li>3D LUTs can be created from Device Link (class “link”) and input (class “scnr”) profiles.</li>
<li>3D LUTs can also be created in SPI3D format.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Updated french translation, thanks to Loïc Guégant.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Fedora: Calibration curves were reset to linear when installing a profile and using the Fedora packaged ArgyllCMS.</li>
<li>Linux, Mac OS X, Windows (Administrator): Colorimeter corrections imported from i1 Profiler and ColorMunki Display software were not listed in the dropdown menu.</li>
</ul>
</dd>
<dt id="changelog-1.1.2.9">2012-11-05 20:32 (UTC) 1.1.2.9</dt>
<dd>
<h3>1.1.2.9</h3>
<h4>Changed in this release:</h4>
<ul>
<li>Simplified Spyder 2 enabling instructions.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Broken Unicode support (unhandled exception) when dealing with colorimeter correction descriptions containing 8-Bit characters.</li>
<li>Check if xicclu is found before attempting to use it for the profile information window (gets rid of bogus “'NoneType' object has no attribute 'encode'” message).</li>
<li>Use a default generic message when prompting to choose a profile.</li>
</ul>
</dd>
<dt id="changelog-1.1.2.1">2012-10-05 19:04 (UTC) 1.1.2.1</dt>
<dd>
<h3>1.1.2.1</h3>
<h4>Changed in this release:</h4>
<ul>
<li>Disable source profile selector in advanced gamut mapping options if not atleast one of perceptual or saturation checkboxes is selected.</li>
<li>Only show a warning if an incompatible colorimeter correction is explicitly selected via the filebrowser.</li>
<li>Show a less cryptic error message if an invalid file is selected when importing colorimeter corrections from other display profiling software.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Whitepoint color temperature is an integer, not a float. This fixes calibration settings being detected as changed when they actually haven't.</li>
<li>Worked around a bug in wxPython where controls in a hidden window react to focus events. This fixes the sporadic hang after calibration measurements during a “Calibrate & profile” run.</li>
<li>Linux, Mac OS X: Unhandled exception when trying to import colorimeter corrections from other display profiling software and selecting a file with '.txt' extension.</li>
</ul>
</dd>
<dt id="changelog-1.1">2012-09-15 15:38 (UTC) 1.1</dt>
<dd>
<h3>1.1</h3>
<h4>Added in this release:</h4>
<ul>
<li>Additional profile name placeholder %ds for the display device serial from EDID if applicable (may be empty or bogus).</li>
<li>Windows: Additional profile name placeholders %dnw (DeviceString) and %dnws (shortened DeviceString, it may be the same as %dnw if shortening isn't possible). The former is equivalent to what's shown in the display device dropdown. The DeviceString is often more verbose as the sometimes very generic EDID device name (placeholder %dn).</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Updated spanish translation (thanks to Roberto Quintero).</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>Show an error message if a colorimeter correction cannot be used with the selected instrument.</li>
<li>Show an error message when trying to import colorimeter corrections from an unsupported filetype.</li>
</ul>
</dd>
<dt id="changelog-1.0.9.0">2012-08-01 10:13 (UTC) 1.0.9.0</dt>
<dd>
<h3>1.0.9.0</h3>
<h4>Changed in this release:</h4>
<ul>
<li>Use the original file basename for colorimeter corrections copied over to the storage directory (previously, if a colorimeter correction was copied, it inherited the same basename as the rest of the measurement/profile/calibration files, thus making it a bit cumbersome to determine which colorimeter correction was originally the source, especially in profile verification reports which only showed the filename and not the description from the file contents).</li>
<li>Show colorimeter correction file basename in addition to the description if they are different.</li>
<li>Linux: Fall back to gcm-import if colord profile installation fails.</li>
</ul>
<h4>Fixed in this release:</h4>
<ul>
<li>When switching to L*/Rec. 709/SMPTE or sRGB and then loading settings with a gamma value, the gamma entry field was not shown.</li>
<li>Report on calibrated/uncalibrated display and calibration verification did not work if using a colorimeter correction (regression of changeset #1020).</li>
<li>Do not freeze if loading a settings file which had an accompanying colorimeter correction that was since deleted.</li>
<li>Windows 2000: Don't fail to launch.</li>
</ul>
</dd>
<dt id="changelog-1.0.7.7">2012-06-28 22:05 (UTC) 1.0.7.7</dt>
<dd>
<h3>1.0.7.7</h3>
<p>This is a bug-fix release for version 1.0.7.6.</p>
<h4>Fixed in this release:</h4>
<ul>
<li>Unhandled exception in gamut view calculation after profile creation if using french localization.</li>
</ul>
</dd>
<dt id="changelog-1.0.7.6">2012-06-23 00:25 (UTC) 1.0.7.6</dt>
<dd>
<h3>1.0.7.6</h3>
<h4>Added in this release:</h4>
<ul>
<li>Option to auto-select a suitable colorimeter correction if available locally.</li>
<li>Ability to choose between L*a*b*, XYZ and xyY in profile verification reports.</li>
</ul>
<h4>Changed in this release:</h4>
<ul>
<li>Reset default black point correction from automatic to off.</li>
<li>If a profile contains no 'vcgt' tag, assume linear calibration.</li>
<li>When creating a colorimeter correction, remember the last selected reference and colorimeter measurement file separately.</li>
<li>When creating a colorimeter correction, automatically only use white, red, green and blue patches (at 100% device value each) from measurement files, regardless if they contain more patches. This allows re-using of measurement files with different patch counts (as long as they contain those four combinations) that have been created as by-product of other operations, e.g. during profiling. Note that measurements still need to be done under identical conditions and within reasonable timeframe (ideally less than a few minutes apart) to minimize effects of display and instrument drift when creating colorimeter corrections from them.</li>
<li>When measuring the colorimeter correction testchart, automatically set the resulting measurement as last selected reference or colorimeter file depending on whether it contains spectral data or not.</li>
<li>When restoring the current calibration after measuring the colorimeter correction testchart, do it silently (don't show a message window).</li>
<li>Filter colorimeter corrections by selected instrument.</li>
<li>Show colorimeter correction description in the dropdown instead of the filename. Show the filename and path on mouse hover.</li>
<li>ColorHug: Only enable colorimeter corrections for “Factory” and “Raw” measurement modes.</li>
<li>ColorHug: Automatically set “Factory” measurement mode when measuring the colorimeter correction testchart and measurement mode is not yet “Factory” or “Raw”. Restore previous measurement mode afterwards.</li>
<li>Linux: Enable ColorHug support by default.</li>
<li>Linux: colord wrapper now uses PyGObject instead of ctypes.</li>