${APPNAME}—Open Source Display Calibration and Characterization powered by ArgyllCMS
Description: ${SUMMARY}

# ${APPNAME_HTML}—Open Source Display Calibration and Characterization powered by ArgyllCMS

## Version history

2016-01-11 10:34 (UTC) 3.0.6.3

  ### 3.0.6.3

  #### Fixed in this release:

  - Traceback after first run on some configurations.
2016-01-04 18:14 (UTC) 3.0.6.2

  ### 3.0.6.2

  #### Fixed in this release:

  - Mac OS X: 'NoneType' error when creating a 3D LUT after profiling or trying to install/save a 3D LUT.
2015-12-24 19:34 (UTC) 3.0.6.1

  ### 3.0.6.1

  #### Fixed in this release:

  - Standalone tools: If ArgyllCMS executables were not found at launch, the dialog asking for their location closed immediately.
  - 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.
  - Mac OS X: Find ArgyllCMS reference files if ArgyllCMS was installed via Homebrew.
  - Mac OS X: Application logfiles for standalone tools weren't written anymore (regression of r3431).
  - Mac OS X: Standalone tools couldn't be run in parallel to each other or the main application.
2015-12-21 21:12 (UTC) 3.0.6

  ### 3.0.6

  #### Added in this release:

  - Support for the Q, Inc./Murideo Prisma video processor (pattern generation, 3D LUT upload).
  - Support for Argyll 1.8.3 (and newer) luminance preserving perceptual intent.
  - CIECAM02 viewing conditions for critical print evaluation environment (ISO-3664 P1) and television/film studio.

  #### Changed in this release:

  - 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).
  - Advanced option: Default CIECAM02 perceptual gamut mapping to (ICC) perceptual.
  - Profile information, 3D gamut visualization: Re-generate existing gamut visualization if involved profile(s) have a newer modification date than the visualization file(s).
  - 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).

  #### Fixed in this release:

  - 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.
  - 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.
  - Re-enumerate 3D LUT input color space profiles when changing to a different ArgyllCMS version.
  - 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).
  - Curve viewer: Hovering a specific channel would display unexpected zero values for the other two channels in the status bar (regression of r3309, ${APPNAME} >= 3.0.3).
  - Mac OS X: Revert r3478 (${APPNAME} >= 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 (#9862). 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).
2015-11-26 21:14 (UTC) 3.0.5

  ### 3.0.5

  #### Changed in this release:

  - 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).
  - Enabled verification without a display profile by using the simulation profile as output with its tone curve unmodified.

  #### Fixed in this release:

  - 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.
  - 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).
  - 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 ${APPNAME} or ArgyllCMS).
2015-09-25 22:16 (UTC) 3.0.4.3

  ### 3.0.4.3

  #### Fixed in this release:

  - Restore 3D LUT source colorspace setting when loading a settings file.
  - Error message popup when selecting xvYCC encoding for eeColor (this input encoding is unsupported for eeColor 3D LUTs).
  - When selecting a settings file that changes the 3D LUT format, make sure the selectable 3D LUT encodings are updated.
  - File parsing errors when reading a measurement file to be used for a measurement report could prevent the main window from reappearing.
  - Profile 3D gamut view, testchart 3D diagnostic: X3D file could not be created if the file name started with a number.
  - 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.
  - Mac OS X: Hang when when changing whitepoint chromaticity coordinates.
2015-09-07 14:31 (UTC) 3.0.4.2

  ### 3.0.4.2

  #### Changed in this release:

  - 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.
  - Give initial display and instrument enumeration at startup a timeout of ten seconds.
  - Removed option to automatically detect new instruments.
  - Linux: Enable verifying display profiles only available via X atom.
  - 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 `~/.cache/icc/id=<profile-id>.icc`).

  #### Fixed in this release:

  - Sporadic failure to create a spectral colorimeter correction when using ArgyllCMS 1.8 and newer.
  - 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).
2015-09-01 12:56 (UTC) 3.0.4.1

  ### 3.0.4.1

  #### Fixed in this release:

  - wxPython Phoenix compatibility: Ensure that timer notifications run in the main GUI thread.
  - Mac OS X: Fix Resolve pattern generator loosing sync immediately if ${APPNAME} is running standalone from a path that contains spaces.
2015-08-10 01:22 (UTC) 3.0.4

  ### 3.0.4

  #### Added in this release:

  - Ability to create 3D LUTs in PNG (Portable Network Graphic) and ReShade format. The latter allows fully color managed Direct3D (8–11.2) and OpenGL applications (e.g. games) under Windows (Vista and higher).
  - Compatibility for updated ArgyllCMS 1.8 Beta display technology mappings when creating colorimeter corrections.
  - “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.
  - Option to enable/disable the 3D LUT tab.

  #### Changed in this release:

  - Speed up calculation of 3D LUTs in 3DL, MGA, and SPI3D format when using a size smaller than 65x65x65.
  - Only prompt to import colorimeter corrections from the vendor software if none is currently selected.
  - 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.
  - The “Install profile” button changes to “Install 3D LUT” when on the 3D LUT tab.

  #### Fixed in this release:

  - “Auto” colorimeter correction setting not selecting an available correction if the display device name contained the manufacturer name.
  - 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.
  - Linux (cosmetic): Background of some bitmap buttons was black when wxGTK is built against GTK3.
  - Linux (cosmetic): Splash screen mask not working correctly with wxPython 3 classic.
  - 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).

  2015-07-09 15:00 (UTC) 3.0.3.1

  ### 3.0.3.1

  #### Fixed in this release:

  - 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).
2015-07-06 22:58 (UTC) 3.0.3

  ### 3.0.3

  #### Added in this release:

  - Curve viewer and profile information: Detect more known tone response curves.
  - 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).
  - Synthetic ICC profile creator:
    - SMPTE 2084 HDR tone response curve option.
    - Re-introduced black point compensation option.

  #### Changed in this release:

  - 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.
  - When saving a 3D LUT for Resolve, try to find the Resolve LUT folder automatically.
  - When saving an existing 3D LUT, pre-fill the filename field in the file dialog with the existing name instead of “Unnamed”.
  - During interactive display adjustment, allow cancelling without confirmation and don't show “Calibration has not been finished” message.
  - Removed most pre-baked testcharts.
  - Improved the help text on the “Profiling” tab.

  #### Fixed in this release:

  - 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.
  - When switching to the “Untethered” display, the “Profile only” button wasn't shown if not already visible.
  - 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.
  - Set 3D LUT verification options for Resolve automatically after profile generation.
  - Switching from pre-baked testchart to “Auto” and back to same previous pre-baked chart didn't work (was still using “Auto” testchart).
  - 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).
  - 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.
  - Creating colorimeter correction with non-7-bit-ASCII characters in the description.
  - Added workaround for undecodable strings in some 3rd party ICC profiles.
  - Restoring defaults from the “Options” menu no longer resets the contribution popup “Do not show again” preference.
  - 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)”.
  - Synthetic ICC profile creator:
    - 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.
    - Parsing grayscale profiles and profiles with a PCS other than CIE XYZ now works.
  - madTPG network interface cross-platform support (Linux/Mac OS X): Reset video card gamma table when calibrating.
  - Linux: Work-around visual wxPython quirks when wxGTK is built against GTK3.
  - Linux (cosmetic): Prefer pygame audio backend to avoid fade crackling.
2015-06-08 00:08 (UTC) 3.0.2

  ### 3.0.2

  #### Added in this release:

  - Instrument first-time setup (i.e. importing colorimeter corrections) will now automatically run when it hasn't been run before.

  #### Changed in this release:

  - Removed black point correction choice when switching to “refresh” measurement mode.
  - Cosmetic: Always show main buttons, but disable them if no action is possible.

  #### Fixed in this release:

  - Mac OS X (standalone): Use bundled python when running from application bundle (fixes Resolve and madTPG interface).
  - Windows: Installing a profile as system default wasn't working correctly when UAC was enabled (regression of a change in 3.0.1).
2015-05-31 20:35 (UTC) 3.0.1

  ### 3.0.1

  #### Added in this release:

  - madTPG network interface cross-platform support. This means you can now connect from Linux or Mac OS X to madTPG running under Windows.
  - Functionality to change display profile (and calibration) whitepoint 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) f.lux or redshift because it fully takes into account the profile colorimetry, although white point shifting in real time is not supported.
  - Option to enable/disable startup sound.
  - Additional verification testcharts (roughly 750 and 1000 patches in size).
  - Output number placeholder for use in the profile name (as another means to disinguish equal display models).

  #### Changed in this release:

  - Force planckian locus in measurement reports if color temperature is >= 1667 and < 4000.
  - 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).

  #### Fixed in this release:

  - Uniformity measurements not working with spectrometer if instrument self-calibration is performed during the measurements.
  - Work-around Python 2.7 configuration file parsing bug if configuration file gets corrupted (e.g. through hard disk issues, destructive edits or similar).
  - 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.
  - 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.
  - Chromecast messing with display enumeration under Linux and Mac OS X.
  - 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).
  - 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.
2015-05-02 22:11 (UTC) 3.0

  ### 3.0

  #### Added in this release:

  - Tabbed user interface. See screenshots.
  - Full support for ArgyllCMS 1.7.0, which includes support for the ColorHug2, K-10A, Spyder5, the capability to use a Google Chromecast 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.
  - Optional automatic testchart optimization as part of the characterization process.
  - madTPG launches automatically when used (requires madVR 0.87.12 or later).
  - Optionally create a 3D LUT automatically after profiling. 3D LUT settings are stored in the profile and synced with measurement report settings when loaded.
  - 1-click install of madVR 3D LUTs after generation (requires madVR 0.87.12 or later).
  - 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.
  - 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.
  - Show reference versus corrected colorimeter measurements along with delta E when creating a colorimeter correction matrix.
  - Optionally clip WTW on input when creating a 3D LUT (requires ArgyllCMS 1.7 or later).
  - 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.
  - Easily create a compressed archive of the currently selected profile and related files with the click of a button next to the “Settings” dropdown.
  - Testchart editor:
    - Support loading of CGATS files which do not contain XYZ values.
    - CSV import (drag and drop a CSV file) and export.
    - Export 16-bit PNG and TIFF or 10-bit DPX files.
    - Improved speed of image file export.
    - Dragging and dropping image files extracts and adds reference patches if a preconditioning profile is set.

  #### Changed in this release:

  - 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).
  - 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.
  - 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.
  - Show display technology type of spectral colorimeter corrections and sort by the shown name instead of the filename.
  - Moved display update delay and settle time controls to main window (“Show advanced options” must be enabled).
  - Force a minimum display update delay of 600 ms for Resolve irrespective of chosen preset.
  - Don't unload current settings file when changing calibration tone curve to “As measured”.
  - When creating a profile, automatically filter out XYZ = 0 readings if the RGB stimulus is < 5% (except black).
  - Files generated during incomplete/failed runs are moved to a different location than the storage directory. See “User data and configuration file locations”, “Incomplete/failed runs”. 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.
  - When updating via Zero Install, force exact version.
  - 3D LUT: Default to 65x65x65 cube for all 3D LUT formats except Pandora (.mga) which only supports 17x17x17 and 33x33x33.
  - 3D LUT: Default to 16..235 TV level encoding for the eeColor.
  - Measurement report: Changed displayed range of Y to be always 0..100 with four decimal digits.
  - 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).

  #### Fixed in this release:

  - 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).
  - Using Resolve as pattern generator prevented ambient measurements.
  - 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.
  - Due to file descriptors for session logfiles not being closed after being done with the file, ${APPNAME} could run out of available file descriptors when used to create or inspect a large amount of profiles in a single session.
  - Disabled rollover for session logfiles.
  - Worked around uninitialized variables with Argyll's xicclu utility in versions 1.6.x to prevent unexpected color lookup output values.
  - Make sure the 1% reading during calibration check measurements doesn't trigger continuing to the following step.
  - 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”.
  - Verifying a device link created with an encoding other than full range RGB.
  - Curve viewer: Amount of tone values and grayscale % for calibration curves was not calculated correctly if the number of entries was not 256.
  - Testchart editor: Deleting a selection of non-consecutive rows didn't work correctly.
2014-11-15 20:46 (UTC) 2.6

  ### 2.6

  #### Added in this release:

  - Scripting support (locally and over the network).
  - Possibilty to do spectrometer self-calibration on its own (look in the “Options” menu). Useful in conjunction with “Allow to skip spectrometer self-calibration”.
  - Curve viewer, profile information: Support plotting tone response curve of grayscale profiles.
  - wxPython 3.0.2 “Phoenix” compatibility.
  - Linux: Install/uninstall instrument configuration files (udev rules/hotplug scripts) from the “Tools” menu.

  #### Changed in this release:

  - Use extended testchart as default for matrix profiles.
  - When switching profiles or displays, make sure the measurement report and 3D LUT creation windows are updated accordingly if shown.
  - Unset Argyll display update delay/settle time environment variables after disabling their override when they were not set initially.
  - All standalone tools have separate configuration files (overridden by main configuration if newer and vice versa) and logfiles.
  - VRML to X3D converter can now do batch processing.
  - Enhanced UI for colorimeter correction creation.
  - Limit the ability to create colorimeter corrections for the Klein K-10 to factory measurement mode.
  - Detect instruments at startup if no instruments were previously configured.
  - Changed “Resolve” preset to use a minimum display update delay of 600 ms and constant APL patterns by default.
  - Restore defaults for display update delay and settle time multiplier when loading settings without override.
  - Linux: The system-wide configuration file is ignored except for the profile loader.

  #### Fixed in this release:

  - Calibration curve plot was not working anymore for profiles with formula-type vcgt tags (regression of r2384, did not affect Argyll-generated profiles).
  - 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).
  - 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).
  - When exporting test patches as image files, limit pixel dimensions to FullHD (fixes memory error when exporting fullscreen patches).
  - When applying a tone response curve to an existing profile, make sure curve values can't become negative at and near zero input.
  - Fix generation of synthetic grayscale profiles.
  - 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).
  - Cosmetic, Mac OS X 10.8 and earlier: Splash screen had a light gray border instead of being semi-transparent.
  - Mac OS X 10.10 Yosemite: Disable functionality to load/clear calibration like under Mac OS X 10.6 and up.
