Releases: eoyilmaz/displaycal-py3
Release list
Nightly Builds
🌙 The nightly builds now include the Qt migration work, the future of DisplayCAL. Qt is a modern, cross-platform UI toolkit that's more capable and reliable than wx.
🧪 To try the Qt version, run DisplayCAL and go to Menu -> Options -> Advanced -> Use Qt user interface (experimental). DisplayCAL will restart in Qt mode, and the setting is remembered for future runs.
🚧 As usual, these builds track the latest development version (develop branch), including fixes on top of the latest release, and most likely a few bugs too!
Warning
🍎 On macOS, after installing DisplayCAL you need to run the following in Terminal:
xattr -dr com.apple.quarantine /Applications/DisplayCALDisplayCAL 3.9.19
A quick follow-up to 3.9.18, this release adds Linux AppImage/Flatpak packages and fixes 20 issues, mostly stability and crash fixes surfaced by users right after the last release, plus several latent Python 3 bytes/str bugs found during a code audit.
Warning
In MacOS, after installing DisplayCAL you need to run the following in Terminal:
xattr -dr com.apple.quarantine /Applications/DisplayCAL✨ Highlights
- AppImage and Flatpak packages are now built and published alongside the existing DEB/RPM installers. (#232 by @eoyilmaz)
🚀 Improvements
- DEB/RPM postinstall now prints progress instead of running silently, installs prebuilt wxPython wheels from the wxPython extras index, and pulls in the
dbus-pythonbuild dependencies, fixing installation on Ubuntu 24.04/26.04. (#805 by @eoyilmaz)
🐛 Bug Fixes
🧩 General
- Fixed
displaycal.inibecoming mangled and ballooning to gigabytes in size, eventually crashing the app from memory exhaustion. Config writes are now atomic and lock-protected, oversized config files are quarantined instead of parsed, and the config is explicitly read as UTF-8 so mismatched locale codepages can no longer corrupt it further. (#828, #828 by @eoyilmaz) - Fixed several
pip-installed console scripts (displaycal-vrml-to-x3d-converter,displaycal-scripting-client,displaycal-eecolor-to-madvr-converterand their console variants) crashing withAttributeErrorbecause their entry-point functions didn't exist. (#797 by @eoyilmaz) - Fixed invalid filename characters from surviving into color profile names. (#819 by @eoyilmaz)
- Fixed
unsupported format string passed to tuple.__format__error when generating a cube 3D LUT. (#827 by @eoyilmaz) - Fixed a
TypeErrorcrash and incorrectCTI3file-type comparisons in measurement/profile handling caused by leftover Python 2-to-3 bytes/str bugs. (#811 by @eoyilmaz) - Fixed the
profile.unsupporteddialog showing a raw bytes value (e.g.b'mntr') instead of the decoded text, across 12 sites. (#815 by @eoyilmaz) - Fixed three latent bytes/str Python 3 port bugs in
load_cal_handler/import_session_archive_producer. (#817 by @eoyilmaz) - Fixed four more bytes/str bugs that made
load_cal_handler's 3D LUT/profile B2A metadata-restore block unreachable dead code. (#820 by @eoyilmaz) - Fixed a
TypeErrorfromstrregex patterns matched againstbytescontent in the ReShade/MasterEffect 3D LUT install patchers. (#808 by @eoyilmaz) - Fixed an
Event is undefinederror when the number of worker threads is 1. (#799 by @lexxxel)
🍎 macOS
- Fixed a crash when the first measurement taken after launch is a Measurement Report or Colorimeter Correction. (#822 by @ethanbrookins)
- Fixed an infinite black-screen ping-pong across multiple displays during VideoLUT recovery, by reloading the clobbered LUTs via CoreGraphics from a single persistent process instead of spawning
dispwin. (#824 by @eoyilmaz)
🪟 Windows
- Fixed
DisplayCAL.mscms.manager's logger writing tosys.stderr, which made the frozen windowed.exefalsely show an "Errors in..." dialog on every close even though nothing had actually failed. (#804 by @eoyilmaz)
🙏 Thanks
Thanks to everyone who contributed to this release, including @lexxxel for their first contribution, and @ethanbrookins.
Full Changelog: 3.9.18...3.9.19
DisplayCAL 3.9.18
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
3.9.17
Warning
In MacOS, after installing DisplayCAL you need to run the following in Terminal:
xattr -dr com.apple.quarantine /Applications/DisplayCAL.appRelease Notes
- [ALL] Added support for ArgyllCMS 3.4.0+ in regards of the update on the observer names of CIE 2012 2° and CIE 2012 10° being CIE 2015 2° and CIE 2015 10°. Depending on the ArgyllCMS version the old names are still going to be accessible through the UI.
- [ALL] Fixed an issue related to the black point correction being applied even if it is disabled introduced in DisplayCAL 3.9.15.
- [ALL] Fixed
dispreadarguments not being added to argument list by @Anulap - [ALL] Fixed unnecessary argument quoting in
DisplayCAL.wexpect.spawn_windows.__init__()by @eoyilmaz - [ALL] Fixed
IndexErrorin a string formatting inDisplayCAL.workerby @vastunghia - [Windows] Fixed the issues related with displays with scaling value more than 150%, where DisplayCAL errors out on startup by @eoyilmaz
- [Windows] Fixed Profile Loader "Identify Monitor" and "Exceptions" dialog crash by @Anulap
- [Windows] Fexed output level reporting for and some other issues related to madVR by @eoyilmaz
What's Changed
- 556 update osx install instructions by @eoyilmaz in #558
- 553 anybutton error by @eoyilmaz in #559
- Windows specific fixes for various feature by @Anulap in #579
- 580 a bytes like object is required not int when trying to verify with colormunki by @eoyilmaz in #582
- Fix issue #577 by @vastunghia in #589
- 585 displaycal can not start after first install by @eoyilmaz in #598
- [#583] Added support for the new names given for the CIE 2012 2° and … by @eoyilmaz in #599
- [#570] Fix for #570. Removed the skipping of the
-bparameter in `D… by @eoyilmaz in #600
New Contributors
- @Anulap made their first contribution in #579
- @vastunghia made their first contribution in #589
Full Changelog: 3.9.16...3.9.17
3.9.16
Warning
Under Windows do not set your display scaling to anything higher than 150% or DisplayCAL will not start.
This has now been fixed in the development version.
Warning
In MacOS, after installing DisplayCAL you need to run the following in Terminal:
xattr -dr com.apple.quarantine /Applications/DisplayCAL.appRelease Notes
- [Windows] Fixed the
WPARAMerror message on the Profile Loader. - [Windows] Fixed the
wxAnyButton::doSetBitmap()related error message that occured on startup. - [Windows] Fixed ArgyllCMS USB device driver installation procedure.
- [Windows] Fixed
RecursionError: maximum recursion depth exceedederror which originated toDisplayCAL.taskscheduler.Task.__str__()method. - [macOS] Fixed the shifted gamma of the screen captured background of the splash screen or made it a better than before.
- [Linux] Made it clear that the logged exception is for a handled exception in
DisplayCAL.worker.Worker.exec_cmd()related to DBus. - [Linux] Fixed tests running on linux + arm64.
- [ALL] Dropped Python 3.8 support as it has reached end-of-life on October 2024.
- [ALL] Removed residual code and dependencies required for Python 2 support (
six,enum34etc.). - [ALL] Added tests for
wxPython=4.2.3on all platforms. - [ALL] Update recommended
wxPythonversion to4.2.0to get rig of the messages saying4.2.1is not supported anymore, which is not true. - [ALL] Fixed many string formatting issues introduced with 3.9.15.
- [ALL] Fixed
DisplayCAL.icc_profile.ICCProfile.load()when all the data has already been read. - [ALL] Fixed
AttributeError: NoneType object has no attribute 'listening'error originated toDisplayCAL.wxwindows.BaseApp.query_and_session()method. - [ALL] Fixed
DisplayCAL.icc_profileICCProfile.get_info()to correctly identify the white point illuminant tag for the keywtpt. - [ALL] Added the
PVAterm in any tech names that mentionsVPAindisplay.techsection for all language files to match ArgyllCMS tech names output. - [ALL] Replaced the
locale.getdefaultlocale()call inDisplayCAL.configwithlocale.getlocale()as the original function is getting deprecated in Python 3.9.15. - [ALL] Moved most of the ArgyllCMS related utility functions from
DisplayCAL.workertoDisplayCAL.argyll. - [ALL] Updated
DisplayCAL.argyll.get_argyll_version_string()to first try to get the ArgyllCMS version from thelog.txtinstead of running any utility functions to make it run faster, especially under macOS. It will fallback to the normal method if it can't retrieve the version from thelog.txt. - [ALL] Renamed a couple of the modules to comply with PEP8 rules:
DisplayCAL.ICCProfileis nowDisplayCAL.icc_profile.DisplayCAL.CATSis nowDisplayCAL.cats.
- [ALL] Capitalized the enum variables in `DisplayCAL.icc_profile module.
- [ALL] Fixed the generation and display of the
meta.prefixtag of theICCProfile. - [ALL] Fixed
DisplayCAL.worker_base.Xicclu.close()to properly handle error output asbytes. - [ALL] Added
toxas a development requirement. - [ALL] Updated the
buildtarget in make workflow to useuv. - [ALL] Fix
update_menus()andinstall_argyll_instrument_conf()method ofDisplayCAL.display_cal.MainFrameclass. - [ALL] Rename package from
DisplayCALtodisplaycalinpyproject.tomlto comply with PyPI naming conventions.
What's Changed
- [#501] Fixed #501 by @eoyilmaz in #504
- [#506] Fixed gamma of the background of the splash screen under macOS… by @eoyilmaz in #508
- 502 ccss creation with i1pro3 does not seem to work by @eoyilmaz in #505
- 509 error when extracting usb drivers from argyll archive by @eoyilmaz in #517
- [#515] Fixed #515. by @eoyilmaz in #518
- [#512] Fixed #512. by @eoyilmaz in #519
- Update install_instructions_macos.md by @amkdev in #523
- Fix typo by @bradyjoh in #529
- [#528] Fixed #528. by @eoyilmaz in #531
- [#484] Made it clear that the logged exception is for a handled excep… by @eoyilmaz in #532
- 455 displaycal 3914 for windows error when poweroff or restart compoter by @eoyilmaz in #534
- 514 profile loader 3915 minor errors wparam audio driver restart by @eoyilmaz in #533
- [#542] Fixed #542. by @eoyilmaz in #543
- [#546] Dropped Python 3.8 support. by @eoyilmaz in #547
- drop references to old "six" and "enum34" compat libraries by @a-detiste in #549
- trim leftover Python2 compatibility by @a-detiste in #550
- 536 collinkexe error write file 782 technology signature dcpj is unknown by @eoyilmaz in #544
New Contributors
- @amkdev made their first contribution in #523
- @bradyjoh made their first contribution in #529
- @a-detiste made their first contribution in #549
Full Changelog: 3.9.15...3.9.16
3.9.15
WARNING
In MacOS, after installining DisplayCAL you need to run:
xattr -dr com.apple.quarantine /Applications/DisplayCAL.appRelease Notes
Big Items:
- Windows version should now work without a major issue. So, the previous problems about not being able to run ArgyllCMS executables has been resolved, and paths containing empty spaces are handled correctly.
- The dependency to the
RealDisplaySizeMMhas been removed. So DisplayCAL doesn't require any C-Extensions to be compiled and this makes it easier to install on different OSes. - Added CI GitHub workflow for Windows.
- Lots of code refactoring and cleanup many thanks to @oldgithubman for their hard work.
- As it was getting harder to test for wxPython 4.1.1, the minimum wxPython version that we test DisplayCAL with has been upgraded to 4.2.0.
- CI GitHub tests run much faster under Linux (45-50 minutes vs 6-7 minutes) now as the tests are now using the pre-compiled wheels from wxPython website.
- Updated
DisplayCAL.lib.agwfrom0.9.1to0.9.7fromwx.lib.agwand introduced a lot of code refactoring and TypeHints on top of the original source. - DisplayCAL development is now using the Rust tools for package management and linting. So,
uvis the main package manager instead ofpipandruffreplacesblackandflake8. - Removed
setup.cfg, DisplayCAL is now fully usingpyproject.tomlfor configuration. Unfortunately, we are still depending on thesetup.py.
Auto Generated Notes
- Resolve broken reference to
wxenhancedplot._Numericby @Wedge009 in #430 - Update install instructions by @eoyilmaz in #433
- Fixed #67. by @eoyilmaz in #434
- Fix for #251 by @eoyilmaz in #439
- Update Readme to fix grammar, add new requirements to requirements-de… by @Adam-Color in #445
- Get rid of the realdisplaysizemm C-Extension by @eoyilmaz in #444
- General Refactoring and more TypeHints by @oldgithubman in #414
- Update install_instructions_linux.md by @aaronwi in #487
- Update install_instructions_linux.md by @MahmoudAdelbghany in #482
- A quick fix in the test chart editor by @ethanbrookins in #471
- Corrected a couple of misspellings. by @wadetregaskis in #497
- Additional fixes for #67 and #31 by @ethanbrookins in #470
- Further improvement and bugfixes for the colorimeter correction workflow by @ethanbrookins in #469
- Windows version can't start "dispread.exe" by @eoyilmaz in #499
New Contributors
- @Wedge009 made their first contribution in #430
- @Adam-Color made their first contribution in #445
- @oldgithubman made their first contribution in #414
- @aaronwi made their first contribution in #487
- @MahmoudAdelbghany made their first contribution in #482
- @wadetregaskis made their first contribution in #497
Full Changelog: 3.9.14...3.9.15
3.9.14
WARNING
In Windows install DisplayCAL under C:\DisplayCAL instead of C:\Program Files\DisplayCAL. There seems to be an issue if the path contains empty spaces.
WARNING
In MacOS, after installining DisplayCAL you need to run:
xattr -dr com.apple.quarantine /Applications/DisplayCAL.appRelease Notes
Big Items:
- Added MacOS package along with the updated Windows Installer (see the Warning above).
- Added Python 3.13 support for Linux/MacOS. Windows will support Python 3.8-3.11 for now.
- Fixed Ubuntu installation errors complaining about missing files.
- Fixed fail to open calibrate window under Debian.
- Updated default ArgyllCMS to 3.3.0 and latest version of ArgyllCMS will be parsed through www.argyllcms.com.
- Improved/added numPy 2.0 compatibility.
- Under MacOS it is now possible to install the profile system-wide (fixing lock/unlock profile shifts on XDR displays, logout/login is still problematic).
Auto Generated Notes
- [#421] Added support for Python 3.13. by @eoyilmaz in #423
- Updated ArgyllCMS to 3.3.0 - by @parkatoast in #405
- The latest version number of ArgyllCMS will now be automatically updated by @ethanbrookins in #412
- Fixed encoding problems in wexpect for non cp1252 or utf-8 - by @eoyilmaz in #409
- Added NumPy 2.0 compatibility - by @nschloe in #408
- [#296] Fixed #296 - Can't install the profile after calibration ("sudo timeout") error - by @eoyilmaz in #429
- [#415] Fixed fail to open calibrate window under Debian - by @eoyilmaz in #419
- [#400] Disabled universal bdist whell creation - by @eoyilmaz in #420
- [#384] Fixed #384, added warning dialog for the user to know the ICC profile doesn't have a
targtag - by @eoyilmaz in #425 - Improve Simplified Chinese translation - by @Headcrabed in #426
- [#345] Fixed bug in Source Profile selection in Advanced Gamut Options dialog - by @eoyilmaz in #428
New Contributors
- @parkatoast made their first contribution in #405
- @nschloe made their first contribution in #408
- @Headcrabed made their first contribution in #426
Full Changelog: 3.9.13...3.9.14
3.9.13
Release Notes
This release introduces lots of fixes, especially for Windows. The big items are:
- We now have a Windows Installer. It might not fully work out of the box as we had very limited testing with both the installer and the frozen executables.
- Updated installation instructions with a cleaner and more understandable format for all OSes.
- Python 3.12 should now work fine under Linux and MacOS with wxPython 4.2.2. But, Windows is still problematic.
- Updated default config so that the default profile name doesn't contain any empty spaces.
- Updated Argyll CMS from V3.1.0 to V3.2.0 (v3.3.0 is already released, so it is left to the users to download).
- And lots of fixes here and there, check the full changelog for details.
New Contributors
- @ethanbrookins made their first contribution in #328
- @lunochod made their first contribution in #337
- @jelly made their first contribution in #360
- @rickdoesdev made their first contribution in #351
- @xz-dev made their first contribution in #380
PyPI: https://pypi.org/project/DisplayCAL/3.9.13/
Full Changelog: 3.9.12...3.9.13
3.9.12
Release Notes
This release introduces lots of old and new, small and big bug fixes. Some notable changes are:
- Made improvements to Windows and MacOS builds.
- Fixed Resolve patch generator.
- Fixed ArgyllCMS download function.
- Fixed MacOS menu disappearing after measurement window is shown.
- Pipx should now be able locate lang files.
- Fixed setup tools fail on upgrade for nixpkgs.
- Fix Windows build and runtime on Python 3.11.4.
- Fixed lock file mishandling on Windows.
- Allow py2app to build a MacOS app
- Implemented a stable sort_by_L which falls back to a then b sort if L is equal.
PyPI: https://pypi.org/project/DisplayCAL/3.9.12/
Contributions
This release's contributers are: Erkan Ozgur Yilmaz, Radosław Szkodziński, Vladislav Sharapov, Matt Khan, Patrick Zwerschke
Changes per contributor are as follows:
Erkan Ozgur Yilmaz
- Fixed #282 (not a real fix but an improvement).
- Fixed #283
- Fixed #61
- Fixed #302
- Fixed a regular expression in
DisplayCAL.workermodule that might be the root cause of #302. - Updated
utils.patch_consumerso it stays on top. - Optimized the
utils.patch_consumerso that it uses 16bit colors (but the style sheet uses 8bit). - Added
utils.patch_consumerto test Resolve patch generator. - Added
helpmake target that displays all available targets. - Fix for
DisplayCAL.worker_base.parse_argyll_version_string()when the input is abytesobject. - Fixed
BorderGradientButtonstyle for MacOS, which is used as the main button ("Calibrate & Profile" etc.). - Updated the term "Authentification" to a more common one of "Authentication".
- Fixed #291
- Fixed #303
- Fixed #137
- Fixed #310
- [#318] Fixed a bug that is causing one empty line getting printed after each command output. The output is now better matching vanilla Argyll outputs.
- [#318] Fixed
display_cal.MeasurementFileCheckSanityDialogfor python 3.11+. - [#318] Fixed
StartupFrametest for MacOS. - [#318] Introduced some quality of life improvements.
- [#318] Added
{pydir}/shareto data dirs. - [#320] Did some unnecessary formatting updates while searching for a possible bug.
- Fixed #271
- #261 setuptools build fails on upgrade for nixpkgs (#272)
- Updated Makefile workflow, it should now be easier to build/install/run DisplayCAL.
- Fixed "Manually Setup" section link.
- Update Makefile
- Updated Makefile new-release target to use the VERSION variable for the twine command.
Radosław Szkodziński
- Fix Windows build and runtime on Python 3.11.4 (#312)
- Fixes:
- Runtime on Python 3.11
- Setuptools, tested with 3.11.4
- Missing pywin32 dependency
- Lock file mishandling on Windows
- Fix a mistake in version handling code
Vladislav Sharapov
- allow py2app to build a MacOS app (#277)
- Remove commented out block
Matt Khan
- untethered mode should take multiple white point measurements at the start and should only update the specific sample not all samples with the same RGB
- fix for #276 (#278)
- correct bad string/bytes comparison which was preventing correction of gamma applied to a measurement report
- workaround apparent wx regression with honouring hidden when set in xrc document #276
- reformat using black
- Make maximise lightness diff sort stable
- minor code cleanup following pr comments
- implement a stable sort_by_L which falls back to a then b sort if L is equal
- demonstration of sort problem
- fix python3 (str/bytes) compatibility errors in untethered mode
- fix py3 compatibility problems in madtpg net
- csvwriter requires w mode in python3
- make sure measurement data is copied to the joined output, fixes #224
- further py2-3 migration fixes around byte handling when handling madvr 3dlut
- fix python3 (str/bytes) compatibility errors in untethered mode
Patrick Zwerschke
- updated test workflow
- removed manual install of attrdict3 from workflow
- removed libreadline-gplv2-dev from packages.list
- updated test workflow to wxpython-4.2.1
- removed unnecessary wxpython-4.2.0 requirement (attrdict3)
- updated workflow to accommodate new branch restrictions
3.9.11
Release Notes
The release notes will updated properly in the future. You can use the commit messages to deduce the information.
Contributions
Erkan Ozgur Yilmaz
- Fixed new-release target in Makefile to do a pull before merging the develop branch.
- Fixed main branch name in Makefile.
- Updated Makefile to introduce new targets.
- Updated string formatting on several places in wxProfileInfo.
- Fixed colorimeter_correction_web_check_choose() to work properly for fractional scale.
Patrick Zwerschke
- Revert "fix #231 (#237)" (#239)
- This reverts commit 59c456c that accidentally was pushed to main branch
- Updated actions to use Node.js 16 (#220)
- updated restrictions for max python version to run with python 3.11 (#217)
- Update test workflow for python 3.11 (#215)
- added python 3.11 to test workflow
- catch FileNotFoundError in module defaultpaths
Matt Khan
- allow untethered window to open
Hubert Figuière
- Fix appdata to validate for flathub (#253)
- Fix appdata to validate for flathub
filmmakerto
- fix #231 (#240)
- Fixes #231
- fix #231 (#237)
James Addison
- Cleanup: remove no-longer-referenced get_known_folder_path, UserDirs class (#227)
- Cleanup: remove no-longer-referenced defaultpaths.get_known_folder_path method, and associated UserDirs class
sdy623
- Add feature: Add a gamut coverage information in Profile Information page
stativ
- Fix incorect bytes and string comparison when reading a .ti3 file (#221)