Releases: eoyilmaz/displaycal-py3
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.app
Release 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
targ
tag - 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.worker
module that might be the root cause of #302. - Updated
utils.patch_consumer
so it stays on top. - Optimized the
utils.patch_consumer
so that it uses 16bit colors (but the style sheet uses 8bit). - Added
utils.patch_consumer
to test Resolve patch generator. - Added
help
make target that displays all available targets. - Fix for
DisplayCAL.worker_base.parse_argyll_version_string()
when the input is abytes
object. - Fixed
BorderGradientButton
style 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.MeasurementFileCheckSanityDialog
for python 3.11+. - [#318] Fixed
StartupFrame
test for MacOS. - [#318] Introduced some quality of life improvements.
- [#318] Added
{pydir}/share
to 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)
3.9.10
3.9.9
After waiting for more than 2 months since the last one (sorry about that), we now have a new release. Hopefuly the next release will not be that long away.
We have quite a bit of contribution, so I'll list changes grouped by the contributers.
Erkan Ozgur Yilmaz:
- Fixed #146.
- Fixed #162.
- Updated
requirement.txt
andsetup.cfg
to only installdbus-python
on Linux systems. - Updated README file as the MacOS instruction was not correct.
- Fixed a small
bytes
getting concatenated with astr
error inDisplayCAL.wxCCXXPlot.CCXXPlot
class. - Fixed #185.
- Fixes #194.
- Updated
util_http.encode_multipart_formdata()
to generatebytes
data instead ofstr
. - Fixed
util_http.get_content_type()
to handlebytes
input. - Fixed
DisplayCAL.ICCProfile.DictType.to_json()
to use a properJSONEncoder
and fixed thebad escape \u at position 0
error thrown by there
module. - Possible bug fix in
DisplayCAL.wxSynthICCFrame.SynthICCFrame.icc_drop_handler()
for checking the givenprofile.colorSpace
againstbytes
values. - Fixed #179.
- Updated
.gitignore
file to ignore any compiled library under theDisplayCAL/lib64/pythonXXX
folders.
Patrick Zwerschke:
- Reverted a change and fixed bug mentioned in #154.
- Fixed drawing of tabs.
Krul Ceter:
- RealDisplaySizeMM.c: fix error handling
- fix setuptools module in DisplayCAL/setup.py (This one is reverted!)
- fix deprecated "codeset" in gettext.translation() for python 3.11
François-Xavier Thomas:
- Fix 3DLUT generation (ICCProfile class expected bytes, but got str in some cases).
- Add exception tracebacks inside workers when displaycal is run with -d1.
ledoge:
- More ICC parsing fixes.
- Clip parametricCurveType values
- Fix error on parsing ICC profiles
- Fix typos in observer names
3.9.8
The release change list is a combination of commit messages, and it is as follows:
- Fixed #153
- Fixed #171
- fix_device_values_scaling now initiates query with byte-str
- Fixes for #169 added
- Additional tests added
- Fixes #171
- switched from byte-str to str
- setcgf does not set a list for "whitepoint.x" and "3dlut.whitepoint.x" anymore
- fix_device_values_scaling now initiates query with byte-str
- fixed positioning of newColourPanel
- Fixes for #169 added
- changed comparison values for display_name to str in function visual_whitepoint_editor_handler
- added uncritical integer conversion wherever needed in module wxVisualWhitepointEditor
- Fixed typo and removed comment
- Fixed implicit conversion to integers in MeasurementFileCheckSanityDialog
- Skip both failing tests atm:
- test_check_file_isfile
- test_colorimeter_correction_check_overwrite
- Workflow updated
- README updated
- Added wx4.2.0 to automated tests
- size of wx.Dialog initializer has been converted to integer
- Workflow updated to choose filepath for c-extension according to used python version
- Updated job string
- env variable corrected
- updated requirements to successfully install wxpython 4.2.0
- typo corrected
- updated workflow to test against wx 4.1.1 and wx 4.2.0
- size of wx.Dialog initializer has been converted to integer
- changed test to str comparison
- tests added for worker module
- ColumnSize converted to int before function call
- test if all classes of display_cal initialize properly
- test removed because of remote error
- test options removed because of remote error
- Fixed #151 and removed all the remaining
__unicode__
methods. - Version bump.
- test_donation_message corrected
- tests for additional functions added
- additional tests for functions in display_cal added:
- test_incrementing_int
- test_webbrowser_open
- test_install_scope_handler
- test_get_cgats_path
- test_get_cgats_measurement_mode
3.9.7
- Fixed the display of
colorimeter_correction_matrix_ctrl
item name whenAuto
is selected on the main window. - Convert
float
toint
for calling wxPython'sScroll(self, int, int)
correctly inDisplayCAL.wxfixes
. - Fixed an issue related to the colorimeter check web check window not appearing correctly.
- Fixed #148.
- Fixed #142.
- Fixed
gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkSpinButton
messages on theVerification
page. - Fixed #136.
- Updated
conftest.argyll()
to use thev2.3.1
ofArgyll
. - Updated
conftest.argyll()
to use thev2.3.1
ofArgyll
also for local paths. - Fixed
worker.Worker._create_matrix_profile()
to correctly concatenate theti3
data. This fixed profiling through the web browser. - Fixed #150 related bugs:
- Fixed fallback date in
DisplayCAL.meta
. - Corrected build_time str in
setup.py
. - Set
lastmod
to a valid date str inDisplayCAL.meta
. - Fixed build and/or last modification fallback date in
DisplayCAL.setup
.
- Fixed fallback date in
3.9.6
- Some more fix for #129.
- Fixed #132 and many other things related to
wxCCXXPlot
. - Fixed #130. But this is probably not a good solution and #124 may need to be reverted and solved in a different way.
- Fixed #124
- Possible fix for #129
- Updated
DisplayCAL.worker.Worker.prepare_dispread()
to useBytesIO
instead ofStringIO
. - Fixed
DisplayCAL.worker.Worker.ti3_lookup_to_ti1()
to properly generateti1
andt3v
values. - Fixed #118
- Fixed the handling of EDID that contains
b"\xc3"
characters. Now, this fix is elegant and correctly addresses the issue. - Possible fix for #128
- Fixed #126
- Add test case for a 384 byte EDID.
- Fixed
DisplayCAL.RealDisplaySizeMM.get_wayland_display()
to return the EDID data properly. With this change the fix in theDisplayCAL.edid.parse_edid()
is not very necessary, but it has kept in case the given EDID has the wrong character coding. - Fixed #119.
- Added test for #119.
3.9.5
- Updated
README
file with instructions to switch to thedevelop
branch if required. - Re-enabled and also updated the
findall
function undersetup.py
. - Instrument configuration files are not going to get installed unless
setup.py
instructed to build theRPM
package. build
package has been moved fromrequirements.txt
torequirements-dev.txt
.- Updated
45-Argyll.rules
and55-Argyll.rules
files from ArgyllCMS 2.3.0. - Fixed #111
- Fixed #112
- Fixed #113
- Fixes #114
- Allow 384 byte EDID
- Misc py3 porting fixes
- Added a new item to the list of things to focus the future development effort.
- Reverted bytestr change.
- Moved test in
argyll_RGB2XYZ
. - Added tests for
argyll_cgats
. - Refactored
argyll_cgats
. - Updated
README.md
, paraphrased some first person talk, updated with the latest development news. - Updated
AboutDialog
size to accommodate all author names. - Updated
CHANGES.html
with some information. - Little update to the installation instructions.
- Possible fix for #86
- Updated
DisplayCAL.worker.Worker._install_profile_loader_xdg()
to write the desktop file at once. - Removed/replaced deprecated
wxWidgets
widgets with new ones. This will make DisplayCAL work only withwxWidgets>=4.1.1
(or possibly with an earlier but more recent version), but it is okay. - Fixed
_SizeWindows
andAdjustLayout
methods ofDisplayCAL.lib.agw.fourwaysplitter.FourWaySplitter
for Python 3.10. - Fixed
_SizeWindows
,OnLeftUp
andOnMotion
methods ofDisplayCAL.wxwindows.TwoWaySplitter
for Python 3.10. - The splitter in the Profile Info window is now properly working.
- Updated
requirements.txt
and madewxPython
version4.1.1
the minimum required version.