Qt for Python Development Notes 2022

From Qt Wiki
Jump to navigation Jump to search

2022

22. December 2022

  • General
  • Infra & Releases
    • 6.2.7, 5.15.12 LTS Preparations
  • Bugs & Features
    • PYSIDE-2155 Unity builds were enabled for the dev branch (see CMake Manual ), greatly speeding up building
    • PYSIDE-1345 , QSGGeometry.vertexDataAsPoint2D() was added along with the custom geometry scene graph example
    • PYSIDE-1889 PyErr_Print was replaced by delayed error handling.
      • Related to the true_property bug since that triggered an uncatchable recursion error.
    • Deployment code restructuring for Mocking. Deploy dry_run tests are now complete.
    • Working on Deploy tool documentation.
    • PYSIDE-2160 Further code analysis in progress, no PyEnum relationship.
    • PYSIDE-2162 Bundled MSVC DLLs (and others) on Windows were last updated three years ago, get them from CI machine when building wheels instead of from self-hosted package.
    • PYSIDE-2162 Fix problem where required DLLs were missing from PySide6 directory and were only in shiboken6.

15. December 2022

  • General
    • Team will go on holiday during next week
    • Bug fixing week ongoing
    • Internal training session
  • Infra & Releases
    • Commercial LTS postponed
    • 6.4.2 to go out next week
    • OSS LTS tags back to the pyside-setup repo
    • bundling commercial wheels to account.qt.io
    • adding wheels to maintenance tool Qt/6.x.y/qtforpython/*.whl
  • Bugs & Features
    • PYSIDE-1889 work continues
    • exception handling proposal
    • https://bugreports.qt.io/browse/PYSIDE-628 seems to still be valid
    • PYSIDE-1295 QObject sender when slot receiver is not cpp
    • build system cleanup
    • Checking 3.11.1 python
    • 1345 issue with rendering
    • metatypes and windows issue with pyside6-project
    • PYSIDE-2125 Jumbo builds trying out
    • Improving deployment tool
    • Updating the missing_binding script (added a plot)

08. December 2022

  • General
    • Internal training
    • Qt Creator sync
  • Infra & Releases
    • Commercial 6.2.7, 5.15.12 LTS to be released next week, together with 6.4.2
  • Bugs & Features
    • 6.5 adapting changes, fiddling with the metatypes location changes.
    • qdoc: reviews and little improvements.
    • using shared pointers in shiboken for the abstract meta classes.
    • patches in the build scripts (to include more pathlib) - motivated by webassembly research
    • PYSIDE-2140 5.15 issue with signal comparison - won't due to difficulty to get things back.
    • global receiver large change addressing a bug
    • polishing cmake files around shiboken.
    • PYSIDE-1889 true_property issues due to the Qt API not being clear about 'what is a property', also having other errors.
    • Improving the missing_binding script, and trying to get a better comparison with other bindings.
    • Continue with the async research (attempting to implement an abstract class to have async support)
    • discussion about asyncio example

01. December 2022

  • General
    • Hackathon projects in January
  • Infra & Releases
    • 6.2.x commercial LTS coming
    • 6.4.2 might come earlier!
      • Stoping 6.4 non-critial-bug-fixes on December 8th for RC wheels
  • Bugs & Features
    • PYSIDE-2029 snake_case usage break when switching context solved.
    • PYSIDE-1019 Follow the Qt/C++ API style in regards of properties - amend
    • Improved PyPy compatibility with feature switching
    • PYSIDE-1889: true_property: assignment of a callable in a GUI window
    • Trying to improve the documentation build process
    • PYSIDE-2136 warn-as-error issue
    • Adapting new metatype directory structure (for metatype files)
    • WebAssembly research continues - there is no byte compiling

24. November 2022

  • General
    • Release freeze process, 1 week before Qt/C++ releases
    • Feedback from GNUHealthCon and comments from Meeting C++
  • Infra & Releases
    • 6.4.1 was released, docs to be published today.
    • Improving commercial distribution and documentation
  • Bugs & Features
    • PYSIDE-2042 true_property inheritance correctly implemented
    • PYSIDE-2029 snake_case usage break when switching context with another module, like qasync (callbacks)
    • PYSIDE-2033 incorrect slot order due to lack of @Slot
    • PYSIDE-1638 Incomplete autocomplete support via .pyi files
    • PYSIDE-1889 feature switching issue
    • Adding notes to the documentation snippets to state they are auto-generated.
    • API Documentation issue, taking lots of time.
    • Updating documentation aspects of containers
    • Release testing
    • WIP for adding properties as a table, like Qt/C++ does
    • WebAssembly continues: checking for setuptools compatibility to being able to use pyodide and also qt configurations
    • Configurations related yocto/cross compilation plan to improve the embedded story.

17. November 2022

  • General
  • Infra & Releases
    • Preparing 6.4.1
  • Bugs & Features
    • PYSIDE-753 Added 3D Shared pointers
    • PYSIDE-2121 Fixed QMetaObject.invokeMethod() regression
    • PYSIDE-2097 - setup.py install fails if building against Qt without qmlls
    • PYSIDE 2115 - qmlformat, qmllint, and qmlls Error While Loading Shared Libraries
    • Android Deployment - Scoping - Created 3 subtasks (all of them are more or less done) - See subtasks PYSIDE-1612
    • PYSIDE-2101 rlcompleter solved with quick immediate and long-term patch
    • PYSIDE-2042 true_property inheritance correctly implemented
    • PYSIDE-1735 Long-term task: Decouple new and old enum implementation, making old removable
    • PYSIDE-2111 Show warning about possible errors on auto-translated snippets (sill exploring whether to warn as comment in code or as banner on top of page)
    • Fixed Windows build problems when selecting debug + limited-api

10. November 2022

  • General
  • Infra & Releases
    • COIN fix for commercial distributions
  • Bugs & Features
    • PYSIDE-1603 Missing signals in stubs
    • PYSIDE-2095 Signals with several parameters where the 1st is an enum no longer work with Python 3.11
    • PYSIDE-2110 TypeError: 'QWebEngineScript.setWorldId' called with wrong argument types: QWebEngineScript.setWorldId(ScriptWorldId)
    • _PEPUnicodeAsString old issue and other improvements
    • Build script changes fine tuning for including all the required files
    • Android research: issues with some platform plugins
    • 1904 types for DBusCall and QVariant issue
    • 2099 forward declarations in shiboken
    • 2098 emit signal from a dict to qml
    • enum analysis test
    • doc build improvements
    • 753 SharedPointer type in Qt3D moving the types into the namespace
    • Issues with Windows debug builds and Python 3.11
    • Doc issues on the windows build, and discussion on disclaimer for auto generated snippets.

3. November 2022

  • General
    • New intern working in the Team
  • Infra & Releases
    • Preparing next commercial LTS release
    • Missing modules from the CI provisioning.
  • Bugs & Features
    • lean headers options for shiboken
    • PYSIDE-2109 duplications related qml (reg)
    • PYSIDE-2098 QVariantMap in QML strange behavior
    • Preparation for 6.5
    • Preparing 6.4.1 (thanks for your reports!)
    • PYSIDE-2097 tools dependencies while building pyside (qmlls for example) issue.
    • Improving what goes inside the tools
    • Mocking and testing deployment tool
    • Improve documentation

27. October 2022

  • General
    • QtWS talk prepared and ready for the conference!
  • Releases & Infra
    • 6.4.0.1 new release upcoming
    • New commercial 5.15 to be released after 6.4.0.1
    • Review signing process
    • Update one of the CI configurations to use 3.11
  • Bugs & Features
    • Deploy and Project tool getting new fixes and features (qmlimportscanner)
    • Android research in progress, trying to solve the QPA open questions
    • Improving Signals: signal signatures, polishing implementation, 3.11 issues with signals that have enums.
    • Investigating issues regarding Enums in 3.11 behaving like int rather than IntEnum
    • CMake cleanup, versioning, and force limited api
    • 2076 private signals for doc generator now visible
    • bug cleanup
    • include cleanups in shiboken
    • new doc related to Developer Notes
    • Issues with default parameters on signal/slots being override

20. October 2022

  • General
    • Qt Bug Fixing Week
    • Talk for the QtWS ready
    • Meeting C++ attendance
  • Infra & Releases
    • 6.4.0.1 will likely to be released next week to include a couple of important fixes in 6.4.0
  • Bugs & Features
    • Pylance issue on VSC fixed (still in review)
    • Refactoring on the project and deployment tool (QML binaries are not too large now, etc)
    • Continue the research and work on Android
    • SerialBus examples were added
    • Adapting C++ code following latest changes from Qt
    • PYSIDE-2088 Enum overflow issue was fixed
    • Adapting flickering issue on TabbedBrowser
    • PYSIDE-2084 issue related to GLES
    • Adjusting build output to clean it a bit (Doc, --quiet, support, pyi generation...)
    • Adjusting Enum implementation further on based on feedback and internal comments.
    • PYSIDE-1970 __slots___ issue being tackled

13. October 2022

  • General
    • New documentation on how to for developers
    • Qt World Summit talk ready for the event
    • Meeting C++ approaching
  • Infra & Releases
    • 6.4 release waiting for PyPy wheels, and everything else is ready.
    • Commercial LTS releases are waiting for 6.4 to be out.
  • Bugs & Features
    • Fixed IntEnum issues with setData (special case)
    • Writing documentation from the latest major changes (Enums, placing the signature in the right place, etc)
    • Awaiting signal features is in progress, there are open questions regarding implementation details.
    • SerialBus module research, we could include it
    • Release work, broken examples, docs, etc.
    • PYSIDE-2077 issues was a Qt Bug
    • Catching up with Qt changes and adapting codebase
    • Adjusting deployment tool before release
    • Studying the QML case where binaries are too large (deployment)

6. October 2022

  • Infra & Releases
    • Preparing the 6.4 release
  • Bugs & Features
    • Fixed regression PYSIDE-2071
    • Fixed OpenGL function modifications and signatures
    • Work on shiboken C++ type handling, relaxed modification matching to match typedef'ed types
    • Async examples with Trio done, also work with asyncio instead now (though some open questions remain)

29. September 2022

  • Infra & Releases
    • Preparing the 6.2.6 LTS release
  • Bugs & Features
    • Added QtSerialPort example
    • Removed many compiler warnings in the generated code, run the entire project at higher warning level
    • Investigated PYSIDE-2066, PYSIDE-2065
    • PyEnum: broke up all development steps into 7 selectable topics. Documentation being written.
    • PYSIDE-1735 left to do: Make new enums independent from old enums, preparing removal.
    • Finishing async examples, preparing to start enhancing async support in PySide (Key Results to be added to OKR 2022 Q4).

22. September 2022

  • Infra & Releases
    • 6.2.6 Commercial LTS to be released next week.
    • Adding 5.15.x open LTS branches into the oss repository has been challenging, and still in progress.
  • Bugs & Features
    • Cross compilation for yocto sysroot/toolchain story continues issues with the compiler
    • PyEnum documentation available, and more compatibility patches are being developed to relax a bit the current scheme.
    • Trying to get new ideas on how to keep improving the enum story.
    • Working on an example to showcase async functionality
    • Preparing presentations for internal and external events.
    • Documentation meetings to coordinate the Qt and Qt for Python processes.
      • Plan to define how to write the documentation.
    • PYSIDE-2038 changes to the M2M modules documentation (some changes in 6.3)
    • Adding examples and removing some c++ based ones.
    • PYSIDE-2060 Improving the crossbuild mechanism due to recent findings from Raspberry Pi related tasks.
    • General cleanups in shiboken.
    • Project generation ideas to improve the pyside6-project

15. September 2022

  • General
    • We are going to Akademy
    • Internal showcase of some new features
  • Infra & Releases
    • 6.3.2 was released, but the docs are missing. PyPy are available as well.
    • PyPy dev wheels to be creaed and tested.
    • Addressing issue of not having the LTS releases that made public back in the OSS repo.
  • Bugs & Features
    • Tutorial for extracting snippets from qdoc comments and place them on snippet files.
    • Trying to deal with issues on PySide2 builds (Windows)
    • Issues with VSC and type hints related to Shiboken.Object
    • Research on Qt for MCU
    • QtPDF modules were added (including an example)
    • Documentations has been getting more improvements at the rendering level and internals.
    • Fix qualified names for the docs in Assistant.
    • Doc inheritance diagrams will be stored in a JSON file, so we can use that info instead of having PySide installed.
    • Cross compilation for different compilers is being studied.
    • Cleaning docs with duplicated C++ examples.
    • pyside6-project new option to flip the usage of 'rc_' and '_ui'
    • Fixed an issue related to 3.11 PYSIDE-1960 (and followup known bugs)
    • PyEnum documentation is ready. 6.4 will have by default the new Enum implementation, in addition a compatibility mode is provided to allow the end users to have the previous enum-code implementation. Extreme cases when people would like to use the old implementation, they would be able to do it with an environment variable.
    • Deployment tool and option (for pyside6-project) soon to be finished.
    • Akademy talk will include new examples and cool demos!

8. September 2022

  • General
    • Cristián at PyConSK
    • Christian is OOO
  • Infra & Releases
    • Wheels being tested for 6.3.2 release
  • Bugs & Features
    • Added setters for lists of QValue3DAxisFormatter PYSIDE-2025
    • Documentation work: Fixed doc code injection for added functions, restructured modules page, fixed doc warnings
    • shiboken refactorings
    • Brought the Quick Nano Browser example up to scratch
    • Added QtPdf/QtPdfWidgets
    • Desktop Deployment - First Review

1. September 2022

  • General
    • We will have a talk at the QtWS
  • Infra & Releases
    • Better to re-create 6.3.2, many changes were in. Simo?
    • Branching out 6.4.0 1 week before release to test the wheel.
  • Bugs & Releases
    • Triaging some bugs, they ended up being QTBUG
    • Flags or operator issue when compared to None (QVariant possible change)
    • Research on the PoC regarding Android deployment continues, there are some complications on the buildozer related step. Maybe recipe related?
    • Starting to investigate if it could be possible to interact with Microcontrollers
    • Three patches concerning PyEnums were finished, and still needs to be merged due to an issue with Python 3.9 - It is a simple version problem of enum.py vs. enum_310.py that can easily be avoided.
    • WebAssembly research continues, there was an issue with the CMAKE_TOOLCHAIN_FILE variable that was picked up from the system.
    • Python to C++ tool to be included with an entry point.
    • Tweaking documentation pages
    • Better to add descriptions to commits that don't have a clear title.

25. August 2022

  • General
    • Main wiki page seems to be a bit outdated, we should try to motivate folks to read the docs as a first thing.
    • There will be a talk at Akademy 2022 in Barcelona
  • Infra & Releases
    • 6.3.2 to be released soon (a couple of patches needs to be added)
  • Bugs & Features
    • PYSIDE-1735 Almost ready, but still figuring out some final details, for example Key combinations, and Flag combinations as well.
    • libpyside now has a logging category (for qtmetacall, and see properties assigned, etc) motivated by PYSIDE-2033 when not using Slot decorator.
    • QMessageBox allow thread issue was solved
    • M2M modules (commercial) docs will be available
    • Adding a new Bluetooth example (heart server)
    • WebAssembly research continues: emsdk toolchains between Python and Qt are different, so there are incompatibility issues. Trying to cross compile raises issues related to building shiboken.
      • Pyodide seems to rewrite some distutils methods, so it's impossible to build using our own overrides.
    • Adding deprecation warning to Enums
    • Debian packaging story continues, but it looks good :)
    • Trying to build full docs on Windows is a bit tricky due to libxslt and libxml not being easy to get.

18. August 2022

  • General
  • Infra & Releases
    • 6.3.2 preparations continued
  • Bugs & Features
    • PYSIDE-2031, PYSIDE-1721 Work on C++ doc snippet conversion
    • Work on porting further examples
    • PYSIDE-2025 Investigated issues in Datavisualization
    • WASM research
    • PyEnum: Story finished API-wise. To come are optimizations and removal of old enum code.
    • Signature test simplified and activated, again. Signatures are now always tested.
      • Isolated a whitespace error in QtWebEngineWidget that was to be fixed in ApiExtractor
    • PyEnum: Working on documentation
    • Profiling signature module. Rewrite parts in C? cProfile and line-profiler (3.9)
    • QFormLayout.takeRowResult() should now finally be supported if the test is indeed right (PYSIDE-1312)
    • Fixed an old problem with random values in QFormLayout.getItemPosition() for row == -1.
    • Android story requires jumping through some hoops on Windows (several parts of the toolchain are Linux only).
      • Toolchain can run on WSL, but problems for Android Virtual Device -> adb redirection over TCP as workaround.
      • adb redirection over TCP not yet supported by Qt Creator, complicating some things - might be easy to fix, investigating.

11. August 2022

  • General
  • Infra & Releases
    • 6.3.2 preparations started
  • Bugs & Features
    • PYSIDE-1984 Work on modelview tutorials and snippet conversion
    • PYSIDE-2019, PYSIDE-2025 Work on Datavisualization issues
    • PYSIDE-2017 Added some OpenGL functions
    • Unit test discovery - progressing
    • PYSIDE-1312 - takeRow() missing in QFormLayout
    • Windows binding examples fixed for debug builds
    • Wrapping up PyEnum
    • Examining documentation - looking for possible adaptations
    • Desktop deployment with nuitka - progressing
    • PySide6 vs PyQt6 - slides for marketing

04. August 2022

  • General
  • Infra & Releases
    • 3.11 compatibility will not be backported to 5.15.x releases for x < 11
    • Windows 6.3.1 sources package seems to be missing on account.qt.io
    • PyPy branch has been properly working lately
  • Bugs & Features
    • PYSIDE-2004 Adding qmlls and qmlformat
    • Android story evolving, at least with QtCore there is a PoC, UI elements are a bit more challenging due the plugins related to the Java/C++ interaction.
    • Deployment functionality being studied for pyside6-projet
    • QML Wayland issue discovered while porting an example
    • Following up on a former QUrl issue that was an overlook, not a bug.
    • Test discovery in IDEs (vscode), issues with the structure the unittest requires, will try to use pytest
    • PYSIDE-1995 C++ exceptions propagation
    • PYSIDE-1996 Widgets classes might have constructor parameters
    • OpenGLFunctions missing functions that require some numpy interaction
    • Python 3.11 compatibility on dev, 6.3, 6.2, and 5.15
    • Snippet converter was improved, still work to do.
    • solved issue related to pyenv and --enabled-shared
      • --enable-shared was not officially recommended for Python and is now optional for PySide
    • Working towards Debian PySide packages, adapting many things.
    • PyEnum revealed bugs when partially moving from IntEnum to Enum, making issue splitting necessary:
      • QKeySequence implementation was fixed
      • a few more problems to be solved before final check-in of the PyEnum conclusion
      • Then PyEnum documentation will become complete and will be finished, next.

28. Juli 2022

  • General
    • Akademy 2022 KDE - October 2nd - Qt for Python
  • Infra & Releases
    • 5.15.6 LTS early September release
  • Bugs & Features
    • Shiboken and Pyside imports in android works, but not the event loop (QApplication, QCoreApplication) ie. QLibraryInfo works in Android
      • Needs special handling and requires QtLoader.java in Python.
      • Possibility of creating an infrastructure for Android deployment that doesn't need Kivy Framework
    • VS Code test discovery (in progress, but halted for now)
    • Window and Splash screen qml example being ported to C++
    • Qml example resulted into noticing a bug in QUrl PythontoCpp() conversion
    • PyEnum - final stages of closing gap between PyQt. Distinguish between Enum, IntEnum and Flag, IntFlag.
    • Test crash issue seems to be solved with python built with --enable-shared
      • Opportunity to get rid of the whole issue, waiting for fix of CI


21. Juli 2022

  • Infra & Releases
    • 6.2.5 commercial LTS was released.
    • 6.3.2 release to happen in the middle August
    • PyPy CI is partially working (still some issues)
  • Bugs & Features
    • New spreadsheet example was added.
    • QVariant issue related to Enums was at the end fixed.
    • Enabling automatic testing on VSC requires __init__.py files in all directories
    • We might add a .vscode/settings.json for development purposes
    • The Windows Debug tutorial will be expanded :)
    • Deployment: struggling with formatting of libraries
    • https://bugreports.qt.io/browse/PYSIDE-1996 seems to be a pyi issue
    • https://bugreports.qt.io/browse/PYSIDE-1735 Finished the implementation, starting with the documentation
    • https://bugreports.qt.io/browse/PYSIDE-1970 __slots__ issue might be related to the usage of old python versions
    • Adapting changes from QtCore like Q_DECLARE_METATYPE and changes to Q_ARG/invokeMethod
    • Helping the Qt6 and PySide6 story on Debian


14. Juli 2022

  • General
  • Infra & Releases
    • 6.2.5 commercial LTS wheels to be published.
    • PyPy CI issue remains, but some ideas in place
    • Enabling Python betas: maybe we could use a new COIN feature.
  • Bugs & Features
    • PyEnum chain is ready for review
    • https://bugreports.qt.io/browse/PYSIDE-1988 Old shiboken was found and fixed
      • We need to check the interfaces more often, otherwise we will find nasty issues like this one.
    • https://bugreports.qt.io/browse/PYSIDE-1960 was finally fixed as well and compatible with the new PyEnum approach.
    • https://bugreports.qt.io/browse/PYSIDE-1735 seems to be trickier
      • complicated only to keep compatibility with the old Enum approach.
    • Documentation for the new Enum system soon to be finished, then we will ask for feedback from you dear reader.
    • QTBUG QLocale issue was found when using en_DE locale (fix was submitted)
    • Android story is progressing well :D
      • Still figuring out wheel structure and testing
    • Sample binding example of QObject classes as base
    • Continue with the PySide yocto cross compilation

07. Juli 2022

  • General
  • Infra & Releases
    • PyPy CI issues and currently offline
    • macOS CI issues last week, it should work properly now.
    • wheel name update on 6.2
    • Commercial LTS 6.2.5 planned for next week.
    • Plans to try beta python versions on the CI
  • Bugs & Features
    • PyEnum story continues, trying to mitigate some problems that appear from the initializations. Initialization now is done in one phase. Working from 3.6 to 3.10, still having issues with 3.11
    • Deployment story continues, and things are looking good for Android :O
    • New team member setting up things, building Qt, PySide, and many other things

30. June 2022

  • General
    • New team member will start on Friday
    • Intern interview next week
    • Experience improvements
      • Add note to Qt Creator Wizard
      • Video tutorials
      • Survey to understand
    • Designer icons (create SVGs, can we use them?)
  • Infra & Releases
    • dev is now 6.4
    • precheck on gerrit requires 'full' when the dialog is opened
    • Source of 5.15.6 to be release soon.
    • TODO: 5.15, 62 wheel name adapt
  • Bugs & Features
    • 1970 slots issue still in progress, seems to be tricky.
    • Continuing improving the cross compiling story
    • PyEnum changes are still in the work.
      • Dealing with defaults values and initialization
    • 3.11 compatibility continues
    • vectorcall support improved
    • Fix new numpy version 1.23
    • unique_ptr new example
    • QSpatialAudio added
    • WebAssembly research continues

23. June 2022

  • Infra and Releases
    • NumPy 1.23 broke dev and PyPy :(
    • We need to pin the other packages to avoid breakage
    • 6.2.5 commercial LTS to be released next week
    • 5.15.6 source code to be released in the following weeks.
      • wheel name adapt patch pending
    • Research: CI cores will be reduced in favor of finding available VMs faster.
  • Bugs & Features
    • PYSIDE-1964 Improved messages for kwargs
    • 6.4 preparations, API and documentation
    • Initial work on Python 3.11
    • PYSIDE-1945 python to cpp conversion more updates
    • Strict/Forgiving PyEnum implementation was done
      • remove duplicated enums in outer scope but silently emulate them,
      • support the old Flags names to be used
      • pretend externally a strict interface in .PYI and line completion
    • Bugs fixing 1968 1934 (type hinting issue) 1972 (snippet translate)
    • trying to tackle the __slots__ issue 1970
      • for debug builds it break, but release only 3.10 breaks
    • QVariant Enum issue 1974 168

16. June 2022

  • Bug fixing week
  • QtDevCon
    • Meeting new people using PySide!
    • Talk went well :) got some feedback.
  • Releases & Infra
    • 5.15.10 Commercial released
      • adapt wheel names
    • 6.3.1 to be released in the following days
      • RPATH issue with designer.
    • Issues with COIN
    • Issues with Windows builds, they are broken on Windows PYSIDE-1962
  • Features & Bugs
    • non-limited api issue
    • continue with the Python Enum story
      • issues wrt backward compatibility
    • Issue with __slots__ on QObject classes (related to 3.10 on macOS and Linux in general)
    • 1945 python to cpp conversion more updates
    • research on 3.11 continues
    • 1959 __mul__ operator
    • 1930 QVariant on linux issue was fixed
    • 1934 type hinting issues
  • Extras
    • New commercial portal account.qt.io
    • Webinar today at 5pm CEST
    • Don't forget 6.4 will drop python 3.6 support

09. June 2022

  • Next week is Bug Fixing Week
  • Infra & Releases
    • commercial LTS 5.15.10 to be released
    • 6.3.1 to be release next week
    • Changing the python version on windows is generating new errors.
    • CI times are too long, so there is some plan to improve the waiting times.
  • Bugs & Features
    • Tooling research
    • Issues with special application cases, QML threading and stuff
    • Access violation on debug builds on Python 3.7, on COIN it was a release build and presented the issue as well
    • Adding new QML files to the wheel (GraphicalEffects)
    • Continue research with WebAssembly
    • Discussion with pyqtgraph to improve API in favor of their module and performance.
    • Continue work with Qt Enums as Python Enums. Code generation needs some fixes still. Python 3.6 is causing issues...mainly for debug mode and limited API.


02. June 2022

  • Infra & Releases
    • Windows 10: 3.6 -> 3.7, and add Windows 11: 3.10
    • Signing binaries on Windows is time consuming
    • 6.2 Commercial LTS close to 6.3.1 OSS release.
  • Bugs & Features
    • PYSIDE-1731 signatures issues related to QFlags
    • PYSIDE-1760 flake8 fixtures broke pyside builds, because it had some effect regarding the replacement of distutils by setuptools.
    • PyEnum improvements, adding them in the enclosing scopes.
    • Continue the research on the deployment story
    • PYSIDE-1930 QVariant issues
    • PYSIDE-1939 Crashes related to return value from shiboken heuristics
    • The project now adopted SDPX licensing (2 lines instead of a wall of text)
    • PYSIDE-1947 data() and constData() from QAudioBuffer
    • PYSIDE-661 moving around messages, we still need to tackle some memory improvements.
    • Documentation updates


26. May 2022

  • Holiday

19. May 2022

  • Infra & Releases
    • 5.15.5 source code ready to be released
    • 6.3.1 delayed to mid-June
    • 6.2.4 was the last OSS 6.2 release
  • Bugs & Features
    • 1905 specify free functions in Shiboken
    • move the error messages to libshiboken
    • 1932 QEnum issues
    • Starting research on webassembly
    • Continue research on improve our deployment

story

    • Improve timeouts related to testing
    • Enum story is ready for review, additional improvements might come in the future. This feature will be optional before 6.4, and from 6.4 on it will be mandatory (Using Python Enum instead of our own Enum implementation)
    • PyIndex_Check issue

12. May 2022

  • Infra & Releases
    • 5.15.4 sources should be released soon, preparing 5.15.5
    • Special pypy branch for nightly integrations
  • Bugs & Features
    • 1898 QMetaObject invokeMethod added Q_ARG
    • 1919 Crash was fixed
    • 1912 context properties, adding missing API
    • NumPy dependencies are moved to Shiboken (pyqtgraph discussion)
    • General refactoring
    • 1912 unique_ptr issues
    • 1878 pyside-qml tool to quickly prototype/view qml code
    • Research on support for new platforms
    • Attempting to use PyTest instead of unittest
    • Missing PyIndex_Check in 3.7 issue

5. May 2022

  • Infra & Releases
    • Starting new commercial branch for 6.2 LTS, 6.2.4 was the last OSS 6.2 release.
    • Preparing new 5.15.4 OSS package (according to the KDE Free Qt Foundation)
  • Bugs & Features
    • Python 3.7 PyIndex_Check issue to be addressed in 6.2 and 6.3
    • Research and improvements on the Raspberry Pi story
    • QtWebEngine: Missing setCookieFilter and setNotificationPresenter
    • Can't use category based logging from PySide
    • Continue research on deployment story
    • 1880 DataVisualization + NumPy
    • 1898 QMetaObject.invokeMethod with arguments not possible
    • 1901 Enum "QVariantList" passed to Property breaks property datatype
    • shiboken to generate deterministic includes
    • Enum new implementation patch is mature to be included in dev and start additional testing
    • Research on testing improvements

28. April 2022

  • Bugs & Features
    • Fixed PYSIDE-1895, strings with 0 chars.
    • Diagnosed PYSIDE-1893, object deletion with lambdas.
    • Worked on PYSIDE-1859, native Win handles
    • Continued PYSIDE-1880 QDataVisualization
    • String migration of the code according to QTBUG-98434 and related cleanups
    • Improved isolation between tests and __feature__ settings, reset() method implemented.
    • Migration to PyEnum PYSIDE-1735 is now error-free:
      • qformlayout_test.py gives phantasy values when no elements exist. Python enums can't handle that.

21. April 2022

  • Infra & Releases
    • 6.2.4 is the las OSS release, 6.2 LTS being prepared
    • 6.3.x will continue as the new OSS release.
    • Issues from people having 6.2.4 and upgrading to 6.3.0. The recommendation is to uninstall the old version and install the new version. This is mainly to an issue we found while upgrading that files were removed, leaving no Qt modules available.
  • Bug & Features
    • QDataVisualization + ItemModel request for data handling (performance discussion), issues seems to be on the C++ implementation of the module.
    • https://bugreports.qt.io/browse/PYSIDE-1859 Windows handle classes issue
    • Found some issues with previous setuptools versions on Linux
    • 1890 fixing cmake build for the new __all__ resolution.
    • New Enum implementation for PySide is already in progress, it's aimed to be in place for 6.4 to avoid breaking existing code. Be aware, that there are things that are currently supported by a wrong implementation, and code adaptation will be required.
    • Improving tests overall (due to the enum changes)

14. April 2022

  • Infra & Releases
  • Bugs & Features
    • Continue the research on qml plugins and deployment story
    • Refactoring and improvements to the build_scripts
    • Python Qt Enums in progress, still some hard-to-find issues to solve
    • 1627 issue regarding QAction API related to QMenu
    • Shiboken refactorings
    • 1883 QTest issues
    • 1880 Request for 3D ItemModel functionality -> added new examples
    • Smart pointers and std::optional support

7. April 2022

  • Infra & Releases
    • New commercial 5.15 releases, difficulties with libclang 12
    • _Py_Mangle issues on >=5.15.4 to be included in 5.15.4 source packages (and others)
    • Branching 6.3 in the next days.
  • Bugs & Features
    • PYSIDE-1876 qmlparserstatus issue fixed
    • Fix TOC doc issue and adapt new qtbase changes
    • refactorings to reduce size of generated code
    • smartpointers improvements, adding tests and tuning implementation
    • PYSIDE-1878 improving qml and python interaction (plugins)
    • Working on the new Qt Python Enums approach (will be a TP with a compile time option)
    • Improve some issues on 5.15.x regarding Python 3.10 compatibility (_Py_Mangle)

31. March 2022

  • Bugs & Features
    • PYSIDE-187O fixed.
    • Wheel size reduction - new flag --no-size-optimization - ready to merge.
    • pyqmlscene (starts with PySide6QmlPlugin) in the working. Requirements gathering from Qml team.
    • shiboken6-genpyi was fixed (was not functional after the Python virtualization)
    • adaptation of PySide6.__all__ after the wheel split, still a problem not understood
    • PYSIDE-1735: Use Python Enums to handle Qt Enum. Making fast progress.
    • PYSIDE-535: completing PyPy documentation to introduce the project for 6.3
    • PYSIDE-1874 SIGSEGV when accessing __doc__ of a Property fixed

24. March 2022

  • Infra & Releases
    • 6.2.4 was released
    • 5.15.3 sources were updated to include pyside2-tools, and 3.10 compatibility.
    • We will replace 3.6.1 by 3.7.x to test on windows
    • Adding new set of wheels to the download.qt.io snapshots
  • Bugs & Features
    • Research on reducing wheel sizes via compiling flags and other things.
    • REG PYSIDE-1870 still in progress
    • Fixing doc issues, and sphinx related changes.
    • 1862 top level cmake build fixed
    • 1868 crash on frame buffer (factory function)
    • Adapting to changes in Qt/C++
    • share_ptr handling refactoring to write independently of the platform
    • wheel_tester issue on macos was fixed (scriptableapplication building with qmake only), it uses cmake and ninja now.
    • Issue in pyside6 re-introduced an old issue: https://codereview.qt-project.org/c/pyside/pyside-setup/+/401438
    • Continue with the work on Enums in PySide
    • Improvements to the create wheel process

17. March 2022

  • General
  • Infra & Releases
    • 6.2.4 release is ready to be out today.
    • LTS 5.15.3 source code will be re-uploaded due to missing pyside2-tools
  • Bugs & Features
    • QmlExtension research for PySide projects
    • Research for new ideas to improve PySide and Shiboken
    • Stripping binaries a bit to reduce wheel size
    • QtPropertyMap is not exposed
    • Update the documentation (Signal/Slots, modules desc, and more)
    • Replacing count() functions by size() internally.
    • Improving the testing framework (special cases for apple silicon)
    • PYSIDE-1843: Continue fixing failing tests for PyPy
    • Research: Improvements to Qt Enums to rely on Python Enums
    • Wheel splitting might need a small size increase on PyPi

10. March 2022

  • General
    • Position still open and many candidates in the pipeline.
  • Infra & Releases
    • Python CI version updates: 3.8 (linux) 3.7 (win) mac (3.9)
    • PyPy issues on the CI being addressed, almost fully functional.
    • 6.2.4 still waiting for Qt to be released.
    • 5.15.3 source was released according to the KDE Free Qt Foundation
      • Sadly, it doesn't include the patches to be Python 3.10 compatible
  • Bugs & Features
    • Research on new PySide features on-going, extra things, internals, and performance
    • QtNfc module was added
    • qFuzzyCompare issue was fixed
    • Improvements on the shiboken containers parsing
    • Compatibility with older python version and pypy tests
    • QmlPropertyMap issue was fixed
    • Still fixing tests for PyPy and new Qt builds
      • New issues were found, but many were fixes. At the moment: 14 in Core, and 18 in all the modules
    • New wheel structure being discussed: splitting the big wheels into at least two

3. March 2022

  • General
  • Infra & Releases
    • 6.2.4 ready to be released, but qt was postponed for 15.03.2022
    • PyPy CI builds are still being tested
    • Next week there will be a CI maintenance break
    • Python versions: 3.6 (linux + win) 3.9 (mac) | 3.10 test win
      • 3.6 will be deprecated in 6.3, so we will change CI versions
      • 3.8 (win), 3.10 (x), 3.7 (x)
    • 6.3 branching still pending a few wheel modifications, and tags.
  • Bug & Features
    • PyPy build on windows presented a few challenges, and PyPy issues were found and reported.
    • pyi generation also had issues due to a virtualenv + windows configurations being wrong, regarding the import orders.
    • Enum refactoring is still in progress.
    • container conversion research
    • 1835 building 5.15 without limited api
    • qml research on property values, and group properties will be fix as well
    • research on new opportunities to improve PySide as a Python module
    • re-working the wheel generation

24. February 2022

  • General
  • Infra & Releases
  • Bug & Feature
    • PYSIDE-1824 BT issue was fixed
    • PYSIDE-1826 Image provider
    • PYSIDE-1827 metatype slot pending (metacall handle improvements)
    • Research on arguments conversion
    • PYSIDE-1815 set modified parameter function (reddit example)
    • PYSIDE-1809 signature modules issues.
    • PYSIDE-1821 Byte handling changes
    • Research on new ideas for the PySide module
    • PYSIDE-1705 Property support in constructors (relation with __feature__)
    • PYSIDE-1735 Python Enums to handle Qt Enums (prototypes)
      • PYSIDE-1731 mypy regression issue (related to enums)
    • PyPy work continues, focused on compatibility with the newest version (supporting python 3.9)


17. February 2022

  • General
    • New Documentation Engineer joined the Foundation Area.
  • Infrastructure & Releases
    • 3.10.0 configuration to be tested
    • Research on improvements for the packages in download.qt.io
    • Testing PyPy on the CI
    • Python 3.6 will be deprecated in PySide 6.3 and removed in 6.4
  • Bugs & Features
    • Addressing compatibility with other deployment tools.
    • QmlExtended QmlAttach will be available in 6.3
    • PYSIDE-1812 cross build task custom clang options
    • Research with C++20 to build pyside, and vector call new API in 3.9+
    • PYSIDE-1765 PYSIDE-1763 __feature__ issues were fixed and working on providing support for property in constructors PYSIDE-1705 (a bit more difficult)
    • PYSIDE-1815 QtNetworkAuth.QAbstractOAuth is missing modifyParametersFunction/setModifyParametersFunction
    • PYSIDE-1821 Add support for std::byte
    • PYSIDE-1809 wrong name type annotation for setProperty() and property()

10. February 2022

  • General
  • Bugs & Features
    • PYSIDE-1806 CMake version check fixed
    • PYSIDE-1804 Big endian test failure fixed
    • Work in progress to add further QML decorators
    • PYSIDE-1702 snake_case handling now does explicitly not touch user defined classes.
    • PYSIDE-1758 Leave the underscore variable alone in QApplication
    • PYSIDE-535 Remove a disambiguation patch no longer needed
    • PYSIDE-1765 Widget subclass' minimumSizeHint not called with true_property
    • Work in progress on: PYSIDE-1753 setStyleSheet available even if snake_case (complex)

03. February 2022

  • General
  • Infra & Releases
    • 6.2.3 was released.
    • Waiting for a scheduled CI break on Monday
    • OSS packages for 5.15.3 source to be available soon.
  • Bugs & Features
    • Updating new Qt dev API (targeting 6.4)
    • Adjusting a designer issue with a crash on views
    • Improving examples: Old OpenGL API
    • PYSIDE-1801 signal crash issue addressed
    • PYSIDE-1804 QByteArray issue
    • Improving QML: getting some issues with QML_ATTACHED
    • Writing PyPy Documentation to explain motivation, changes, and usage.
    • PyPy Compatibility:
      • Got nice performance results with the working mandelbrot example
      • Still working on some last tests that are not properly working.
    • PYSIDE-1798 fixing enum issue
    • Continue the work on the python-lsp issues on QtCreator

27. January 2022

  • General
    • Communicate issue with Apple Silicon and our wheels. There is a bug on Python so using limited API and creating wheels with Python 3.8, make them unusable for 3.6 and 3.7
  • Infra & Releases
    • 6.2.3 to be release soon.
  • Bugs & Features
    • Qt Creator LSP issue has an initial solution
    • Curating a list of new features for Shiboken
    • Working on an issue related to help() function on top of custom modules
    • PYSIDE-1057 memory leak in progress
    • Fixing examples to be compatible with PyPy and addressing corner cases
    • QPainter was transformed into a context manager
    • Building pyside with PyPy 3.8 is possible (3.9 is still in alpha)
    • Working on a new tree example
    • 1788 allow-thread issue with event functions
    • Add threaded OpenGL example
    • Add data()/constData() to OpaqueContainers
    • Continue work on QML integration

20. January 2022

  • General
  • Infra & Releases
    • 6.2.3 release next week
    • Waiting a bit before branching 6.3
  • Bugs & Features
    • QtCreator Python LSP issue to be worked on
    • Continue with the research related to new Shiboken features.
    • Fixing general bugs from support
    • Adapting new API for 6.3
    • Improving QML story with custom types
    • PyPy compatibility is focused on making some last examples to work, some issues with PyPy are being found as well.

13. January 2022

  • Infra & Releases
    • Maintenance in the CI, still a few things to be improved.
    • New version of Gerrit is available as well.
    • 5.15.8 Commercial LTS was released
    • 5.15.2.1 to be release soon, special version with Python 3.10 support
  • Bugs and Features
    • PYSIDE-1755 Fixing issues with __code__ (related to slots)
    • Improved documentation
    • Looking for new features for Shiboken
    • Working on improving the LSP story on QtCreator https://github.com/python-lsp/python-lsp-jsonrpc/issues/5
    • PYSIDE-1764 suggestion on avoid the generation/wrapping of methods within objects.
    • PYSIDE-1730 signal/method namespace crash, generated by old fixes on old bugs.
    • Add capacity/reserve functions to OpaqueContainers
    • QML references examples issues, to discover missing details on the qml interaction
    • Clarifying the conversion rules on the typesystem: native, target
    • PYSIDE-1768 and PYSIDE-1769 WebEngine issues were solved.
    • uic missing imports
    • PYSIDE-1751 equality test for signals is rewritten and working better
    • QXYSeries: adding missing addons to enable methods


06. January 2022

  • General
    • New bridge between Telegram <-> IRC
  • Infra & Release
    • Planning 5.15.2 new release (5.15.2.1) to include Python 3.10 support.
    • 5.15.8 Commercial LTS to be release in the next couple of days.
    • 6.2.3 planned for 2022.01.18
  • Bugs & Features
    • PYSIDE-1755 __code__ inspection on slot connection is buggy (breaks, e.g. MagicMock testing)
    • Ported new examples QRegularExpression editor and MimeTypes
    • Research to get new Shiboken features
    • Updating translations
    • In progress enabling qmllint in pyside project thanks to an external tool
    • Addressing signal issues for different use-cases, multiple inheritance
      • There is a relation with PyPy issues as well
    • PYSIDE-1760 Racing condition without virtual environments (preloading setuptools)
    • true_property issues were solved.
    • continue work to have a more modular pyside installation with more wheels
    • research on manylinux compatibility