It's been almost 10 months since 3.9.17, and this release reflects that: 72 merged pull requests, 524 commits, and 104 closed issues worth of work, adding support for a new colorimeter, ArgyllCMS 3.5.0 compatibility, and a large batch of accumulated stability and accuracy fixes across Windows, macOS, and Linux.
Warning
In MacOS, after installing DisplayCAL you need to run the following in Terminal:
xattr -dr com.apple.quarantine /Applications/DisplayCAL✨ Highlights
- New instrument support: Datacolor Spyder2024 (SpyderX2). (#620 by @g4bri3lDev)
- ArgyllCMS 3.5.0 support, including the new spectral plot (
specplot) option. (#645 by @jaminmc) - The simplified splash screen (previously macOS-only) is now available on all platforms, fully translated. (#787 by @ethanbrookins, #791 by @eoyilmaz)
- Windows ARM64 builds (#741, #747 by @eoyilmaz) and Linux DEB/RPM installer packages (#739 by @eoyilmaz) are now available.
🚀 Improvements
- Improved Web @ localhost remote calibration: fixed freezing/retry issues, corrected color accuracy shown in the browser, and improved handling when multiple devices are connected. (#647 by @jaminmc)
- Automatic retry when a spectrophotometer's ambient light diffuser interrupts a measurement. (#733 by @eoyilmaz)
- Added a warning in the measurement report when the display's actual white point drifts noticeably from the profile's target. (#761 by @eoyilmaz)
- You can now sort the colorimeter corrections table by clicking its column headers. (#752 by @eoyilmaz)
- Sped up 3D LUT (B2A) table generation. (#781 by @eoyilmaz)
- Your saved "2012" observer settings are now migrated automatically to the "2015" naming used by ArgyllCMS 3.4+, no action needed. (#760 by @eoyilmaz)
- ArgyllCMS downloads and version checks now use a new, more reliable GitHub-hosted source. (#750 by @eoyilmaz)
🐛 Bug Fixes
🧩 General
- Fixed profiles sometimes crushing near-black shadow detail together. (#724 by @eoyilmaz)
- Fixed a startup crash some users hit right after launching the app. (#726 by @eoyilmaz)
- Fixed a spurious warning and a crash in the 3D VRML view/export. (#725, #783 by @eoyilmaz)
- Fixed profile creation failing on machines with more than 60 CPU cores/threads. (#717 by @eoyilmaz)
- Fixed corruption and an overly strict white point check that could affect XYZ LUT-based profiles. (#721 by @Youfffeng)
- Fixed duplicate "please calibrate your instrument" prompts. (#765 by @eoyilmaz)
- Fixed the app losing track of colorimeter correction measurement progress after a crash. (#767 by @eoyilmaz)
- Fixed saving the log file so it no longer gets corrupted. (#744 by @eoyilmaz)
- Fixed an error that could occur when applying calibration/profile associations. (#754 by @eoyilmaz)
- Fixed a crash when a profile's filename included the
%crc32placeholder. (#777 by @eoyilmaz) - Fixed uploading/checking colorimeter corrections online. (#789 by @eoyilmaz)
- Fixed 3D LUT settings being unexpectedly reset when creating a new profile. (#655 by @Adam-Color)
- Fixed profiles not reloading correctly after changing certain settings. (#678 by @jaminmc)
- Fixed the testchart editor grid on newer Python versions (3.10+). (#677 by @jaminmc)
- Removed excessive debug output that could slow things down. (#699 by @Adam-Color)
🪟 Windows
- Fixed build/compatibility issues on Python 3.13+, including Windows color management integration. (#646 by @jaminmc)
- Fixed the ARM64 installer refusing to install on ARM64 systems. (#747, #748 by @eoyilmaz)
- Fixed the monitor name showing as a generic "Plug and Play" device instead of its real model name. (#740 by @eoyilmaz)
- Fixed the on-screen color patch being positioned incorrectly at display scaling above 100%. (#743 by @eoyilmaz)
- Fixed gamut coverage not being displayed, caused by a file path bug. (#746 by @eoyilmaz)
- Fixed oversized "fancy" text rendering at certain scaling levels. (#755 by @DamoyY)
- Fixed a Profile Loader crash when monitors are reconnected or rearranged. (#763 by @eoyilmaz)
- HDR calibration profiles are no longer incorrectly forced while the display is in SDR mode; HDR detection is now more reliable on Windows 11 22H2+. (#766, #771 by @eoyilmaz)
- Fixed saving a profile with SMPTE 2084 (HDR PQ) roll-off causing an error. (#716 by @eoyilmaz)
🍎 macOS
- Fixed a black screen appearing during calibration on some Macs. (#723 by @eoyilmaz)
- Fixed a crash on quit on macOS Sonoma 14.6. (#681 by @eoyilmaz)
- Fixed bundled tool apps (e.g. the 3D LUT viewer) sometimes launching the wrong app. (#722 by @eoyilmaz)
- Fixed app signing so all bundled tool apps are properly signed. (#684 by @eoyilmaz)
- Fixed a crash when creating a colorimeter correction. (#732 by @eoyilmaz)
- Fixed a crash when saving the log window on certain macOS versions. (#759 by @eoyilmaz)
- Fixed display names showing as generic instead of the real monitor model on Apple Silicon Macs and macOS Tahoe. (#774 by @eoyilmaz)
🐧 Linux
- Fixed display names showing as generic "Monitor" instead of the real model name. (#762 by @eoyilmaz)
- Fixed the interactive display adjustment step hanging under Wayland. (#768 by @eoyilmaz)
- Added a clearer error message when a required wxPython system library is missing. (#745 by @eoyilmaz)
🙏 Thanks
Thanks to everyone who contributed to this release, including first-time contributors @g4bri3lDev, @jaminmc, @Youfffeng, and @DamoyY.
Full Changelog: 3.9.17...3.9.18