2014-09-06 00:07 (UTC) 2.5

  ### 2.5

  #### Added in this release:

  - ArgyllCMS 1.7 beta compatibility: Klein K10-A support (requires ArgyllCMS 1.7 beta test 2014-05-21 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).
  - 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 ${APPNAME} 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 `collink`, and ${APPNAME} not having to alter the source profile TRC beforehand).
  - Black point can be specified in XYZ or chromaticity coordinates when creating a synthetic ICC profile.
  - 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.
  - Support for the Resolve 10.1 (and newer) CM pattern generator. See also 3D LUT creation workflow for Resolve on the ${APPNAME} Wiki.
  - 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.
  - 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 “Set additional commandline arguments...” 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”.
  - 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.
  - Windows: Simplified ArgyllCMS instrument driver installation by adding a respective menu item to the “Tools” menu.

  #### Changed in this release:

  - Visual overhaul.
  - 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 ${APPNAME}.ini and adding a line `calibration.autoload = 1`.
  - Split “Smooth B2A tables” into “Enhance effective resolution of colorimetric PCS[11]-to-device table” and “Smoothing” options and moved them to advanced gamut mapping options.
  - Renamed “Apply BT.1886 gamma mapping” to “Apply tone response curve”.
  - 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.
  - Removed black point compensation option from synthetic profile creation window.
  - 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).
  - Re-enabled moving the standalone curve viewer between displays updating the graph according to the display it is currently on.
  - Always append the measurement mode to the instrument string in the measurement report.
  - 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).
  - 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.
  - 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.
  - 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).
  - 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).
  - Importing colorimeter corrections and enabling the Spyder 2 is now truly automatic (necessary files are downloaded if not present on the local system).
  - Made black level control an advanced calibration option.
  - Loading a profile that does not contain calibration settings sets all calibration options to “As measured”.
  - 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.
  - Enabled interactive display adjustment for the madVR and Resolve presets and altered them to not do video card gamma table calibration by default.
  - All presets that create LUT profiles use optimized testcharts.
  - When a virtual display is selected, don't offer profile installation but 3D LUT creation instead.
  - ReadMe: Completed testchart editor documentation.
  - 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.
  - Testchart editor: When enabling/disabling the preconditioning profile, set adaptation to 100%/10% respectively.
  - Testchart editor: Greatly improved the speed of inserting patches into large testcharts with thousands of patches.
  - 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.
  - Linux, profile installation: Try colormgr as fallback (if available) if profile installation using Argyll 1.6+ failed.
  - Linux: Use the EDID MD5 to find the device ID (this only works with colord versions released after 26. Apr. 2013).
  - Mac OS X: No longer require administrator privileges if running from a non-administrator user account.
  - 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.

  #### Fixed in this release:

  - 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.
  - 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).
  - “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.
  - Measuring the ambient light level with an instrument which only has a monochrome ambient sensor (e.g. Spyder 3 and 4 Elite or Pro).
  - 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.
  - 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).
  - 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 openSUSE ICC Profile Taxi service due to a bogus “missing metadata” error message (regression of r1422).
  - Profile information window: Color coordinates in the status bar were wrong if the selected colorspace was not a*b* (bug introduced in ${APPNAME} 2.0).
  - The specbos 1201 was not working due to not supporting measurement mode selection.
  - 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.
  - Cosmetic: Correct padding of the patch number in the measurement report summary (fixes missing padding when multiple patches are evaluated for a single criterion).
  - Trivial: Tab order of controls (top-down, left-right).
  - Testchart editor: IndexError if trying to add saturation sweeps or reference patches when no cells are selected.
  - Linux, profile installation: Do not regard a missing colormgr as error.
  - 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 ${APPNAME} 2.0).
2014-05-11 19:00 (UTC) 2.1

  ### 2.1

  #### Added in this release:

  - “Auto” measurement mode for the ColorHug. This will automatically create a colorimeter correction with the reference based on EDID[10] 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.
  - Auto-update functionality. Apply updates from within ${APPNAME} under Mac OS X and Windows, or if using Zero Install.

  #### Changed in this release:

  - Improved Zero Install integration. Installation is now as simple as a standalone installation.
  - Switched “Smooth B2A tables” off and “Low quality B2A tables” back on for the madVR preset to save some time during profile generation.
  - 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.
  - 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).
  - Show profile information with right pane expanded by default.
  - Don't lock measurement mode for colorimeter corrections, instead set colorimeter correction to none if an incompatible measurement mode is selected.
  - Allow black point compensation if “low quality B2A tables” is enabled.
  - 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).

  #### Fixed in this release:

  - When using the ColorHug in “Factory” or “Raw” measurement mode in ${APPNAME} (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).
  - Transpareny rendering in the HTML-embedded X3D viewer: Transparency is now gamma-corrected.
  - 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.
  - 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).
  - 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.
  - Linux: Fixed a problem with unicode when querying colord for the current display profile (regression of r1832).
  - Windows: Report could not be saved after finishing display uniformity measurements due to the file dialog not receiving mouse clicks or keyboard input.
  - Windows: Work-around python issues with long pathnames (>= 260 characters).
2014-04-23 00:43 (UTC) 2.0

  ### 2.0

  #### Added in this release:

  - New profiling option “smooth B2A tables” for XYZ LUT profiles. 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.

    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).

    Original “granger rainbow” image

    Default colorimetric rendering (2500 OFPS XYZ LUT profile)

    “Smooth” colorimetric rendering (2500 OFPS XYZ LUT profile, inverted A2B)

    “Smooth” perceptual rendering (2500 OFPS XYZ LUT profile, inverted A2B)

    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).

    Technical discussion: “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 ${APPNAME}.ini and adding a line `profile.b2a.smooth.extra = 0`). 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) `invprofcheck -k -h -w -e` 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.

  - 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).
  - Expanded the color space choices for profile gamut views with L*u*v* and DIN99 family colorspaces.
  - 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.
  - 3D views of profile gamuts and testcharts can be created as VRML, X3D, or X3D in HTML with embedded viewer for WebGL-enabled browsers.
  - VRML to X3D standalone converter. Output options are X3D (XML) and X3D in HTML. The HTML files generated by default use the X3DOM 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 `--help` argument to view the list of options.
  - Rendering intent and direction selector for curve viewer tone response curve plot. Also changed layout of controls slightly.
  - 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.
  - 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.

  #### Changed in this release:

  - Slightly adjusted presets:
    - Changed “madVR” and “Video” presets to use Rec. 1886 as calibration target.
    - Changed “Prepress” and “Softproof” presets to use full black point hue correction during calibration.
    - Disabled interactive display adjustment for “Laptop” preset.
    - Set profile type for those presets that defaulted to curves + matrix to single curve + matrix.
  - 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.
  - 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).
  - Unlocked calibration Rec. 1886 gamma controls to bring them in line with the 3D LUT and measurement report offerings.
  - Set BT.1886 gamma mapping defaults to gamma 2.4 absolute to match the recommendation.
  - Show error message in case of ambient measurement failing due to instrument communications failure.
  - Curve viewer: Enable dragging and zooming.
  - 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 ECI offset, gravure and newsprint profiles as well as their basICColor equivalents (available on colormanagement.org) and an increased range of RGB working space profiles. Other profiles can be added by dragging-and-dropping them on the profile list.
  - 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).
  - In the case of essential resource files missing (e.g. broken installation or deleted application files), show a more informative error message.
  - Diagnostic 3D views of testcharts are no longer created automatically. You have to click the “3D” button.
  - Slightly increased the logging verbosity.
  - 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).
  - Linux: Deal with distribution-specific differences for the location of ArgyllCMS reference files (currently supported are `XDG_DATA_DIRS`/argyllcms/ref, `XDG_DATA_DIRS`/color/argyll and `XDG_DATA_DIRS`/color/argyll/ref).
  - Linux: Use udev hwdb instead of pnp.ids for looking up PNP ID to manufacturer name if available.

  #### Fixed in this release:

  - Unhandled exception when trying to start measurements on a display that was added/enabled while ${APPNAME} was already running.
  - In case of untethered measurements, correctly detect and react to recurring need for intermittent instrument calibration.
  - Re-enabled the ability to generate some 3D LUT formats from existing DeviceLink profiles.
  - Don't allow leading dashes in profile filename which might trick the ArgyllCMS tools into mistaking parts of it as an option parameter.
  - Refresh display measurement mode was not correctly restored from saved settings.
  - Moving the measurement window between displays resulted in an error and did not update the display configuration (regression of r1737).
  - Linux: Make curve viewer and profile information compatible with wxPython 3.0.
  - Linux: When the trash directory was not already present, files couldn't be moved to the trash.
  - Linux: System-wide profile installation should now also work if sudo is configured to require a TTY.
  - Linux/colord interface: Leave out manufacturer name part of device ID if the PNP ID wasn't found in the database.
  - Linux/colord interface: Deal with potential differences in device ID depending on installed colord version and desktop environment.
  - Linux, Mac OS X: In rare cases, a worker thread could reach an infinitely blocked state.
  - Mac OS X: Standalone tools (broken due to internal symlinks pointing to wrong locations).
  - 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).
  - Mac OS X 10.6 and newer: Calibration loading/clearing is now disabled 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).
2014-02-09 22:55 (UTC) 1.7.5.7

  ### 1.7.5.7

  #### Added in this release:

  - Unique icons for all standalone tools.
  - 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.
  - Testchart editor, “Add reference patches”: Named color profiles can be used as reference.
  - Linux: Desktop entries for standalone tools.
  - 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).

  #### Changed in this release:

  - 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.
  - Updated french translation (thanks to Loïc Guegant).
  - 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.
  - Testchart editor, “Add reference patches” (dealing with image colorspaces): Support Lab TIFF images. Fail on colorspace mismatches.
  - Removed DCI_P3.icm profile (prefer SMPTE431_P3.icm which is part of recent ArgyllCMS releases).

  #### Fixed in this release:

  - Disable double-click centering and scaling for curve views (this was never supposed to be possible in the first place).
  - 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.
  - 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).
  - Calibration preview for calibration & profile from “<current>” setting no longer switches between .cal and .icm file created in that same run.
2014-01-19 10:02 (UTC) 1.7.1.6

  ### 1.7.1.6

  #### Added in this release:

  - 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).
  - Correlated color temperature, gamma, RGB gray balance and gamut graphs to measurement report.
  - Re-added the default testchart for gamma + matrix profiles.
  - Testchart editor: Dark region emphasis controls (ArgyllCMS 1.6.2).
  - Testchart editor: Black patches amount control (ArgyllCMS 1.6).
  - 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%.
  - Standalone curve viewer. This allows to view the curves of the currently assigned display profile or the actual video card gamma table without launching ${APPNAME}.
  - Curve viewer can reload, apply black point compensation to, load into the videocard, and export calibration files.

  #### Changed in this release:

  - Untethered measurements window: Enable keyboard navigation in the grid view (up/down/pageup/pagedown/home/end keys).
  - Measurements are now pauseable.
  - Cancelling a potentially long-running operation like measurements or profile generation now needs to be confirmed.
  - Improved robustness of ambient measurement code.
  - Show an error message when communication with the instrument fails (instead of just logging the error).
  - Show an error message when trying to measure ambient light and ambient measurements are unsupported (instead of just logging the error).
  - Regenerated testcharts preconditioned by gamma-based profiles with slight dark region emphasis.
  - Updated french translation (thanks to Loïc Guégant).
  - “Allow skipping of spectrometer calibration” will now always 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.
  - Testchart VRML export: Only use Bradford chromatic adaptation if ACCURATE_EXPECTED_VALUES in the `.ti1` file is true (i.e. a preconditioning profile was used), otherwise XYZ scaling (to visually match VRML files generated by ArgyllCMS).
  - 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.
  - Use nicer filenames and titles for HTML reports and uniformity check (e.g. include the display name for which the report was generated).
  - Improved dealing with profile linking errors during 3D LUT generation (show error dialog instead of just logging the error).
  - 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).
  - Allow the use of PC levels for madVR 3D LUT output encoding.
  - Synchronize input and output encoding for eeColor 3D LUT format.
  - Disable xvYCC output encoding (not supported) and consequently disable it also as input encoding for eeColor because it needs the same input/output encoding.
  - Allow loading of calibration files that do not contain settings.
  - Testchart editor: Combined patch ordering controls.
  - Testchart editor: Vastly enhanced performance of row delete operations on very large testcharts (several thousand patches). Also slightly improved speed of testchart loading.
  - 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.
  - Windows 7 and up: Prefer ${APPNAME} 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).
  - 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).
  - 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).

  #### Fixed in this release:

  - A possible unicode decode error when the computer name contains non-ASCII characters, introduced in 1.5.2.5.
  - 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. FxF, MxM, SxS, VFxVF and VSxVS, with x being any non alphanumeric character).
  - 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).
  - Ignore messages from the logging module (fixes a bogus error message being displayed under Windows when closing ${APPNAME}, introduced in 1.5.2.5).
  - Handling of separate video card gamma table access controls was a bit quirky since the addition of virtual display devices.
  - 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.
  - Instrument (spectrometer) calibration can be required multiple times during a calibration run, depending on its duration. This was not handled correctly by the GUI.
  - 3D LUT generation with TV RGB 16-235 encoding could lead to wrongly encoded 3D LUTs if not using the eeColor or madVR format.
  - 3D LUT generation with YCbCr encodings failed with an error if not using the eeColor or madVR format.
  - Standalone utilities (3D LUT maker, curve viewer, profile information, and testchart editor) now function properly even if ${APPNAME} 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).
  - Don't block other windows when an operation fails while a progress dialog with a modal dialog on top is shown.
