Qt for Python Development Notes: Difference between revisions

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


==== 19. December 2019 ====
==== 9. July 2020 ====
- Python 3.8.1 is out, which simplifies certain issues.
- The missing COIN variable QTEST_ENVIRONMENT=ci was restored. The impact on PySide was fortunately only two missing functions.
- PYSIDE-1158 "qApp: None != None" will probably be documented only. Change is hard and not worth the effort.
- PYSIDE-1135 "embedded QApplication subclass" fix was confirmed to work correctly and will be checked in.
- PYSIDE-1079 clarified. "Missing signal" support not really possible: They have no signatures.
- PYSIDE-939 continued effort explaining the needed inversion.


==== 12. December 2019 ====
* Infra update
- Qt 5.14 is out, but we will wait until next Monday for Python 3.8.1 to be out. More information to come.
** 5.14 issues related to virtualenv (but 5.14.2 works)
- QThread/threading freezing issue are a high priority task now.
** dev is open for direct merges.
- Issues with Python Enums to be work on (Q_ENUM related)
** 5.14.2.3 macOS needs review to be released.
- Documentation update: 5.14 will have new things, and we are still working on them.
** sdist packages WIP patch.
* Python 3.9b4 is out and we will try it out.
* (in progress) Selectable features
** new corner cases were found, so they are being tackled.
* (in progress) access Qt properties directly
** decide which are the properties at runtime.
** 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


==== 5. December 2019 ====
- About dev branch:  will be 5.15 at the moment, until feature freeze.
- Python 3.8 status for 5.14:  it was a hard to find solution, and it is currently based on a flag to enable the fix for 3.8 only.
- New documentation: fixing issues with the new structure.


==== 28. November 2019 ====
==== 2. July 2020 ====
- 5.14 to be close soon, last set of patches to be merge.
- Python 3.8, first part of the fix is ready for review. Mainly the issues regarding the refcounting. The second part will be more tricky, and it is related to Python itself.
- shared_ptr on linux is working, namespaces features for Shiboken waiting for review,
- new documentation incoming for 5.14,
- positive feedback from the Qt Contributors Summit.
  - [[Qt_Contributors_Summit_2019_Program/Qt_for_Python_and_beyond]]
  - [[Qt_Contributors_Summit_2019_Program/Qt_for_Python_Documentation]]
  - [[Qt_Contributors_Summit_2019_Program/Qt_Machine_Learning_and_Math]]


==== 14. November 2019 ====
* Infra Update
- 5.12.6 Release: issues with the 5.12 merge. Some issues with Ubuntu.
** Timeouts issues, increasing it is not a solution.
- 5.14 Release hopefully in a couple of weeks.
** How to proceed with dev to use Qt6
- Qt Contributors Summit happening next week.
*** merge without CI
- NumPy integration documentation soon.
*** clarify the yaml configuration
- qApp issue with embedded subclasses: PYSIDE-1135
** 5.14.2.3 new release planned
- Python 3.8 refcount issues PYSIDE-939 soon to be solved.
* Selectable Features
- Shiboken Shared Pointers support, Namespaces, MSVC2017 issues solved.
** snake_case for camelCase names.
- Building docs on macOS seems really hard to achieve.
** (in progress) access Qt properties directly:
*** For 'label = QLabel("hello")', we could do 'label.text = "bye"' instead of using the 'label.setText("bye")'.
* Qt6 compatibility
** QML working on Linux (this will enable us to work on the registration)
* Some improvements in the documentation generation must be done to speed up the process.
* pyside2_config.py file to CMake
** include XConfig.cmake files on the wheel
* sdist package
** nice to have: pip install -e ., but at the moment we have three egg-info directories (error)
* Starting again with the cross compilation of PySide for embedded linux.
==== 25. June 2020 ====


==== 07. November 2019 ====
* Infra update
- Documentation improvements are coming, more people involved.
** Release of the second set of Windows 64bit wheels.
- Qt World Summit feedback
** Issues on the CI due to some internal issues, everything should be running soon.
  - First time we had a Qt for Python booth,
* (in progress) from __future__ import newapi
  - Request to improve the Python+QML story
** it's tricky to provide snake_case instead of camelCase
  - Suggestions to have a better experience in QtCreator
** issues with tp_getattro
  - In general the people really liked the integration with modules like matplotlib, pandas, opencv, scikit-image
** creating modified Python objects to replace the original types at runtime
  - The voice assistant also was really well received, this involve many other modules like Deepspeech, rasa, mozilla tts technologies, etc.
* (in progress) from __future__ import newproperties
- Documentation will be written for the NumPy compatibility patch.
** Still many things to go
- Planned work on a Python 3.8 leak.  
* PYSIDE-1282 pthread crash solved, and will be merge in 5.14
- After the chain of patches improving the namespace in shiboken, there are some issues with Python 2.7
* Indentation fixes for generated code. Prefix adaptation for a standard format so it can be loaded in QtCreator (from warning and stuff)
- New template for Qt for Python on QtCreator will be merge soon.
* 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


