Qt for Python Development Notes: Difference between revisions

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


==== 22. March 2018 ====
==== 9. July 2020 ====
- Topics to cover:
    - Release process (do we follow Qt?) 


==== 15. March 2018 ====
* Infra update
- Fix to create 3.6 Linux wheels under review.
** 5.14 issues related to virtualenv (but 5.14.2 works)
- Fix scriptableapplication build on Windows, and other small bugs.
** dev is open for direct merges.
- Two QtCharts examples were ported and abstracts were written to submit PyData talks
** 5.14.2.3 macOS needs review to be released.
- Updating the QML advanced tutorial and adding index.rst and gettingstarted.rst
** sdist packages WIP patch.
- Tried the wheel pkgs for python 27 on Linux. Works OK except the webengine example, which gives random crashes.
* 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


==== 08. March 2018 ====
- msvcrt.dll to be shipped on Windows
- wheel snapshots are automatically generated
  - start with public availability under http://download.qt.io/snapshots/ci/
  - snapshots to public pypi server under discussions
- discussion on how to increase value of official pyside mailing list http://lists.qt-project.org/mailman/listinfo/pyside
- looking at build issues on Windows (improving error handling)
- Participation in Python User Group meeting in Berlin (https://www.meetup.com/Python-Users-Berlin-PUB/events/xhqwhpyxfblb/)
- [https://bugreports.qt.io/browse/PYSIDE-595 PYSIDE-595] - Heap Type conversions ongoing
  -  test bed created for easier development
- [https://bugreports.qt.io/browse/PYSIDE-363 Documentation]
  -> Managed to make libxml, libxsl an optional dependency falling back to QtXmlPatterns (despite [https://bugreports.qt.io/browse/QTBUG-66925 QTBUG-66925])
  -> Small fixes to doc modifications
  -> Fix class inheritance diagrams for nested classes


==== 01. March 2018 ====
==== 2. July 2020 ====
- automatic snapshot process almost in place (pending reviews) (RTA to follow)
- general bug fixing (including build and version problems)
- most community Pyside1 pages point to official Pyside 2 (Qt for Python) wiki pages
- [https://bugreports.qt.io/browse/PYSIDE-595 PYSIDE-595] - Heap Type conversions ongoing
- documentation improving
  -> class diagrams being generated
  -> missing links and references
  -> dependencies to qdoc bugs
  -> snapshot process in works
- added support for scoped enums in pyside
- Important things discussed:
  - PySide2 versioning (current proposal WIP patch at https://codereview.qt-project.org/#/c/221767/)
    - Do official releases follow Qt branch names? -
        -> yes (minor release of Pyside is bound to same minor release of Qt
        -> patch level version may differ
    - Will we have snapshots, and if so, will they be uploaded to pip? How will we handle snapshot versions?
        -> tentative yes, if public pip server supports snapshots Pyside should be good citizen
    - alpha / beta / RC versioning?
        -> Pyside should follow the Qt schema
    - Probably need to take into account PEPs for versions pushed to Pypi.
    - Shiboken / PySide2 versions in sync?
        -> yes, they should be in sync
    - Will we specify a version for 5.6 branch?
        -> yes, but no packages being made
    - Are we sticking to the package name PySide2, but follow Qt 5.x versions as PySide2 versions?
        -> Pyside2_5.11.0 as in https://codereview.qt-project.org/#/c/221767/
  - Do we want to deploy msvcrt dlls into Windows packages?
    -> needs more research - is it really needed ?
  - Do we want to ship debug symbols for Qt inside the PySide2 packages?
    -> not for now
  - Do we want to ship debug Qt shared libraries for macOS packages? (not possible on Windows, not applicable on Linux afaik).
    -> not for now
  - How will the pip upload process look like? Manual uploads? Who takes care of it?
    -> Qt release team will take care of it
  - Current branching policies:
    -> 5.6 branch stops being merged into 5.9 (after pending patches have merged) -> cherry-pick mode
    -> 5.9 is base line for patches and being forward merged to 5.11
    -> no packages from 5.9 & 5.6 (interested parties need to get it from git)
    -> 5.11 becomes branch for first TP
    -> dev is feature development
    -> all first TP release related patches go to 5.9 (and 5.11 subsequently)


==== 22. February 2018 ====
* Infra Update
- dev branch is still/again broken in CI, seems like pyside issues
** Timeouts issues, increasing it is not a solution.
- changes to create automatic snapshots out of CI is still under review
** How to proceed with dev to use Qt6
- Numerous small fixes to the [https://bugreports.qt.io/browse/PYSIDE-363 doc] generation, significantly bringing down the number of documentation warnings
*** merge without CI
- Massaged build rules to improve built packages
*** clarify the yaml configuration
    - Removed unnecessary _utils.py file [https://bugreports.qt.io/browse/PYSIDE-600 PYSIDE-600]
** 5.14.2.3 new release planned
    - Changed wheel package names to contain both PySide2 version and Qt version against which it was built [https://bugreports.qt.io/browse/PYSIDE-613 PYSIDE-613]
* Selectable Features
    - Finally got libclang to be deployed into packages
** snake_case for camelCase names.
    - Improved build process not to copy unnecessary symlinks and duplicating libraries when creating wheel (so that you don't get 3x size increase because of 3x number of WebEngine libraries) [https://bugreports.qt.io/browse/PYSIDE-495 PYSIDE-495]
** (in progress) access Qt properties directly:
    - Fixed wheel package names to contain correct minimum deployment target with which macOS was built with (on further analysis, this will need further improvement) [https://bugreports.qt.io/browse/PYSIDE-612 PYSIDE-612]
*** For 'label = QLabel("hello")', we could do 'label.text = "bye"' instead of using the 'label.setText("bye")'.
    - Fixed rpath handling for QtWebEngineProcess when creating standalone packages on macOS [https://bugreports.qt.io/browse/PYSIDE-605 PYSIDE-605]
* Qt6 compatibility
- Added CMake build rules for scriptable application example [https://bugreports.qt.io/browse/PYSIDE-597 PYSIDE-597]
** QML working on Linux (this will enable us to work on the registration)
- Investigated and fixed a heap corruption bug in a test that caused constant crashes on macOS CI runs
* Some improvements in the documentation generation must be done to speed up the process.
- Reduced number of warnings when running shiboken to create user bindings (like scriptable application example) [https://bugreports.qt.io/browse/PYSIDE-587 PYSIDE-587]
* pyside2_config.py file to CMake
- [https://bugreports.qt.io/browse/PYSIDE-595 PYSIDE-595]: Making slow progress, still debugging. It's a difficult process, but assumption is that it will work.
** include XConfig.cmake files on the wheel
- Havent's merge [https://codereview.qt-project.org/#/c/220083/ this new patch] because we should be 200% sure it's properly working.
* sdist package
- Working on a few bugs [https://bugreports.qt.io/browse/PYSIDE-106 PYSIDE-106] [https://bugreports.qt.io/browse/PYSIDE-570 PYSIDE-570]
** nice to have: pip install -e ., but at the moment we have three egg-info directories (error)
- One of the bugs [https://bugreports.qt.io/browse/PYSIDE-611 PYSIDE-611] was valid only for 5.6, but I noticed a strange behaviour on 5.9, so I will keep working on it, even after we move 5.6 to cherry pick mode.
* Starting again with the cross compilation of PySide for embedded linux.
==== 25. June 2020 ====


==== 15. February 2018 ====
* Infra update
- CI broken, 5.6 & dev branch broken, 5.9 just got working again
** Release of the second set of Windows 64bit wheels.
- first TP will be 5.11 based (needs 5.11 git branches, 5.6 branch goes into cherry-pick mode, 5.9 branch remains main target)
** Issues on the CI due to some internal issues, everything should be running soon.
- more modules added to doc, qt3d & qtquick has some special handling
* (in progress) from __future__ import newapi
- snippet work ongoing
** it's tricky to provide snake_case instead of camelCase
- snapshot generation on the agenda
** issues with tp_getattro
- lots of bug fixing e.g.: [https://bugreports.qt.io/browse/PYSIDE-104 PYSIDE-104]
** creating modified Python objects to replace the original types at runtime
- [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560]
* (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


==== 8. February 2018 ====
==== 18. June 2020 ====
- Looking through previous EuroPython talks to write a proposal for this year.         
- Working on a few bugs (fixed a couple related to objects references),               
    - that sadly will open new issues with memory management. A further analysis on this matter could improve the current memory leaks on PySide.                         
- Trying to "organise" a little the typesystem XML files.                             
- Working on [https://bugreports.qt.io/browse/PYSIDE-104 PYSIDE-104] that ended up being a general issue on PySide about a proper verification between slots and signals arguments, to find the best match.
- Merged a few build related changes in 5.6
  - Pending change for [https://bugreports.qt.io/browse/PYSIDE-593 PYSIDE-593]
  - Pending change for [https://bugreports.qt.io/browse/PYSIDE-605 PYSIDE-605]
  - Merged changes for [https://bugreports.qt.io/browse/PYSIDE-603 PYSIDE-603] and [https://bugreports.qt.io/browse/PYSIDE-604 PYSIDE-604]
- Investigated and attached minimal reproducible example for [https://bugreports.qt.io/browse/PYSIDE-585 PYSIDE-585]
- Investigated some macOS build related aspects for package release
- 5.6 CI is unblocked, but 5.9 CI is blocked due to qtbase issues (version bumping)
- [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560] waiting for view
- [https://bugreports.qt.io/browse/PYSIDE-595 PYSIDE-595] work ongoing, not ready yet
- [https://bugreports.qt.io/browse/PYSIDE-363 PYSIDE-363]  Documentation: Fixed images, fix handling of qdocconf files  that contain several modules. Looking at snippet resolution.
- Problems with Qt3D due to refactoring of Qt3Dextras in 5.10. Pushed  [https://codereview.qt-project.org/#/c/219105/ patch] suggestion.


==== 1. February 2018 ====
* Infra update
- Continued work on documentation [https://bugreports.qt.io/browse/PYSIDE-363 PYSIDE-363], fixed static pages, add more modules, fixed parameters to qdoc, images
** The new windows wheels still had some issues, it seems the latest are OK, and we would need to publish '_2' wheels.
- The GettingStarted wiki is getting better, besides a cleaning it a bit
** Some issues with macOS builds for 5.15.0
  - moved the topics around to have guidelines by supported platform (''a la Qt'')
* Qt6 compatibility
  - have received feedback and trying to add more information
** This is stopping the improvements in the QML integration story
- Addressed bugs:
** We need this merged before continuing https://codereview.qt-project.org/c/qt/qtbase/+/301979
  - [https://bugreports.qt.io/browse/PYSIDE-34 PYSIDE-34]
* Merged a bug fix to 5.12 (the CI was not broken)
  - [https://bugreports.qt.io/browse/PYSIDE-264 PYSIDE-264]
* (in progress) Qt6 Properties camelCase to lower_case
  - cleaning a bit Shiboken's XML files.
** Not a trivial task
  - [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560]
** It's possible to rename dynamically functions, and other things.
    - ported to 5.9, extended to 18 header files
** Containers needs to be taken care too
    - solved unicode problem
** Having more than one object with the same ID is challenging
    - reduced the patches to be minimal (avoid many #ifdef's, use a verbose macro name if possible)
** Issues with str based objects
    - made everything compile but one announced file: "object.h" depends on the heaptypes solution ([https://bugreports.qt.io/browse/PYSIDE-595 PYSIDE-595]). Removed WIP status,review pending.
* Fixed PYSIDE-1332, PYSIDE-1327
  - [https://bugreports.qt.io/browse/PYSIDE-595 PYSIDE-595]
* (in progress) Commercial wheel are almost ready on Linux, later some changes for Windows and macOS are required.
    - Started experimenting
* (in progress) WigglyWidget example almost there
    - turned out that the signature extension barfed because it could no longer find the type "__name__". The function PyType_Type.tp_new needs to be called to provide the "ht_name" attribute that is used in heaptypes.
* (in progress) New StyleSheet tutorial.
- solving the attribution file issues.
==== 11. June 2020 ====
- Pending patches to fix libICU issues
- Pending patches to fix OpenSSL issues [https://bugreports.qt.io/browse/PYSIDE-599 PYSIDE-599]
- Pending patches to deploy libclang library for shiboken
- Improved documentation about OpenSSL dependency
- Pending patches for cleaning up build scripts a bit (logging and refactoring)
- Pending patches to reduce barrage of warnings [https://bugreports.qt.io/browse/PYSIDE-587 PYSIDE-587]
- Pending patch for adding CMake build rules for the scriptable_application example (useful as a reference on how to use shiboken for custom bindings) [https://bugreports.qt.io/browse/PYSIDE-597 PYSIDE-597]
- Old 5.6 CI integration issue fix, but a new issue appeared that was fixed for 5.9 and dev, but still blocks 5.6
- Updated the qml basics tutorial


==== 25. January 2018 ====
* Infra Update
- Pyside not renamed
** MSVC 2019 DLL issue with 5.15.0, we shipped a DLL that was too new. (https://bugreports.qt.io/browse/PYSIDE-1323)
- Releasing preparation
** A new set of wheels will be available for Windows users (without a modern MSVC)
  - pip packages created by coin
* QEnum implementation
  - Automated release testing (RTA) (installing pip, launching an example)
** Waiting for review
  - final selection of release package targets to be define closer to release (depending on current stable ABI work)
** Qt5 compatible
- Investigation doc issues when using prefix & shadow builds
** QFlag is also exposed
- Need to identify prime demos/examples
* Research: Qt6 Properties camelCase to lower_case
- Started to rework [[PySide2 GettingStarted|Getting Started Guide]] wiki
** https://bugreports.qt.io/browse/PYSIDE-1019
- Addressed cmake build issues
* Started to fix missing types information: https://bugreports.qt.io/browse/PYSIDE-1318
- Handling libICU issues (causing linker issues when importing QtCore)
* Fix memory leaks in property accesors (https://bugreports.qt.io/browse/PYSIDE-1321),
- Continued work on [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560]
* 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.


==== 18. January 2018 ====
==== 4. June 2020 ====
  - macOS framework fix (should ignore qt4 system headers)
  - another patch on top to fix OpenGL integer types on mac / Linux (GLuint64, GLint64)
  - Fixed so that PySide 5.6/5.9 is not linked against the Python shared / static library (this was wrong because the symbols need to be picked up by the dynamic loader from the python interpreter itself). http://bugreports.qt.io/browse/PYSIDE-522
  - Completed move of examples from pyside-examples.git to pyside-setup
  - added additional OpenGL2 core example
  - fixed testrunner (these silently failed since forever) https://codereview.qt-project.org/#/c/216732/
  - fixed issues whereby wrong QObject ctors were selected
  - removed webkit from Pyside2 build 
  - talk about Windows specific instructions for [[PySide2 GettingStarted|Getting Started Guide]]
  - Qt3D issues in Qt 5.10 fixes
  - clazy warning fixes
  - Stable ABI work (started to convert implementations) (see [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560])
    - requires adoption of HeapTypes
  - QML tutorial updates
  - Doc snapshots being prepared


==== 11. January 2018 ====
* CI Update
- multi pyside packages (not easy to do)
** Limited API reports work
  - unlikely to achieve until TP
** Improve integrations on macOS
  - a package per python release (3.4, 3.5, 3.6, 2.7)
* Documentation updates for Qt Assistant
  - package per platform (win 32bit|64bit, mac, linux)
* PYSIDE-1257 cx_Freeze issues seems to be related to cx_Freeze itself.
  - long term task to convert to reduced Python API (to support multi 3x packages)
* Q_ENUM and QFlag will be soon available.
  => have to cut some targets: one 3x and 2.7 release
* New Shiboken example to expose a custom Qt Widget to Python
  -> create doc howto to encourage custom builds for not covered platform combo
* loadUiType is back into PySide (relies on pyside2-uic on PATH)
  -> do we need commercial for release
* Other bug fixes.
- pysinstaller is an installer
    -> deployqt tool not necessary
    -> documentation required stating the option
- rename import options
  - rename via alias possible
  -> still an issue when looking up particular types but probably manageable 
  - renaming option: Qt4Pyton, QtPy, QtPython, Python4Qt, Qt
- example shift
  - https://codereview.qt-project.org/#/c/215900/
- Basics for doc generation toolchain
- Issues where cmake picks up platform Qt references where it should use a Qt custom install
- Qt3D bindings still under progress
- [https://bugreports.qt.io/browse/PYSIDE-34 PYSIDE-34] & [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560]
- Documentation
  - minor doc fixes
  - documenting examples


==== 4. January 2018 ====
==== 28. May 2020 ====
  - multi pyside packages (not easy to do)
* Releases
  - renaming Pyside to "Qt for Python"
** 5.15.0 and 5.14.2.2 were released :) https://www.qt.io/blog/qt-for-python-5.15.0-is-out
    - quite challenging due to implied import and lib changes
** Thoughts about 5.14.2.3
    - alias for existing imports would be beneficial
** 5.15.1 release is still not defined
  - discussion around existing function test
* Documentation
    -> working assumption is that we ignore added function and check for existing base line only
* CI Status
    -> effort too large to maintain every single new addition
** 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.
  - discussed issues around concurrent existing Qt builds while building pyside (potential cross leakage)
* Backlog status [https://bugreports.qt.io/secure/RapidBoard.jspa?rapidView=262&view=planning.nodetail&selectedIssue=PYSIDE-463&issueLimit=100 check it here]
  - various fixes to doc generation steps (see [https://bugreports.qt.io/browse/PYSIDE-363 PYSIDE-363])
* QML Integration update
  - discussed need for good examples as part of documentation
** We are working on finishing the implementation of Q_ENUM, to be able to use the singletonType registration
    -> considered options to cleanup and remove need for submodule
** 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)


== 2017 ==  
==== 21. May 2020 ====
* '''Holiday'''


<div class="mw-collapsible mw-collapsed" style="overflow:auto;">
==== 14. May 2020 ====


==== 21. December 2017 ====
* CI Updates
- Issues building for Windows for Python 2 and 3 (on coin)
** CI blocked due to some provisioning issues in red hat
- discussing potential pyside demo/example for RTA purposes
** 5.14.2.2 Release is on hold
- Continued work on macOS / Qt 4 header issues, progress is there
** 5.15 commercial release in preparation
  - breaks GL signature test on Linux, needs further investigation
** License check
- Investigated PyInstaller (potential option to deploy apps written with Pyside)
* 5.15 Release
  - seems to work almost out-of-the-box for deploying PySide apps
** Pickling changes
- Investigated building one package compatible with multiple Python 3.x minor versions
** Examples
  - not possible currently, will require a lot of work, possibly not feasible
** loadUiType
  => we need to build 3.4,3.5,3.6 * win, linux, mac packages = 9 packages
* Tutorials rcc, designer
  => 3 more for each platform and Python 2.x
** Add project's tutorial.
  => commercial packages?
* Continue research of using Qt6
- lots of discussions and fixing of doc tool chain (qdoc in dev currently broken)
* __qualname__ attributes are almost done
  - adding documentation has begun in earnest
** This changes was required for the pickling support.
- continued work on PYSIDE-578


==== 7. December 2017 ====
==== 7. May 2020 ====
- pip wheel installation
* CI Updates
  - adding support for simultaneously python 2 and 3 builds
** Issues with the provisioning, for example the connection with PyPi, still in progress.
  - open issues: test installation towards multi python 3 versions
** We will add a requirements.txt for provisioning.
  - delivery channel for Pyside binaries (pip server? local install from qt account download?)
* Issues
- investigate options to have sth like pyinstallqt (pysinstaller is a possibility)
** PYSIDE-1255 Signal not reached in QML
- final keyword support by shiboken
** Pickling Qt Enums PYSIDE-15
- Qt3D bindings patch close to completion - > requires some Qt changes in 5.9.4 or later Qt
*** Almost finished, but we are waiting for PYSIDE-1285 to be fix (modulename, qualname).
- fixing pyside build issues when encountering Qt 4 headers on macOS
** Many other minor bugs have been fixed, but still there are a couple of strange ones.
- PYSIDE-578 (testing procedure/testrunner) -> adds heuristic to adapt to failure rates (flakiness handling)
** First attempts to build shiboken with Qt6
  - concerns that running all tests 5 times adds too much load on the CI (test runs needed)
** 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. November 2017 ====
==== 30. April 2020 ====
- packaging related coin changes
* CI Updates
- last weeks merges between 5.6 and 5.9+ blocking coin have been fixed (in particular on RHEL)
** Issues with pip upgrades
  - 5.9 + 5.6 are passing, dev has some private Qt changes which will affect pyside/dev
** Planning new Python versions for new configurations.
- lots of coin infrastructure issues
* Update on bugs still around after 5.14.2.1
- RTA test wheels added (install and launch single example)
** 1271: Deadlock (fixed)
- crash bugs in 5.6 branch reported but not details known yet (waiting for more details)
** 1255: Signal not reached in QML (still in progress)
- some discussion what changes should be put to 5.6 vs 5.9 branch
** 1280: Research
- Qt3D bindings started
* Features
  - some changes in qt3d/5.9 required)
** QML interaction
  - shiboken bugs discovered in the process (virtual function guessing & some comparison operators for namespace generated)
** Q_ENUM and pickling SbkEnum
- small regression related to rpath handling on Linux
** Commercial Addons
- open pip wheel issues:
  - handling of multi Python version wheels
- testrunner bugs addressed and reducing flakiness
- issues in Pyside when building with gcc 7.x
- qdoc from qt5/dev is required for pyside due to webxml support
  - it is a problem for the pyside/5.9 branch


==== 23. November 2017 ====
==== 23. April 2020 ====
- pip wheel support issues on Linux solved (not yet verified)
* 5.14.2.1 Release
  -> libICU usage on Linux should be enabled via pyside setup script
* New bugs around threading:
  -> downloaded from qt account download area
** https://bugreports.qt.io/browse/PYSIDE-1271
  - discussion how to do wheel builds for different Qt base lines -> implies to different wheel packages
** https://bugreports.qt.io/browse/PYSIDE-1255 needs to be reopen.
  - need to evaluate how different python versions on various Linux distros impact wheel binaries
* Documentation changes around the replacement of the old pysideuic module
  - target: 6 wheels (2 per platform for 2.7 & 3.5+ Python)
* Q_ENUM update
  - OpenGL example
** How to get a reference from the QMetaObjectBuilder without a QObject based project?
  - merge 5.6-> 5.9 attempted
* mypy compatibility
    - signature update to match Qt 5.9 ABI/signatures
** depends a bit on the Q_ENUM
    - plenty of testing flakiness and also test crashes
  - improvements to signature tests


==== 16. November 2017 ====
==== 16. April 2020 ====
- Build system cleanup. It is now possible to build only a subset of Qt modules per cmd line option
  -  this is not complete and may need further patches
- Added QAxContainer, more classes from 5.10
- Preparing to add Qt3D
- Removed flaky test
- further research on how pip wheels might be used for Pyside
  - seems to work well on win & macOS
  - problems on Linux related to libICU (or in general due to different system libraries)
- implemented and tested --standalone feature for the main Qt platforms [https://bugreports.qt.io/browse/PYSIDE-558 PYSIDE-558]
- open question remains how 3rdparty Pyside deployment path might look like
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510]


==== 9. November 2017 ====
* Plan for 5.14.2-1 release
- Work on simplifying the build system, made it possible to specify a module subset to build
* Research on Pickling support, PYSIDE-15
- [https://bugreports.qt.io/browse/PYSIDE-558 PYSIDE-558] Fixing rpaths and making --standalone work on the 3 platforms. Result: Self-contained binary wheels. Needs Review.
* Provided fix for PYSIDE-1267  related to efforts of exposing QScintilla
- Trying to setup the project for building the docs. I managed to build the rsts from the patch in gerrit but running sphinx on those rsts results in errors about python 2 style code.
* Object dumper to help debugging python implementations
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] work continued
* Debugging options for the code model.
* pysideuic old functionality into the QUiTools module
** compileUI
** loadUiType
* Q_ENUM discussion


==== 2. November 2017 ====
==== 9. April 2020 ====
- Releasing:
  - continued work on macOS installer
  - binaries must be patched during the install from repo (rpath setting)
  - adopting the scripts from Qt for Pyside
  - made pip install work on Mac -> would be alternative to online installer approach
      - two deployment choices available
- discussions on how void* pointer should be handled, two options on the table
  - add additional Pyside module handling such pointers
  - add feature to shiboken to transparently add the support to any arbitrary C++/pyside project using shiboken
- documentation snapshot generated
- simplified setup-pyside and related build script options


==== 26. October 2017 ====
* Most bugs reported in 5.14.2 are fix on 5.14
- Releasing:
** Preparing the process for the release of 5.14.2-1
  - test repo for online installer created (mac seems to deploy)
** Check about versioning on pypi to not override 5.14.2 wheels.
  - first evaluation of suggested installer approach on various platforms
* PYSIDE-813 is now fixed
- Documentation:
* PYSIDE-1255, Signals not being emitted.
  - Qt doc team joined the effort
* Working on Q_ENUM
  - first experiences are collected
  - should new documentation be done in rst rather than qdoc format?
  - Getting started, General platform requirements and general fixes turning up during generation
- [https://bugreports.qt.io/browse/PYSIDE-571 PYSIDE-571] received further fixes and reviews
- REDHAT not working on Coin (caused by gcc header issues)
- other minor improvements


==== 19. October 2017 ====
==== 2. April 2020 ====
- Discuss open Pyside 2 release & documentation
- Release packaging suggestion
  - Qt for Python installed via Qt installer and python scripts pointed to module via PYTHON_PATH
  - create test online repository for Qt installer
  - follow up how this Pyside installation approach might impact deployment of Python apps using Qt for Python
  - Linux distros shipping Pyside? (not sure yet either)
- coin
  - breakage in CI provisioning due to competing Python binaries coming from MSVC 2017
  - coin template needs updating
- [https://bugreports.qt.io/browse/PYSIDE-571 PYSIDE-571] work progressing (ready for review)
- lots of fixes in Pyside dev branch and
- feedback from Qt World Summit:
  - is Pyside on Android and iOS?
  - iOS probably out since platform cannot have interpreted code
  - Scriptable application use case was a sought after feature
  - qdoc got WebXML patch -> open question which version to use for doc generation across the various pyside versions
    - add script to support single command to generate documentation


==== 12. October 2017 ====
* 5.14.2 is out:
- no update due to Qt World Summit 2017
** 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


==== 05. October 2017 ====
==== 26. March 2020 ====
- Qt DataVisualization port has finished including an example
- Coin no progress due to pending Qt 5.9.2 release
- webxml support being implemented inside qdoc (beginning of the pyside documentation toolchain)


==== 28. September 2017 ====
* 5.14.2 Release
- 5.6 and 5.9 branches are *finally* enforced by CI - yeeeaaahh
* OKRs Update
- Dev branch is still missing some forward merges before it can be enabled.
** Looking for commercial opportunities
- port of QtDataVisualization progressing
* PYSIDE-813 new discoveries found:
- fixed bugs: [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510], [https://bugreports.qt.io/browse/PYSIDE-517 PYSIDE-517], [https://bugreports.qt.io/browse/PYSIDE-562 PYSIDE-562], [https://bugreports.qt.io/browse/PYSIDE-564 PYSIDE-564]
** There are a couple of issues with one of the PYSIDE-803 patches that will be solved soon.
- [https://bugreports.qt.io/browse/PYSIDE-156 PYSIDE-156] in progress, first example of qApp protection, benchmark of impact ongoing
** 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


==== 21. September 2017 ====
==== 19. March 2020 ====


- Prototyping and exploring of Pyside packaging options
* 5.14.2 Release preparations
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] done and merged
* Work on Widget gallery example
- [https://bugreports.qt.io/browse/PYSIDE-156 PYSIDE-156] being addressed thanks to [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510]
* Done: Refinements to wheel-tester.py
- [https://bugreports.qt.io/browse/PYSIDE-487 PYSIDE-487] Qt Data Visualization port progressing
* Done: Reworked test_wheel.py for macOS
* Done: Fixed PYSIDE-1247 signature warning in Python 3.6
* In progress: Instrumentation of PYSIDE-164/813


==== 14. September 2017 ====
==== 12. March 2020 ====
- Coin
  - 5.6 testing is back online (5.9 target unblocking pending a merge)
  - Packaging of Pyside started to become a discussion topic
      - Standard PIP deployment
      - Separate delivery via the usual Qt account channel
- void* support has a pending patch (https://codereview.qt-project.org/#/c/205124/ and related example https://codereview.qt-project.org/#/c/205272/)
- Documentation work ongoing
  - WebXML support was added to qdoc - see [https://bugreports.qt.io/browse/PYSIDE-363 PYSIDE-363]
  - inputting the resulting WebXML to shiboken gave promising results
  - Qt Creator gain ability to fold away Python license headers
- Signature patch (https://codereview.qt-project.org/#/c/198654/)


==== 7. September 2017 ====
* CI Status
- Pyside CI broken (timeout for tests is zero)
** Everything up and running
  - Pyside provisioning scripts are very fragile
** 5.14.2 to be released next week hopefully.
  - Qt's own  provisioning is interfering when e.g. Pyside relevant tools get changed by Qt
* PYSIDE-803
  - new ideas and redesign is likely to be needed
** Almost there!
- New Bindings: QRegularExpression, QVersionNumber, QUuid,
** retrieveMetaObject improvements.
- Discussions around Documentation for pyside
** We will try to test it without the allow-thread patch to evaluate performance.
  - couple of options for generation pipeline
* PYSIDE-813
    1.) qdoc generates WebXML -> Shiboken converts WebXML to ReST (used to work in Qt 4 days)
** we will keep PYSIDE-164 open until we find a solution that fixes both.
    2.) qdoc is lib which creates AST - > shiboken uses the AST to generate ReST
* Starting to evaluate std::function compatibility with Shiboken.
    3.) \pyside to document python classes (lots of documentation effort and not ReST integratable)
    4.) minimalistic approach is to merely link to the Qt object class reference (python specific docs are somewhat separate
- [https://bugreports.qt.io/browse/PYSIDE-516 PYSIDE-516] further investigation how to deal with void* APIs
  -> prototyping ongoing
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] redesigned once again (no more internal Python dependencies, Python version independent implementation)
 
==== 31. August 2017 ====
- 5.9 passes on all platforms but one (10.10 still failing)
  -> fix for provisioning scripts pending
- 5.6 no problems at hand (all passing)
- [https://bugreports.qt.io/browse/PYSIDE-516 PYSIDE-516] hit a dead end
  -> fundamental way of passing vertex data (void*) pointer between Python and C++ not addressed yet
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] complete


==== 24. August 2017 ====
==== 5. March 2020 ====
- Coin 5.9 provisioning is in place, but there are some issues with paths to tools which are being addressed
- Build issue on Windows 10 5.9 branch, addressed by patch in review https://codereview.qt-project.org/#/c/203406/
- Fix to macOS build when old Qt 4.8 is present, addressed by patch https://codereview.qt-project.org/#/c/203313/
- [https://bugreports.qt.io/browse/PYSIDE-516 PYSIDE-516] progress on bringing in more of the QOpenGL classes
- [https://bugreports.qt.io/browse/PYSIDE-560 PYSIDE-560] stable ABI was investigated, decision is required
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] finalizing license modifications
- [https://bugreports.qt.io/browse/PYSIDE-156 PYSIDE-156] ongoing implementation for fixing qApp crashes
- [https://bugreports.qt.io/browse/PYSIDE-552 PYSIDE-552] in process of being merged
- [https://bugreports.qt.io/browse/PYSIDE-562 PYSIDE-562] pending patch
- [https://bugreports.qt.io/browse/PYSIDE-563 PYSIDE-563] in process of being merged
- PySide 2 presentation being prepared for Qt World Summit 2017


==== 17. August 2017 ====
* CI Update
- Almost everyone is still on holiday - not much progress
** Including Python 3.8
- PySide 5.9 branch CI changes are still pending integration / ongoing due to issues with the CI infrastructure switch
** Maybe using alternatives to have many Python versions.
- Investigation ongoing regarding QSSL classes on 5.9 branch
* Priority bugs
- PYSIDE-510 - ongoing work to make separation of different licensed code
** PYSIDE-803
- PYSIDE-156 - initial work to stop crashes when using methods that require an allocated QApplication instance
*** major changes in (caching)
- PYSIDE-558 - initial investigation on how to proceed
*** still other minor patches to be merged.
- Updated the PySide2 wiki documentation to clear up build steps and requirements.
*** 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]


==== 10. August 2017 ====
==== 27. February 2020 ====
- holiday time is hampering project at the moment -  not much progress
- CI changesin Qt affected Pyside project such that focus was on different CI matters
- [https://bugreports.qt.io/browse/PYSIDE-557 PYSIDE-557] being addressed
- some very minor issues were fixed


==== 03. August 2017 ====
* CI Updates
- PYSIDE-510 under code review https://codereview.qt-project.org/198654
** 5.12 cherry-picks
  - > license issues have to be addressed
* qApp
  - > some testing aspects still open (delayed till later on)
** Deprecation message or alias (when using QtWidgets.qApp)
  - > investigation of impact on deployment across multiple python run-time versions required
* PYSIDE-803
- missing bindings script/wiki page updated: [[PySide2_Missing_Bindings|Missing PySide2 bindings]]
** Missing patches to be merged
- first working array support has been delivered (some adjustments still required), now proceeding to extend for OpenGL [https://bugreports.qt.io/browse/PYSIDE-516 PYSIDE-516]
*** Python 2.7 issues
- Missing classes in works (e.g. QAbstractnativeEventFilter, QFileLock,....)
*** allow-thread commit message (add a changelog)
  - > revealed some issues of handling void* pointers
*** 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


==== 27. July 2017 ====
==== 20. February 2020 ====
- Fix for [https://bugreports.qt.io/browse/PYSIDE-331 PYSIDE-331] causes lots crashes in auto tests
  -> more investigation ongoing
- coin
  - since 5.6 is now enforced by Qt CI the focus shifted to the 5.9 branch of Pyside
  - still encountering build issues on 5.6 though
  - cmake upgrade for macOS 10.10
  - missing virtual env for macOS 10.12 being deployed
  - msvc 2013 being removed from CI targets
  - clang on OpenSuSE deployment ongoing
  - lots of effort went into debugging the above Coin issues
- numpy support for 2d array feature development progressing ([https://bugreports.qt.io/browse/PYSIDE-354 PYSIDE-354])


==== 20. July 2017 ====
* CI Updates
- coin
** Cherry-picking some changes to 5.12 to fix the virtualenv 20 issues.
  - license test passing
** macOS timeouts
  - setup issues wit Python 3 and msvc 2008 vs 2015 issues
** possibility of merging simple changes directly.
  => need to install newer Python 3 binaries
* qApp issues
  => otherwise looks like enforced testing can be set alive on 5.6 branch
** Patches ready for review
  - 5.9 still having clang header issues
* PYSIDE-803
- 2D array support work in progress
** Patches needs some polishing
- [https://bugreports.qt.io/browse/PYSIDE-331 PYSIDE-331] -> waiting for PYSIDE-510 dependency
* Testrunner improvements
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510]-> issues with Python 2.x left
** stdout/stderr issues with ctest on windows
- need to get a handling what functions are not supported by pyside due to exclusions or missing support in shiboken
** 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. July 2017 ====
==== 13. February 2020 ====
- coin
  - Production coin was updated today and all fixes are finally executed
  - 5.6
  - macOS 10.11 machines have Python 2.6, which causes test script to fail due its usage of a
          module added in 2.7. Investigation in progress on the best way to fix this.
  - build failure with Windows 8.1 (msvc2013-x86)
  - 5.9
  - macOS 10.12 missing virtual env (https://codereview.qt-project.org/200006)
  - Rest Linux/macOS configs are failing various build issues
  - dev is still pending for qt5 merge from 5.9 
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] development completed, test added, needs review
- [https://bugreports.qt.io/browse/PYSIDE-331 PYSIDE-331] ongoing work
- [https://bugreports.qt.io/browse/PYSIDE-550 PYSIDE-550] investigated, needs a working solution to allow proper building on distros that separate Qt private headers into separate packages
- [https://bugreports.qt.io/browse/PYSIDE-354 PYSIDE-354] ongoing work on C / C++ array support in PySide, some questions remains on how to deal with xml syntax and multiple dimensions.


==== 29. June 2017 ====
* CI updates
- coin
** Windows package signing will be possible, hopefully soon.
  - Qt 5.6 all coin changes for Pyside are done but waiting for coin production update (after Qt 5.9.1 release)
* Documentation updates
  - Pyside/Qt 5.6 on new OpenNebula infrastructure confirmed to run
** Example gallery
  - Qt 5.9 based setup still misses clang libs (merge pending)
** WebChannel example merged,
  - Pyside/Qt 5.9 test failure fixes on macOS
* Python 3.8 changes on Windows are still being tackled.
- worked on array support (passing arrays between Pyside and Qt API) - work in progress ([https://bugreports.qt.io/browse/PYSIDE-354 PYSIDE-354])
* Bugs
- continued work on debug builds across the platforms
** 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.
- embedded Python example under review (further testing across the platforms)
** qApp issues to be solved, but we will remove the import features. qApp will remain as a built-in.
- [https://bugreports.qt.io/browse/PYSIDE-510 PYSIDE-510] finished (not yet merged) -> revealed a few more  problems in [https://bugreports.qt.io/browse/PYSIDE-331 PYSIDE-331] & [https://bugreports.qt.io/browse/PYSIDE-308 PYSIDE-308]
* OKRS 1Q/2020
- added a way to dynamically detect the available Qt modules in Pyside


==== 22. June 2017 ====
==== 6. February 2020 ====
- building pyside on Win with debug and non-debug
- QSSL* classes do not build on macOS & Windows (patch in progress)
- dll name handling work finished (build system issues were addressed)
- PYSIDE-531 discussions
- coin
  - followup from 18 May (windows issues in coin)
  - test runner changes being merged should address this
  - new regression on macOS targets though
  - 5.9 issues due to clang continue to exist (will be addressed after 5.6 is enforced)


==== 15. June 2017 ====
* CI status and issues with the Qt provisioning 5.12
- dll name handling fixed across the platforms (e.g. pkgconfig handling)
** 5.12.7 release will take more time to add new features.
- PYSIDE-500 fixed
** 5.14 has some issues with OpenGLFunctions.
- PYSIDE-331 is still not done (in parts a module by module fix is required)
* Documentation: Interest for the new shiboken2 documentation structure and usage of the ApiExtractor.
- PYSIDE-510 ongoing
* Python 3.8 compatibility with older branches.
- no further progress on coin
* 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]
- Getting started guide has been updated dealing with Qt 5.6 and Qt 5.9 based Pyside builds
* Suggestion about iterations a-la-python https://bugreports.qt.io/browse/PYSIDE-1216
- scriptable Pyside example been developed to demonstrate SDK-like usage of Pyside
* Events
- lots of small infrastructure changes/fixes
** Qt World Summit 2020 Palm Springs
** PyCon US


==== 8. June 2017 ====
==== 30. January 2020 ====
- Proposed solution for PYSIDE-500
* 5.14.1 release rolling
- Further work on example for PYSIDE-526, work on shiboken2 command line handling to ease usage with qmake
* Work on [https://bugreports.qt.io/browse/PYSIDE-1204 PYSIDE-1204]
- Updated Getting started Wiki
* Work on [https://bugreports.qt.io/browse/PYSIDE-1191 PYSIDE-1191] PySide2 5.14 source now builds against Qt 5.12 as well
- Introspection work continued (PYSIDE-510)
* 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.


==== 1. June 2017 ====
==== 23. January 2020 ====
- PYSIDE-500
* 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
- https://wiki.qt.io/PySide2_GettingStarted needs a serious cleanup
* Research on [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
  - 5.6 vs 5.9 differences not explained
* 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]
  - specify exact version matching conditions
* Improved the view of compare app for [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
  - pyside repo merge completed
* Analysis of PyQt5 and SIP implementation
  - Coin changes required to catchup - > recent CI issues have caused delay
- Introspection work continued (PYSIDE-510) -> not yet complete
- qtcharts and related examples have been ported (5.9 only)
- license header checks of Pyside for Coin able to distinguish branches
- Array support for Pyside missing (numpy_array support?)


==== 18. May 2017 ====
==== 16. January 2020 ====
- Coin
* CI/macOS problems are being worked.
  - Win nodes didn't run the cleanup functions -> test failures due to artifacts -> no solution yet
* qApp fix waiting to be merged.
  - Clang issues persist and this must be addressed in the broader scope of Qt/qdoc depending on libclang too
* first attempts to tackle [https://bugreports.qt.io/browse/PYSIDE-803 PYSIDE-803]
    -> until this point in time the setup is a manual one for pyside/5.9+
* Python 3.8 fix to old branches is required for distributions using 5.12 LTS like Conda.
- merge of psyide repositories -> no objections against the plan in the community
* Working on Q_ENUM support.
  -> merge will happen in the next few days (pyside.git, pyside-setup.git and shiboken.git become one repo)
* 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.
  -> examples, wiki and tools will remain as they are
- QOpenGL* porting continuing
- qttext2speech ported to Pyside2
- failing QML tests in Qt 5.9 based Pyside
- PYSIDE-510 - introspection solution in the works
- Qt World Summit Berlin 2017 (talk for Pyside being handed in)


==== 12. May 2017 ====
==== 9. January 2020 ====
- looked into the Windows tests failures, and the reason might be related to how we copy around build artifacts, leading to an incorrect folder structure. Coin team to look at it.
* [https://bugreports.qt.io/browse/PYSIDE-1185 PYSIDE-803] needs to be tackled soon, it's critical, and we cannot carry that into Qt6.
- Fixed a small regression in 5.9 with building on macOS after some cmake changes that happened in 5.6
* Python 3.8.1 on Windows has [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285797/ some issues] while building.
- Implemented, tested, reviewed and committed the multimedia widgets examples
* qApp macro changes [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285655 discussion].
- documentation from Pyside1 days can not be generated anymore
* documentation updates are still pending.
  -> new approach required using exiting Qt5 doc tools
* with the release of 5.14 we have been fixing many details from uic's Python support.
- QOpenGL* port to Pyside has started -> missing support for arrays in shiboken
* designer's RUNPATH [https://codereview.qt-project.org/c/pyside/pyside-setup/+/285712 needed to be patched], waiting for approval,
  - more thorough design discussion needed
* A modular way of packing wheels is being studied.
- Coin
* Re-take the Python extensions for QtCreator project evaluation.
  - provisioning for clang in Qt CI ongoing: https://codereview.qt-project.org/#/c/192517/10


==== 04. May 2017 ====
== 2019 ==
- Coin
* [[Qt for Python Development Notes 2019]]
  - libclang 4.0 provisioning available (code reviews ongoing -> enabler for Pyside and qdoc testing)
  - 5.6 coin issues resolved
  - macOS related CI/cmake failures were resolved
  - some CI sync issues among pyside submodules (always submodules HEAD is tested)
  => may have to change once we come closer to the final release ->
  => fine as long as we are in heavy development mode
  - discussion around Ubuntu and OpenSuse configurations
  - minimal cmake requirements not met on all distros
    - 5.6 only be build using RedHat 6.6
    - 5.9 builds have updated Linux distros -> may be able to obtain a new cmake version without hacking the standard toolchain
- QtMultimedia and QRaster* API bindings further completed
- added tests and examples for the above bindings/APIs
- PYSIDE-510 (required for simplified and more generic testing of bindings)
- PYSIDE-504 work is ongoing
- PYSIDE-507 -> avoid hardcoded includes when certain Qt modules are not available
- brief discussion whether to merge the shiboken and pyside repo
  -> advantages from a CI perspective and reduces pyside setup complexity


==== 26. April 2017 ====
== 2018 ==
- Coin
  - provision for 5.9+ branches -> we would like to use libclang 4.0
  - test still not yet executed due to branch mismatch which pulls in dev branches
- missing bindings in QtCore/QtGui/QtMultimedia - work in progress
- clang support done (except for a Mac issue)
  - Pyside clang version required Qt 5.7 or later
- [https://bugreports.qt.io/browse/PYSIDE-500 PYSIDE-500] done
- work on PYSIDE-500, 502, 504, 497 will continue
- qdoc work started trying to recover whatever documentation is left from Pyside 1.x


==== 20. April 2017 ====
* [[Qt for Python Development Notes 2018]]
- Fix for [https://bugreports.qt.io/browse/PYSIDE-331 PYSIDE-331] broke the Windows build; under investigation
- Refactoring, fixed build warnings
- Looked at debug builds on Windows
 
==== 13. April 2017 ====
- discussion around merge policies between 5.9 and 5.6 branch
- Linux debug library issues fixed
- PYSIDE-488 fixed via workaround
- fixed a unit tests
- worked on qdoc/html generation in Pyside (failed so far - waiting for qdoc maintainer feedback)
- PYSIDE-331 patches merged -> more bugs found in the meantime
 
==== 6. April 2017 ====
- 5.6 branch created
- 5.9 branch to be created as well (easier setup for Qt 5.9 testing in Coin)
- Coin
    - not passing build platforms have been disabled
    - otherwise COIN passing on 5.6 (except for 2 failing test) -> soon to be enforced
    - license checker passing in dev
- clang changes merged to dev branch (after reviews)
  - clang provisioning on Coin still missing
- for now shiboken is not a generic C++ bindings generator (targeting Qt use cases only)
- TODO: enabling the generation of documentation from repos
- fixed mixed usage of debug and release build (no debug builds for windows)
- [PYSIDE-331] work continuing - fixed, tests are missing
 
==== 30. March 2017 ====
- Coin
    - some platforms passing and will be enabled by default
    - MinGW, some OSX and cross compile targets remain out
- will branch pyside dev branches to 5.6, new dev becomes clang branch
    - regular merges from 5.6 -> dev will start happening
    - Pyside 5.6 branch will continue to work against Qt 5.6
- need reviews for [https://bugreports.qt.io/browse/PYSIDE-323 PYSIDE-323] to merge clang changes
    - Qt 5.10, 5.9 (on main desktop plawtforms working)
    - for now the Pyside dev development will be based on Qt 5.9 (to be bumped up later on)
- [PYSIDE-331] - in progress
- [PYSIDE-156] -
 
==== 23. March 2017 ====
- Coin
  - progressing
- More tests fixed
- wip/clang branch created, will receive Clang parser port with instructions
- Refactoring of shiboken, replaced QtXml classes by QXmlStreamReader allowing for stricter error checking
 
==== 16. March 2017 ====
- Coin
  - the fixes are still integrating or are under review (no further progress until this is done)
- clang parser replacement [https://bugreports.qt.io/browse/PYSIDE-323 PYSIDE-323]
  - most test failures related to clang are fixed
  - tests ran pretty much through on Qt 5.9 (Windows and Linux - Mac not yet verified)
  - code cleanups in shiboken
  - will create feature branch on all pyside repos to get the clang patch series under CI control
  - merges from regular pyside branches into clang branch will commence
  - readme required that explains how clang is to be built (if not provided by platform)
- [PYSIDE-331] - in progress
 
==== 09. March 2017 ====
- Coin
  - lots of changes in Gerrit for Pyside and coin
  - the outcome has to be check once everything merged
  - upcoming clang dependencies in shiboken introduces new requirements for Coin
  - clang changes to be dealt with after pyside branching
- clang
  - first complete bindings generation with Qt 5.6 and Qt 5.9
  - some failing unit tests which have to be looked at individually
  - actual merge depends on pyside branching which in turn depends on recent Coin changes
- smart pointer support
  - patches generally done, gerrit review ongoing
  - rather large patch
- created list of missing bindings in Pyside ([https://wiki.qt.io/PySide2_Missing_Bindings Missing Bindings])
  - mostly class level view, global functions at al not covered
- Jira cleanup
  - PYSIDE-464, PYSIDE-217, Pyside-224 fixed
  - most bugs reviewed now and valid ~100 bugs were identified
 
==== 02. March 2017 ====
- Coin
  - Coin runs tests on Windows and OSX (some failures in the test - to be investigated)
  - Windows provisioning somewhat blocked due to CI issues
  - no progress on Linux
  - OSX 10.8 ran tests with expected results
  - OSX 10.9 has issues due to Pyside not supporting namespace builds of Qt
- clang
  - preprocessor has remaining issue
      -> with clang compiler but gcc seems OK
      -> Qt Core wrapper close to compiling (QHash issues remaining)
- Smart pointer work continues
  - some uses cases work, other use cases might remain
- [https://bugreports.qt.io/browse/PYSIDE-364 PYSIDE-364] was fixed (patch pending)
- General error review on bugreports.qt.io
  - 50% done (prioritized bugs are handled/checked bugs - "done" bugs)
- ran address and leak sanitizer over Pyside which resulted in some worrying cases (need to be addressed going forward)
 
==== 22. February 2017 ====
- [https://bugreports.qt.io/browse/PYSIDE-462 PYSIDE-462] Improved solution approved
- [https://bugreports.qt.io/browse/PYSIDE-205 PYSIDE-205] Hard-to-detect memory leak plugged
  - slow memory leak found in shiboken with thousands of false positives
  - used differential analysis of valgrind output
- Clang: Fixed Preprocessor handling (set defines, include paths), got minimal binding tests to pass, now adapting MetaBuilder and PySide to what Clang finds when parsing Qt. Good news: Very little need to set Q_DOC or other magic defines
- Coin: Slow progress, currently struggling with provisioning
- extensive bug triaging ongoing in Pyside Jira project
 
==== 16. February 2017 ====
- Coin (no update - other priorities in release/CI team)
- Clang (progressing on pre-processor work)
- PYSIDE-315 closed
- PYSIDE-462 more review needed
- Shared pointer API very slowly progressing (lots of different fixes needed)
- QMimeDataBase support added
- QUrlQuery support blocked on QDOC defines in Qt sources (shiboken sets the wrong define)
- chasing memory leaks (PSYIDE-205)
- extensive bug triaging ongoing in Pyside Jira project
  - confirming and testing the reported bugs (70 of 200 processed)
  - some smaller bugs were fixed in the process
- quite a few bugs were discovered this week while working on the above items, e.g.:
  - deployment of pyside applications partly broken due to hard-coded install paths in Qt libs
  - Qt events are swallowed when Pyside error/exception occurs
-
 
==== 9. February 2017 ====
- Clang progressed
  - pure C++ tests for API extractions are passing (C++ parsing based on clang)
  - even works with cmake
  - old C++ preprocessor still to be replaced
  - working through old preprocessor and checking what magic it did and how clang might be able to replace it
- PYSIDE-315 & PYSIDE-462 fixes pending for review
- COIN
  - continue progress an getting more platforms to pass (unblocking one step at a time)
  - Windows (32bit) and mac are building, Win 64bit still not building
  - OSX and Windows are stopping in the test runner phase
  - missing cmake update still on Linux (provisioning update required)
 
==== 26 January 2017 ====
- PYSIDE-315
  - principle fix merged but some minor improvements still pending
- Pyside-462
  - essentially a feature request as C++ default parameters are not yet supported by Pyside
  - discussion ongoing how to address the problem
- COIN
  - 10.11, 10.9 & 10.8 build passes
  - 10.10 still failing during build
  - Progress on Windows and running into new problems further down the path
  - Redhat failed to general brokenness of the platform in CI
  - Ubuntu no further progress
- clang parser work progressing
  - completeness of work is currently measured by passing unit tests
  - there is a long way to go
  - see [https://bugreports.qt.io/browse/PYSIDE-323 PYSIDE-323] and associated patches for progress monitoring
- Fixed regression which prevented Pyside to compile with Qt 5.5.1
- shared pointer support
- no update on 2nd February 2017 (next week)
 
==== 19 January 2017 ====
- PYSIDE-315
  - a possible fix is pending, some minor performance improvements are still possible
  - caused by different signal/slot ordering in Qt4 and Qt 5
- COIN
  - issues on 10.8 and 10.9 platforms should pass now
  - 10.11 & 10.10 still have issues
  - Windows timeout problem fix in COIN (but no COIN update until 5.8.0 released)
  - Linux builds are failing
    - Ubuntu 14.04 fails due to cmake issue
    - Redhat 6.6 & OpenSuse 13.01 deferred
  - current COIN freeze for 5.8.0 release affecting patching of COIN for Pyside
  - next steps in priority -> run tests on 10.8/10.9 and get Linux running
- PYSIDE-79 regression fixed as well (some interaction between PYSIDE-315 & PYSIDE-79)
- PYSIDE-462 to be looked at next
- clang parser work progressing
 
==== 12 January 2017 ====
- PYSIDE-315
  - sorting of slots/signal connection changed on Qt side and Pyside side has not caught up
  - had similar connection issues on the QML side, need to investigate whether there is a connection
- PYSIDE-79
  - caused a regressions (not yet investigated)
- fixed OpenGL types not being recognized on MacOS (partly fixed)
- API's with shared/smart pointers in Qt don't work
  - has potential long term effects and investigation has started into the reasons
- Refactoring shiboken in preparation for clang
- COIN currently runs tests with namespaced Qt
  - short term fix to exclude namespaced Qt builds with Pyside (broken on MacOS 10.9)
  - other failures: missing libraries on MacOS (10.11), missing provisioning on Windows, cmake issues on 10.10
  - unknown state on Linux (current Redhat too old)
- Prioritization after status round:
  - PYSIDE-315 to be investigated based on recent signal/slot patches for QML
  - Smart pointer issues reduced in priority to provide space for PYSIDE-315 & PYSIDE-79 regression
- verify that COIN runs testrunner (not just building Pyside)
  -> not yet verified since we are still failing builds in COIN
 
==== 5 January 2017 ====
- COIN update
  - COIN changes merged (no further patches pending)
  - need to run an integration test
  - issues related to different build platforms still to be expected
- Continue with clang
  - backtracking a bit (reusing some node API's during parsing but otherwise use clang to populate the tree)
- test blacklisting reviewed (some removed - mostly signal related ones, one new regression)
- regressions in QtQuick were worked around (caused by recent Qt Quick changes)
- issues with macos framework style includes in Qt
- PYSIDE-315 debugging ongoing, very hard to track down
    - was it a regression from a previous Pyside release (e.g. Qt 5.4?!?
- hard-copied Qt 5.4 based headers still in existence
  - updated needed but would shut Qt 5.4 users out
</div>
 
== 2016 ==
<div class="mw-collapsible mw-collapsed" style="overflow:auto;">
 
==== 22 December 2016 ====
- lots of discussions around the COIN patches
  - source archive setup being under review
  - Qt 5.6 provisioning patches merged
  - CI uses Python 2.7 at this stage
- clang C++ parsing continues
- fix of some Pyside unit tests (now have a clean slate again)
- finished QtQuick port
- some overflow problems have been fixed in shiboken
 
==== 15 December 2016 ====
- COIN changes pending for testing infrastructure
    -> https://codereview.qt-project.org/177136 (Pyside change)
    -> https://codereview.qt-project.org/176968 (Coin change)
    -> https://codereview.qt-project.org/179662 (Provisioning changes)
    -> https://codereview.qt-project.org/179663 (Provisioning changes)
- waiting for COIN development team to review/accept the pending changes
- no update in PYSIDE-315 (under investigation)
- Flushed out a couple of shiboken, QML, qml example bugs
- Some bugs related to parser delayed until clang parser task done (https://bugreports.qt.io/browse/PYSIDE-322)
- most basic shiboken API extractor test to pass (global enumeration test)
- some trouble with int size data types
    -> Python 2 & 3 are different and the relevant C++ data types are yet again different from platform to platform
 
==== 8 December 2016 ====
- COIN patches pending approval
  - Windows provisioning reviewed
  - Linux, Pyside, COIN itself
- Clang changes progressing, comparing AST tree from old parser and clang
- PYSIDE-79 done
- PYSIDE-315 under investigation
- QtQuick patches taking shape (some template magic and function pointer
  features in Qt cannot be parsed by shiboken)
 
==== 1 December 2016 ====
- COIN
- PYSIDE-79 there seems to be a final work around (https://codereview.qt-project.org/#/c/176374/)
    - fixing a few tests in the process
- clang update
  - dumping AST, identifying the required info
  - work in progress...
- problems with global static QObjects on the Qt side calling back into Python during app exit
  - may require some changes on the Qt side
 
==== 24 November 2016 ====
- automatic COIN triggering for submodules work in progress
  - several discussions on this topic this week
- Clang investigation (what library to use)
- fixing bugs on Qt side for Pyside
- Qt QML support almost done, work will continue with Qt Quick
- PYSIDE-79 work story continues
  - reference counting not quite accurate but point of deallocation of ref count not identifiable
 
==== 17 November 2016 ====
- Pyside team suffering from sickness -> not much progress this week
- Pyside-79 fix had a lot of negative side effects (breaking existing tests)
  - internal object reference counting is the predominant issue at hand
  - continue to work on the bug (no resolution yet as delayed due to sickness)
- COIN some progress but still open discussions on branching policy required
 
==== 11 November 2016 ====
- PYSIDE-79 being fixed
- PYSIDE-315 to be addressed
- Shiboken and Clang
  - familiarizing with clang and its parser's inner working
  - added experimental qmake project definition for shiboken (makes work in Qt Creator easier)
- Qt QML on Pyside work progressing
- work on COIN did not progress due to conflicting priorities inside COIN development
 
==== 3 November 2016 ====
- working through the QML stack esnuring all required API's are exported (https://codereview.qt-project.org/#/c/175682/)
- small build system patches
- PYSIDE-79 work progressing
- OpenGL support fixed (PYSIDE-314)
- COIN issues
    - repo interdepencies not working yet, suggestion under discussion and to be implemented
    - most license checks have been fixed
    - Qt 5.6 based Pyside to skip check
    - after branching for C++11 work the dev branch should work from license check perspective
    - eventually the entire CI needs to run through (more hidden problems could be hidden)
- Started working on C++11 compliant parser for shiboken
    - libclang will be used
    - first target is to replace the AST tree implementation
    - requires clang setup in the CI
 
==== 27 October 2016 ====
- Work on WebKit/WebEngine support
- Further work on [https://bugreports.qt.io/browse/PYSIDE-431 COIN] support
- Planning meeting
- Workshop for C++11 support in Pyside ([https://bugreports.qt.io/browse/PYSIDE-323 PYSIDE-323])
 
==== 20 October 2016 ====
- [https://bugreports.qt.io/browse/PYSIDE-355 Qt Quick support] submitted
- [https://bugreports.qt.io/browse/PYSIDE-314 QtOpenGL support] submitted
- Further work on [https://bugreports.qt.io/browse/PYSIDE-431 COIN] support, license headers
==== 13 October 2016 ====
- Qt CI update
  - Coin changes have merged but integration not yet working
  - Qt CI enables on Pyside side merged
  => COIN integration fails with license issues
  => requires review of license conditions for all files, some files are not even relicensable
  => skipping license check for now, most likely to be done later again but requires changes to license check script
  - more issues of interworking between QtCI and Pyside expected (won't be visible until license problems resolved)
  Open issue: does a change in Pyside repo trigger a rebuild of everything?
- Qt QML support progressing and first patches merged
  - serious bugs have been fixed, more complex QML examples are now working
 
==== 29 September 2016 ====
- Coin integration close but not merged
- Bugfixing in particular on the shiboken parser side
- QML/Python binding and tests fixed -> general check all day-to-day aspects of QML are working
- QML examples porting
    -> still some failing tests
    -> Check all QML/Quick class are exported
 
==== 22 September 2016 ====
- Refactored Shiboken, udnerstanding build sequences
- black list for unit tests defined and tested
- fixing of tests
- QML example fixing continued (QML bindings not working)
- Pyside side for COIN done (pending integration checks)
- COIN integration still wip due to long test and retest cycles
- pyside and shiboken repo to be relicensed similar to other Qt products
=> this should address any issues regarding the status of generated code too
==== 16 September 2016 ====
- Pyside side for CI testing ready for testing
- status of COIN side to be determined. Code exists need help from CI team to confirm status.
- build system infrastructure improvements in pyside setup
- Qt logging now working
- and more
- Update on bug handling
  - PYSIDE-88 continuing
  - PYSIDE-349 (Multimedia ported)
  - PYSIDE-344 fix pending on codereview
  - make debug builds of Pyside work (OSX works, Linux has work in progress patch, Windows side awaiting contribution)
- QML support work in progress
  - examples are slowly ported with aim to identify bugs
 
==== 25 August 2016 ====
- Properly implementing QML experience in Pyside
- Unit test fixing
- automated CI testing for Pyside
  - working locally but still failures occurring on various other test machines
 
==== 4 August 2016 ====
- Additional Pyside examples under review
- Fixed warnings coming from Shiboken
 
==== 21 July 2016 ====
 
- main Pyside 2 example port done
- additional examples to fill gaps are being ported (as per prio list)
- CI patches running, but still gaps (should be done by next week)
- about 86% of auto test working (failing count of test 80+ auto test)
- [[pyside-Teststatus|Project Test Status]]
 
==== 14 July 2016 ====
 
- Pyside 2 examples ported
- OpenGL & SVG not working
- QtQuick 2 is in strange situation (QtQml depends on QtQuick)
- Python 3 realed Unicode handling not working with Qt
- QMessageBox hangs
- no documentation for any example
- lots of warnings when building wrapper
- results: https://paste.kde.org/pgje2toyh/mlbqic
- COIN setup for pyside https://codereview.qt-project.org/#/c/158336/
- Qt 5.7 still blocked due to missing C++11 support in shiboken
    - food for ideas: https://steveire.wordpress.com/
 
 
==== 7 July 2016 ====
 
- automated CI testing
- patches for Pyside and Qt CI side required
- Testing somewhat more complicated due to closed nature of Qt CI
- script to port examples to Qt 5 -> https://bugreports.qt.io/issues/?jql=labels%20%3D%20exampleport5
- all examples to remain BSD licensed
</div>

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