2013-10-23 20:09 (UTC) 1.5.3.1

  ### 1.5.3.1

  #### Added in this release:

  - New feature: When creating a profile from existing measurement data, averaging of measurements can be performed by selecting multiple files.

  #### Fixed in this release:

  - Fixed possible unicode error in logging module.
  - 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.
  - Mac OS X 10.6: Fixed weird behavior due to a bug in OS X 10.6's version of `sudo`.
2013-10-22 14:32 (UTC) 1.5.2.5

  ### 1.5.2.5

  #### Added in this release:

  - Full ArgyllCMS 1.6.0 support (e.g. JETI specbos 1211/1201, madVR calibration and 3D LUT generation, body centered cubic grid option for creating testcharts).
  - Testchart editor: Charts can be exported as PNG or TIFF files.
  - Testchart editor: Gamma and neutral axis emphasis controls.
  - Testchart editor: “Use current profile as preconditioning profile” button.
  - Testchart editor: Save VRML diagnostic files for testcharts without the need to re-generate the chart.
  - Testchart editor: Sort patches by L*, RGB, sum of RGB or sort RGB gray and white to top.
  - Untethered display measurement and profiling. Be sure to read the note on optimizing testcharts for untethered measurements in automatic mode.
  - Shortcut for the BT.1886 tone curve (previously available by setting gamma to 2.4, absolute, and black output offset to zero).
  - 3D LUT: Enable additional intents.
  - 3D LUT: Support eeColor and Pandora LUT formats.
  - 3D LUT: Support ArgyllCMS 1.6 video encodings and BT.1886 gamma mapping.
  - Windows 8 ArgyllCMS driver installation instructions to the ReadMe.
  - Instructions how to proceed when a process cannot be started to the ReadMe.
  - Softproof preset (based on FOGRA recommendation).
  - madVR preset.
  - sRGB preset.
  - Allow specifying extra arguments for Argyll's `targen` command.
  - Computer name, EDID serial and EDID CRC32 placeholders for use in the profile name.
  - Synthetic profile creation facility (e.g. for use as source in 3D LUT generation).
  - ACES RGB and DCI P3 colorspace definitions and reference profiles.
  - Dry run. 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.
  - Additional session logs are saved for most operations involving the Argyll tools (i.e. directly in the folder where created files are saved to).
  - Show profile self check ΔE*76 info in profile installation dialog.

  #### Changed in this release:

  - Testchart and preset improvements:
    - 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.
    - 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).
    - The patch order in the LUT charts has been optimized to improve measurement speed.
    - The chart for gamma + matrix profiles has been removed in favor of the updated default chart for matrix profiles.
    - New additional charts for LUT profiles have been added in various sizes.
    - 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).
    - 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):
      - Old “Default testchart for LUT profiles” (124) → new “Small testchart for LUT profiles” (154)
      - Old “Extended testchart for LUT profiles” (238) → new “Default testchart for LUT profiles” (270)
      - Old “Large testchart for LUT profiles” (396) → new “Extended testchart for LUT profiles” (442)
      - Old “Very large testchart for LUT profiles” (912) → new “Very large testchart for LUT profiles” (994)
      - Old “Massive testchart for LUT profiles” (2386) → new “Massive testchart for LUT profiles” (2527)
    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.
  - Detect if the instrument can use CCMX or CCSS colorimeter corrections based on the measurement mode. Disable colorimeter corrections for non-base display types.
  - Correctly map measurement mode to DISPLAY_TYPE_BASE_ID for all supported instruments when creating CCMX.
  - If a colorimeter correction with DISPLAY_TYPE_BASE_ID or DISPLAY_TYPE_REFRESH is selected, automatically set the correct measurement mode.
  - 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).
  - Do not use spline interpolation for curve plots.
  - Updated french translation, thanks to Loïc Guégant.
  - Renamed calibration quality to calibration speed.
  - Set calibration speed for all presets to medium.
  - Standalone testchart editor: Parse first non-option argument as file to be opened.
  - Testchart editor: Always generate good optimized points rather than fast.
  - Testchart editor: Use existing file path when saving testchart.
  - Testchart editor: Greatly improved the speed of paste operations when comparatively large data sets are used.
  - Disallow -d and -D as extra arguments for Argyll's `targen` as the testchart editor only supports video RGB.
  - Reset adaptive measurement mode when restoring defaults.
  - 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).
  - Curve viewer: Use float formatting for input RGB display.
  - Only skip legacy serial ports if no instrument detected.
  - Also specify Argyll `dispcal`/`dispread` -y parameter for spectrometers.
  - Use Rec. 709 whitepoint chromaticity coordinates for “Video” preset.
  - Changed profile installation error message for virtual display devices.
  - 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 `<x>` will be used” with the usual options to embed/not embed/reset video card gamma table.
  - Allow the use of calibration curves when profiling a web display.
  - When creating a colorimeter correction from profile(s), get the instrument name from the embedded TI3 if the data source is not EDID.
  - Do not specify (superfluous and thus ignored) patch window positioning arguments for `dispcal`/`dispread` when using a virtual display.
  - 3D LUT: Removed black point compensation option (no longer easily possible because it now uses Argyll's `collink` 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).
  - 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.
  - 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.

  #### Fixed in this release:

  - 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.
  - Corrected averaged RGB transfer function display.
  - Adaptive measurement mode could not be disabled (regression of r1152 where adaptive measurement mode was made default in ${APPNAME}).
  - Work-around a very rare problem where a (bogus) display size of 0x0 mm is returned.
  - Check if the configured colorimeter correction exists before adding it to the list.
  - Update colorimeter correction and testchart lists after deleting settings files.
  - Don't carry over colprof arguments from testchart file (fixes occasional wrong display model and manufacturer in profiles).
  - Average, RMS and maximum delta E metadata was not added to profiles if equal to or greater than 10.
  - Unhandled exception when 3D LUT window was opened and there was no profile selected under settings and also no display profile set.
  - Unhandled exception if colorimeter correction does not exist.
  - Standalone curve viewer: Fix loading of .cal file via commandline argument.
  - Don't strip trailing zeros when displaying average gamma in the status bar of the profile information or curve window.
  - 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).
  - Mac OS X with ArgyllCMS 1.5 and newer: Also search library folders for ArgyllCMS support files (fixes imported colorimeter corrections not found).
  - Only fall back to private copy of pnp.ids under Mac OS X and Windows.
  - Updated link to Datacolor website download section for the Spyder 2 Windows installers.
  - Transposed bits for EDID red y chromaticity coordinate.
  - Curve viewer / profile info window: Reset tone response curve calculation when toggling LUT checkbox.
  - 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).
  - Keypresses or cancel were not recognized during patch reading.
  - Display uniformity measurements: Q or ESC had to be pressed twice to exit.
  - Do not use “install profile” message for non-display profiles.
  - 3D LUT: “apply vcgt” checkbox stayed disabled after switching from a devicelink source profile to a non-devicelink source profile.
  - Update all open windows when switching Argyll versions
  - Do not reset selected colorimeter correction to none when selecting a preset or a settings file.
  - Measurement window position was not correct when switching from web display.
  - Show an error message when choosing a directory as profile save path where no subdirectories can be created.
  - Python 2.7 compatibility: Mask u16Fixed16Number (fixes profile information not working for profiles with negative XYZ or chromaticity values when using Python 2.7).
  - wxPython 2.9 compatibility: Do not specify number of rows in dynamically growing FlexGridSizer.
  - Linux: Use colord's quirk_vendor_name to fix the manufacturer string.
  - Mac OS X 10.6 and up: Clearing and loading calibration needs root privileges in some circumstances.
  - Windows: Correctly escape quotes in arguments (fixes hang when profile name, program path or Argyll path contains a single quote).
  - Windows: Show a meaningful error message when a subprocess can't be started instead of hanging indefinitely.
  - Windows: Ignore WMI errors.
  - Windows: Selecting testcharts saved in the root of a drive under Windows.
  - 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).
  - Windows/Mac OS X: If Argyll profile installation failed, a success message was still shown.
2013-03-03 19:42 (UTC) 1.2.7.0

  ### 1.2.7.0

  #### Fixed in this release:

  - Colorimeter correction creation not working when using ArgyllCMS 1.5.0 because of missing newly required fields in CGATS data.
  - Mac OS X: Accidentally swapped “/Users/<Username>/Library/Application Support” and “/Library/Application Support”.
2013-03-01 09:39 (UTC) 1.2.6.6

  ### 1.2.6.6

  #### Added in this release:

  - ArgyllCMS 1.5.0 compatibility.
  - Ability to do remote measurements using ArgyllCMS 1.4.0 and newer (Firefox is recommended as client). See remote measurements and profiling.
  - Include black level and contrast in profile verification reports (if possible, i.e. if the test chart contains a RGB=0 patch).
  - 3D LUT: Support color space conversion ('spac') profiles.
  - DCI P3 reference profile.
  - Add “Quality” (if applicable) and “License” metadata to profiles.
  - Add colord device ID mapping to profile metadata.
  - Linux: Add screen brightness to profile metadata if profiling a mobile computer's screen (using the org.gnome.SettingsDaemon.Power DBus interface).
  - Additional logging.

  #### Changed in this release:

  - Revised display uniformity test to generate HTML reports.
  - Use a delay of 200 ms for display uniformity measurements.
  - 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.
  - Reload currently selected calibration after verifying a profile.
  - Add metadata to fast shaper matrix profiles (e.g. gamut volume and coverage).
  - When deleting a settings file, also offer CCSS, CCMX and files starting with the settings file basename in the same directory for deletion.
  - Enable use of absolute values in profile verification reports regardless of testchart.
  - When loading a profile without calibration settings, look for an accompanying colorimeter correction in the same directory.
  - When only creating a profile and not calibrating, give a clear choice whether to embed current calibration curves in a profile or not.
  - When using black point compensation, keep the black point compensated TI3 measurement file in addition to the unaltered file.
  - When restoring default settings, don't reset the 3D LUT abstract profile as well as 3D LUT and profile info window positions.
  - Truncate the colorimeter correction description displayed in the dropdown if it's overly long.
  - Only load linear calibration curves into the curve viewer when resetting the video card gamma table.
  - Do not remove spaces from the instrument name when assembling the profile name.
  - Only compress JavaScript in HTML reports if the `report.pack_js` configuration option is set (default 1 = compress).

  #### Fixed in this release:

  - Improved instrument event handling.
  - When measuring the screen using a spectrometer, make sure to repeat the instrument calibration until it is successfully completed or canceled (ColorMunki Design/Photo).
  - When measuring ambient light with a spectrometer, abort after a 30 second timeout if instrument calibration did not complete.
  - Correctly react if the instrument sensor is in the wrong position and prompt the user to set the correct position.
  - Mouse cursor and clicked “Measure” button stayed hidden when aborting a measurement in the display device uniformity test window.
  - Updating the calibration (vcgt) of a profile didn't work if first selecting a `.cal` file, ticking the “Update calibration” checkbox and then switching to the profile.
  - Disable all calibration controls (except the quality slider) when “Update calibration” is ticked.
  - Only enable “Update calibration” checkbox if calibration can actually be updated.
  - 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.
  - Update measurement modes when switching Argyll versions.
  - wxPython 2.9 compatibility.
  - Set manufacturer, model, creator and ID in reference profiles (except ClayRGB and sRGB from Argyll).
  - 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).
  - If using a DTP92, only offer refresh measurement mode.
  - Make sure updated profiles also have updated descriptions.
  - Also overwrite .gam.gz and .wrz files if overwriting an existing profile.
  - Mac OS X: Make sure the menus are re-enabled after calibrate & profile.
2013-01-07 19:41 (UTC) 1.1.8.3

  ### 1.1.8.3

  #### Changed in this release:

  - Show display device uniformity measurement window on selected display device if multiple display devices are connected.
  - Hide mouse cursor and clicked button while measuring display device uniformity.

  #### Fixed in this release:

  - Sporadic measurement hang when measuring display device uniformity.
  - Wrong window being shown when calibrating after display device uniformity measurements or vice versa.
2013-01-05 13:32 (UTC) 1.1.7.0

  ### 1.1.7.0

  #### Added in this release:

  - Preliminary ArgyllCMS 1.5.0 compatibility.
  - Added facility to measure and report display device uniformity. Known issue: Sometimes measurements hang. Press space to try and continue.
  - 3D LUTs can optionally incorporate abstract (“Look”) profiles.
  - 3D LUTs can be created from Device Link (class “link”) and input (class “scnr”) profiles.
  - 3D LUTs can also be created in SPI3D format.

  #### Changed in this release:

  - Updated french translation, thanks to Loïc Guégant.

  #### Fixed in this release:

  - Fedora: Calibration curves were reset to linear when installing a profile and using the Fedora packaged ArgyllCMS.
  - Linux, Mac OS X, Windows (Administrator): Colorimeter corrections imported from i1 Profiler and ColorMunki Display software were not listed in the dropdown menu.
2012-11-05 20:32 (UTC) 1.1.2.9

  ### 1.1.2.9

  #### Changed in this release:

  - Simplified Spyder 2 enabling instructions.

  #### Fixed in this release:

  - Broken Unicode support (unhandled exception) when dealing with colorimeter correction descriptions containing 8-Bit characters.
  - 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).
  - Use a default generic message when prompting to choose a profile.
