Skip to content

Releases: eoyilmaz/displaycal-py3

3.9.14

16 Oct 00:23
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 3.9.13...3.9.14

3.9.13

10 Oct 11:33
Compare
Choose a tag to compare

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

PyPI: https://pypi.org/project/DisplayCAL/3.9.13/
Full Changelog: 3.9.12...3.9.13

3.9.12

19 Mar 22:39
2c67f1c
Compare
Choose a tag to compare

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 a bytes 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

05 Jun 17:23
Compare
Choose a tag to compare

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

21 Nov 23:15
Compare
Choose a tag to compare

There was an error with setup.py preventing DisplayCAL to be installed on Linux systems (macOS was working fine), thus released a new version 3.9.10.

3.9.9

20 Nov 23:49
Compare
Choose a tag to compare

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 and setup.cfg to only install dbus-python on Linux systems.
  • Updated README file as the MacOS instruction was not correct.
  • Fixed a small bytes getting concatenated with a str error in DisplayCAL.wxCCXXPlot.CCXXPlot class.
  • Fixed #185.
  • Fixes #194.
  • Updated util_http.encode_multipart_formdata() to generate bytes data instead of str.
  • Fixed util_http.get_content_type() to handle bytes input.
  • Fixed DisplayCAL.ICCProfile.DictType.to_json() to use a proper JSONEncoder and fixed the bad escape \u at position 0 error thrown by the re module.
  • Possible bug fix in DisplayCAL.wxSynthICCFrame.SynthICCFrame.icc_drop_handler() for checking the given profile.colorSpace against bytes values.
  • Fixed #179.
  • Updated .gitignore file to ignore any compiled library under the DisplayCAL/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

15 Sep 09:55
Compare
Choose a tag to compare

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

08 Aug 10:41
04c0c49
Compare
Choose a tag to compare
  • Fixed the display of colorimeter_correction_matrix_ctrl item name when Auto is selected on the main window.
  • Convert float to int for calling wxPython's Scroll(self, int, int) correctly in DisplayCAL.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 the Verification page.
  • Fixed #136.
  • Updated conftest.argyll() to use the v2.3.1 of Argyll.
  • Updated conftest.argyll() to use the v2.3.1 of Argyll also for local paths.
  • Fixed worker.Worker._create_matrix_profile() to correctly concatenate the ti3 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 in DisplayCAL.meta.
    • Fixed build and/or last modification fallback date in DisplayCAL.setup.

3.9.6

11 Jun 22:11
Compare
Choose a tag to compare
  • 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 use BytesIO instead of StringIO.
  • Fixed DisplayCAL.worker.Worker.ti3_lookup_to_ti1() to properly generate ti1 and t3v 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 the DisplayCAL.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

29 May 20:17
Compare
Choose a tag to compare
  • Updated README file with instructions to switch to the develop branch if required.
  • Re-enabled and also updated the findall function under setup.py.
  • Instrument configuration files are not going to get installed unless setup.py instructed to build the RPM package.
  • build package has been moved from requirements.txt to requirements-dev.txt.
  • Updated 45-Argyll.rules and 55-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 with wxWidgets>=4.1.1 (or possibly with an earlier but more recent version), but it is okay.
  • Fixed _SizeWindows and AdjustLayout methods of DisplayCAL.lib.agw.fourwaysplitter.FourWaySplitter for Python 3.10.
  • Fixed _SizeWindows, OnLeftUp and OnMotion methods of DisplayCAL.wxwindows.TwoWaySplitter for Python 3.10.
  • The splitter in the Profile Info window is now properly working.
  • Updated requirements.txt and made wxPython version 4.1.1 the minimum required version.