Qt for Python Development Notes: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(356 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Qt for Python]]
[[Category:Qt for Python]]
== 2020 ==


==== 9. July 2020 ====
==2024==


* Infra update
===28. March 2024===
** 5.14 issues related to virtualenv (but 5.14.2 works)
* General
** dev is open for direct merges.
* Infra & Releases
** 5.14.2.3 macOS needs review to be released.
** Prepared 6.6.3.1 release; 6.6.3 was unfortunately broken due to missing libraries (Quick Controls/Multimedia)
** sdist packages WIP patch.
* Bugs & Features
* Python 3.9b4 is out and we will try it out.
** [https://bugreports.qt.io/browse/PYSIDE-2654 PYSIDE-2654] Fixed multiple inheritance when no __init__ is in a subclass
* (in progress) Selectable features
** Still investigating a crash on Ubuntu with Python 3.12 and bug_825.py . The crash is deeply hiding in Qt6.
** new corner cases were found, so they are being tackled.
** [https://bugreports.qt.io/browse/PYSIDE-2652 PYSIDE-2652] Fixed an int overflow
* (in progress) access Qt properties directly
** [https://bugreports.qt.io/browse/PYSIDE-2649 PYSIDE-2649] Work on building without OpenGL
** decide which are the properties at runtime.
** [https://bugreports.qt.io/browse/PYSIDE-2653 PYSIDE-2653] Fixed a syntax error in type hints
** Maybe sources/pyside2/PySide2/global.h.in:41 can help
*** #define QT_ANNOTATE_ACCESS_SPECIFIER(a) __attribute__((annotate(#a)))
* (in progress) Qt6 compatibility
** Dealing with test failures.
** Issues OpenGLWidgets
** We need to update the MetaType registration mechanisms to start working on QML register types


===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.


==== 2. July 2020 ====
===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


* Infra Update
===07. March 2024===
** Timeouts issues, increasing it is not a solution.
* General
** How to proceed with dev to use Qt6
** Participation in FOSS Backstage
*** merge without CI
* Infra & Releases
*** clarify the yaml configuration
** 6.5.5 Commercial LTS was released
** 5.14.2.3 new release planned
** 5.15.13 OSS Package will be released tomorrow
* Selectable Features
** qtpip 0.1.1 release delayed
** snake_case for camelCase names.
** Python 3.8 deprecation is still pending due to CI configuration dependencies.
** (in progress) access Qt properties directly:
* Bugs & Features
*** For 'label = QLabel("hello")', we could do 'label.text = "bye"' instead of using the 'label.setText("bye")'.
** permission api changes are mostly merged, one pending https://codereview.qt-project.org/c/pyside/pyside-setup/+/536759/15
* Qt6 compatibility
** all deployment fixes are in.
** QML working on Linux (this will enable us to work on the registration)
** lazy initialization work continues, and some issues were fixed already.
* Some improvements in the documentation generation must be done to speed up the process.
*** Ubuntu 22.04 | Python 3.10.2 |is showing an issue with scriptableapplication
* pyside2_config.py file to CMake
** Continue implementing more API for QtAsyncio which is currently working well
** include XConfig.cmake files on the wheel
** two pending change for 6.7.0 and 6.6.3 to be merged.
* sdist package
** PYSIDE-2590 qt namespaces support required a patch for Qt/C++
** nice to have: pip install -e ., but at the moment we have three egg-info directories (error)
** PYSIDE-2619 gentoo issue with a build
* Starting again with the cross compilation of PySide for embedded linux.
** PYSIDE-2624 typing issue with '/' is being researched
==== 25. June 2020 ====
** Qt Icon Teams issues were discovered
** PYSIDE-2602 virtual function research on a special signature
** One regression related to the QObject.connect changes.


* Infra update
===29. February 2024===
** Release of the second set of Windows 64bit wheels.
** Issues on the CI due to some internal issues, everything should be running soon.
* (in progress) from __future__ import newapi
** it's tricky to provide snake_case instead of camelCase
** issues with tp_getattro
** creating modified Python objects to replace the original types at runtime
* (in progress) from __future__ import newproperties
** Still many things to go
* PYSIDE-1282 pthread crash solved, and will be merge in 5.14
* Indentation fixes for generated code. Prefix adaptation for a standard format so it can be loaded in QtCreator (from warning and stuff)
* Qt for Python 6 is partially working in some platforms
** Still many missing modules,
** CMakeLists.txt files needs some love,
** Needs to adapt CI for the new dev branch
** Windows has some issues still :)
* libclang situation, are we sharing the same version for qdoc, qtcreator, qt, etc...?
** Need to check in case we decide to update
* Commercial wheels split progress


==== 18. June 2020 ====
* 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


* Infra update
===22. February 2024===
** The new windows wheels still had some issues, it seems the latest are OK, and we would need to publish '_2' wheels.
* General
** Some issues with macOS builds for 5.15.0
** Brainstorming discussion about new JIRA items.
* Qt6 compatibility
* Infra & Releases
** This is stopping the improvements in the QML integration story
** 6.6.2 was released!
** We need this merged before continuing https://codereview.qt-project.org/c/qt/qtbase/+/301979
** qtpip getting a new minor version in order to be able to install new shiboken wizard
* Merged a bug fix to 5.12 (the CI was not broken)
* Bugs & Features
* (in progress) Qt6 Properties camelCase to lower_case
** Permission API issue failing on the release framework. QtLocation problems were addressed.
** Not a trivial task
** QtAsyncio blog post was published.
** It's possible to rename dynamically functions, and other things.
** 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.
** Containers needs to be taken care too
** Lazy initialization of numpy support in PySide, to improve the general lazy loading effort.
** Having more than one object with the same ID is challenging
** Starting documenting pyside6-* tools
** Issues with str based objects
** PYSIDE-2610 Qt3D issues
* Fixed PYSIDE-1332, PYSIDE-1327
** 6.7 adaption was a lot of work, namespaces were something tricky.
* (in progress) Commercial wheel are almost ready on Linux, later some changes for Windows and macOS are required.
** 6.7 changelog drafted.
* (in progress) WigglyWidget example almost there
** Started to improve the type hinting issues.
* (in progress) New StyleSheet tutorial.
==== 11. June 2020 ====


* Infra Update
===15. February 2024===
** MSVC 2019 DLL issue with 5.15.0, we shipped a DLL that was too new. (https://bugreports.qt.io/browse/PYSIDE-1323)
** A new set of wheels will be available for Windows users (without a modern MSVC)
* QEnum implementation
** Waiting for review
** Qt5 compatible
** QFlag is also exposed
* Research: Qt6 Properties camelCase to lower_case
** https://bugreports.qt.io/browse/PYSIDE-1019
* Started to fix missing types information: https://bugreports.qt.io/browse/PYSIDE-1318
* Fix memory leaks in property accesors (https://bugreports.qt.io/browse/PYSIDE-1321),
* Fix code generation bugs (https://bugreports.qt.io/browse/PYSIDE-1325)
* Incremental wheels
* Missing pyside2uic features
* Backports for 5.12
** Ask Gerrit admins
** Try one last patch.


==== 4. June 2020 ====
* 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.


* CI Update
** Limited API reports work
** Improve integrations on macOS
* Documentation updates for Qt Assistant
* PYSIDE-1257 cx_Freeze issues seems to be related to cx_Freeze itself.
* Q_ENUM and QFlag will be soon available.
* New Shiboken example to expose a custom Qt Widget to Python
* loadUiType is back into PySide (relies on pyside2-uic on PATH)
* Other bug fixes.


==== 28. May 2020 ====
===8. February 2024===
* Releases
** 5.15.0 and 5.14.2.2 were released :) https://www.qt.io/blog/qt-for-python-5.15.0-is-out
** Thoughts about 5.14.2.3
** 5.15.1 release is still not defined
* Documentation
* CI Status
** The limited-api check was somehow bypass by one specific patch https://codereview.qt-project.org/c/pyside/pyside-setup/+/298845 We need to keep an eye to avoid this in the future.
* Backlog status [https://bugreports.qt.io/secure/RapidBoard.jspa?rapidView=262&view=planning.nodetail&selectedIssue=PYSIDE-463&issueLimit=100 check it here]
* QML Integration update
** We are working on finishing the implementation of Q_ENUM, to be able to use the singletonType registration
** Additionally, we are looking into the uncreatableType registration too.
* Development branch for Qt6
** We need the following before jumping into dev.
*** QList/QVector
*** QString -> integrated (clarity)


==== 21. May 2020 ====
* General
* '''Holiday'''
** 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.


==== 14. May 2020 ====
===1. February 2024===


* CI Updates
* General
** CI blocked due to some provisioning issues in red hat
** Interest from KDE to enable flatpak packages (maybe base pyside app).
** 5.14.2.2 Release is on hold
** Discussion on adding more tutorials of specific functionality.
** 5.15 commercial release in preparation
** CI Maintenance Break next Monday (first Monday of each month)
** License check
* Infra & Releases
* 5.15 Release
** no unity build discussion and checks
** Pickling changes
** 6.6.2 to be released next week.
** Examples
** More granularity on the commercial wheels: shiboken wizard wheel.
** loadUiType
* Bugs & Features
* Tutorials rcc, designer
** 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.
** Add project's tutorial.
** Android: using the master branch on python-for-android, and other changes related for macOS deployment.
* Continue research of using Qt6
** PYSIDE-2597 optimization for the deployment procedure
* __qualname__ attributes are almost done
** Lazy initialization: works continues, and it's looking good. 13 bugs to go on lazy mode. The new implementation seems to be working better.
** This changes was required for the pickling support.
** 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


==== 7. May 2020 ====
* CI Updates
** Issues with the provisioning, for example the connection with PyPi, still in progress.
** We will add a requirements.txt for provisioning.
* Issues
** PYSIDE-1255 Signal not reached in QML
** Pickling Qt Enums PYSIDE-15
*** Almost finished, but we are waiting for PYSIDE-1285 to be fix (modulename, qualname).
** Many other minor bugs have been fixed, but still there are a couple of strange ones.
** First attempts to build shiboken with Qt6
** Ideas repo re-organization
* Features
** Commercial addons
** Tutorials
*** rcc
*** uic
*** QTranslator (*)
*** ...
** QtAssistant integration
** loadUiType
** The new way of registering QML properties needs to be applied to the code base.


==== 30. April 2020 ====
===25. January 2024===
* CI Updates
** Issues with pip upgrades
** Planning new Python versions for new configurations.
* Update on bugs still around after 5.14.2.1
** 1271: Deadlock (fixed)
** 1255: Signal not reached in QML (still in progress)
** 1280: Research
* Features
** QML interaction
** Q_ENUM and pickling SbkEnum
** Commercial Addons


==== 23. April 2020 ====
* General
* 5.14.2.1 Release
** Configuring additional embedded devices for RTA
* New bugs around threading:
** Focus on spending some time on embedded linux, in order to see usability, and compatibility with Boot2Qt images.
** https://bugreports.qt.io/browse/PYSIDE-1271
** Conferences: submissions to PyCon SK, PyCon DE, PyCon LT, PyCon US
** https://bugreports.qt.io/browse/PYSIDE-1255 needs to be reopen.
* Infra & Releases
* Documentation changes around the replacement of the old pysideuic module
** Decouple of the commercial wheels in order to have a finer granularity and simpler tree on the Qt Installer (Maintenance Tool)
* Q_ENUM update
** Qt for Python 6.6.2 is waiting for Qt to be released (by the end of the month)
** How to get a reference from the QMetaObjectBuilder without a QObject based project?
** The next 5.15.13 LTS open source release will include a new fix for a missing symbol (PyIndex_Check)
* mypy compatibility
** New CI configuration without '--unity' for manual testing, to spot issues.
** depends a bit on the Q_ENUM
* 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.


==== 16. April 2020 ====
===18. January 2024===


* Plan for 5.14.2-1 release
* General
* Research on Pickling support, PYSIDE-15
* Infra & Releases
* Provided fix for PYSIDE-1267  related to efforts of exposing QScintilla
** Commercial LTS 6.2.11 was released
* Object dumper to help debugging python implementations
** Add missing tags OSS LTS 5.15.x
* Debugging options for the code model.
** 6.6.2 scheduled by the end of the month
* pysideuic old functionality into the QUiTools module
** Release documentation to be written to have tasks on JIRA
** compileUI
* Bugs & Features
** loadUiType
** Python Scripting: looking into stable API, and cleanup
* Q_ENUM discussion
** 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


==== 9. April 2020 ====
===11. January 2024===


* Most bugs reported in 5.14.2 are fix on 5.14
* General
** Preparing the process for the release of 5.14.2-1
** Hackathon at TQtC
** Check about versioning on pypi to not override 5.14.2 wheels.
** CI process presentation
* PYSIDE-813 is now fixed
* Infra & Releases
* PYSIDE-1255, Signals not being emitted.
** Commercial LTS 6.5.4 release starting (to be finished today)
* Working on Q_ENUM
** 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


==== 2. April 2020 ====
===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 [https://download.qt.io/snapshots/ci/pyside/test/Android/aarch64/ 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.


* 5.14.2 is out:
==2023==
** keep an eye on new bug reports.
*** https://bugreports.qt.io/browse/PYSIDE-1253
*** https://bugreports.qt.io/browse/PYSIDE-1254
*** https://bugreports.qt.io/browse/PYSIDE-1255
** The new documentation is out too: https://doc.qt.io/qtforpython/
* 'manylinux1' discussion
* CI status
* 'loadUiType' status https://bugreports.qt.io/browse/PYSIDE-1223
** two approaches for it, a Python and another in C.
* PYSIDE-813
** Finding where the reference is gone, but there is the only issue left.
** All the other issues were solved.
** A solution should be out soon.
* Research on adding Python support for Qt's lupdate: PYSIDE-1252


==== 26. March 2020 ====
*[[Qt for Python Development Notes 2023]]


* 5.14.2 Release
==2022==
* OKRs Update
** Looking for commercial opportunities
* PYSIDE-813 new discoveries found:
** There are a couple of issues with one of the PYSIDE-803 patches that will be solved soon.
** PYSIDE-164 is out of the picture
* Lambda functions for QWebEngineCallback PYSIDE-946 so we can expose the missing bindings.
* QVariant conversions tweaks PYSIDE-1250
* Working on adding 'loadUiType' into PySide PYSIDE-1223
* Research on adding Python support for Qt's lupdate: PYSIDE-1252


==== 19. March 2020 ====
*[[Qt for Python Development Notes 2022]]


* 5.14.2 Release preparations
==2021==
* Work on Widget gallery example
* Done: Refinements to wheel-tester.py
* Done: Reworked test_wheel.py for macOS
* Done: Fixed PYSIDE-1247 signature warning in Python 3.6
* In progress: Instrumentation of PYSIDE-164/813


==== 12. March 2020 ====
*[[Qt for Python Development Notes 2021]]


* CI Status
==2020==
** Everything up and running
** 5.14.2 to be released next week hopefully.
* PYSIDE-803
** Almost there!
** retrieveMetaObject improvements.
** We will try to test it without the allow-thread patch to evaluate performance.
* PYSIDE-813
** we will keep PYSIDE-164 open until we find a solution that fixes both.
* Starting to evaluate std::function compatibility with Shiboken.


==== 5. March 2020 ====
*[[Qt for Python Development Notes 2020]]


* CI Update
==2019==
** Including Python 3.8
** Maybe using alternatives to have many Python versions.
* Priority bugs
** PYSIDE-803
*** major changes in (caching)
*** still other minor patches to be merged.
*** allow-thread patch has a bug, maybe this can be detach from the snippets one.
** PYSIDE-813
*** PYSIDE-164 appears again if we fix it,
*** Maybe a solution is to fix 164 in another way.
* 5.15 feature status
* Changes for Qt 6
** Changes in the [https://codereview.qt-project.org/c/qt/qtbase/+/284225 QMetaType representation]
*** Reference of the [https://codereview.qt-project.org/c/qt/qtdeclarative/+/285788 new system in qtdeclarative]
** Wishlist for [https://bugreports.qt.io/browse/PYSIDE-904 Qt6 opportunities]


==== 27. February 2020 ====
*[[Qt for Python Development Notes 2019]]


* CI Updates
==2018==
** 5.12 cherry-picks
* qApp
** Deprecation message or alias (when using QtWidgets.qApp)
* PYSIDE-803
** Missing patches to be merged
*** Python 2.7 issues
*** allow-thread commit message (add a changelog)
*** second caching mechanism to be studied after we merge the first set of patches.
*** Third attempt after the stackless gilstate approach
** Documentation
* Python 3.8 testing is still being worked out


==== 20. February 2020 ====
*[[Qt for Python Development Notes 2018]]
 
* CI Updates
** Cherry-picking some changes to 5.12 to fix the virtualenv 20 issues.
** macOS timeouts
** possibility of merging simple changes directly.
* qApp issues
** Patches ready for review
* PYSIDE-803
** Patches needs some polishing
* Testrunner improvements
** stdout/stderr issues with ctest on windows
** smart pointers tests crashing, due to qApp issues.
** Python 3.8 is also giving problems (DLLs missing)
** debug builds on windows does not work.
* Shiboken documentation being reorganized
* Starting testing Python 3.9
 
==== 13. February 2020 ====
 
* CI updates
** Windows package signing will be possible, hopefully soon.
* Documentation updates
** Example gallery
** WebChannel example merged,
* Python 3.8 changes on Windows are still being tackled.
* Bugs
** PYSIDE-803 status: A patch waiting for review is there, but we need to combine it with the other solutions we currently have. Still, there are some corner cases where the problem is not properly solved.
** qApp issues to be solved, but we will remove the import features. qApp will remain as a built-in.
* OKRS 1Q/2020
 
==== 6. February 2020 ====
 
* CI status and issues with the Qt provisioning 5.12
** 5.12.7 release will take more time to add new features.
** 5.14 has some issues with OpenGLFunctions.
* Documentation: Interest for the new shiboken2 documentation structure and usage of the ApiExtractor.
* Python 3.8 compatibility with older branches.
* Updates on PYSIDE-803 [https://bugreports.qt.io/browse/PYSIDE-803?focusedCommentId=496894&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-496894 link]
* Suggestion about iterations a-la-python https://bugreports.qt.io/browse/PYSIDE-1216
* Events
** Qt World Summit 2020 Palm Springs
** PyCon US
 
==== 30. January 2020 ====
* 5.14.1 release rolling
* Work on [https://bugreports.qt.io/browse/PYSIDE-1204 PYSIDE-1204]
* Work on [https://bugreports.qt.io/browse/PYSIDE-1191 PYSIDE-1191] PySide2 5.14 source now builds against Qt 5.12 as well
* Further research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
** full instrumentation of generated source for tracing,
** discovery of new hooks to support. Still in flux.
* Fixed some issues of Python 3.8 (most prominently warnings about implicit conversion to integers for QFlags), will be fixed in 5.14.2
* qApp macro [https://bugreports.qt.io/browse/PYSIDE-1178 PYSIDE-1178] [https://bugreports.qt.io/browse/PYSIDE-1158 PYSIDE-1158] [https://bugreports.qt.io/browse/PYSIDE-1135 PYSIDE-1135] finally closed. One cleanup check in may follow.
 
==== 23. January 2020 ====
* Fix for CI/macOS problem is in, but it requires some merges in Qt5. Until all required merges are done, we will use Qt5 5.14.1 with Qt For Python 5.14
* Research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
* Proposed an "until" attribute for typesystem files to make it possible to build Pyside 5.14 against Qt 5.12  [https://bugreports.qt.io/browse/PYSIDE-1195 PYSIDE-1195]
* Improved the view of compare app for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
* Analysis of PyQt5 and SIP implementation
 
==== 16. January 2020 ====
* CI/macOS problems are being worked.
* qApp fix waiting to be merged.
* first attempts to tackle [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
* Python 3.8 fix to old branches is required for distributions using 5.12 LTS like Conda.
* Working on Q_ENUM support.
* Viewer for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803] is ready to try. Please check out https://git.qt.io/playground/pyside-compare.git and give feedback.
 
==== 9. January 2020 ====
* [https://bugreports.qt.io/browse/PYSIDE-1185 PYSIDE-803] needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
* Python 3.8.1 on Windows has [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285797/ some issues] while building.
* qApp macro changes [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285655 discussion].
* documentation updates are still pending.
* with the release of 5.14 we have been fixing many details from uic's Python support.
* designer's RUNPATH [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285712 needed to be patched], waiting for approval,
* A modular way of packing wheels is being studied.
* Re-take the Python extensions for QtCreator project evaluation.
 
== 2019 ==
* [[Qt for Python Development Notes 2019]]
 
== 2018 ==
 
* [[Qt for Python Development Notes 2018]]

Latest revision as of 15:14, 28 March 2024


2024

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
  • 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
    • 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.

2023

2022

2021

2020

2019

2018