2012-10-05 19:04 (UTC) 1.1.2.1

  ### 1.1.2.1

  #### Changed in this release:

  - Disable source profile selector in advanced gamut mapping options if not atleast one of perceptual or saturation checkboxes is selected.
  - Only show a warning if an incompatible colorimeter correction is explicitly selected via the filebrowser.
  - Show a less cryptic error message if an invalid file is selected when importing colorimeter corrections from other display profiling software.

  #### Fixed in this release:

  - Whitepoint color temperature is an integer, not a float. This fixes calibration settings being detected as changed when they actually haven't.
  - 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.
  - Linux, Mac OS X: Unhandled exception when trying to import colorimeter corrections from other display profiling software and selecting a file with '.txt' extension.
2012-09-15 15:38 (UTC) 1.1

  ### 1.1

  #### Added in this release:

  - Additional profile name placeholder %ds for the display device serial from EDID if applicable (may be empty or bogus).
  - 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).

  #### Changed in this release:

  - Updated spanish translation (thanks to Roberto Quintero).

  #### Fixed in this release:

  - Show an error message if a colorimeter correction cannot be used with the selected instrument.
  - Show an error message when trying to import colorimeter corrections from an unsupported filetype.
2012-08-01 10:13 (UTC) 1.0.9.0

  ### 1.0.9.0

  #### Changed in this release:

  - 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).
  - Show colorimeter correction file basename in addition to the description if they are different.
  - Linux: Fall back to gcm-import if colord profile installation fails.

  #### Fixed in this release:

  - When switching to L*/Rec. 709/SMPTE or sRGB and then loading settings with a gamma value, the gamma entry field was not shown.
  - Report on calibrated/uncalibrated display and calibration verification did not work if using a colorimeter correction (regression of changeset #1020).
  - Do not freeze if loading a settings file which had an accompanying colorimeter correction that was since deleted.
  - Windows 2000: Don't fail to launch.
2012-06-28 22:05 (UTC) 1.0.7.7

  ### 1.0.7.7

  This is a bug-fix release for version 1.0.7.6.

  #### Fixed in this release:

  - Unhandled exception in gamut view calculation after profile creation if using french localization.
2012-06-23 00:25 (UTC) 1.0.7.6

  ### 1.0.7.6

  #### Added in this release:

  - Option to auto-select a suitable colorimeter correction if available locally.
  - Ability to choose between L*a*b*, XYZ and xyY in profile verification reports.

  #### Changed in this release:

  - Reset default black point correction from automatic to off.
  - If a profile contains no 'vcgt' tag, assume linear calibration.
  - When creating a colorimeter correction, remember the last selected reference and colorimeter measurement file separately.
  - 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.
  - 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.
  - When restoring the current calibration after measuring the colorimeter correction testchart, do it silently (don't show a message window).
  - Filter colorimeter corrections by selected instrument.
  - Show colorimeter correction description in the dropdown instead of the filename. Show the filename and path on mouse hover.
  - ColorHug: Only enable colorimeter corrections for “Factory” and “Raw” measurement modes.
  - 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.
  - Linux: Enable ColorHug support by default.
  - Linux: colord wrapper now uses PyGObject instead of ctypes.
  - Updated french translation, thanks to Loïc Guégant.

  #### Fixed in this release:

  - When creating a 3D LUT, don't fail if the target profile contains no 'vcgt' tag and the preference is “Apply calibration” (which is the default) irrespective of checkbox state.
  - Use colorimeter correction (if applicable) from settings stored in calibration files and profiles when loading them.
  - When creating a colorimeter correction, the display name in the description is now taken from the measurement file if available.
  - When creating a colorimeter correction, automatically order the measurements exactly the same by device (RGB) triplets.
  - Hide any profile information window(s) when the main window is hidden and restore them when it is shown again.
  - Correct ID on profile created from EDID after adding gamut coverage/volume metadata.
  - Measurement modes other than “LCD (generic)” and “Refresh (generic)” are now correctly restored from settings embedded in calibration files and profiles.
  - If using the current calibration curves for profiling without calibrating (“Profile only” with “Reset video card gamma table” unchecked), using ArgyllCMS 1.4.0, the resulting profile will now contain a 'vcgt' tag with the current calibration like with previous Argyll versions.
  - RGB bars and chromaticity/color temperature readouts when adjusting a whitepoint with blackbody target are now working correctly.
  - Ignore and do not show any explicitly selected Colorimeter Calibration Spectral Sample (CCSS) file for instruments that do not support it.
  - Changing Argyll version/binaries in ${APPNAME} with automatic instrument detection switched off is working correctly again without the need to restart the program.
  - Show ColorHug-specific measurement modes (please run instrument detection once again to refresh the list if you already used the ColorHug in a previous version of ${APPNAME}).
  - Saturation gamut mapping settings are no longer ignored.
  - Trying to view profile information for profiles whose black point X Y Z sum is zero will no longer result in a division by zero error.
  - Black point compensation is no longer attempted if not atleast one black or white patch is found in measurement data.
  - Linux: Don't error out if profile installation with dispwin fails, but profile installation via colord or oyranos-monitor is successful (fixes profile installation when using the distribution-packaged Argyll under Fedora)
  - Linux: colord device key name now correctly adheres to device naming spec for xrandr devices (fixes some profile installation problems).
  - Linux, Windows: Correctly detect in the profile loader if linear calibration is assumed when using ArgyllCMS 1.4.0 or newer.
  - Windows: Continuous measurements during interactive display adjustment are now stopped reliably when clicking the “Stop measurements” button or hitting the space key.
2012-04-02 19:24 (UTC) 0.9.9.1

  ### 0.9.9.1

  #### Added in this release:

  - Spyder 4 support if using ArgyllCMS >= 1.3.6. To make all measurement modes available, you have to use “Import correction matrices from other display profiling softwares...” from the “Tools” menu.
  - Experimental ColorHug support is enabled through ArgyllCMS >= 1.3.6 if the `ENABLE_COLORHUG` environment variable is set, but the ColorHug currently doesn't work reliably across all platforms.
  - Added information about instrument measurement modes to the ReadMe.

  #### Changed in this release:

  - GUI spring-cleaning: Re-arranged some controls and replaced radiobuttons and read-only combo-boxes with choice controls instead. Only the controls related to a selected choice are shown.
  - Default calibration black point correction to automatic.
  - Replaced previous 19-patch colorimeter correction testchart with smaller 4-patch version (just red, green, blue at 100% each and white, as is the default with ArgyllCMS 1.3.6).
  - Linux packages: Added ArgyllCMS to dependencies. Please note: If you want the latest Argyll features or run into problems, it is recommended to download the standalone Argyll binaries from argyllcms.com as the distribution repositories often only contain older ArgyllCMS releases.

  #### Fixed in this release:

  - Fixed unhandled exception when adding metadata to a profile from EDID that contains an invalid (out of range) gamma value.
  - Fixed slightly off the mark whitepoint in resulting profile when using black point compensation (typical max. error 0.2 ΔE*76). You may want to re-create existing profiles.
  - Do not reset visibility of advanced calibration options when restoring defaults.
  - Store black point compensation setting in profiles.
  - Mac OS X: The application bundle now again contains all required files (no missing files when dragging just the bundle to Mac OS X “Applications” folder).
2012-03-15 14:45 (UTC) 0.9.6.6

  ### 0.9.6.6

  #### Added in this release:

  - Black point compensation option for profiles (default ON). This effectively prevents black crush, but at the expense of accuracy of the resulting profile.
  - Profile information window with 2D gamut plot as well as information pane which shows profile header and tag data in detail (with few exceptions).
  - Ability to create display correction 3D LUTs for use in movie post-processing applications that don't have ICC support. Currently supported are the `.3dl` and `.cube` formats.
  - Write gamut VRML files and calculate coverage and volume percentages against sRGB and Adobe RGB when creating profiles.
  - Add 'chrm' tag (xy chromaticities for each primary) to created profiles. Unlike the values from 'rXYZ', 'gXYZ', 'bXYZ', A2Bx or 'clrt' tags, the 'chrm' data corresponds to the actual measured chromaticities without chromatic adaptation or interpolation. The 'chrm' tag is purely informational.
  - Windows 7 and later: Added an option to let the operating system handle calibration loading when installing a profile (this option requires ${APPNAME} to be run as Administrator and is also available in the ${APPNAME} installer. If selecting the option there, the ${APPNAME} Profile Loader will not be installed to the startup items. A shortcut to the loader is still available in the ${APPNAME} folder in the start menu though, to be able to quickly force a reload of calibration).

  #### Changed in this release:

  - Instrument detection now defaults to manual. A click on the icon with the swirling arrows or choosing the corresponding menu item in the “Options” menu detects connected instruments. Automatic instrument detection can be (re-)enabled/disabled there, too.
  - The ${APPNAME} Profile Loader can now be set to not show error messages again (errors will still be logged).
  - Tone response curves are now plotted as L* → RGB by default and are also calculated for LUT profiles (profiles with both LUT and matrix TRC tags allow on-the-fly switching between them). In addition, the transfer function is shown if it can be estimated.
  - Windows: Allow enabling/disabling of calibration loading on login when installing a profile (to be able to change this option when Windows 7 or later is set up to handle calibration loading, either ${APPNAME} needs to be run as administrator or in the Windows color management control panel “Advanced” tab, click on “Change system defaults...” and disable “Use Windows display calibration”).

  #### Fixed in this release:

  - Do not fail to launch due to unhandled exception when parsing CGATS files containing KEYWORD, INDEX, SAMPLE_ID or DATA_FORMAT values in exponential notation.
  - Do not use exponential notation for low (< 0.0001) calibration black level target values.
  - Correctly handle failed instrument calibration (by asking to repeat) and measurement failures which are not misreads or communication failures (and should thus not be retried automatically).
  - Also look at ASCII descriptor blocks when determining the display device name from EDID (fixes display model not being set in profiles for certain Apple displays).
  - Don't loose 'mmod' tag (monitor make and model) when creating a profile from measurement data embedded in an existing profile.
  - Automatically restore calibration after measuring the colorimeter correction testchart.
  - Restore ArgyllCMS < 1.3.0 compatibility (broken in 0.8.9.3).
  - Windows Vista, 7 and later: Automatically enable “Use my settings for this device” in Windows' colormanagement settings when installing a profile.
2012-02-11 03:56 (UTC) 0.8.9.3

  ### 0.8.9.3

  #### Fixed in this release:

  - Selecting a smaller default testchart than the recommended one did not work (was reset to the recommended default when starting measurements or re-starting ${APPNAME}).
  - Restore previously selected testchart if canceling colorimeter correction measurements.
  - Disable the “Measure” button in the “Create colorimeter correction” dialog if no display or instrument detected/selected.
  - Disable menus while the main window isn't shown (only affects operating systems where the menu is not part of the main window e.g. Mac OS X).
  - Linux: Fixed i1 Display Pro / ColorMunki Display missing from Argyll udev rules (this was actually already fixed in 0.8.5.2, but not mentioned in the changelog).
  - Mac OS X Lion: Removed sporadic password dialog being shown after calibration measurements when running “Calibrate & profile”.
  - Mac OS X Lion: Fixed an issue with profile installation for the current user which only installed the profile for the root user, thus not making it available in system preferences and making e.g. the login screen the only visible place where it was effectively being used.

  #### Changed in this release:

  - Allow the selection of LCD or CRT measurement modes for spectrometers too (determines the available controls during interactive display adjustment).

  #### Added in this release:

  - GUI for interactive display adjustment.
  - Add 'mmod' tag (monitor make and model, an Apple-specific private tag) to created profiles (ensures the profiles still show up in Mac OS X system preferences if “Show profiles for this display only” is ticked).
2012-01-24 18:40 (UTC) 0.8.5.2

  ### 0.8.5.2

  #### Fixed in this release:

  - Added missing numbers to “delta E too high” message when trying to upload a profile with low self-fit accuracy.
  - Decoding of numerical manufacturer ID from EDID when adding metadata to a profile was done in the wrong byte order.
  - Fixed missing terminating NUL character for copyright tag when creating a profile from EDID.
  - Fixed missing underscore in EDID colorimetric metadata key names as per the ICC meta Tag for Monitor Profiles specification.
  - Linux: Display measurements couldn't be started if ${APPNAME} was installed via the 0install feed.
  - Mac OS X: The file which maps Plug'n'Play device IDs to manufacturer names was not found when running from the application bundle, resulting in manufacturer entries in profiles always being equivalent to the three-letter PnP ID instead of the full manufacturer name.

  #### Changed in this release:

  - Measurements for colorimeter corrections can now be started directly from the dialog, and the previous testchart is restored afterwards.
  - Add more metadata to generated profiles to allow better automatic selection/ranking on systems that support it and standardized a few previously ${APPNAME}-only keys (ICC meta Tag for Monitor Profiles / GCM metadata specification).
  - Use product code as fallback for make/model when creating profiles from EDID.
  - Windows: In case of an ArgyllCMS 'config 1 failed' error upon trying to use an instrument, inform the user its driver may not be installed.

  #### Added in this release:

  - Added ability to specify the display technology for created colorimeter corrections.
  - Enabled overriding of default gamut mapping intents for LUT profiles. “Luminance matched appearance” is the default override for perceptual intent, which provides an effect similar to black point compensation.
  - The colorimeter corrections database now has a public web interface and API.
2011-12-08 13:33 (UTC) 0.8.1.9

  ### 0.8.1.9

  #### Fixed in this release:

  - Ignore 'unknown' (not required) fields when verifying CGATS (fixes bug 'invalid testchart' after profiling with spectrometer, introduced in r780).
  - Force a default testchart if the selected one is invalid.
  - Linux (autopackage): Set `PYTHONDONTWRITEBYTECODE=` (empty string) to fix installation on Mandriva 2011.

  #### Changed in this release:

  - Default profile type should be 3x shaper + matrix, not single shaper + matrix.
  - Some of the advanced calibration options (gamma type relative/absolute, ambient adjustment, black point correction and offset) are now hidden by default and can be shown via the corresponding menu item in the options menu.

  #### Added in this release:

  - Option to share profiles via the openSUSE ICC Profile Taxi service.
  - Option to create profiles from extended display identification data (EDID).
  - Linux (GNOME 3): colord compatibility (query current profile, install & set profile).
2011-10-06 21:44 (UTC) 0.7.8.9

  ### 0.7.8.9

  #### Fixed in this release:

  - Additional commandline arguments were ignored when doing profile verification measurements.
  - Windows: If the startup folder in the start menu was deliberately deleted, the profile loader shortcut wasn't created when installing a profile.
  - Windows: Profile loader correctly verifies if the calibration was sucessfully loaded.

  #### Changed in this release:

  - Skip legacy serial ports by default when detecting instruments (serial instruments like the DTP92 or Spectrolino will no longer be selectable unless you manually set `skip_legacy_serial_ports = 0` in `${APPNAME}.ini` or use a serial to USB adapter).
  - Windows: The profile loader shortcut in the startup folder inside the start menu is now created at installation time (and removed when uninstalling).
  - When checking for program updates, show the changelog for the new version if an update is available.
  - Confirm enabling of debugging output.

  #### Added in this release:

  - Support for ArgyllCMS 1.3.4 features: i1 Display Pro and Colormunki Display, Colorimeter Calibration Spectral Sample (.ccss) files.
  - Ability to import colorimeter corrections from other display profiling softwares. Currently iColor Display, i1 Profiler and ColorMunki Display are supported.
  - Ability to create correction matrices and Calibration Spectral Sample files, with the option to share them via an online database.
  - Option to automatically check for program updates on startup.
  - Added information how to fix instrument not working correctly/constantly disconnecting under Linux due to a conflict with libmtp (thanks to Pascal Obry who notified me of the issue back in May 2011).
2011-08-05 01:06 (UTC) 0.7.3.7

  ### 0.7.3.7

  #### Fixed in this release:

  - Linux: Fixed multi-display support when not using separate X screens.
  - Mac OS X: Fixed not being able to run under a standard user account, and Mac OS X 10.7 compatibility.
  - Mac OS X 10.4.x: Fixed functionality requiring elevated privileges, e.g. installing profiles system wide or enabling the Spyder 2 using Argyll 1.1.x (regression of a change introduced in r706 / 0.7.0.7)
  - Windows: Fixed several problems with special characters in paths which are not representable through the file system encoding.
  - Windows: Worked around OS localtime() bug. If the system's clock was set to a date far into the future, ${APPNAME} failed to launch on subsequent runs because of the logfile's timestamp which could not be processed by localtime().
  - Windows Vista/7: Querying the user display profile resulted in a “not found” error if the checkbox “Use my settings for this device” was never ticked in Windows' color management control panel, failing the fallback of querying the system display profile in case of no user display profile.

  #### Changed in this release:

  - All presets now use curves + matrix as profile type (for better overall application compatibility).
  - Better feedback when trying to open broken/invalid files (display an error dialog instead of just logging the error).
  - Icons in the task switcher on Windows Vista/7 (and presumably Linux) should now be crisp and not pixelated.
2011-06-02 21:45 (UTC) 0.7.0.7

  ### 0.7.0.7

  #### Fixed in this release:

  - wxPython 2.8.12 compatibility.
  - Linux: Preserve environment when installing a profile system-wide so $DISPLAY is available for dispwin.
  - Linux (Source): Changed highest supported Python version to “lower than 3.0” because openSUSE Build Service would choke on “lower than or equal to 2.7” when building for Ubuntu 11.04.
  - Linux (Source): Fixed setup.py bdist_deb as far as possible (see notes under installing from source, additional setup commands, bdist_deb)
  - Windows: Fixed error when the display profile cannot be determined (e.g. when running remotely).
2011-04-20 21:08 (UTC) 0.7.0.0

  ### 0.7.0.0

  #### Fixed in this release:

  - Updating profile verification reports created in versions prior to revision 672 should not strip calibration and gray balance information anymore (regression of a change in r672).
  - If the Spyder 2 was enabled using ArgyllCMS 1.2 or newer, this should now be reflected correctly in the “Tools” menu by a checkmark next to the “Enable Spyder 2” menu item.
  - Linux (Autopackage, DEB and RPM installs) and source: Fixed missing application icons in sizes other than 16x16 and 32x32 if the source archive was created with setup.py under Mac OS X or Windows (regression of a change in r501).
  - Linux/Windows: The location of the Argyll binaries was not stored in the system-wide configuration, which could prevent the profile loader from finding the Argyll binaries if they were not on the PATH environment variable and a profile was installed system-wide.
  - Windows: Fixed program termination if EnumDisplayDevices fails (e.g. when running remotely).
  - Windows: Fixed program termination if a display device has no driver entry in the registry (the very generic Windows error message is misleading in that case: It pretends a file was not found).
  - Windows XP: Correctly enumerate display device names and EDID.

  #### Changed in this release:

  - When doing verification measurements of a (non-Argyll) profile containing a chromatic adaptation 'chad' tag, ${APPNAME} now tries to use the same chromatic adaptation transform to calculate adapted values from the measurements instead of using a hardcoded Bradford transform.
  - The default delta E formula for “RGB + gray balance” evaluation is now DE 2000.
  - The delta E formula is now locked for the Fogra MediaWedge and IDEAlliance Control Strip evaluation criteria.
  - The “Update calibration” and “Update profile” checkboxes were combined into one. This removes the ambiguity about what “Update profile” functionality actually was: Only updating the calibration inside the profile. Both updating stand-alone calibration '.cal' files and calibrations embedded in profiles are now handled with the single “Update calibration” checkbox. The slightly different workflow of only updating the calibration, and then creating an actual new profile on top of it in one go, is still possible by explicitly loading a calibration '.cal' file under “Settings”.
  - Made the GUI a bit nicer towards low screen resolutions by moving more controls into the scrollable area and also removing the graphical banner and allowing horizontal scrollbars if things get really cramped.
  - Windows Vista/7 and later: To be able to install a profile system-wide, you now need to run ${APPNAME} explicitly as administrator (right-click the ${APPNAME} icon, then select “Run as administrator”) to show the appropriate controls in the profile installation dialog.

  #### Added in this release:

  - Documentation: Updated the information for Photoshop's “The monitor profile […] appears to be defective” message under Known issues and solutions.
  - Documentation: Added Windows XP multiple displays and profiles under Known issues and solutions.
2011-01-24 03:56 (UTC) 0.6.7.7

  ### 0.6.7.7

  #### Fixed in this release:

  - Fixed measurements hanging at the start if using the black background option.
  - wxPython 2.9 compatibility.
  - Windows: Potential COM error caused by obsolete code.
  - Windows Vista/7: Potential WMI errors when trying to read a display's EDID are now suppressed (the EDID can not be read on systems where WMI has errors, which may prevent more accurate display descriptions, but will not impede functionality otherwise).

  #### Added in this release:

  - Profiles can now be dragged and dropped onto the curve viewer.
  - When using the profile verification feature, it is now possible to first select a simulation profile before choosing a testchart.
2010-11-05 03:12 (UTC) 0.6.6.7

  ### 0.6.6.7

  #### Fixed in this release:

  - Re-enabled warning message from the profile loader if the calibration in the video card does not match the requested calibration after loading.
  - Fixed “Show curves” checkbox in the profile installation dialog not doing anything if the curve viewer was not shown before (regression of a change in version 0.6.2.2).
  - Fixed a small visual glitch where the message “Calibration complete” was not cleared from the progress window after instrument calibration.
  - Fixed possibility of unprintable characters from EDID strings (e.g. display name) causing errors.
  - Fixed ArgyllCMS diagnostic output not working for dispwin when using ArgyllCMS 1.3.1
  - Linux: Fixed Autopackage install not working with Python 2.7

  #### Added in this release:

  - Linux: Added a “Load profile and calibration on login” checkbox to the profile installation dialog. Normally, you want to keep this checked, so that ${APPNAME}'s profile loader can setup the configured display(s). But if you use another solution for loading profiles, like Oyranos with the CompICC plugin, you should uncheck it, so that display profiles are solely handled by CompICC.
  - Mac OS X: Like on the other platforms, EDID is now used if available.
2010-10-24 04:36 (UTC) 0.6.5.3

  ### 0.6.5.3

  #### Fixed in this release:

  - Fixed a bug where the wrong correction matrix setting was stored in a profile or calibration file when changing the correction matrix, and creating a profile with a previous settings file selected which used a different correction matrix. Note this didn't affect measurements when creating the new profile or calibration file, but when loading it in ${APPNAME}, the correction matrix used for the previously selected settings file was set instead of the one actually used when creating the new file.
  - Fixed missing XYZ values for the assumed whitepoint in profile verification reports.
  - Fixed crash when the manufacturer ID from a display's EDID contains invalid data.
  - Honor the selected display when loading calibration curves from a settings file.
  - Linux: Installing profiles under multi-display configurations using separate X screens should now work better when Oyranos is installed (previously, when the profile for the second screen was installed after the profile for the first screen, it would override the first profile in the Oyranos configuration. Profiles can be re-installed with this version of ${APPNAME} to fix this).
  - Linux: Profile loader: When Oyranos is installed, but not xcalib, the fallback to dispwin to load the calibration curves was not working.

  #### Changed in this release:

  - Reset additional commandline arguments too when restoring defaults.
  - The profile loader will no longer show an error message when unable to determine a display's current ICC profile, as there may just not be any profile installed for the respective display. Instead, such errors are now silently logged.
  - Improved error messages from the profile loader by adding some information about the affected display for easier troubleshooting of multi-display configurations.
  - Windows: Profile installation: When a system-wide autostart entry for the calibration loader already exists, do not create a per-user entry.
  - Linux: The autopackage can now be installed just for the current user. Note this will not setup instrument access though, as that requires root privileges.

  #### Added in this release:

  - Save the device model and manufacturer description to measurement data (.ti3) files and use that information when creating a profile.
  - Log all output from the profile loader.
  - Ability to just measure a testchart and create a measurement data file (menu “Options”, “Measure testchart”).
  - Approximate gamma for grayscales is shown in profile verification reports.
  - Build system: Added `--skip-postinstall` option.
2010-09-19 17:53 (UTC) 0.6.2.2

  ### 0.6.2.2

  #### Fixed in this release:

  - Trying to verify or view curves of a (non-Argyll) profile with a 'formula' type vcgt tag no longer fails with a 'NameError'.
  - When the measurement window was moved to the leftmost and/or topmost coordinates of the screen, the calculated relative position could become negative and prevent starting measurements.
  - Trying to profile a display which provides an empty model description via EDID no longer fails.
  - Profile name placeholder %im (instrument measurement mode) now inserts the correct string.
  - Profiling did not finish if “Show actual calibration curves from video card gamma table” was checked and the curves window shown.
  - Fixed black point correction rate not being restored correctly when loading settings.
  - Fixed conversion of the color temperature to xy chromaticity coordinates (the input fields in the GUI) which was erroneously being calculated with the formula for daylight even if a blackbody locus was chosen.
  - Fixed assumed whitepoint in profile verification reports erroneously being calculated with the formula for daylight even if a blackbody locus was originally chosen when creating the profile.
  - Fixed profile verification reports not working in Internet Explorer 5.x-6.0 and Opera 7.x.
  - Fixed profile verification reports showing “missing data” for some fields if using the Fogra Media Wedge V3 criteria and the reference file contained both XYZ and Lab data.
  - Mac OS X: A double extension (.icc.icm) is no longer added when creating a profile from an existing one (menu “Options”, “Create profile from measurement data...”).

  #### Changed in this release:

  - When loading settings from calibration (.cal) files, the actual parameters chosen when calibrating are now set instead of stored measured values (e.g. whitepoint, black- and white level. Will only work for .cal files created in this version and up).
  - “Allow skipping of spectrometer self-calibration” (in the “Options” menu) for characterization readings after calibration is now disabled by default to help sensor stability (especially for the ColorMunki).
  - Black point correction rate now uses a floating-point control with the range 0.05...20.0 (consistent with the ArgyllCMS dispcal commandline tool) instead of the previous integer control with the range 5...2000.
  - The default evaluation criteria for RGB testcharts in profile verification reports is now RGB only.
  - The default Delta E formula used for results in profile verification reports is now Delta E 2000 (except for standardised criteria like the Fogra Media Wedge V3).
  - Additional statistics in profile verification reports are now hidden by default.
  - Selecting “CMYK” or “RGB” in profile verification reports now actually makes a difference (shows the corresponding device values in the overview).
  - “Evaluate gray balance through calibration only” in profile verification reports is now disabled by default.
  - Windows: Installing a profile system-wide removes an existing user autostart entry for the profile loader to avoid having two entries.
  - Windows: EDID info will be used if available instead of generic device strings ('PnP-Monitor' et al).

  #### Added in this release:

  - Ability to enable ArgyllCMS diagnostic (debugging) output for measurements via menu “Options”.
  - Option to choose blackbody whitepoint reference instead of daylight in profile verification reports.
  - Original profile whitepoint is now shown in profile verification reports.
  - Instrument black level and display white level drift compensation options when using ArgyllCMS >= 1.3.0
  - Ability to choose a correction matrix for colorimeters when using ArgyllCMS >= 1.3.0
  - Allow setting of additional commandline arguments for dispcal, dispread, spotread and colprof via a new menu item in the “Options” menu.
  - IDEAlliance Control Strip 2009 aim values for profile verification with CMYK test charts.
  - Profile verification report shows instrument measurement mode and correction matrix (if any).
  - Menu option to update existing profile verification reports with the current templates.
2010-08-01 03:19 (UTC) 0.5.8.1

  ### 0.5.8.1

  #### Fixed in this release:

  - ArgyllCMS 1.2.0 compatibility
2010-07-25 13:19 (UTC) 0.5.8.0

  ### 0.5.8.0

  #### Fixed in this release:

  - The timeout of 10 seconds for the startup of Argyll tools and instrument initialization was too short for some instruments and is now increased to 30 seconds. If the timeout is ever exceeded, ${APPNAME} should now also abort automatically and no longer hang.
  - When previewing the calibration upon profile installation, use a linear calibration if no display profile is present when toggling the preview on and off (fixes the curve viewer not updating).
  - Fixed closing the log window not re-enabling the “show log automatically” menuitem.
  - Linux (Autopackage install): Fixed menu entry sometimes disappearing permanently after logging out under GNOME.
  - Linux: Fixed ${APPNAME} not working if libX11 or libXrandr do not expose certain functions (e.g. under Mandriva 2009).
  - Linux: Fixed not being able to install a profile using GNOME Color Manager when the profile was not writable.
  - Linux: Fixed not being able to install a profile using Oyranos when the profile was not located in ~/.color/icc/devices/display.
  - Linux/Mac OS X: Saving a log file from the log window now works correctly.
  - Mac OS X: The terminal should no longer lose its focus when the measurement area is shown. This should also make the mouse cursor reappear which is otherwise hidden by dispcal/dispread.
  - Mac OS X 10.6: The current display profile should now be determined correctly (e.g. for the curve viewer) when loading its calibration curves or selecting the “<Current>” settings.
  - Windows (installer): An unused console window is no longer shown when launching ${APPNAME} via the installed shortcuts.
  - Windows: Fixed executable not working under Windows 2000.

  #### Changed in this release:

  - Do not pass through the “hit any key to retry” message from ArgyllCMS tools to the progress dialog in case of misreads/port communication problems (retries happen automatically, so there is no need and also no possibility for keyboard interaction).
  - Enabling the Spyder 2 is now less cumbersome if the original installation CD is not available (especially on Mac OS X, where the firmware couldn't be found if a recent version of the Spyder 2 software was installed) and should work with the downloadable Spyder 2 software installers (but they need to be run to install the software first because the firmware can't be extracted from the installer binaries directly). Messages are now hopefully more informative to give a better idea of what to do. If the firmware can't be extracted from the Spyder 2 software installer, you are asked to install the software and try again. If that can't be done because of platform incompatibility (Linux), the last choice is to locate the Spyder.lib/CVSpyder.dll file manually (it must be copied from a Mac OS X or Windows system in that case).
  - Linux: Allow installation of profiles using GNOME Color Manager even if XRandR is not working/available.
  - Linux: Installation now checks for existing udev rules/hotplug scripts for instruments and only installs its own rules if none exist yet.
  - Linux/Windows: The profile loader will now show a warning dialog if a profile couldn't be loaded.
  - Linux/Windows: Device model and manufacturer are added to profiles if EDID[10] info is available.

  + Numerous other small fixes and changes.

2010-06-29 19:23 (UTC) 0.4.9.2

  ### 0.4.9.2

  #### Fixed in this release:

  - Spectrometer sensor calibration sometimes accidentally occured when the instrument was still attached to the screen, leading to erroneous subsequent readings.
  - Immediately close a profile after reading to avoid locking it (fixes not being able to delete files from within the GUI).
  - Fixed quirks in “update calibration” and “update profile” operation.
  - The system-wide installation option in the profile install dialog is no longer hidden just because a profile has no embedded calibration curves (vcgt tag).
  - If the calibration curves of the current display profile couldn't be loaded for some reason (broken video card gamma table access, or no profile set), the curve viewer was not yet shown, and then a profile under “Settings” was selected, and then deleted, and then the curve viewer called up, an unhandled exception was raised.
  - Fixed ambient measurement via the “Measure” buttons timing out with the ColorMunki and various error handling issues regardless of instrument which could lead to an un-cancelable, forever looping progress bar.
  - Fixed ambient color temperature measurement via the “Measure” button not updating the kelvin field if selected.
  - Linux (only if the detected filesystem encoding is not UTF-8), Mac OS X and Windows: When installing a profile with “special” characters in the filename (everything not representable as 7-bit ASCII), it is now given an unique name containing the display number and MD5 hash, which fixes a few problems with filename encoding under Linux and Mac OS (under Linux the profile couldn't be successfully installed, under Mac OS X system-wide installation partly broke). This also fixes an issue under Windows where a profile whose name starts with the same first few characters (but has not the same name) as an already existing file in the system profile directory could accidentally overwrite that file, because I had not considered that filenames returned by win32api.GetShortPathName are only unique for the directory where a given file resides—and upon installation, that is the profile storage directory, not the system profile directory.
  - Linux, Mac OS X: When installing a profile, interaction with the curves window works now while the installation dialog is shown.
  - Windows (standalone executable): Fixed ambient measurement via the “Measure” buttons reproducably hanging (regardless of instrument) if the MS Visual C++ 2008 Redistributable Package (x86) was not installed.

  #### Added in this release:

  - Linux: Oyranos support. If it is available, profiles are imported to the Oyranos database using `oyranos-monitor` upon installation, and an appropriate autostart entry is created to load calibration curves and setup the X _ICC_PROFILE atoms on login.
  - Linux: Rudimentary support for GNOME Color Manager. If it is available and XRandR is working, profiles are imported to GCM upon installation. Any calibration loaders created previously by ${APPNAME} will be removed (except the possible `oyranos-monitor` entry). You then still have to manually assign the profile to a display in the GCM preferences by selecting it and then choosing the profile from the dropdown menu (in the future, this process will be made obsolete by using GCM library functions). Loading of calibration curves and setting up the X _ICC_PROFILE atom and XRandR output properties is then handled by GCM.
  - Menu option to automatically show the log window after certain operations (measurements, profile creation).

  #### Changed in this release:

  - The terminal window is now only shown when required (e.g. keyboard interaction during interactive display adjustment). Also, the terminal used is no longer an external application, but a minimal emulator that just passes keyboard input to the ArgyllCMS tools.
  - All measurements which do not require keyboard interaction with ArgyllCMS tools now show a progress dialog with the option to cancel the measurements. All output that was previously visible through the terminal is still available via the log window (“Tools” menu) and -file.
  - Always load calibration curves before installing a profile, even if the profile has no vcgt tag (resets calibration to linear).
  - Automatically scroll to bottom when messages are added to the log window.
  - Store calibration and profiling settings in extra sections inside the TI3 file instead of the profile copyright tag. Use “generic” copyright information (“Created with ${APPNAME} `<version>` and ArgyllCMS `<version>`”), overridable by adding a line `copyright = My copyright information` in ${APPNAME}'s configuration file.
  - Made sure that only 7-bit ASCII gets written to a profile's copyright, ASCII description, and ASCII device model description. ICC v2 Unicode and Mac ScriptCode descriptions are now also written by default.
  - Presets default to high profile quality.
  - Remember visible state of curves, log window and testchart editor.
  - Updated french translation (thanks).
  - Linux: Unattended calibration & profiling no longer depends on xautomation.
  - Linux: EDID[10] is now used (if available) when generating descriptive identifiers for displays.
  - Linux: When determining a display's associated profile, check XrandR _ICC_PROFILE output properties first if available.
  - Linux: The option to install a profile system-wide is not offered if using GNOME Color Manager to install profiles (GCM has its own way to set profiles as system default).
  - Linux (only when GCM is not installed or XRandR is not working), Mac OS X, Windows: Installing a profile system-wide now also sets it as default for the current user.
  - Windows Vista and later: The option to install a profile system-wide is no longer offered if using ArgyllCMS <= 1.1.1 (system scope in Argyll releases up to 1.1.1 acts like user scope on those systems).

  + Numerous other small fixes and changes. There is now also a mailing list for discussion and support as well as announcements (see at the top of this document).

2010-05-07 22:36 (UTC) 0.3.9.9

  ### 0.3.9.9

  #### Fixed in this release:

  - Fixed unreliable (hanging occasionally) profile install when using system scope under Linux and Mac OS X (regression of a change in SVN r391 / 0.3.9.3).
  - Fixed ICC profile truncation if actual tag data is not in the same order as the tag table (regression of a change in SVN r274 / 0.3.0.7. Argyll profiles were not affected).
  - Fixed potential invalid profile name being generated if some unicode characters can't be conveyed in the file system encoding (Windows, Linux).
  - Fixed possible backslash in profile name due to wrong escaping when replacing invalid characters.
  - Fixed support for codepages 65000 (UTF-7) and 65001 (UTF-8) in the main application under Windows. This is actually a fix for shortcomings of Python.
2010-05-03 18:45 (UTC) 0.3.9.3

  ### 0.3.9.3

  #### Added in this release:

  - Show percentage and amount of tone values per channel (+ grayscales) for calibration curves in the curve viewer and profile verification reports.
  - Profile verification: Enabled gray balance evaluation for all RGB charts containing grayscales (R=G=B). Added option to verify graybalance through calibration only (sets the target L* of each grayscale patch to the measured L* and target a*=b*=0).
  - Added documentation for the interactive display adjustment part of calibration.
  - Added further documentation of the profile verification feature with detailed information about underlying technical aspects.

  #### Fixed in this release:

  - Fixed an unicode error after creating a profile verification report in a path containing unicode characters and a few other unrelated (potential) unicode errors.
  - Fixed potential unhandled exception if a JSON language file is malformed.
  - Fixed unhandled exception (local variable referenced before assignment) if trying to view calibration curves of an output with no video card gamma table access.
  - Fixed rare unhandled exception (local variable referenced before assignment) if logfile couldn't be renamed or removed during rollover.
  - Fail more gracefully (omit traceback from error message) if temp directory couldn't be created.
  - Fixed handling of XDG_CONFIG_DIRS and the system-wide autostart directory if the preferred configuration directory does not exist under Linux when installing a profile in local system scope, which prevented the system-wide autostart entry to be created.
  - Correctly determine system display profile under Windows Vista and 7 if no user profile is set. Fall back to sRGB if no display profile is set.

  #### Changed in this release:

  - Changed default gamma from 2.4 to 2.2 in an attempt to increase the amount of available gamma table tone values after calibration for LCD screens, which often have a native response that is closer to a gamma of 2.2 than 2.4.
  - Changed default profile type to single curve + matrix.
  - Profile verification: Only evaluate grayscales (R=G=B) if their luminance is atleast 1% of the white luminance. Also evaluate combined Δa and Δb range.
  - Moved instrument feature details to separate JSON configuration file.
  - Made compatible with wxPython 2.8.6.0.
2010-03-31 15:24 (UTC) 0.3.8.0

  ### 0.3.8.0

  #### Added in this release:

  - “Very large” testchart with 912 patches.
  - Profile verification: Support (non-Argyll) profiles which use chromatic adaption.

  #### Fixed in this release:

  - Improved error message when Argyll binaries are not found (only files not found are now shown, together with alternatives). Automatically fall back to xicclu if icclu is not found (eg. Ubuntu's Argyll 1.0.3 package doesn't contain icclu).
  - Fixed 'invalid syntax' error when running under Python 2.5.
  - Profile verification report: Fixed a parsing error when reference or measurement data contained numbers in exponential notation.
  - Linux: Unhandled exception if DISPLAY environment variable is in the format `[host]:displaynumber` instead of `[host]:displaynumber.screennumber` (eg. `:0` instead of `:0.0`).
  - Mac OS X: Fixed values entered in combo boxes not updating the configuration correctly under some circumstances.

  #### Changed in this release:

  - Profile verification: Lookup device values relative colorimetrically and adapt the measured values to D50 before comparison (using Bradford matrix), so that the measured whitepoint corresponds to L*a*b* 100 0 0. Please note that verification results obtained with reference files measured in earlier versions of ${APPNAME} should not be compared to those obtained via this new approach if the display whitepoint is not D50, as the results are likely to be different as an effect of the relative lookup and the chromatic adaption.
  - Profile verification: Improved support for non-Argyll CGATS text files. Handling is as follows:
    - If the file contains RGB_R RGB_G RGB_B fields, it is handled like a Argyll *.ti1 (testchart) file—any XYZ or Lab data is ignored and the RGB numbers are sent to the display and measured. Afterwards, the measured values are compared to the expected values, which are obtained by sending the RGB numbers through the profile. If RGB values above 100 are found, a range of 0-255 is assumed. Otherwise, a range of 0-100 (like Argyll *.ti1) is assumed.
    - If the file doesn't contain RGB_R RGB_G RGB_B fields, but XYZ_X XYZ_Y XYZ_Z or LAB_L LAB_A LAB_B, it is handled like a Argyll measurement data (*.ti3) file—the values are used to lookup corresponding RGB numbers through the profile and these are then sent to the display and measured. Afterwards, the measured values are compared to the original XYZ or Lab values.
  - Profile verification report: Show measured whitepoint and assumed target color temperature (based on closest daylight temperature), and use them to calculate the Delta E for the whitepoint. A few performance improvements when processing large datasets with several hundred or thousand measurements.
  - GUI and ReadMe: Changed all occurences of the term “LUT curves” to “calibration curves” and also changed all occurences of the term “video LUT” to “video card gamma table” to better distinguish from “LUT profile”. Also renamed the “LUT viewer” to curve viewer as a more accurate description of its functionality.
2010-03-17 18:50 (UTC) 0.3.6.4

  ### 0.3.6.4

  #### Added in this release:

  - Profile verification: CGATS-compatible text files (*.txt) containing measurement data can now be selected in addition to Argyll testchart (*.ti1) and measurement data (*.ti3) files.
  - Profile verification report: Depending on the chart used, you can now choose among different evaluation criteria from within the report. Also added Fogra Media Wedge V3 tolerance values for CMYK testcharts.

  #### Fixed in this release:

  - Profile verification: Error 'Unknown color representation Lab' when trying to verify a L*a*b* LUT profile.
  - Profile verification: Wrong XYZ scaling when reading from *.ti3 files containing XYZ, but no L*a*b* values.
  - Profile verification: When measuring a display other than the first one, the calibration curves were erroneously still loaded to the 1st display.

  #### Changed in this release:

  - Profile verification report: Show nominal and actual measured values as L*a*b* instead of XYZ. Reduced visible decimals in report to increase readability.
  - Split the cramped “Extra” menu into “Options” and “Tools”.
2010-03-13 06:31 (UTC) 0.3.6.2

  ### 0.3.6.2

  #### Added in this release:

  - Profile verification by measurements. Argyll testchart (*.ti1) and measurement data (*.ti3) files can be measured.

  #### Fixed in this release:

  - Testchart editor: Do not automatically select a saved testchart (regression of a change in 0.3.3.5). Do not show empty rows when creating a testchart using an algorythm that does not create the expected number of rows.
  - Bumped wxPython version check to 2.8.8.0 so a proper error message is displayed if wxPython is too old.
  - Linux: When using TwinView or Xinerama, the size of the measurement window was sometimes not correct.
  - Linux: Failure in get_argyll_version if Argyll utilities have alternate names (eg. argyll-targen instead of targen), which could prevent being able to open the testchart editor (regression of a change in 0.3.3.5).
  - Mac OS X 10.4: Fall back to ColorSyncScripting if Image Events does not return a display profile.

  #### Changed in this release:

  - Linux: Info window no longer stays always on top.
  - Linux: When getting the current profile for a display, also look at the _ICC_DEVICE_PROFILE atom (see draft ICC Profiles in X Specification 0.4).
2010-03-02 20:12 (UTC) 0.3.3.6

  ### 0.3.3.6

  #### Fixed in this release:

  - Linux/Mac OS X: 'tcgetattr failed' when trying to calibrate or profile.

  #### Changed in this release:

  - Linux: Updated udev rules.
2010-03-01 06:27 (UTC) 0.3.3.5

  ### 0.3.3.5

  #### Added in this release:

  - Capability to set whitepoint or ambient light level for viewing condition adjustment by measuring ambient light.
  - Profile name %tpa placeholder (test patch amount).
  - Documentation for ambient light level viewing conditions adjustment, advanced profiling options (gamut mapping) and testchart editor in the ReadMe. Also a few additions to the existing whitepoint/white level and tone curve documentation (mostly taken from the ArgyllCMS documentation).
  - Two entries to the known issues & solutions section in the ReadMe (swapped colors and Photoshop “Monitor profile appears to be defective”).

  #### Changed in this release:

  - New improved testcharts and presets, with lower patch counts: 12 patches default for gamma+matrix profiles, 48 patches default for curves+matrix profiles (former chart had 91 patches), 124 patches default for LUT profiles which should actually be usable this time around when coupled with a profile quality setting of “high”, unlike its predecessor with 127 patches which yielded mediocre results at best (but for increased accuracy, the new 238-patch “extended” testchart is recommended). 396 and 2386-patch charts (the new “large” and “massive” quantity) are also included.
  - Default to high profile quality (and force for gamma+matrix profiles, as there is no processing penalty like for curves+matrix or LUT profiles).
  - Removed limit for remembered settings files.
  - When calibration or profiling measurements fail, first show the main application window, then the error message (small dialog boxes are sometimes hard to spot on big screens if the application context is missing).
  - Moved profile quality, type and advanced settings above testchart selector (this order is more logical, as profile quality and type influences testchart selection).
  - Testchart editor: Default to adaption of 10% for testchart creation using optimized farthest point sampling (OFPS). Support both device and L*a*b* diagnostic VRML files when creating testcharts using Argyll >= 1.1.0. No longer calculate the amount of white/gray/single color patches or multidimensional cube steps if info is missing in testchart file (calculations take way too long for little added benefit).
  - Cleaned up the known issues & solutions section in the ReadMe.

  #### Fixed in this release:

  - Wrong value for adaption settings in testchart editor being stored.
  - Linux (cosmetic): Incorrect special characters in console window when using non-english locale under certain configurations (regression of a change introduced in 0.3.0.7).
  - Non-critical: File information in Argyll CGATS TI1 to TI3 conversion.
  - Testchart editor: Do not allow overwriting of predefined testcharts when saving. Correctly remember last used filename when “saving as...”.
  - Log window: Correctly remember last used filename when saving.
  - Typo in the ReadMe (the second “Report on calibrated display device” entry under “Menu commands” should have been “Report on uncalibrated display device”).
2010-02-17 15:53 (UTC) 0.3.1.0

  ### 0.3.1.0

  #### Fixed in this release:

  - Running “Calibrate & profile” several times in succession no longer fails on the 2nd and subsequent runs.
  - Linux: Missing wxPython version check for the measurement window subprocess.
2010-02-15 17:27 (UTC) 0.3.0.9

  ### 0.3.0.9

  #### Added in this release:

  - Test chart editor: Support for Argyll 1.1.0 perceptual space-filling quasi-random test patch distribution.
2010-02-13 16:36 (UTC) 0.3.0.8

  ### 0.3.0.8

  #### Fixed in this release:

  - #2951168 Windows: Critical bug with win32 API calls to get the display name returning 8-bit characters where only ASCII was expected.
2010-02-12 20:13 (UTC) 0.3.0.7

  ### 0.3.0.7

  #### Added in this release:

  - Support for Argyll >= 1.1.0 adaptive emissive measurement mode with the i1 Pro spectrometer.
  - All of Argyll's profile types are now available (XYZ LUT on Windows only if using Argyll >= 1.1.0).
  - Support for “very low” calibration quality.
  - Optionally create a fast matrix/shaper profile when just calibrating.
  - “Reset video card gamma table” checkbox in the dialog shown when just profiling.
  - Information how to install Argyll >= 1.1.0 USB drivers on Windows Vista/7 64-bit to the “known issues and solutions” section in the ReadMe.
  - ReadMe, license, bug tracker and support forum can now be accessed from the “Help” menu.
  - “Check for update...” in the help menu (launches a web browser and displays the ${APPNAME} homepage if a new version is found).
  - Curve viewer: Capability to show the actual curves from the video card.
  - Curve viewer: Capability to show a matrix profile's rTRC/gTRC/bTRC curves.

  #### Changed in this release:

  - When restoring defaults, selected display/instrument/measurement mode, language and profile name are retained.
  - The display/instrument selector is only enabled if more than one device detected respectively.
  - Changed i1 Pro highres measurement mode from implicit to user choice.
  - Gamut mapping: When selecting a source profile, pre-select a source viewing condition based on profile class (monitor or printer).
  - Updated defaults and presets to Argyll 1.1.0 values (i.e. black output offset).
  - Short display name placeholder (%dns) for profile name should not yield single numbers or model name without model number any more (or atleast less likely).
  - Log messages from most informational and all error dialogs.
  - Show file paths in most dialogs involving file processing.
  - Documentation in the ReadMe has been updated and is now more or less complete for the main application (testchart editor docs are still to be done). Setup instructions have also been streamlined.
  - Moved information how to fix video card gamma table access under Linux/X11 to the “known issues and solutions” section in the ReadMe.
  - Linux: Updated udev rules to those provided with Argyll 1.1.0. Removed obsolete permissions and policy files.
  - Linux: In multi-display setups using separate X screens, it should no longer be necessary to launch ${APPNAME} on the display you want to measure.
  - Windows: Get names of displays via additional Windows API calls (should yield more descriptive names than “DISPLAY1”, “DISPLAY2” etc.)
  - Windows (cosmetic): Use default command prompt text color, and a darker variant only when doing measurements.
  - ${APPNAME} version now corresponds to SVN revision number, split into its digit components. Build system (setup.py) uses SVN to generate version information.

  #### Fixed in this release:

  - Curve viewer: When no display is selected (i.e. when Argyll binaries are not found), it will now try to show the vcgt of the 1st display's profile.
  - Curve viewer: When hiding the viewer and loading different calibration curves, those changes were not reflected when showing the viewer again.
  - Curve viewer: If a profile does not contain a 'vcgt' tag, clear canvas and disable R/G/B checkboxes.
  - Selection of display used for video card gamma table access not working correctly.
  - Loading of calibration upon initial preview in profile installation dialog if profile does not contain ${APPNAME} settings.
  - Do not show failure message if user cancels profile installation via the password dialog when installing in system scope.
  - In some cases, values read from the configuration file were not correctly validated (would only show with deliberately altered or broken config file).
  - colprof output is no longer swallowed when creating a matrix profile with Argyll versions <= 1.0.4.
  - Linux: Fall back to ASCII if detected encoding is not UTF-8 to fix profile install issues.
  - Linux/Mac OS X: Enabling the Spyder 2 colorimeter might need elevated privileges.
  - Linux/Mac OS X: When installing a profile in local system scope, the necessary password was not accepted under newer Linux distros and also Mac OS X > 10.4.11
  - Mac OS X (cosmetic): Suppress spurious AppleScript messages.
  - Windows: Get display profile via registry instead of Windows API because the latter does not reflect runtime changes to profile associations (you still need to refresh the curve viewer when changing profile associations outside of ${APPNAME} while it is running).

  #### Known issues in this release:

  - Linux: You can't interact with the drop-down menu or the checkboxes in the curve viewer while a profile installation dialog is shown.
2009-07-16
  - Fixed a glitch in the Linux Autopackage installer where it would install even if required libraries were missing.
2009-06-30 0.2.6b3 (SVN r239)
  - fix (Windows): Fixed a critical bug in the Windows codepath which tried to access non-existent paths when certain settings were used.
2009-06-26 0.2.6b2
  - fix: Only look at <major>.<minor> during the Python version check (fixes a critical error on Ubuntu 9.10 Beta, where the Python revision number has an unexpected value).
  - fix: The curve viewer is now also able to plot calibration curves from *.cal files.
  - fix (Linux): If launched on an X display which is not the first display, the measurement window's location no longer determines the display which is used for measurements. This allows non-Xinerama multiscreen configurations to work with ${APPNAME}. Note: You need to launch ${APPNAME} on the display you want to measure, e.g. ``DISPLAY=:0.1 ${APPNAME}``.
  - fix (Linux): Get the profile from the correct display when loading a display's calibration curves into the curve viewer.
  - fix (Linux, cosmetic): Suppress CUPS warnings encountered on some systems when using the curve viewer.
  - fix (Mac OS X): Do not offer 'Network' scope during profile installation if `/Network/Library/ColorSync/Profiles` does not exist.
  - fix (Windows, cosmetic): Made sure the message "Debug: src/helpers.cpp(140): 'CreateActCtx' failed with error 0x0000007b (the filename, directory name, or volume label syntax is incorrect.)" is not shown when launching the standalone Windows executable, by changing the way *.pyd files are bundled (they are now copied to the executable's directory and are no longer part of the executable itself).
  - chg: The curve viewer resets to linear if a display without associated profile is selected.
2009-06-22 0.2.6b
  - fix: calibration preview checkbox in the “install profile” dialog should now correctly toggle between previous and new calibration.
  - fix: profiling failed when creating a profile on top of an existing calibration.
  - fix: correctly decode environment variables (should fix a failure when trying to create a profile and the username contains non-ASCII characters).
  - fix: automatic restoration of defaults before loading settings from a profile or cal file should no longer restore “do not show again” dialogs.
  - fix (Windows): several errors related to character encoding.
  - chg: unattended calibration and profiling: wait 10 seconds instead of 5 after calibration before trying to start profiling measurements (some instruments seem to need longer to initialize than others, e.g. Spyder 2).
  - chg (Python packages and source): instead of requiring wxPython 2.8.x specifically, only ensure a minimal version of 2.8.
  - add: Curve viewer.
2009-06-11 21:33 (UTC)
  - Added Linux Autopackage download.
  - Renamed 55-Argyll.rules to 92-Argyll.rules, so it can work on Debian too.
  - Removed “Creating a standalone executable from source” section from the ReadMe (the topic is still handled under “Installing from source” / “Additional setup.py commands”).
2009-06-07 0.2.5b4
  - fix: “TypeError: coercing to Unicode: need string or buffer, instance found” when calling any of the get*Description() methods of an ICCProfile instance, which caused profile creation from existing profile to fail.
  - fix: (Windows Vista) application exit on launch if autostart directory did not exist.
  - fix: (source, Debian and RPM packages) use the correct wxPython version
  - fix: tab-key traversal of calibration settings controls.
  - fix: automatically scroll into view focused calibration settings controls if scrollbars are shown.
  - fix: properly clean & remove temporary directory.
  - fix: (cosmetic) added some padding to calibration settings right-hand side so scrollbar won't overlap if shown.
  - chg: (cosmetic) enable auto-sizing (fit to contents) for colortemp locus, trc type and profile type selectors.
  - chg: (cosmetic) do not show vendor name in instrument select dropdown (conserve some space).
  - chg: (cosmetic) made the instrument selector a little narrower (needs less space now to display instrument name because the vendor name is stripped) and the measure mode selector a bit wider (to accommodate for projector mode).
  - chg: only try to re-start within terminal if running as standalone executable.
  - chg: show application restart request in the chosen language after changing it.
  - chg: allow resizing/maximizing of main window (a minimal size is forced to prevent layout glitches).
  - chg: (Linux) install from source or package will try to automatically setup access to your instrument. Some services (PolicyKit/HAL or udev) may need to be restarted to get the updated configuration recognized. If in doubt, a reboot should work in all cases.
  - add: french translation (by Loïc Guégant, thanks!)
  - add: bdist_deb command and --cfg option for setup.py
2009-05-16 0.2.5b3
  - Fixed calibration loader autostart entry creation (“access denied” error) under Windows Vista and later with User Account Control enabled.
2009-05-07 0.2.5b2
  - Fixed “error: nothing to repeat” when using a spectrometer.
2009-05-05 0.2.5b
  - fix: encoding-related issues on all platforms and strange Unicode-related problems with AppleScript and Terminal on Mac OS X 10.4 (Details).
    Prerequisites to reproduce Unicode-related issues under Mac OS X 10.4: Terminal closed, or with atleast one window opened. Script inside an AppleScript bundle, the bundle filename contains UTF-8 characters. “main.command” (executable shell script) inside Contents/Resources subfolder of the bundle.
    Not working (messagebox “Resource not found”):

        tell application "Terminal"
            activate
            do script quoted form of (POSIX path of (path to resource "main.command"))
        end tell

    Not working (messagebox “Resource not found”):

        tell application "Terminal"
            activate
            do script quoted form of (POSIX path of (path to resource "main.command")) in first window
        end tell

    Not working (message “No such file or directory” printed to Terminal window):

        set shellscript to quoted form of (POSIX path of (path to resource "main.command"))
        tell application "Terminal"
            activate
            do script shellscript
        end tell

    Working:

        set shellscript to quoted form of (POSIX path of (path to resource "main.command"))
        tell application "Terminal"
            activate
            do script shellscript in first window
        end tell

  - fix: (Windows) several actions unexpectedly failing under Windows 7 (${APPNAME} created temporary files via system calls on several occasions, but on Windows, this does not create the file in the user's temp directory as one would expect, but in the ROOT directory e.g. C:\—a sane method is now being used instead).
  - fix: bug in sorting function caused leading and trailing zeroes of numbers in testchart filenames to get lost, thus failing to load such files.
  - fix: (Linux) “No module named _md5” error with the standalone executable on some Linux distros (apparently an OpenSSL-related issue, because normally it wouldn't fall back to the legacy _md5 module which is not even built by default in recent Python versions). The fallback _md5 module is now included.
  - fix: calibration was not automatically added & selected in the dropdown menu when only calibrating.
  - fix: dropping a profile which was not created in ${APPNAME} onto the application window no longer results in an unhandled error.
  - fix: when trying to load calibration curves from a profile which actually does not contain any, an error message is now shown instead of resetting the video card gamma table to linear and erroneously stating the curves were succesfully loaded.
  - fix: add display device name as device model description when profiling.
  - fix: when creating a new profile from an existing profile, use that profile's device model description if present.
  - fix: also create .app/.sh/.cmd files when creating a new profile from existing measurement data.
  - fix: restore advanced gamut mapping options to default if selecting a profile which does not contain those settings.
  - fix: allow free selection of source and target viewing conditions in advanced gamut mapping options for LUT[7] profiles regardless of source profile type.
  - fix: if the screen or instrument that was selected in a previous session is not available, select an available one.
  - fix: (Mac) the “enable spyder 2” menu item would not allow to select files other than “setup.exe”.
  - fix: [src] (Mac) if ${APPNAME} was installed as application and then run from (separate) source, multiple copies were launched at certain occasions.
  - fix: selecting a different Argyll binary directory than the previous one now actually works.
  - chg: the previously empty entry at the top of the settings dropdown (settings which are not associated to a profile or .cal file) is now named “<current settings>”.
  - chg: changed settings which are associated to a profile or .cal file are now marked with a leading asterisk in the settings dropdown.
  - chg: default to a gamma of 2.4 (Argyll default).
  - chg: warn before changed settings are discarded.
  - chg: new default profile naming scheme.
  - chg: new default file locations on all platforms.
    - On Linux, ${APPNAME} now adheres to the XDG Base Directory Specification—the configuration file is saved as `$XDG_CONFIG_HOME/${APPNAME}/${APPNAME}.ini` ($XDG_CONFIG_HOME defaults to ~/.config if not set), all files created during calibration/profiling go into `$XDG_DATA_HOME/${APPNAME}/storage/` ($XDG_DATA_HOME defaults to ~/.local/share if not set) by default, and logfiles into `$XDG_DATA_HOME/${APPNAME}/logs/`
    Any old (pre v0.2.5b) configuration data is retained in the file `~/.${APPNAME}` and may be safely deleted after using v0.2.5b or newer for the first time.
    - On Mac OS, the configuration is saved as `~/Library/Preferences/${APPNAME}/${APPNAME}.ini`, all files created during calibration/profiling go into `~/Library/Application Support/${APPNAME}/storage/` by default, and logfiles into `~/Library/Logs/${APPNAME}/`
    Any old (pre v0.2.5b) configuration data is retained in the file `~/Library/Preferences/${APPNAME} Preferences` and may be safely deleted after using v0.2.5b or newer for the first time.
    - On Windows, the configuration file is saved as `%APPDATA%\${APPNAME}\${APPNAME}.ini`, all files created during calibration/profiling go into `%APPDATA%\${APPNAME}\storage\` by default, and logfiles into `%APPDATA%\${APPNAME}\logs\`
    Any old (pre v0.2.5b) configuration data is retained in the registry key `HKEY_CURRENT_USER\Software\${APPNAME}`.
  - chg: [build/src] (Windows) removed MS Visual C++ 2008 Redistributable DLLs from the source package. Users who build under Windows will have them anyway as they are installed with Python 2.6, so they are now copied directly from %SystemRoot%\WinSxS (Windows side-by-side assemblies) if possible.
  - chg: [build/src] SendKeys is now a dependency on Windows when running or building from source.
  - chg: [build/src] made ${APPNAME} a distutils package, so it can be built/installed via setup.py.
  - chg: default locations are now also searched for resource files (`$XDG_DATA_HOME/${APPNAME}`, `$XDG_DATA_DIRS/${APPNAME}` on Linux, `~/Library/Application Support/${APPNAME}`, `/Library/Application Support/${APPNAME}` on Mac OS X, `%APPDATA%\${APPNAME}`, `%COMMONAPPDATA%\${APPNAME}` and `%COMMONPROGRAMFILES%\${APPNAME}` on Windows) in addition to the current working directory (which is always searched first if it differs from the executable directory) and the executable directory (which is always searched last).
  - chg: better error handling. For unhandled exceptions, a message box is shown and an entry is written to the logfile.
  - chg: (Linux) the calibration loader will no longer try and handle gnome-screensaver quirks—it was working too unreliably, and should really be fixed in gnome-screensaver. The current recommendation is to not use a screensaver at all if possible, and instead rely on the system's energy saving options.
  - chg: (Linux) there's no longer an installer for the Linux version.
  - chg: cancelling of certain operations like profile calculation and testchart generation is now also supported when using Python 2.5
  - chg: when searching for Argyll executables, also search for files with “argyll-” prefix or “-argyll” suffix (thanks to Mark Whitis for report).
  - chg: disable measurement mode selection when using a spectrometer.
  - add: logging (also see the change related to file-storage). Logfiles are created per-date. A maximum of 5 old ones is being kept as backup.
  - add: placeholders like display name, measurement device, whitepoint etc. can now be used in the profile name.
  - add: unattended calibration and profiling for some instruments, meaning it is no longer necessary to press a key after calibration to start the measurements for profiling (needs xautomation under Linux).
  - add: settings and related files can be deleted.
  - add: (Linux, Mac, Vista) profile install scope can be selected (note: local system scope install is broken with current Argyll versions under Linux).
  - add: version and translation information in the about window.
  - add: projector mode when using Argyll 1.1.0 Beta or newer with the X-Rite ColorMunki.
2009-01-01
  Linux and sourcecode bugfix update: Creation of the autostart entry failed when the autostart directory did not yet exist.
2008-12-24 0.2.1b
  - fix: video card gamma table access check always returned false when no display profile was set.
  - chg: (Linux) ${APPNAME} now uses the autostart specification from freedesktop.org for the profile loader under Linux when installing profiles. NOTE for users: This also means you should manually remove any autostarts from previous versions, e.g.
    `rm ~/.gnome2/dispwin-*.sh
    rm ~/.kde/Autostart/dispwin-*.sh`
    and then re-install your current profile so the new loader is created. The new loader will be created in $XDG_CONFIG_HOME/autostart/ (if set) or ~/.config/autostart/ (if not set), with the filename ${APPNAME}-Calibration-Loader-Display-x.desktop, where x is the display number.
  - chg: the calibration loader will check if gnome-screensaver is running and if so, exit it before loading the calibration, then start it again to prevent resetting the calibration when activated.
  - chg: .sh/.cmd file in profile folder is no longer created when just installing a profile.
  - add: message box when selecting LUT[7] as profile type with recommendation to use more samples for higher quality profiles.
  - add: default to english locale if translation doesn't exist.
2008-12-18 0.2b
  - fix: no longer possible to introduce invalid value types through a malformed config file (which could lead to ${APPNAME} not launching).
  - fix: windows can no longer be moved permanently out of the visible screen area.
  - fix: spaces and special chars in the profile name should work now (should have from the start, but I had some superfluous code which broke it).
  - fix: spaces in the path to ${APPNAME} should work now under Linux and Mac OS X too (Windows had no problem)
  - fix: measurement file no longer gets deleted after successful measurement if profile generation fails (was a simple oversight on my side).
  - fix: [cosmetic] logo header now always spans the whole width of the window.
  - fix: [cosmetic] (Mac OS X) on first launch, a second, unused, terminal window is no longer opened.
  - fix: windows will now try to adjust its height to fit on small screens (scrollbars might appear).
  - chg: “Calibration file” renamed to “Settings” and moved to the top, is now a dropdown box remembering the last 10 used files. Settings are stored in and loaded from profiles.
  - chg: renamed “Display type” to “Measurement mode” and moved over to measurement device selector.
  - chg: default to “LCD” for measurement mode.
  - chg: default testchart file names are now localized.
  - chg: new default testcharts, four flavours: matrix default (91 patches), LUT[7] default (127 patches), large (512 patches) and massive (3012 patches).
  - chg: testchart selector is now a dropdown box, shows all testchart files in chosen directory plus the default testcharts.
  - chg: [build/src] new and improved build system.
  - chg: [build/src] Python 2.6 is now the recommended version to run and/or build ${APPNAME}. Python 2.5 is still supported, but you will not be able to cancel profile or testchart creation through the GUI[4].
  - chg: (Linux) externally installed wxGTK is no longer a dependency for executables.
  - chg: [build] Executables are now completely self-contained. The following paths are searched for additional language files: `<user home directory>/${APPNAME}/lang`, `<${APPNAME} root directory>/lang`
  - add: all settings now stored in profile whenever possible.
  - add: “Install” button next to settings dropdown to install selected profile.
  - add: dropdown to choose the display to use for video card gamma table access if all of the following applies:
    - more than one display connected
    - one of those displays seems to have non-working video card gamma table access (detected on startup)
    - one of those displays seems to have working video card gamma table access (detected on startup)
  - add: show patch count of selected testchart next to dropdown.
  - add: ability to select an icc profile (if it contains appropriate data) or measurement data file (.ti3) as testchart (converted on-the-fly).
  - add: testchart generator with editing cabability (experimental)
    - to select patches, click and drag the mouse over table cells, or hold SHIFT (select range) or CTRL/CMD (add/remove single cells/rows to/from selection)
    - to add a patch, double-click a row label
    - to delete patches, select them, then hold CTRL or CMD and hit DEL or BACKSPACE (will always delete whole rows even if only single cells selected)
    - CTRL-C/CTRL-V/CTRL-A = copy/paste/select all
  - add: advanced gamut mapping options for LUT[7]-type profiles, can also be used to overcome an apparent Photoshop CS3 bug under Mac OS X where the brush cursor shows strange artifacts when using LUT[7]-profiles with only one intent (thanks to Klaus Karcher for reporting this).
  - add: ability to generate profile from existing measurement data, even from an existing profile (if it contains appropriate data).
  - add: drag and drop calibration files (.cal), profiles (.icc/.icm), testcharts (.ti1) and measurement data files (.ti3) to the main window to process/select them (does not work very reliably on Mac OS X depending on where you drop the files, and you also get no optical feedback during the drag operation like the changed mouse cursor on Linux/Windows. Your best bet when dropping any files is perhaps the unoccupied area below “Settings”).
  - add: fully movable/resizable measurement window.
  - add: profile and testchart creation can be aborted (when running from source only if using Python >= 2.6).
  - add: “Before” / “After” switch when calibration / profiling complete.
  - add: menu item to enable Spyder 2 from within ${APPNAME}.
  - add: italian and spanish GUI[4] translations (thanks contributors!)
  - Numerous other small fixes/changes.
2008-08-21
  Executable-only update for Linux (thanks to Patrice Vetsel for bug report): ${APPNAME} is now built against wxGTK 2.8.7.1, which becomes a dependency.
2008-08-18 0.1b
  First public release.

${APPNAME} © 2008-${YEAR} Florian Höch | Imprint | Privacy | Terms of Service