Qt for Python Development Notes: Difference between revisions
Jump to navigation
Jump to search
(→2024) |
(→2024) |
||
Line 6: | Line 6: | ||
* General | * General | ||
** QML next following up. | |||
** New hire joined the team! | |||
* Infra & Releases | * Infra & Releases | ||
** 5.15.18 commercial LTS was released last Monday. | |||
** CI Maintenance break coming (Monday) | |||
** RC for 6.8.1 on Monday to test. | |||
** Linux on ARM is now built on Ubuntu 24.04 | |||
* Bugs & Features | * Bugs & Features | ||
** __all__ new amend due to an improvement idea. | |||
** rich comparison operators support for the type hints. | |||
** QWebEngineDesktopMediaRequest issue | |||
** Qt Python Scripting: add support for shared pointers and solving refcount issues | |||
** Designer planned improvements for the VScode extension | |||
** Qt Python Scripting: Looking at containers | |||
** Working on performance issues when overloading virtual functions | |||
*** Remarks on caching the whole method, they might cause issues. | |||
** doc fixes: references and links were needed. | |||
** On-boarding and catching up with the project | |||
** Looking at a new examples to be ported | |||
** QtCreator issue when setting it up with MSVC | |||
** Cleaning up some old compatibility code (Python 2 times) | |||
** Improvements on the macro/function usage for the Limited API compatibility. | |||
=== 31. October 2024 === | === 31. October 2024 === |
Revision as of 09:38, 7 November 2024
2024
7. November 2024
- General
- QML next following up.
- New hire joined the team!
- Infra & Releases
- 5.15.18 commercial LTS was released last Monday.
- CI Maintenance break coming (Monday)
- RC for 6.8.1 on Monday to test.
- Linux on ARM is now built on Ubuntu 24.04
- Bugs & Features
- __all__ new amend due to an improvement idea.
- rich comparison operators support for the type hints.
- QWebEngineDesktopMediaRequest issue
- Qt Python Scripting: add support for shared pointers and solving refcount issues
- Designer planned improvements for the VScode extension
- Qt Python Scripting: Looking at containers
- Working on performance issues when overloading virtual functions
- Remarks on caching the whole method, they might cause issues.
- doc fixes: references and links were needed.
- On-boarding and catching up with the project
- Looking at a new examples to be ported
- QtCreator issue when setting it up with MSVC
- Cleaning up some old compatibility code (Python 2 times)
- Improvements on the macro/function usage for the Limited API compatibility.
31. October 2024
- General
- Bug Fixing week
- Infra & Releases
- 5.15 integration was solved (Python 2 related) - 5.15.18 commercial LTS will be soon available.
- Closing a few CI related bugs.
- Debian 11 ARM configuration replaced by ubuntu 24.04
- Qt 6.8.1 by the end of next month
- SBOM changes will land in our repositories at some point
- Bugs & Features
- Documentation improvements (nesting inner classes into some modules)
- doc: Adding a ad-hoc hack with a fake headline in order to get good search results
- QPyS: Adapting for shared pointer
- Fixing the __all__ re-definition that we have in our PySide6/__init__.py
- Windows Debug Builds are showing a few issues
24. October 2024
- General
- Planning to make QtPythonScripting out.
- QMLNext planning continues.
- Infra & Releases
- 6.8.0.2 might go out soon considering the last issues that were discovered. Also to include the fix for the directory that made it incompatible with qtpip.
- 5.15.18 Commercial LTS will be released by the end of the month
- Bugs & Features
- New maps demo is working.
- Multimedia: Now we are using the plugins from the CI provisioning.
- Reproducible builds for yocto.
- 6.8.0 regression from the re-write of the signal&slot mechanism.
- 'QPyS' (QtPythonScripting) work continues.
- Ownership will not be an issue, because objects will live in C++.
- smart pointers support are required for a QtC integration
- From lua: they do have a way of use different pointers for the variables.
- be careful with dynamic_cast
- A sub-set of classes are exposed to lua only, so we might follow a similar approach.
- Documentation is being updated
- Updates to the new tutorials (PySide + other Python modules)
- qtpip research on a staging option
- VSCode extension: discussions on the PySide integration for the recently announced addon.
- PYSIDE-2895 __all__ reproducible builds for Yocto
- PYSIDE-2903 issues with '# type:' in the stubs
- PYSIDE-2846 Adding documentation for the mypy support
17. October 2024
- General
- 6.8.0.1 is fully compatible with Python 3.13.0, but the meta info of the wheels was wrong.
- New intern joined the company, and will be helping with QtDS + Qt for Python integration
- Infra & Releases
- PySide 6.5.7 (commercial LTS) and 6.8.0 (6.8.0.1) were released
- 6.4.0 release was removed from PyPI (due to the existence of 6.4.0.1)
- qtpip 0.1.4 was released
- Maintenance break in our CI: a few security changes were applied and we have new restrictions regarding the installation of other repositories
- New limits will be requested to PyPI
- Symbolic links in the macOS wheels are being copied a couple of times and not preserved.
- libclang in our provisioning increased size, so we need to double check the wheel size.
- Multimedia plugins on Windows are being copied to the wheel, they might be copied from install directly.
- Bugs & Features
- Finished the mypy checks and adding tests, hopefully merged soon.
- in-place asymmetry seems to be an issue with some signatures.
- PYSIDE-2891 32bit builds where broken, even if they are not supported it was addressed
- PYSIDE-2893 6.8.0 doc regression was fixed
- PYSIDE-2804 Custom enumerations in Qt Designer (not possible)
- Qt 6.9 adaption in progress
- OpenStreetMap demo being ported
- Qt Scripting polishing a bit further
- PYSIDE-2835 closed issue wrt sql+nuitka that broke after a new nuitka release.
- Continue work on the Finances tutorial
- pyside6-deploy command line simplification in progress
- Finished the mypy checks and adding tests, hopefully merged soon.
10. October 2024
- General
- Infra & Releases
- Preparing 6.8
- Preparing 6.5.7
- Bugs & Features
- PYSIDE-2885 Fix build against read-only Qt
- PYSIDE-2883 Fix incomplete/undocumented QtWebEngine API
- Last minute fixes for 6.8, new QtWebEngine API
- Continue work on PythonScripting (Scrypt)
- PYSIDE-2850 More work on the Finance Manager Tutorial
- pyside6-android-deploy fix for 6.8.0, and adding a new option to cross-compile tool to just download Android NDK and SDK.
- Update pyside6-android-deploy documentaion.
3. October 2024
- General
- Infra & Releases
- Preparing for 6.8
- Bugs & Features
- Various documentation fixes
- Continue work on PythonScripting (Scrypt)
- Porting further C++ demos
- pyside6-deploy support for design studio
- qtpip support for Android wheels
- Update flatpak baseapp to 6.7.3
26. September 2024
- General
- Python Scripting: We might need to figure out ownership in order to embed into other C++ apps.
- DS integration: workaround to deploy with the following version (with no other python files) but there has been work on improving it for the next release.
- Intern starting on Oct 1st
- Infra & Releases
- Preparing 6.7.3 (waiting for qt release)
- Commercial LTS 6.5.7 to be released soon (changelog pending to be merged)
- qtpip 0.1.3 to be released soon.
- Bugs & Features
- Updating and completing documentation
- PYSIDE-2870 fixed (QStateMachine.postEvent causes a crash)
- Continue work on PythonScripting (Scrypt)
- pyside6-deploy changes for QtDS projects + corresponding changes in upcoming DS releases (needs work by DS team)- https://codereview.qt-project.org/c/pyside/pyside-setup/+/592554
- qtpip adaptation for newer pip versions + commercial wheel preference over lts wheels
- Finance Manager Tutorial - https://codereview.qt-project.org/c/pyside/pyside-setup/+/592131
- Type hints: Analysis for multi-signature problem (overloads). 600 errors -> 46 ! (from mypy)
- override: inheritance issue with specific fields
- overload/overlap: diff return types
- some dunder methods might need special treatment.
19. September 2024
- General
- Promoting the idea of writing Python plugins for Qt/C++ interfaces.
- we most probably rely on libshiboken for having consistency in the PythonScripting module and PySide
- Participation in Meeting C++
- PyCon Sweden participation
- Promoting the idea of writing Python plugins for Qt/C++ interfaces.
- Infra & Releases
- 6.2.13 Commercial LTS was released
- qtpip update to be release in order to fix a few wheel names issues.
- Preparing for 6.8.0, and 6.7.3
- PySide6_DS 4.6 by the end of September
- Bugs & Features
- PYSIDE-2839 type hints for custom signals
- PYSIDE-2846 Fixing a lot of type errors from examples and tests
- Currently on one of the last big issues related to overloads, optional unions, false-positives
- 6.7.3, 6.8.0 changelogs
- Python 3.13 checks and fixing compatibilities
- Continue work on PythonScripting (Scrypt)
- PYSIDE-2863 lupdate issue
- PYSIDE-2845 snake_case conflict with C++ API
- Fixing examples deprecations
- Updating generated UI files
- Working on a new tutorial to mix PySide with other Python modules
- qtpip fixing resolution for naming and JSON new structure
- QMLNext research continues
12. September 2024
- General
- Team back from Qt Contributor summit
- Infra & Releases
- Preparing 6.7.3
- Preparing 6.2.13
- Starting to switch to 6.8
- Bugs & Features
- Release Notes in documentation change read. Could be targeted for 6.8.
- Currently working on a QtQuick Finance-Manager tutorial using PySide6 as frontend, and FastApi + Pydantic + SqlAlchemy as backend. This will be a 4 part tutorial with each part extending the previous one.
- PYSIDE-2846 - towards MyPy testing of type hints
- Good progress in different error categories. Crucial was to make defaults hashable.
- First removal of duplications was quite effective. More difficult removals are "same type, different variable name" etc.
- Overlapping signatures need a deep analysis. From 601 errors down to 294.
- PYSIDE-2859 Implemented QAbstractItemModel::multiData/QModelRoleDataSpan
- PYSIDE-2861 Fixed pyside6-project with relative paths for lupdate
- Fixed some compiler warnings/clang-tidy
05. September 2024
- General
- Team mostly at QtCS
- Infra & Releases
- Starting to switch to 6.8
- Bugs & Features
- Fixed a potential memory corruption in enum converter generation
- PYSIDE-2851 Tricky bug with @Slot(name=) no working. Still investigating.
- Adapting deployment and other things to 6.8. Some existing bugs and ToDo were solved.
- Working on creating a "Release Notes" page in Qfp documentation parsing from 'doc/changelogs'
- Competitor research for potential new features
29. August 2024
- General
- Continue discussion on a better qml integration
- Bugs & Features
- Added pyside6-svgtoqml - 6.8
- Added missing binaries to 6.8. This include some QtQuick modules.
- Deprecated ToDo fixed in pyside6-deploy
- Updated Nuitka version to 2.4.8
- Code Design simplification of pyside6-deploy
- PYSIDE-2835 - error message setup in pyside6-deploy. Issue raised in Nuitka.
- PYSIDE-2846 - towards MyPy testing of type hints
- Reformatted helper functions in generate_pyi with class methods
- Changed all typing classes to have prefix "typing" against name clashes (tricky)
- Started systematic fixture of errors: 533 in 7 categories (was 601 before prefix). Seeking general fixture algorithms.
- PYSIDE-2701 Add a Benchmark batch script to measure progress
22. August 2024
- General
- Bug fixing week
- uv release 0.3.0 https://astral.sh/blog/uv-unified-python-packaging
- Tag strings https://discuss.python.org/t/pep-750-tag-strings-for-writing-domain-specific-languages/60408
- discussion related to spy
- Infra & Releases
- 6.2 issue with ".commercial" tag on the wheels
- dev will switch to 6.8.0 when the branch is ready.
- Bugs & Features
- PYSIDE-2786 Finished the 3.10 patch to support the new syntax for the pyi files.
- Enabling a process to test pyi with mypy
- Flatpak documentation was merged
- Typing issue related to QByteArray.fromRawData
- QtDS integration continues
15. August 2024
- General
- Bug fixing weekS (2 weeks)
- Planning for future work on QtDS
- Infra & Releases
- Fixing an issue to properly discover the installed WebEngine
- Note: 6.5 aarch64 releases are only around for PySide, not Qt/C++.
- Continue work on libclang pre-built on windows arm64
- Bugs & Features
- PYSIDE-2833 Doc changes: qml tutorials, re-gen docs to fix
- Updated Qt Python Scripting (QtPyScript? name to be confirmed)
- 6.7.3 changelog preparation
- Adjusting branches, because of missing patches.
- pyi: fixing more issues
- research on improving the qml + python interaction
8. August 2024
- General
- Talk accepted for KDE Akademy: "Pythonizing Qt"
- Qt Contributor summit session to work with people from the Squish team.
- An intern will most probably join the team.
- Infra & Releases
- PySide6_DS will remain being available only for Windows/Linux x86_64 and macOS universal, no aarch64 for Linux
- Research continues on Windows arm64
- Bugs & Features
- PYSIDE-2384 Enum as Sequences issues on Python 3.11
- Signal Manager massive refactoring
- qmlimportscanner new option to exclude directories (for our tooling)
- PYSIDE-2833 loadFromModule should be used for QML projects
- Fixes in the documentation
- 6.8 adaption
- Create the KDE documentation for using the PySide BaseApp for Flatpak (on review)
- Improving the documentation, getting ideas from other frameworks/projects. We will try to keep old links working with some alias, and fixing many broken links.
- Continue fixing pyi issues
- Discussion on the next steps on the QtDS integration
2. August 2024
- General
- Infra & Releases
- 6.8, 6.7.3 preparations
- "Qt Design Studio components for PySide6" wheels are now available from pypi.org. https://pypi.org/project/PySide6-DS/
- Bugs & Features
- Some pyi issues were fixed ( PYSIDE-2788, PYSIDE-2752 )
- PYSIDE-2814 Deployment: spaces can now be used in extra_args
- PYSIDE-2828 Updated tutorials
- PYSIDE-2820 Fixed Opaque containers to work with QML
- Some refactoring of the PySide's signal handling
- PYSIDE-2825 Added QtWebView
- PYSIDE-2630 PYSIDE-2794 pyside6-deploy issue related to filling QML files from venv is fixed
- PYSIDE-2806 Fixed app name issue for pyside6-deploy
- PYSIDE-2785 Fixed site-packages issue for pyside6-deploy
- Cleanup and added missing modules to flatpak. Still need review. The corresponding patches are merged in pyside-setu - https://github.com/pyside/io.qt.PySide.BaseApp/pulls
- Added README to PySide flatpak recipe. Needs review - https://github.com/pyside/io.qt.PySide.BaseApp/pulls
- Working on updating the KDE PyQt documentation to also target PySide
- Added minibrowser WebView example
25. July 2024
- General
- Plan with some brainstorming ideas from last session.
- Infra & Releases
- tqtc/dev branch still broken. Waiting for Finland to come back from vacation :D
- DS wheels still need to be tested
- Bugs & Features
- arm64 shiboken generator not properly working (libclang)
- flatpak support: patch was merged, and there were a couple of issues that have a possible fix. After that, the KDE documentation will be modified in order to offer the option for users to use PySide as well.
- scikit-build research
- signature compression research: dealing with some last details.
- fullname field, and compression of the strings.
- no-gil research will re-start next month, in order to address the new changes from cpython
- Type hints issues being worked out.
18. July 2024
- General
- We got a talk accepted at Akademy 2024.
- September 11th is the limit to submit features for PySide 6.8.0
- Infra & Releases
- Flaky macOS failures were addressed
- PySide6 Design Studio wheels to be tested
- Bugs & Features
- Work on PYSIDE-2701 - Binary size reduction
- LZMA compression moved to ZLIB and C++. Compression on Windows 8.7 %, macOS 4.7 %
- Study of pybind11/nanobind continues.
- Overlap with PYSIDE-2404: Startup time optimization of ZLIB compression almost ready.
- Finding some use-cases from PySide users during EuroPython.
- Flatpak recipes are ready to be tested, meaning projects relying on flatpak (like KDE) will be able to use PySide in their builds :D
- macOS multimedia missing plugins.
- QtWebView might be added for completeness.
- Feedback from EuroPython: More tutorials, and examples with applied cases, rather than too basic or too advanced ones.
- Work on PYSIDE-2701 - Binary size reduction
11. July 2024
- General
- Two members of the team at Europython
- Bugs & Features
- Work on PYSIDE-2701 - Binary size reduction
- An LZMA compressor has been written in Python and C++ with 4.5% win.
- Reimplementation in C++ only is even easier. (when considered worth it)
- Study of pybind11/nanobind implementation
- Work on PYSIDE-2803 - qmlimportscanner and Windows cmd line length limitation
- Refactoring and cleanup of the Signals/Slot handling code
- Added missing libraries for the QtMultiMedia ffmpeg plugin on macOS
- Work on PYSIDE-2701 - Binary size reduction
4. July 2024
- General
- Next week, two members of the team will be at Europython
- Don't forget QtWS 2025 submissions (Until first days of August)
- We might get the help from an intern.
- Infra & Releases
- LTS Open Source release is out for 6.2.9 (sources)
- QtDS packages are generated now in the CI
- Improvements in https://download.qt.io/official_releases/QtForPython/
- Bugs & Features
- Fixed PYSIDE-2790: Implemented task "uncancelling" and cancel count mechanism
- Fixed PYSIDE-2799: Turns out cancelling handles when cancelling tasks can cause issues
- PYSIDE-2798 might not be (easily) fixable entirely
- Qt and asyncio collide when Qt shuts everything down too early for asyncio's liking, e.g. when closing the window.
- Setting keep_running=True is probably a suitable workaround.
- Submitted cherry-picks to 6.7 for a number of changes (mostly QtAsyncio) where the pick-to line was forgotten
- PYSIDE-2701 activities:
- implemented removal of the fullName field
- started implementation of common function end replacement
- started work on SignatureStrings compression with LZMA
- PYSIDE-2793 (PYSIDE-1057) Memory leak in slot connection. Some were fixed, but there is still one that's very old (PYSIDE-79)
- singleShot newly added signature has some complications when disconnected
- NumPy 2.0 compatibility patches were merged.
- Signal Handling research and review
- PYSIDE-2192 Input hook handling (for matplotlib) was addressed thank to some suggestion.
- PYSIDE-2805 Suggestion overload QMessageBox.open for passing a new slot.
- 6.8 Adaption continues.
- PYSIDE-2803 support bug on windows with pyside6-deploy command too long
- Flatpak: shiboken is building, but pyside has some issues still.
- Research on windows arm64
- Testing DS packages
27. June 2024
- General
- Python language summit blog posts.
- Infra & Releases
- Android wheels configuration is running OK.
- Feature freeze for 6.8 on September 11 (for Qt/C++ RC release)
- Tweaks for the Qt for Python deployment internal guide for Raspberry Pi.
- Bugs & Features
- QtDS: packages ready to go out after CI configuration.
- QtDS: export option within the tool planned in 2 weeks.
- qmlnext: the issue with the example task was find and solved.
- PYSIDE-2786 Preparation (future statement) of new syntax for Python 3.9
- then checkin of deferred 3.10 changes was done.
- PYSIDE-2701 activities:
- Removal of generated fullname field (in progress)
- Further analysis of possible folding savings
- Revived the 2019 PySide 2 comparison viewer
- PYSIDE-2795 FreeCAD problem was solved.
- PYSIDE-2792 Nested class QMetaObject::Connection (for custom Connection classes)
- 6.8 QtGraph examples. The module keeps changing.
- PYSIDE-2793 memory leak on modbus client.
- Nuitka upgrade 2.3.7: issues with Python 3.12 were fixed.
- Some new issues and limitations on the android ci conf (building python from source)
- Flatpak task continues, and people from KDE is involved in the discussion.
- pyside6-deploy support case with command line length limitations
- PYSIDE-2790 Few new bug reports related to QtAsyncio: uncancel not implemented.
- QtAsyncio cancel errors are not propagated.
20. June 2024
- General
- Interviews going on for a new position and internship.
- Infra & Releases
- 6.7.2 was released last Tuesday
- QtDS package is currently awaiting approval from the team.
- Bugs & Features
- Android wheels patch integrating. Windows signing issue hopefully fixed.
- PYSIDE-2781 - Nuitka sporadic failure with Python 3.12. Collaborating with Kay, and with help from ctismer, the issue is fixed. Was caused due to bytecode handling of Nuitka.
- PYSIDE-2702 - Flatpak progressing. Discussion with QtCreator led to the impression that an Flatpak extension would be better than Flatpak Baseapp.
- This enable PySide6 to be bundled with the QtCreator flatpak app
- Follow-up patches from the internal QtAsyncio presentation.
- There are two functions in asyncio that are not properly documented.
- Type hints:
- Discussion about updating the generator, in order to use 3.10+ notation (even if we are compatible with 3.9). Possibility to use 'from __future__ import annotations'
- PYSIDE-2701 - Binary reduction approach ideas
- QtDS exporting python files will be started soon.
- Improved QML integration being studied.
13. June 2024
- General
- Python 3.9 story: the decision was made without considering that 3.9 is still getting security releases, so we have decided to keep supporting Python 3.9 for PySide 6.8 LTS, but we might drop it in the middle of some bug-fix releases.
- Things that are considered to support certain python versions are: Internal CI Python versions for each OS, Python version lifecycle https://devguide.python.org/versions/, features that will improve user experience from new versions.
- Python stubs (pyi) might be compatible with 3.10+
- Qt Group is sponsoring EuroPython 2024: and we will give a talk!
- Python 3.9 story: the decision was made without considering that 3.9 is still getting security releases, so we have decided to keep supporting Python 3.9 for PySide 6.8 LTS, but we might drop it in the middle of some bug-fix releases.
- Infra & Releases
- 6.7.2 packages are ready to be released.
- Boot2Qt had a few issues that were solved.
- Starting process to test windows arm64 (discussion around libclang)
- Nightly builds:
- Possible solution for linux and macOS arm64 android builds.
- Maybe also for non-unity builds? it has been failing in some corner cases.
- We could have dev-android branch so we don't block the normal dev development.
- nightly builds merge automatically if everything passes.
- PyPy integrations might join a similar configuration as well.
- Bugs & Features
- Android wheels from macOS host through coin successful. Assembling the final patch. Coin still running tests for an Android build and error-ing still needs to be resolved.
- PYSIDE-2702 - Flatpak base app implementation started.
- PYSIDE-2781 - pyside6-deploy failure investigation ongoing. Could be a Nuitka issue. User using the latest Nuitka.
- Working on improve our typing implementations.
- QtAsyncio: internal presentation including the theory behind and some live examples.
- Lazy load: disabled for PyPy, fixing some shiboken-tests
- QtScrypt: development continues
- PYSIDE-2780 refcount bug in the lazy import fixed
- PYSIDE-2751 3.13 compatibility patches are ready, nogil under development
- PYSIDE-2701 reduction of binary sizes under investigation, estimating the achievable reduction
06. June 2024
- General
- Maintenance work next week will keep the CI offline (Monday morning, phase I + Wednesday, phase II)
- PySide 6.8 will support Python 3.10+
- Must read https://peps.python.org/pep-0741/
- Infra & Releases
- Some issues with the macOS CI units.
- Local raspberry pi 4 (aarch64) for testing: 10.9.78.82
- qtpip 0.1.2 release: mostly issues around the commercial version tag and the usage of '+' and '.'
- 6.5.6 commercial LTS was released.
- 6.7.2 release will happen soon (due to an issue with designer)
- the Python 3.9 macOS CI configuration will be updated to 3.11, and the windows with 3.11 will be updated to 3.12
- Bugs & Features
- https://bugreports.qt.io/browse/PYSIDE-2622 - Standalone mode for Deployment as per many requests from users
- Deployment tests fixed with a custom PySide6 build. There might be corner cases that were missed.
- https://codereview.qt-project.org/c/pyside/pyside-setup/+/537466 ready, but waiting for macOS x86_64 to update Python to 3.11 - https://codereview.qt-project.org/c/qt/qt5/+/565565/4 (Thanks Simo)
- Patches ready for updating python syntax to drop typing.Optional (and use | instead) that will go in once we drop 3.9
- Preparing presentation and improvements to QtAsyncio
- PYSIDE-2440 will be prepared.
- op codes changing in Python, is altering some of our internal implementation, like the forgiveness mode.
- https://bugreports.qt.io/browse/PYSIDE-2751 planned work for the no-gil feature in Python 3.13
- smart pointers with lazy loading were not working, but a fix was merged.
- Qt Designer had a regression that motivated 6.7.2
- Qt 6.8 adaption taking a lot of work due to doc changes and QtGraphs
- PYSIDE-2772 issue ended up being a user problem
30. May 2024
- General
- PySide 6.8 will most probably support Python 3.10+
- Evaluating arm64 wheels for Windows
- Infra & Releases
- Discussion about the Qt for Python in boot2qt
- PyPy releases has been on hold due to some internal CI problems.
- Commercial packages will now be available on the following day after community packages.
- qtpip is planned to support aarch64
- 6.5.6 commercial lts will be released next week
- Bugs & Features
- PYSIDE-2766 - Android wheels from macOS successful. Patches for review.
- Testing a sample app now + Modifying https://codereview.qt-project.org/c/pyside/pyside-setup/+/537466
- 6.8 adaption is in progress [qtcharts is a bit unstable]
- c++20 research to improve libshiboken
- qtscrypt progressing to support signal/slot
- dev will support python 3.10+ [for 6.8+]
- PYSIDE-2767 pyi improvements.
- lazy init for nested types disrupted the smart pointer support.
- https://bugreports.qt.io/browse/PYSIDE-2440 type hints optionallity is planned to be implemented.
- PYSIDE-2766 - Android wheels from macOS successful. Patches for review.
23. May 2024
- General
- Infra & Releases
- Preparing 6.7.1 with a lot of fixes
- 5.15.17 LTS released
- Bugs & Features
- PYSIDE-2747 Fixed PySide to run on Fedora 40 with 3.12-3
- PYSIDE-2749 Worked on a performance regression related to Lazy Init
- PYSIDE-2758 Added QQuickWebEngineProfile.setUrlRequestInterceptor()
- PYSIDE-2762 Fixed a type hinting bug
- Brushed up and fixed a few examples
- 6.8 Adaption
- Python 3.13 check
- PYSIDE-2751 Python 3.13 first step towards --disable-gil compatibility (no ob_refcnt)
- pyside6-deploy. Ignore files with .webp, .cpp.o, .qsb and .qen extension as Nuitka errors with them.
- Close to macOS cross compilation
16. May 2024
- General
- Infra & Releases
- 5.15.17 commercial lts needs to be re-packaged one more time due to 3rd party components updates.
- 6.7.1 release will also be re-packed. LE for release is 20th of May
- Bugs & Features
- PYSIDE-2753 - Added missing libQt6DeclarativeOpcUa binary to wheels
- PYSIDE-2750 - Added missing libQt6VirtualKeyboardSettings binary to wheels
- Exclude .qsb, .webp, .cpp.o and .qen from deployment due to Nuitka error. Error report raised in Nuitka - https://github.com/Nuitka/Nuitka/issues/2854
- Working on macOS cross compilation. The clang parser of shiboken generator needs some changes for cross compilation. Tricky changes incoming.
- PYSIDE-2748 - Fixed a type hint error
- PYSIDE-2747 - Diagnostics and minor fixes for a crash on Fedora, no real fix though
- PYSIDE-2711 - Fixed a bug in QWidget/QObject.parent()
- Work on type discovery in libshiboken, added helpers to dump internal state, performance considerations
- PYSIDE-2620 - Adapting to 6.8
- PYSIDE-2745 - Fixed a bug with exceptions in 0-delay singleShot timer slots
- PYSIDE-2404 - Lazy Loading completed by supporting subtypes. This gives 8-9% more performance.
- Support for Python 3.13 started - first compatibility before switching to disable-gil
- Possibilities explored to lazy load signatures or save space.
2. May 2024
- General
- OKR reviews for the next quarter.
- Got a long document with feedback of a few tools we provided, that will help us improving our tooling!
- Started the planning of moving away from '<file>.pyproject' to 'pyproject.toml' for pyside projects, in order to add options for our tools.
- Infra & Releases
- 5.15.17 commercial lts needs to be re-packaged due to 3rd party components updates.
- 6.7.1 to be released next week.
- Add new mechanism to test snapshot wheels.
- Bugs & Features
- PYSIDE-2698 - ListProperty features fixed. Added tests to check all the features.
- PYSIDE-2705 - issues with signal disconnect warnings fixed
- macOS cross compilation for Android - stuck on a CMake issue. Progressing well.
- PYSIDE-2709 - Analysis ongoing for this QML registration regression
- Work on improving/documenting type discovery in shiboken
- Enumeration support in QtScrypt
- PYSIDE-2676 - PEP 697 extension in Python 3.12 fixed
- BT bug research, cannot be reproduced and application doesn't hang. Connection is not successful.
- Issue might require special hw
- Documenting QtAsyncio implementation details.
- An internal presentation is being prepared.
- Possible QtAsyncio feature, 'run' supporting context managers.
- macOS cross compilation for android being tried
25. April 2024
- General
- Successful talk at PyCon DE. Good response.
- Infra & Releases
- Preparing 6.7.1
- 5.15.17 Commercial LTS is also soon to be prepared
- sccache seems to be not properly behaving (on windows) because we are not getting enough output.
- PySide6_DS wheel to be adjusted and hopefully be released soon.
- Bugs & Features
- Added a number of new classes
- PYSIDE-2676 issues on ubuntu (might be related to a windows issue as well)
- Implementation of Lazy Groups in order to avoid the regression in 6.7.0 due to multiple inheritance.
- Alternative for Lazy Groups (Fix for the regression on 6.7.0)
- Work on regressions introduced by lazy initialization PYSIDE-2675
- Work on a crash in Python 3.12 PYSIDE-2676
- Fixed memory leaks PYSIDE-1617
- Work on our QML list property support PYSIDE-2698
- Added pyside6-balsamui (ui tool for pyside6-balsam) - PYSIDE-2629
- Also checking out List Property error with `count` and `at` parameters - PYSIDE-2698
- Updating old example (calqlatr) - https://codereview.qt-project.org/c/pyside/pyside-setup/+/523055 for responsive layout
- QtAsyncio: refinements to the current implementation, and solved a bug report.
- Trying to add support to Keyboard interruptions (handlers)
- Plan to improve exceptions handling
18. April 2024
- General
- Bug fixing week
- PyConDE (Mon-Wed next week)
- Planning a workshop for TQtC solution engineers (internal)
- Possibility to include shiboken into the Axivion infra
- Infra & Releases
- 5.15.17 commercial LTS was postponed to Friday. Still need test on Windows.
- 6.5.6 release planned
- 6.7.1 release has been postponed to the first week of May
- DS-compatibility wheel postponed due to CI issues
- We might need to create a testing platform in order to check other errors that are not detectable with simple tests.
- Bugs & Features
- Few new type hints issues from 6.7.0 release, needs to be address on 6.7.1
- QtAsyncio issue related to Task groups. Tricky, because it can be related to Qt Events.
- PYSIDE-2629 Adding more Qt-tools to the wheels
- PYSIDE-2622 Adding a new option to the deploy tool (exposing an option from Nuitka)
- PYSIDE-2675 Lazy loading issues with trees of polymorphic classes.
- first approach made things less effective
- The impact of the solution was reduced a bit, by disabling the feature for special multiple-inheritance cases
- New idea on 'groups' that be handled differently, so we have group or classes grouped and dependant
- 825 qml bug is still around
- PYSIDE-2676 seems to be a new approach to fix it
- A few customer bugs made it the bug fixing week.
- PYSIDE-2675 type discovery code, class inheritance
- QtAudio -> QAudio refactory
- Virtual function compatibility to modify the signature (from typesystem)
- PYSIDE-2492 uic issues for Enum compatibility
- More improvements for Python projects (import options)
- PYSIDE-2685 nan type definition
- Removing code from shiboken
- 6.8 Adaption already started
- PYSIDE-2689 sphinx directives doesn't seems to be compatible with the search context.
11. April 2024
- General
- Bug fixing week.
- Qt 6.6.3 Library split broke our release, so we provided 6.6.3.1 as a fix.
- Qt 6.7.0 also had an issue with a binary incompatibility change on QtAudio and QAudio
- Maybe we implement a simple channel of communicating this details, in order to avoid breakage [maybe architect meetings]
- Qt Creator 13 creates venvs automatically. This needs to be revisited to avoid multiple environments to be created.
- New epics with brainstorming ideas.
- Infra & Releases
- 6.7.0 was released, we found a couple of issues we are trying to solve, and 6.7.1 will soon be released due to a binary compatibility break, and other small breakage.
- 5.15.17 commercial LTS to be release next week.
- QtDS packages a bit delay due to CI errors.
- Qt Installer (Maintenance tool) has still some issues with the structure.
- Bugs & Features
- Adding new Qt tools to the wheels (wrappers)
- PYSIDE-2602 special virtual function research
- PYSIDE-2669 designer issue
- PYSIDE-2675 Addressing the lazy import issues that were found in 6.7.0
- Studying the possible solution, but it needs to consider other cases as well.
- the *-import handling seems to be related, and affecting the mro content, duplicating some entries.
- the type discovery handler might be related as well
- Still working on the qml 825 bug issues.
4. April 2024
- General
- Large part of the team at conferences/on Easter holiday
- Infra & Releases
- Released 6.6.3.1 release with fixes for Quick Controls/Multimedia
- Preparing for 6.7.0
- Bugs & Features
- PYSIDE-2646 Improved cleanup of signal manager objects
- PYSIDE-2662 Fix for a signal in OpcUA
- PYSIDE-2663 Fixed a crash in webengine bindings
- PYSIDE-2668 Fixed an error in enums
28. March 2024
- General
- Infra & Releases
- Prepared 6.6.3.1 release; 6.6.3 was unfortunately broken due to missing libraries (Quick Controls/Multimedia)
- Bugs & Features
- PYSIDE-2654 Fixed multiple inheritance when no __init__ is in a subclass
- Still investigating a crash on Ubuntu with Python 3.12 and bug_825.py . The crash is deeply hiding in Qt6.
- PYSIDE-2652 Fixed an int overflow
- PYSIDE-2649 Work on building without OpenGL
- PYSIDE-2653 Fixed a syntax error in type hints
21. March 2024
- General
- Ideas to improve the module.
- Most of the team is going on vacation the following weeks.
- Infra & Releases
- 6.7.0 to be released the first week of April [delayed]
- 6.2.12 Commercial LTS to be release in the following days [delayed]
- 6.6.3 to be release next week [delayed]
- Bugs & Features
- 6.8 adaption patches are being worked
- PYSIDE-2638 fix crash QLayout when None is passed
- Documentation updates: for tooling and examples.
- QtRhi missing API provided
- Memory leak regression being worked out
- Shiboken Qt namespaces patches being cherry picked to previous versions.
- Android deployment and qml tool documentations
- Android wheels generation on the CI process is being improved.
- Debugging deep into Nuitka to understand a problem with the lazy loading functionality.
- QAsyncio bug fixed
- Adding more tools docs pages for our tools.
14. March 2024
- General
- PyConDE schedule is out, don't miss Shyam's talk https://pretalx.com/pyconde-pydata-2024/talk/W7YDRX/
- Python 3.13.0a5 is out.
- Infra & Releases
- 6.7.0 in preparation, docs adjustments and new pages will come. Branching on Monday.
- 6.2.12 LTS release in preparation.
- 6.6.3 will be release next week.
- qtpip 0.1.1 to be released
- dev is already Python 3.8 free, and we support 3.9+ for 6.7+
- Bugs & Features
- Triaging and fixing issues in general: 2638 layout crash.
- PYSIDE-2690 namespaces support continues
- Lazy initialization got merged
- New improvements might land in future versions
- PYSIDE-2635 OpcUA example problem
- PYSIDE-2633 remoteobjects issue
- Using new icons on the examples
- Testing libclang 18
- QObject.connect bug when a callable is a QObject (workaround with manual overload)
- QIOPipe implementation for QAsyncio (base in the Qt/C++ one)
- New use cases for QAsyncio and aiohttp
- permission API changes got merge
- android wheel compilation was adapted for qt 6.7.0 (PR on python-for-android was merged)
- PYSIDE-1639 QLocale issue was fixed
07. March 2024
- General
- Participation in FOSS Backstage
- Infra & Releases
- 6.5.5 Commercial LTS was released
- 5.15.13 OSS Package will be released tomorrow
- qtpip 0.1.1 release delayed
- Python 3.8 deprecation is still pending due to CI configuration dependencies.
- Bugs & Features
- permission api changes are mostly merged, one pending https://codereview.qt-project.org/c/pyside/pyside-setup/+/536759/15
- all deployment fixes are in.
- lazy initialization work continues, and some issues were fixed already.
- Ubuntu 22.04 | Python 3.10.2 |is showing an issue with scriptableapplication
- Continue implementing more API for QtAsyncio which is currently working well
- two pending change for 6.7.0 and 6.6.3 to be merged.
- PYSIDE-2590 qt namespaces support required a patch for Qt/C++
- PYSIDE-2619 gentoo issue with a build
- PYSIDE-2624 typing issue with '/' is being researched
- Qt Icon Teams issues were discovered
- PYSIDE-2602 virtual function research on a special signature
- One regression related to the QObject.connect changes.
29. February 2024
- General
- Leap day!
- Documentation changes
- Infra & Releases
- 6.7.0 will drop support of Python 3.8
- 6.5.5 to be released in the following days
- 6.7.0 RC marks our feature freeze, some exceptions will be discussed in order to release on time.
- qtpip 0.1.1 to be released soon for new indexing and shiboken_wizard package
- General update of Python versions in our CI configuration is being planned (for dev-6.7)
- Bugs & Features
- PYSIDE-2599 QMatrix3x3 issues with QVariant
- PYSIDE-2605 Embedding an application, using .style() - qAPP
- PYSIDE-2590 QT_NAMESPACES support
- PYSIDE-2602 clash on signature for QtWebEngine returning tuple
- Preparing 6.5.5 and 6.7.0 releases.
- PYSIDE-2612 CMake issue from Anaconda builds when find_package
- macOS permissions changes are almost all merged
- Windows BTLE services crash
- QIO-class are required for some new QAsyncio API using pipes
- Lazy loading moving forward, but still a few issues are around
- A couple of shiboken tests seems to have outdated imports that are not helping.
- shiboken compatibility types missing
- Typing issues being solved in order to improve the pyi quality
22. February 2024
- General
- Brainstorming discussion about new JIRA items.
- Infra & Releases
- 6.6.2 was released!
- qtpip getting a new minor version in order to be able to install new shiboken wizard
- Bugs & Features
- Permission API issue failing on the release framework. QtLocation problems were addressed.
- QtAsyncio blog post was published.
- Definition of done for QtAsyncio story, some functions will be implemented, but other ones (until reaching the whole set of user facing API) will be implemented in the future.
- Lazy initialization of numpy support in PySide, to improve the general lazy loading effort.
- Starting documenting pyside6-* tools
- PYSIDE-2610 Qt3D issues
- 6.7 adaption was a lot of work, namespaces were something tricky.
- 6.7 changelog drafted.
- Started to improve the type hinting issues.
15. February 2024
- General
- Brainstorming session was held.
- Europython Call for Proposal is open!
- Infra & Releases
- 6.6.2 release waiting for Qt/C++ packages to be done.
- Commercial 6.5.5 LTS to be out next week.
- Some improvements to the CI and macOS behavior
- Cherry pick bot on commercial repositories.
- Bugs & Features
- singleShot changes are merged, keep an eye on strange behavior.
- 6.7 adaption: metaobjectdump improvements
- 6.6.2 fixes with the commercial shibokenwizard
- lupdate support for pyside improved (qm files)
- pyside6-project problems with dry-run were fixed. Some improvements planned.
- CI android wheels upgrade [skip armv7 in the meantime]
- Lazy imports research continues, we see lots of improvements on apple M* devices.
8. February 2024
- General
- We got a PyConDE 2024 talk accepted (python -> android deployment)!
- Infra & Releases
- Addressing some issues with the android wheels
- 6.6.2 got delayed until next week
- Preparing for the 6.7 switch on dev
- Bugs & Features
- macOS: permission api patches ready for review
- singleShot patches merged
- Lazy initialization was finished, and ready for discussion.
- Check compatibility with the new REST module (from Qt/C++)
- Preparations for 6.7 continues.
1. February 2024
- General
- Interest from KDE to enable flatpak packages (maybe base pyside app).
- Discussion on adding more tutorials of specific functionality.
- CI Maintenance Break next Monday (first Monday of each month)
- Infra & Releases
- no unity build discussion and checks
- 6.6.2 to be released next week.
- More granularity on the commercial wheels: shiboken wizard wheel.
- Bugs & Features
- singleShot timer implementation (to use underlying c++ impl) - still an issue with a context object, and a signal as a functor. A new QObject::connect might handle the situation. More changes to come in order to fix newly discovered issues.
- Android: using the master branch on python-for-android, and other changes related for macOS deployment.
- PYSIDE-2597 optimization for the deployment procedure
- Lazy initialization: works continues, and it's looking good. 13 bugs to go on lazy mode. The new implementation seems to be working better.
- 6.7 adaptation still in progress (many changes from Qt)
- General documentation adjustments
- Improvements on shiboken: better error messages
- Qt Namespaces compatibility attempts.
- Moving away from a couple of setup.py options towards pyproject.toml after upgrading 'build' to 1.0.x
- Design Studio compatibility wheel work continues
25. January 2024
- General
- Configuring additional embedded devices for RTA
- Focus on spending some time on embedded linux, in order to see usability, and compatibility with Boot2Qt images.
- Conferences: submissions to PyCon SK, PyCon DE, PyCon LT, PyCon US
- Infra & Releases
- Decouple of the commercial wheels in order to have a finer granularity and simpler tree on the Qt Installer (Maintenance Tool)
- Qt for Python 6.6.2 is waiting for Qt to be released (by the end of the month)
- The next 5.15.13 LTS open source release will include a new fix for a missing symbol (PyIndex_Check)
- New CI configuration without '--unity' for manual testing, to spot issues.
- Bugs & Features
- VS Code will use .flake8 (formerly setup.cfg) file for configuration once merged
- PYSIDE-2575: Added a new argument to QtAsyncio to configure whether the QCoreApplication at the core of QtAsyncio should be shut down when asyncio finishes (requested by user).
- SingleShot timer issue: Slight "complexity explosion" because correct implementation for one case requires implementation of QObject.connect overload with context arguments (and we implement QObject.connect ourselves, see PySide::qobjectConnectCallback).
- Scripting: code simplification, and massage it to a Qt module.
- Documentation updates to fix issues we had.
- Unity build some issues when building without.
- 6.7 updates, adapting some warning messages
- QTBUG-99313 related issues
- macOS permissions: made an example to work (for deployed apps) - patches incoming
- Android wheels provisioning and configuration in order to generate the base-wheels.
- armv7 complications due to an upstream find_python command.
- Lazy initialization: re-wrote approach from scratch, to reduce the patches to one that can be analyzed easily. Some complications with this approach that needs to be improve. It can be tried with https://codereview.qt-project.org/c/pyside/pyside-setup/+/496118
- https://peps.python.org/pep-0690/ was rejected, but the idea can be implemented per-module
- Moving entry_points declaration to pyproject.toml from setup.py
- Drop the bdist_wheel steps from the CI (old wheels)
- Started working on split commercial wheels, wheels for QtDS and examples on QtCreator.
18. January 2024
- General
- Infra & Releases
- Commercial LTS 6.2.11 was released
- Add missing tags OSS LTS 5.15.x
- 6.6.2 scheduled by the end of the month
- Release documentation to be written to have tasks on JIRA
- Bugs & Features
- Python Scripting: looking into stable API, and cleanup
- PYSIDE-2577 doxygen issue
- PYSIDE-2570 closing some roadmap items
- Polishing documentation to use more sphinx directives
- Qt 6.7 adaption
- Addressing some flake8 issues in the build_script
- macOS permission API work continues: limitation for interpreted script, only compatible when deployed. Working around nuitka.
- singleShot: trying to solve a corner case when no sender is specified (for using the C++ function directly)
- Fixing some CI problems with 3.11 -> 3.12 changes.
- PYSIDE-2404 adding more information regarding the lazy evaluation, new approach might work.
- pyside6 is now an official recipe on the python-for-android!
- Improvements to the doc build process
11. January 2024
- General
- Hackathon at TQtC
- CI process presentation
- Infra & Releases
- Commercial LTS 6.5.4 release starting (to be finished today)
- Commercial LTS 6.2.11 still pending release
- 6.6.2 schedule by the end of the month.
- CI still showing some issues after the maintenance break.
- Update of the Python versions are pending.
- Bugs & Features
- Fixing a few small issues with QtAsyncio
- Documentation for the QtAsyncio is currently in review.
- New behavior for singleShot (relying on the C++ impl)
- macOS request permission API work continues.
- 6.7 adaptions patches
- M2M fixes on the current impl
- Native interfaces were added (new ones) to public headers
- favicon issue with out docs
- Making our doc diagram generation optional
- Improvements for the doc build process
04.January 2024
- General
- Happy new year fellow readers :D
- New OKR organization
- Keeping in an eye on Conferences
- PyPy is now on 3.10
- Ideas on the wheel organization for the Qt Installer
- Infra & Releases
- CI Maintenance break continues. Some new issues were discovered.
- Pending releases: 6.2.11 and 6.5.4
- Android wheels for testing purposes are available (not for production)
- Xcode issues with a new M3
- Planning the inclusion of Python 3.12 in the CI
- Bugs & Features
- async: A few bug fixes were pushed and ready for review
- async: the module is missing from our docs
- async: we have been getting some interests from users, so new issues are appearing.
- new android tag added to the examples for a better browsing
- pyside6 designer pyenv crash was fixed
- pyside cmake module update crash was fixed
- working on the request permission API for macOS
- docs: free functions as separate section and other improvements
- Python scripting in c++ works continues
- PyPy 3.10 compatibility patches
- nogil: working again on a compatibility with PEP703
- locking mechanism for our modules.
- Typing adjustments, we need '/' in our signatures due to not having keywords parameters.