==== 24. October 2019 ====
==== 18. June 2020 ====
  - Release Qt for Python 5.13.2
    - 5.13.2 branch exists -> testing and final build on the way
    - aiming for release on 1st Nov 2019
  - 5.15 branch is still broken
  - further requirements mgmt/grooming ongoing
  - name spacing modification
    - hiding namespaces like QtCharts from Python and adding ability to shiboken to work with inline namespaces
    - https://bugreports.qt.io/browse/PYSIDE-990
    - https://bugreports.qt.io/browse/PYSIDE-1074
  - removed pyside-uic and pyside-rcc -> tooling is 100% Qt
  - QSettings related bug fix caused regression, more fixes were needed
  - Qt World Summit 2019 preparations (demos, shipping etc)
  - translator script from C++ to Python being done
    - translates 90% of the code (enough to simplify the snippet conversion process)
  - Numpy work complete for now
  - started working on Python 3.8 (https://bugreports.qt.io/browse/PYSIDE-939)
  - for now Python 3.5 support stays as is


==== 24. October 2019 ====
* Infra update
  - struggling with coin and therefore none of the scheduled releases went out
** The new windows wheels still had some issues, it seems the latest are OK, and we would need to publish '_2' wheels.
  - worked on multiple \brief attributes appearing in the docs
** Some issues with macOS builds for 5.15.0
  - discussions started how to improve the general Qt for Python doc index page
* Qt6 compatibility
  - investigating hiding C++ inline namespaces (e.g. Qt3D and QtCharts name spaces)
** This is stopping the improvements in the QML integration story
  - https://bugreports.qt.io/browse/PYSIDE-795 -> complete for 5.14 (merge pending)
** We need this merged before continuing https://codereview.qt-project.org/c/qt/qtbase/+/301979
    -> pysequence can be handled
* Merged a bug fix to 5.12 (the CI was not broken)
  - Adopting Python 3.8 and removing support for 3.5 in Qt for Python 5.14
* (in progress) Qt6 Properties camelCase to lower_case
  - converter from C++ to Python worker approaching point of being usable for doc snippet conversion
** Not a trivial task
  - moving some docs from wiki to official QtfP docs
** It's possible to rename dynamically functions, and other things.
** Containers needs to be taken care too
** Having more than one object with the same ID is challenging
** Issues with str based objects
* Fixed PYSIDE-1332, PYSIDE-1327
* (in progress) Commercial wheel are almost ready on Linux, later some changes for Windows and macOS are required.
* (in progress) WigglyWidget example almost there
* (in progress) New StyleSheet tutorial.
==== 11. June 2020 ====


==== 17. October 2019 ====
* Infra Update
  - Qt for Python 5.14 release -> not build-able with current Qt 5.14 release
** MSVC 2019 DLL issue with 5.15.0, we shipped a DLL that was too new. (https://bugreports.qt.io/browse/PYSIDE-1323)
    -> Qt Declarative needs change to enable QtfP binaries
** A new set of wheels will be available for Windows users (without a modern MSVC)
  - Qt for Python 5.15
* QEnum implementation
      -> currently not possible in CI
** Waiting for review
  - Qt for Python 5.13.2
** Qt5 compatible
      -> in principle 5.13 branch is releasable (except there is an elaborate set of doc patches)
** QFlag is also exposed
  - split of QtfP project modules continues
* Research: Qt6 Properties camelCase to lower_case
    -> dependencies defined via yaml
** https://bugreports.qt.io/browse/PYSIDE-1019
    -> adds the ability to also sign produced wheel.
* Started to fix missing types information: https://bugreports.qt.io/browse/PYSIDE-1318
  - more example work
* Fix memory leaks in property accesors (https://bugreports.qt.io/browse/PYSIDE-1321),
  - working on a semi translator to translate C++ snippets to Python
* Fix code generation bugs (https://bugreports.qt.io/browse/PYSIDE-1325)
  - visit to PyConDE
* Incremental wheels
  - QSharePointer related fixes being worked on
* Missing pyside2uic features
  - numpy proof-of-concept ([https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795]) is available
* Backports for 5.12
  - removed uic and rcc from pyside-setup since the Qt tools support Python now
** Ask Gerrit admins
  - exploring the idea to include designer in the Python wheels
** Try one last patch.
  - discussion on supported Python versions (can we add 3.8 and remove 3.5?)
      -> more comms on the mailing list can be expected


==== 26. September 2019 ====
==== 4. June 2020 ====
  - Porting guide (C++ -> Python) ready for staging
  - Further snippet handling improvements
      - being split out and translating them to Python
  - general bug cleanups/triaging
  - working on new template for Python to create ui files
  - [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795] (numpy) progressing
  - OPCUA viewer example port completed
  - added more Qt 5.14 API to Qt for Python 5.14
  - [https://bugreports.qt.io/browse/PYSIDE-1087 PYSIDE-1087] in progress


==== 19. September 2019 ====
* CI Update
  - Roadmapping session for Qt for Python 5.15 & 6.0 on 8. October
** Limited API reports work
  - experimenting with new configuration changes in coin and how they affect Qt for Python
** Improve integrations on macOS
  - Porting tutorial (C++ -> Python) was pushed for review
* Documentation updates for Qt Assistant
  - Progress on porting the C++ snippets to Python
* PYSIDE-1257 cx_Freeze issues seems to be related to cx_Freeze itself.
      -> will be a longer process
* Q_ENUM and QFlag will be soon available.
  - [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795] (numpy) progressing
* New Shiboken example to expose a custom Qt Widget to Python
    -> streamline-ing some code sections in the process
* loadUiType is back into PySide (relies on pyside2-uic on PATH)
  - focus on validating existing bugs
* Other bug fixes.
  - otherwise the team dealt with impact of a cmake based Qt build system
  - porting QtOpcua to Qt for Python
      - particular work went into to opcuaviewer example


==== 12. September 2019 ====
==== 28. May 2020 ====
  - Work on QtOpcUa continued [https://bugreports.qt.io/browse/PYSIDE-952 PYSIDE-952]
* Releases
  - Work on example for Qt Summit
** 5.15.0 and 5.14.2.2 were released :) https://www.qt.io/blog/qt-for-python-5.15.0-is-out
  - Work on [https://bugreports.qt.io/browse/PYSIDE-1057 PYSIDE-1057]
** Thoughts about 5.14.2.3
  - Prototyped QStringView support
** 5.15.1 release is still not defined
  - [https://bugreports.qt.io/browse/PYSIDE-1087 PYSIDE-1087] huge speed patch ready for review
* Documentation
  - [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795] (numpy) progressing
* 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)


==== 5. September 2019 ====
==== 21. May 2020 ====
  - Qt for Python 5.13.1 & 5.12.5
* '''Holiday'''
    - RTA for 5.13.1 released
    - 5.12.5 released next week
  - Branching
    - challenge is the building of Qt 6 while maintaining a stable Qt for Python build
    - one solution might be a QfP build for selected modules only
  - Team is planning a roadmapping session for QfP 5.15 release
  - [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795] (numpy) progressing
  - quite a few bugs have been fixed e.g. [https://bugreports.qt.io/browse/PYSIDE-1051 PYSIDE-1051]
  - Looking at QStringView exposure in Python
  - Continued work on uic/rcc tooling
  - General tooling improvements when working with QtCreator and Python
  - Updated some build instructions for QfP on Fedora


==== 29. August 2019 ====
==== 14. May 2020 ====
  - Releases (5.12.5 & 5.13.1) upcoming
  - Release candidate wheels under test for both releases (Linux & macOS, Win is outstanding)
      - last patch for 5.13.1 is [https://bugreports.qt.io/browse/PYSIDE-1079 PYSIDE-1079]
  - [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795] continued progress
  - new look at our example basket
  - continued work on [https://bugreports.qt.io/browse/PYSIDE-1033 PYSIDE-1033]
  - uic and rcc can output python code -> needs deployment changes in Pyside2 -> target release Qt for Python 5.14
      - adding support in QtCreator being able to deal with the above python tools


==== 22. August 2019 ====
* CI Updates
  - Work on QtOpcUa started  [https://bugreports.qt.io/browse/PYSIDE-952 PYSIDE-952]
** CI blocked due to some provisioning issues in red hat
  - Solved [https://bugreports.qt.io/browse/PYSIDE-1079 PYSIDE-1079] partially, need the structure
** 5.14.2.2 Release is on hold
    of 5.14 to implement the typing.Optional feature.
** 5.15 commercial release in preparation
  - Solved and closed [https://bugreports.qt.io/browse/PYSIDE-1077 PYSIDE-1077] wrong init code
** License check
  - Solved [https://bugreports.qt.io/browse/PYSIDE-1073 PYSIDE-1073], waiting for review
* 5.15 Release
  - Refined and closed [https://bugreports.qt.io/browse/PYSIDE-945 PYSIDE-945].
** Pickling changes
** Examples
** loadUiType
* Tutorials rcc, designer
** Add project's tutorial.
* Continue research of using Qt6
* __qualname__ attributes are almost done
** This changes was required for the pickling support.


==== 15. August 2019 ====
==== 7. May 2020 ====
  - Partially solved [https://bugreports.qt.io/browse/PYSIDE-1052 PYSIDE-1052] (constants missing).
* CI Updates
  - Solved at the same time [https://bugreports.qt.io/browse/PYSIDE-945 PYSIDE-945].
** Issues with the provisioning, for example the connection with PyPi, still in progress.
    Solved a QtCore.Slot() bug that dates back to 2010-11-03.
** We will add a requirements.txt for provisioning.
  - Work on [https://bugreports.qt.io/browse/PYSIDE-1073 PYSIDE-1073] trying to fix the bug.
* Issues
  - Work on [https://bugreports.qt.io/browse/PYSIDE-1051 PYSIDE-1051] trying to fix the bug.
** PYSIDE-1255 Signal not reached in QML
  - Merges/work on continuous integration infrastructure (preparing 5.13.1)
** 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.


==== 8. August 2019 ====
==== 30. April 2020 ====
  - Licenses on Pypi
* CI Updates
    - pypi is used for commercial and open source users
** Issues with pip upgrades
    - currently only publishing the open source license -> will add second "commercial" license
** Planning new Python versions for new configurations.
  - Releasing
* Update on bugs still around after 5.14.2.1
    - 5.13.1 release is being prepared
** 1271: Deadlock (fixed)
    - 5.12.5 follows later this month
** 1255: Signal not reached in QML (still in progress)
  - Documentation changes
** 1280: Research
    - Qt for Python Logo updated
* Features
    - CSS updates -> (lots of suggestions/bug reports from the community)
** QML interaction
  - PYSIDE-951 (primitive type support) merged and done
** Q_ENUM and pickling SbkEnum
  - PYSIDE-795 (Numpy support progressing)
** Commercial Addons
  - ported simpletreewidget from C++ to python
  - restructuring cmake setup with the aim to have a more modular build selection


==== 1. August 2019 ====
==== 23. April 2020 ====
  - (Summer break)
* 5.14.2.1 Release
  - PYSIDE-795 (numpy support is progressing)
* New bugs around threading:
  - PYSIDE-951 (primitive pointer types ready for review)
** https://bugreports.qt.io/browse/PYSIDE-1271
  - Fixed pyside-setup 5.14 branch building (addressing lots of deprecation changes)
** https://bugreports.qt.io/browse/PYSIDE-1255 needs to be reopen.
* Documentation changes around the replacement of the old pysideuic module
* Q_ENUM update
** How to get a reference from the QMetaObjectBuilder without a QObject based project?
* mypy compatibility
** depends a bit on the Q_ENUM


==== 25. July 2019 ====
==== 16. April 2020 ====
  - (Summer break)
  - continuing on PYSIDE-795: documentation,
    - supporting the iterable protocol (will become sub-task)
    - augmenting incomplete classes (QtPrintSupport)
    - checking and correcting function signatures according to PYSIDE-951


==== 18. July 2019 ====
* Plan for 5.14.2-1 release
  - (Summer break)
* Research on Pickling support, PYSIDE-15
  - Some progress related to Bug fixing is being done.
* Provided fix for PYSIDE-1267  related to efforts of exposing QScintilla
  - bug fixing on signatures accessing "__doc__" on a module function.
* Object dumper to help debugging python implementations
  - continued on PYSIDE-795
* Debugging options for the code model.
* pysideuic old functionality into the QUiTools module
** compileUI
** loadUiType
* Q_ENUM discussion


==== 11. July 2019 ====
==== 9. April 2020 ====
  - visiting EuroPython
  - discussed roadmap for 5.14 release (check out Pyside Jira project with FixVersion 5.14)
  - continued CI configuration setup for pyside-setup
  - continued on shared pointer bugs(PYSIDE-1024 & PYSIDE-1043)
  - assert triggering for certain types (PYSIDE-1037)
  - further changes for PYSIDE-951
  - numpy enhancements (PYSIDE-795) (documentation and tests improvements)


==== 04. July 2019 ====
* Most bugs reported in 5.14.2 are fix on 5.14
  - Qt for Python 5.13.0 released
** Preparing the process for the release of 5.14.2-1
  - Experimented with cross compiling
** Check about versioning on pypi to not override 5.14.2 wheels.
    - not easily possible -> build system needs major work
* PYSIDE-813 is now fixed
  - New control system for Qt for Python (isolates Qt4Python CI configuration from coin)
* PYSIDE-1255, Signals not being emitted.
    - more flexible way of working as not dependent on coin release
* Working on Q_ENUM
  - [https://bugreports.qt.io/browse/PYSIDE-951 PYSIDE-951] finish
  - [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795] work continues
  - fixed QFlags handling
  - had trouble merging pyside to dev branch
  - some discussions around smart pointer handling in Qt4Python
  - https://bugreports.qt.io/browse/PYSIDE-634 ready to be merged
  - https://bugreports.qt.io/browse/PYSIDE-1010


==== 27. June 2019 ====
==== 2. April 2020 ====
  - about to finish [https://bugreports.qt.io/browse/PYSIDE-951 PYSIDE-951]
  - fixed "Fix qApp import of QCoreApplication"
  - cleanup formatting of all source code and modern C++11 features
  - final re-working of "Example: Move the SQL statements", improving the C++ code as well


==== 20. June 2019 ====
* 5.14.2 is out:
  - Release
** keep an eye on new bug reports.
    - Qt for Python 5.12.4 released today
*** https://bugreports.qt.io/browse/PYSIDE-1253
    - Qt for Python 5.13.0 wheels done -> still need testing
*** https://bugreports.qt.io/browse/PYSIDE-1254
  - Coin configurations to be separated from qt5.git (will become part of pyside-setup.git
*** https://bugreports.qt.io/browse/PYSIDE-1255
  - SQL example was updated (to be more pythonic)
** The new documentation is out too: https://doc.qt.io/qtforpython/
  - Shared pointer related fixes being done
* 'manylinux1' discussion
  - reopened https://bugreports.qt.io/browse/PYSIDE-1033 (how to build shiboken) after reviewing the current situation
* CI status
  - macOS build issue being addressed
* 'loadUiType' status https://bugreports.qt.io/browse/PYSIDE-1223
  - https://bugreports.qt.io/browse/PYSIDE-951
** two approaches for it, a Python and another in C.
  - team got commit rights for pyinstaller project repository
* PYSIDE-813
  - TQtC is sponsoring PyCon DE
** 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


==== 12. June 2019 ====
==== 26. March 2020 ====
  - Example polish, introduced QSaveFile, fixed tabbed browser [https://bugreports.qt.io/browse/PYSIDE-1022 PYSIDE-1022]
  - Fixed [https://bugreports.qt.io/browse/PYSIDE-1017 PYSIDE-1017], named parameters in added functions
  - Started to look at some issues with smart pointers, [https://bugreports.qt.io/browse/PYSIDE-1024 PYSIDE-1024], [https://bugreports.qt.io/browse/PYSIDE-1016 PYSIDE-1016] related to [https://bugreports.qt.io/browse/PYSIDE-454 PYSIDE-454]
  - Making progress in the embedded support story.
    - After trying the setup.py approach, there was a lot of modifications involve in our build process, so it was not considered a good option.
    - a CMake approach is currently being used, and shiboken generator and the python module are successfully cross-compiled, but still, there is work to do.
  - Final solution of qApp embedding [https://bugreports.qt.io/browse/PYSIDE-571 PYSIDE-571]. After a long Odyssey of breaking solutions, qApp macro works now as expected with embedding.
  - PyInstaller maintainer still did not reply as promised on 2019-06-04 phone call.


==== 6. June 2019 ====
* 5.14.2 Release
  - Summer holidays affecting releasing? Any estimate when we would have:
* OKRs Update
    - Qt for Python 5.13.0 (Qt still on RC0)
** Looking for commercial opportunities
    - Qt for Python 5.12.4 (in the next few weeks)
* PYSIDE-813 new discoveries found:
  - discussed options how to sign wheel content
** There are a couple of issues with one of the PYSIDE-803 patches that will be solved soon.
  - cross compilation of Qt for Python (work in progress)
** PYSIDE-164 is out of the picture
    -> investigating options on how to achieve that in an easy way
* Lambda functions for QWebEngineCallback PYSIDE-946 so we can expose the missing bindings.
  - fixed build on CentOS
* QVariant conversions tweaks PYSIDE-1250
  - https://bugreports.qt.io/browse/PYSIDE-1017
* Working on adding 'loadUiType' into PySide PYSIDE-1223
  - https://bugreports.qt.io/browse/PYSIDE-1016
* Research on adding Python support for Qt's lupdate: PYSIDE-1252
  - https://bugreports.qt.io/browse/PYSIDE-1024
  - https://bugreports.qt.io/browse/PYSIDE-1019
  - https://bugreports.qt.io/browse/PYSIDE-795 (NumPy)
  - discussed commit issues with pyinstaller maintainer
  - QtC will have presence on PyCon DE


==== 23. May 2019 ====
==== 19. March 2020 ====
  - Qt 6 (e.g. Pyside 6.0?) https://bugreports.qt.io/browse/PYSIDE-904
  - Pyinstaller issues being a bottle neck at the moment for the deployment story
  - Qt for Python 5.12.4 release
    - patches are accumulating
    - TODO: branching, changelog, testing
  - Qt for Python 5.13 release status
    - need cleanup in Jira of fix versions
    - Qt 5.13 blog post
    - start generating 5.13 release wheels for testing
  - Discussed Python 2 EOL on 1.1.2020
    - Current proposal is dropping Python 2 support in Qt for Python 6
    - Python 2 users can continue to use Qt for Python 5.15


==== 16. May 2019 ====
* 5.14.2 Release preparations
  - Team member attended PyCon US
* Work on Widget gallery example
  - Work on tutorials
* Done: Refinements to wheel-tester.py
  - [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816] [https://bugreports.qt.io/browse/PYSIDE-1003 PYSIDE-1003] Final fix checked in
* Done: Reworked test_wheel.py for macOS
  - [https://bugreports.qt.io/browse/PYSIDE-735 PYSIDE-735] Make generate_pyi crash on real ImportErrors, only!
* Done: Fixed PYSIDE-1247 signature warning in Python 3.6
  - [https://bugreports.qt.io/browse/PYSIDE-1004 PYSIDE-1004] writable signatures implemented but needs to change
* In progress: Instrumentation of PYSIDE-164/813


==== 9. May 2019 ====
==== 12. March 2020 ====
  - Final fixes to uic to be able to generate Python [https://bugreports.qt.io/browse/PYSIDE-797 PYSIDE-797]
  - Refactorings in libpyside
  - Work on SQL book tutorial
  - Research into using Clang C++ API
  - [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816] [https://bugreports.qt.io/browse/PYSIDE-1003 PYSIDE-1003] Final fix is waiting for approval
  - Viewer tool for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803] nearly ready for browsing code


==== 2. May 2019 ====
* CI Status
  - 5.12.3 released
** Everything up and running
  - Looking into OpenGL version functions [https://bugreports.qt.io/browse/PYSIDE-955 PYSIDE-955]
** 5.14.2 to be released next week hopefully.
  - Improved shiboken2 progress message output
* PYSIDE-803
  - Sped up shiboken2 class generation significantly
** Almost there!
  - Improved code generated for multiple inheritance
** retrieveMetaObject improvements.
  - First look at 5.14 API
** We will try to test it without the allow-thread patch to evaluate performance.
  - Fixed Problems with PyInstaller after removal of Coin glitches
* PYSIDE-813
  - Wrote viewer tool to finally support [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
** we will keep PYSIDE-164 open until we find a solution that fixes both.
* Starting to evaluate std::function compatibility with Shiboken.


==== 25. April 2019 ====
==== 5. March 2020 ====
- Preparation for Qt for Python 5.12.3 release.
  - Replaced QtXmlPatterns by libxml2/libxslt for documentation generation
  - Testing and final polishing of Python output mode of uic 5.14
  - New signatures related to PYSIDE-989
  - Looking into OpenGL version functions [https://bugreports.qt.io/browse/PYSIDE-955 PYSIDE-955]
  - Improving the usability of the "--reuse-build" option
  - fixing new PyInstaller problem with Python 2.7.16


==== 18. April 2019 ====
* CI Update
- Usage of QtXmlPattern in doc tool chain of Qt for Python
** Including Python 3.8
  - xml pattern deprecated in Qt 5.13
** Maybe using alternatives to have many Python versions.
  - working on libxml2 replacement (has issues on platforms w/o libxml2 support)
* Priority bugs
  - in the long term, the qdoc generation process should really produce python docs too
** PYSIDE-803
  - updated coin to continue to include QtXmlPattern for Qt for Python builds
*** major changes in (caching)
- [https://bugreports.qt.io/browse/PYSIDE-996 PYSIDE-996] fixed on SuSE but not yet RedHat
*** still other minor patches to be merged.
- working on docs to provide hints when working with pyinstaller
*** allow-thread patch has a bug, maybe this can be detach from the snippets one.
- [https://bugreports.qt.io/browse/PYSIDE-955 PYSIDE-955] in progress
** PYSIDE-813
- New attempt on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
*** PYSIDE-164 appears again if we fix it,
- shiboken [https://bugreports.qt.io/browse/PYSIDE-995 PYSIDE-995] call operator support
*** Maybe a solution is to fix 164 in another way.
- custom scene graph rendering node in Python (related to PYSIDE-955 PYSIDE-989)
* 5.15 feature status
- improving primitive type conversion (by the various OpenGL related bugs like PYSIDE-989 or PYSIDE-955)
* 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]


==== 11. April 2019 ====
==== 27. February 2020 ====
- PyInstaller problems identified as COIN bugs [https://bugreports.qt.io/browse/PYSIDE-996 PYSIDE-996]
- continuing with [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795]
  - handling pointers which are arrays arrays (patch defunct after too many other changes)
  - identifying remaining bad spots that need improving
- Started work on [https://bugreports.qt.io/browse/PYSIDE-955 PYSIDE-955]
- Started diagnosis of [https://bugreports.qt.io/browse/PYSIDE-995 PYSIDE-995]
- Continued on work enabling extending namespaces across modules


==== 4. April 2019 ====
* CI Updates
- working in Wiki page on how to port a C++ application to Qt for Python (over time should turn into tutorial)
** 5.12 cherry-picks
- further discussion how to handle snippets
* qApp
- more tutorials (especially for PYSIDE-901)
** Deprecation message or alias (when using QtWidgets.qApp)
- Further work on cross compilation for ARMv7
* PYSIDE-803
- Various fixes for Shiboken to handle namespaces in Qt better
** Missing patches to be merged
- Improve Shiboken documentation composition/layout
*** Python 2.7 issues
- Bugfixing related to Qt file handling
*** 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


==== 28. March 2019 ====
==== 20. February 2020 ====
- Qt for Python 5.12.2 released last on 22. March 2019
- started to write up documentation on how to deploy with pyinstaller
  - finding quite a few issues when using pyinstaller on Windows (and particular Python 2)
  - macOS & Linux less problematic
- worked on documentation issues (like missing links for easier browsing)
- investigated issues where shiboken didn't handle C++ namespaces across modules
- handle nullptr usage properly in docs
- more translation of C++ snippets to Python (is a never ending task as there are thousands of C++ snippets)


==== 21. March 2019 ====
* CI Updates
- Qt for Python 5.12.2 release activities
** Cherry-picking some changes to 5.12 to fix the virtualenv 20 issues.
  - some bugs and general CI issues kept delaying the generation of the final release wheels
** macOS timeouts
  - most bugs were related to pyinstaller and other deployment tools
** possibility of merging simple changes directly.
  - one last cxfreeze bug being integrated
* qApp issues
  - next/subsequent set of wheels will be 5.12.2 release
** Patches ready for review
- Lots of installer related discussions in the team
* PYSIDE-803
  - question is which installer/deployment tool to use/recommend
** Patches needs some polishing
  - current decision is to provide guides/documentation for at least fbs and pyinstaller
* Testrunner improvements
- review of project's current release practices (in particular in the area of QA)
** stdout/stderr issues with ctest on windows
  - no outcome at this stage
** smart pointers tests crashing, due to qApp issues.
- addressed issues in dev branch related to changes in Qt dev branch
** Python 3.8 is also giving problems (DLLs missing)
- Qt for Python team joined Qt doc team to talk about ways how to improve Qt for Python docs
** debug builds on windows does not work.
* Shiboken documentation being reorganized
* Starting testing Python 3.9


==== 14. March 2019 ====
==== 13. February 2020 ====
- Fixed broken documentation formatting; added deprecation information
- [https://bugreports.qt.io/browse/QTBUG-74424 QTBUG-74424] 5.13 Release blocker affecting doc generation occurred
- [https://bugreports.qt.io/browse/PYSIDE-932 PYSIDE-932]/[https://bugreports.qt.io/browse/PYSIDE-942 PYSIDE-942]: The embedding patch is mostly
  working, but needs some refinement to be complete:
  - The .pyc generation contradicts the Limited API and must be changed to
    use source code.
  - The code isolation must be made explicit and complete, so that installers
    ''don't recognize'' that there is something.
    Right now this was done in the wrong direction.
  Not much code and time necessary, just fixing ''the right'' bits.
- PYSIDE-934 The Buffer protocol for Python 2 needed a special flag to be compatible.               
- Added more features for the Python project wizards on QtCreator https://codereview.qt-project.org/#/c/255686/
- Created a new tutorial for a workshop https://github.com/cmaureir/qtforpython_workshop


==== 7. March 2019 ====
* CI updates
- Qt for Python 5.12.2 release
** Windows package signing will be possible, hopefully soon.
  - waiting for final patch before release (PYSIDE-942/PYSIDE-932)
* Documentation updates
- Setting up test envs for Python 3.7 & 3.5 (so far testing was always done on Python 3.6) -> work in progress
** Example gallery
- QML tutorial under review (https://codereview.qt-project.org/#/c/254044/10)
** WebChannel example merged,
- how to integrate deprecation infos from Qt to the Python side
* Python 3.8 changes on Windows are still being tackled.
- Python output to rcc [https://bugreports.qt.io/browse/PYSIDE-855 PYSIDE-855]
* Bugs
- [https://bugreports.qt.io/browse/PYSIDE-95 PYSIDE-95] fixed
** 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.
- Experimented with MicroPython
** qApp issues to be solved, but we will remove the import features. qApp will remain as a built-in.
- Found the reason for [https://bugreports.qt.io/browse/PYSIDE-966 PYSIDE-966]: A memory leak was fixed by ctypes.
* OKRS 1Q/2020


==== 28. February 2019 ====
==== 6. February 2020 ====
- Discussion on adding more python testing environments to be certain 3.5+ versions are properly working.
- [https://bugreports.qt.io/browse/PYSIDE-953 PYSIDE-953] fixed
- [https://bugreports.qt.io/browse/PYSIDE-934 PYSIDE-934] almost done
- [https://bugreports.qt.io/browse/PYSIDE-931 PYSIDE-931] almost done
- refcount bug fixes mathplotlib crashes:
  - [https://bugreports.qt.io/browse/PYSIDE-928 PYSIDE-928]
  - [https://bugreports.qt.io/browse/PYSIDE-937 PYSIDE-937]
  - [https://bugreports.qt.io/browse/PYSIDE-943 PYSIDE-943]
- WIP: Embedding to solve signature problems dependency of support directory since 5.12.1 . Will solve 
  - [https://bugreports.qt.io/browse/PYSIDE-942 PYSIDE-942]  missing support, PyInstaller  (was solved but involves PyInstaller change)
  - [https://bugreports.qt.io/browse/PYSIDE-932 PYSIDE-932]  missing support, cx_freese


==== 21. February 2019 ====
* CI status and issues with the Qt provisioning 5.12
- research on how to do ad hoc releases of Pyside 2 for bug fixes like last weeks meta data change (and otherwise no further source change)
** 5.12.7 release will take more time to add new features.
- Qt 5.12.2 about to be released -> should have a Qt for Python 5.12.2 release
** 5.14 has some issues with OpenGLFunctions.
- discussed installer related crash bug following 5.12.1 release [https://bugreports.qt.io/browse/PYSIDE-932 PYSIDE-932] etc.
* Documentation: Interest for the new shiboken2 documentation structure and usage of the ApiExtractor.
- tutorials works (based on recent Qt for Python youtube videos)
* Python 3.8 compatibility with older branches.
- prepared discussions with doc team meeting next week (on Python support)
* 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]
- some more work on [https://bugreports.qt.io/browse/PYSIDE-795 PYSIDE-795]
* Suggestion about iterations a-la-python https://bugreports.qt.io/browse/PYSIDE-1216
- work to distinguish array types from pointer variables
* Events
- [https://bugreports.qt.io/browse/PYSIDE-946 PYSIDE-946] under development
** Qt World Summit 2020 Palm Springs
- [https://bugreports.qt.io/browse/PYSIDE-934 PYSIDE-934] void* type handling
** PyCon US
- [https://bugreports.qt.io/browse/PYSIDE-938 PYSIDE-938] under review
- Current Creator 4.9 beta released today added Python project templates
- PEP 518 (project format for Python projects) -> needs Qt Creator support


==== 14. February 2019 ====
==== 30. January 2020 ====
- 5.12.1 wheels had meta data issues and were redone with fixed meta data
* 5.14.1 release rolling
- discussed improving the integration of Python example code into Qt for Python docs
* Work on [https://bugreports.qt.io/browse/PYSIDE-1204 PYSIDE-1204]
- [https://bugreports.qt.io/browse/PYSIDE-921 PYSIDE-921]
* Work on [https://bugreports.qt.io/browse/PYSIDE-1191 PYSIDE-1191] PySide2 5.14 source now builds against Qt 5.12 as well
- improved signature matching for custom types
* Further research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816] fixed and merged
** full instrumentation of generated source for tracing,
- [https://bugreports.qt.io/browse/PYSIDE-922 PYSIDE-922] fixed
** discovery of new hooks to support. Still in flux.
- [https://bugreports.qt.io/browse/PYSIDE-45 PYSIDE-45] fixed
* Fixed some issues of Python 3.8 (most prominently warnings about implicit conversion to integers for QFlags), will be fixed in 5.14.2
- looking at crashes when importing pandas & numpy (the order of imports matters when working around it)
* 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.
==== 7. February 2019 ====
- Fixed 5.13 deprecation warnings (which unearthed that we had a dependency on QString::isNull() vs isEmpty() in shiboken)
- Fixed a large number of shiboken code generation warnings (revealing some issues)
- Provided s solution for one issue mentioned at PYSIDE-725 (apparently Sharon Woods from US is involved in some consulting?)
- Will start formal release tag marking in Jira (matching Qt style)
- Data visualization tutorial fixes
- Talking about further integration of existing examples into general docs
- [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803] further investigation - no conclusion yet
- [https://bugreports.qt.io/browse/PYSIDE-921 PYSIDE-921] fixed
- [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816] investigated - fix seems at hand
- [https://bugreports.qt.io/browse/PYSIDE-924 PYSIDE-924] fixed issue where Q_PROPERTY flags were not properly passed on to Qt
- restructured cmake files adding a master cmake file (simplifies opening of project in IDEs)
  - Now it's possible to open the whole project (PySide2 + Shiboken2) on QtCreator using the global CMakeList.txt
- worked on issues related to the setup.py and how to execute it.


==== 31. January 2019 ====
==== 23. January 2020 ====
- Preparing 5.12.1 release
* 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
  - Packages are looking good, likely to be released at same time as Qt 5.12.1 release
* Research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- Submitted class bindings of Qt RemoteObjects for [https://bugreports.qt.io/browse/PYSIDE-862 PYSIDE-862]
* 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]
- Added classes QWebEngineHistory, WebEngineHistoryItem with required fix [https://bugreports.qt.io/browse/PYSIDE-906 PYSIDE-906]
* Improved the view of compare app for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- Have calls to method annotated as deprecated issue a warning
* Analysis of PyQt5 and SIP implementation
- Fixed warnings, prepared Qt 5.13 bindings (based on current 5.13 API additions)
  - Looked into [https://bugreports.qt.io/browse/PYSIDE-816 PYSIDE-816], [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- Data visualization tutorial added
- working on ways of substitution of C++ specific terms in docs against Python equivalents (e.g. nullptr and bool)


==== 24. January 2019 ====
==== 16. January 2020 ====
- Release branch for 5.12.1 exist
* CI/macOS problems are being worked.
  - There was some issues in CI with 5.12 branch earlier this week and it was pretty much blocked. All issues should be solved now.
* qApp fix waiting to be merged.
- Prepared class bindings of Qt RemoteObject for PYSIDE-862 for review
* first attempts to tackle [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
- Some creativity to keep integrations going due to COIN issues
* Python 3.8 fix to old branches is required for distributions using 5.12 LTS like Conda.
- Investigation of PYSIDE-803 is ongoing. The issue needs deep analysis to isolate the problem.
* 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.


==== 17. January 2019 ====
==== 9. January 2020 ====
- Fixed PYSIDE-908, further investigation into PYSIDE-803 (free threading)
* [https://bugreports.qt.io/browse/PYSIDE-1185 PYSIDE-803] needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
- QfP 5.12.1 release being prepared
* Python 3.8.1 on Windows has [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285797/ some issues] while building.
- PYSIDE-797 (uic change ready for review)
* qApp macro changes [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285655 discussion].
- PYSIDE-862 (Qt RemoteObject module support)
* documentation updates are still pending.
- PYSIDE-634 being fixed
* with the release of 5.14 we have been fixing many details from uic's Python support.
- started to look at true cross compilation (PYSIDE-802)
* designer's RUNPATH [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285712 needed to be patched], waiting for approval,
- Improving Qt Creator project template support (QTCREATORBUG-21824)
* A modular way of packing wheels is being studied.
* Re-take the Python extensions for QtCreator project evaluation.


==== 10. January 2019 ====
== 2019 ==
- Scope for Qt for Python 5.13 release
* [[Qt for Python Development Notes 2019]]
  -> relevant tasks marked with Fixversion 5.13 in bugreports.qt.io
  -> feature freeze for Qt for Python 5.13 (April 2019)
- looked into case of corrupted meta data of wheel
- supporting named arguments for signals
- some minimal support in Qt Creator to create a Qt for Python project
- bug hunting in 5.12.0 release
- working on Pyside-797
- further analysis of PYSIDE-803, working on an implementation plan
 
==== 3. January 2019 ====
- Completed: Complete The Signature Introspection (PYSIDE-510)
- After the release there has been a couple of new reported bugs that we are working on:
  - There was some outdated documentation issue regarding Slots()
  - A couple of issues with multiple inheritance like: PYSIDE-868
  - and with QPlainTextEdit PYSIDE-886
- Restarted investigation of PYSIDE-803


== 2018 ==
== 2018 ==


* [[Qt for Python Development Notes 2018]]
* [[Qt for Python Development Notes 2018]]

Revision as of 08:36, 9 July 2020

2020

9. July 2020

  • Infra update
    • 5.14 issues related to virtualenv (but 5.14.2 works)
    • dev is open for direct merges.
    • 5.14.2.3 macOS needs review to be released.
    • sdist packages WIP patch.
  • Python 3.9b4 is out and we will try it out.
  • (in progress) Selectable features
    • new corner cases were found, so they are being tackled.
  • (in progress) access Qt properties directly
    • decide which are the properties at runtime.
    • 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


2. July 2020

  • Infra Update
    • Timeouts issues, increasing it is not a solution.
    • How to proceed with dev to use Qt6
      • merge without CI
      • clarify the yaml configuration
    • 5.14.2.3 new release planned
  • Selectable Features
    • snake_case for camelCase names.
    • (in progress) access Qt properties directly:
      • For 'label = QLabel("hello")', we could do 'label.text = "bye"' instead of using the 'label.setText("bye")'.
  • Qt6 compatibility
    • QML working on Linux (this will enable us to work on the registration)
  • Some improvements in the documentation generation must be done to speed up the process.
  • pyside2_config.py file to CMake
    • include XConfig.cmake files on the wheel
  • sdist package
    • nice to have: pip install -e ., but at the moment we have three egg-info directories (error)
  • Starting again with the cross compilation of PySide for embedded linux.

25. June 2020

  • Infra update
    • 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

  • Infra update
    • The new windows wheels still had some issues, it seems the latest are OK, and we would need to publish '_2' wheels.
    • Some issues with macOS builds for 5.15.0
  • Qt6 compatibility
  • Merged a bug fix to 5.12 (the CI was not broken)
  • (in progress) Qt6 Properties camelCase to lower_case
    • Not a trivial task
    • It's possible to rename dynamically functions, and other things.
    • Containers needs to be taken care too
    • Having more than one object with the same ID is challenging
    • Issues with str based objects
  • Fixed PYSIDE-1332, PYSIDE-1327
  • (in progress) Commercial wheel are almost ready on Linux, later some changes for Windows and macOS are required.
  • (in progress) WigglyWidget example almost there
  • (in progress) New StyleSheet tutorial.

11. June 2020

4. June 2020

  • 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

  • Releases
  • Documentation
  • CI Status
  • Backlog status 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

  • Holiday

14. May 2020

  • CI Updates
    • CI blocked due to some provisioning issues in red hat
    • 5.14.2.2 Release is on hold
    • 5.15 commercial release in preparation
    • License check
  • 5.15 Release
    • Pickling changes
    • Examples
    • loadUiType
  • Tutorials rcc, designer
    • Add project's tutorial.
  • Continue research of using Qt6
  • __qualname__ attributes are almost done
    • This changes was required for the pickling support.

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

  • 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

16. April 2020

  • Plan for 5.14.2-1 release
  • Research on Pickling support, PYSIDE-15
  • Provided fix for PYSIDE-1267 related to efforts of exposing QScintilla
  • Object dumper to help debugging python implementations
  • Debugging options for the code model.
  • pysideuic old functionality into the QUiTools module
    • compileUI
    • loadUiType
  • Q_ENUM discussion

9. April 2020

  • Most bugs reported in 5.14.2 are fix on 5.14
    • Preparing the process for the release of 5.14.2-1
    • Check about versioning on pypi to not override 5.14.2 wheels.
  • PYSIDE-813 is now fixed
  • PYSIDE-1255, Signals not being emitted.
  • Working on Q_ENUM

2. April 2020

26. March 2020

  • 5.14.2 Release
  • 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

  • 5.14.2 Release preparations
  • 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

  • CI Status
    • 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

  • CI Update
    • 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

27. February 2020

  • CI Updates
    • 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

  • 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 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 PYSIDE-1204
  • Work on PYSIDE-1191 PySide2 5.14 source now builds against Qt 5.12 as well
  • Further research on 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 PYSIDE-1178 PYSIDE-1158 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 PYSIDE-803
  • Proposed an "until" attribute for typesystem files to make it possible to build Pyside 5.14 against Qt 5.12 PYSIDE-1195
  • Improved the view of compare app for 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 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 PYSIDE-803 is ready to try. Please check out https://git.qt.io/playground/pyside-compare.git and give feedback.

9. January 2020

  • PYSIDE-803 needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
  • Python 3.8.1 on Windows has some issues while building.
  • qApp macro changes 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 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

2018