aboutsummaryrefslogtreecommitdiffstats
path: root/doc/changelogs/changes-6.4.0
blob: e2f7df1c34cc6529799649b65744b13fd724fc54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
Qt for Python 6.4.0 is a minor release.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

https://doc.qt.io/qtforpython/

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:

https://bugreports.qt.io/

Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.

****************************************************************************
*                                  PySide6                                 *
****************************************************************************

 - Modules QtPdf, QtPdfWidgets and QtSpatialAudio have been added.
 - [PYSIDE-353]  PySide builds with PyPy 3.9.
 - [PYSIDE-769]  Examples that demonstrate usage of Trio async package with Qt
                 have been added.
 - [PYSIDE-841]  Examples surface_numpy, minimal surface (QtDataVisualization),
                 dropsite, dirview, Google suggest license wizard, QtBluetooth
                 heart rate server and client, QML window, QML Plugins,
                 analog clock (QtGui), digital clock (QtWidgets), spreadsheet,
                 terminal (QtSerialPort) and character map, have been added.
 - [PYSIDE-962]  Errors message about test-configuring projects
                 with cmake have been improved.
 - [PYSIDE-1019] The feature module has been improved by a reset function.
 - [PYSIDE-1106] The documentation build process has been improved; it no
                 longer requires a complete PySide6 build.
 - [PYSIDE-1312] Support for QFormLayout::TakeRowResult has been added.
 - [PYSIDE-1612] A tool for deployment, pyside6-deploy, has been added.
 - [PYSIDE-1721] The C++ to Python code snippet translation has been
                 much improved.
 - [PYSIDE-1731] PyEnum: Fix the old Enums to produce correct .pyi files,
                 again.
 - [PYSIDE-1735] The new forgiveness mode of Python enums allows to use old
                 enum code, most of the time.
 - [PYSIDE-1735] PyEnum: Most IntEnum/IntFlag classes were modified to Enum/Flag
 - [PYSIDE-1735] PyEnum: QKeyCombination was improved to also work after the change
                 from IntEnum to Enum.
 - [PYSIDE-1735] PyEnum can now be fully configured by flags at startup for internal
                 use. The default is unchanged and enables everything as before.
 - [PYSIDE-1797] Link errors about PyIndex_Check() when using Limited_API have
                 been fixed.
 - [PYSIDE-1860] Modules are now optimized for size.
 - [PYSIDE-1878] The tool pyside6-qml has been added.
 - [PYSIDE-1880] A numpy overload for QSurfaceDataProxy.resetArray() has
                 been added.
 - [PYSIDE-1883] Test::qWait()/qSleep() have been added.
 - [PYSIDE-1887] Overriding QGraphicsItem::itemChange() has been fixed.
 - [PYSIDE-1887] Specify meta type registration for some class hierarchies
 - [PYSIDE-1893] Error "Internal C++ object already deleted." when using
                 QWidget.nativeParentWidget() has been fixed.
 - [PYSIDE-1895] '\0' can now be embedded in 1 byte strings.
 - [PYSIDE-1898] Q_ARG/Q_RETURN_ARG have been implemented for
                 QMetaObject.invokeMethod() with arguments.
 - [PYSIDE-1898] qMetaTypeFromPyType() has been fixed for for wrapped types.
 - [PYSIDE-1898] QMetaType: a constructor taking a PyTypeObject has been added.
 - [PYSIDE-1899] Class QLoggingCategory and functions qCDebug(), qCInfo(),
                 qCWarning() and qCCritical() has been added.
 - [PYSIDE-1859] The Microsoft Windows handle types HBITMAP, HICON and HRGN
                 have been added.
 - [PYSIDE-1906] All qHash() functions are now exposed to Python.
 - [PYSIDE-1913] The bool cast for QByteArray has been changed to return
                 False for empty byte arrays to match the expected behavior.
 - [PYSIDE-1924] Numpy support is now enabled by default.
 - [PYSIDE-1945] pyside6-qtpy2cpp.py, a Qt-specific, simple tool for
                 converting Python code to C++ has been added.
 - [PYSIDE-1957] The Qt5Compat QML imports have been added
                 (QtGraphicalEffects).
 - [PYSIDE-1901] The broken string conversion for non-compact
                 strings when using Limited API has been fixed.
 - [PYSIDE-1905] Overloads with more parameters have been added to
                 QDBusAbstractInterface::call().
 - [PYSIDE-1906] qHash() functions are now automatically exposed as tp_hash.
 - [PYSIDE-1909] Type discovery for QStyleOption-derived classes
                 has been fixed.
 - [PYSIDE-1911] A __repr__ function for PySideSignalInstance has been added.
 - [PYSIDE-1912] QWebEngineCookieStore.setCookieFilter() and
                 QtWebEngineProfile.setNotificationPresenter() have been added.
 - [PYSIDE-1919] A GIL state crash when collecting QObjects
                 with signals occurring in Python 3.10 has been fixed.
 - [PYSIDE-1921] QQmlContext.setContextProperties() has been added.
 - [PYSIDE-1930] Returning enums from QAbstractListModel.data() has been fixed.
 - [PYSIDE-1934] Type hinting for QListWidget.selected_indexes() has been
                 fixed.
 - [PYSIDE-1939] A crash in QTextBlock.layout() has been fixed.
 - [PYSIDE-1947] QAudioBuffer.data()/constData() has been added.
 - [PYSIDE-1957] Add Qt5Compat.GraphicalEffects
 - [PYSIDE-1960] Support for Python 3.11 has been added.
 - [PYSIDE-1968] Type hinting for QPixmap.save() has been fixed.
 - [PYSIDE-1974] Returning flags from QAbstractTableModel and other
                 models has been fixed.
 - [PYSIDE-1978] Signal
                 QAbstractItemModel::layoutAboutToBeChanged(QList<QPersistentModelIndex>)
                 has been fixed.
 - [PYSIDE-1984] The snippets of the model view tutorials have been fixed.
 - [PYSIDE-1986] Setting properties by named arguments for Q[VH]BoxLayout
                 has been fixed.
 - [PYSIDE-2000] The VS Code debugging tutorial for Windows has been updated.
 - [PYSIDE-2004] The tools qmlformat and qmlls have been added.
 - [PYSIDE-2005] A documentation section for cmake-only build has been added.
 - [PYSIDE-2017] The functions glGet(Boolean|Double|Float|Integer)v()
                 and glGet(Boolean|Double|Float|Integer)i_v() have been added.
 - [PYSIDE-2019] Issues with QtDataVisualization's QValue3DAxisFormatter
                 have been fixed.
 - [PYSIDE-2021] The index operator of QKeySequence now returns QKeyCombination
                 when the new PyEnums are used.
 - [PYSIDE-2025] Setters for the the lists in
                 QtDataVisualization's QValue3DAxisFormatter
                 have been fixed added.
 - [PYSIDE-2033] A logging category "qt.pyside.libpyside" with useful warnings
                 has been added to libpyside.
 - [PYSIDE-2034] Blocking threads in static functions of QMessageBox
                 have been fixed.
 - [PYSIDE-2038] Documentation: Improve module pages title
 - [PYSIDE-2039] A regression bug when setting override cursors without context
                 manager has been fixed.
 - [PYSIDE-2048] A TypeError when comparing Qt.Flags and objects has been
                 fixed.
 - [PYSIDE-2059] Function qt_set_sequence_auto_mnemonic() has been added to
                 QtGui.
 - [PYSIDE-2060] Cross-compilation to Raspberry Pi 4 has been fixed.

****************************************************************************
*                                  Shiboken6                               *
****************************************************************************

 -               When using C++ 20, the spaceship comparison operator is
                 now recognized.
 -               The signatures for function modifications now also allow for
                 specifying unresolved types.
 - [PYSIDE-454]  Support for std::unique_ptr pointer has been added.
 - [PYSIDE-1735] Python Enums use the newest implementation for Python (3.10)
                 for compatibility and speed.
 - [PYSIDE-1735] The initialization of the signature module was moved into
                 Shiboken and rearranged. This was necessary for the new
                 backward-compatible PyEnum module.
 - [PYSIDE-1735] The new Python enums are made as compatible to the old ones
                 as possible. It is again allowed to use Qt.Alignment() instead
                 of Qt.AlignmentFlag(0), and a default of 0 is always allowed.
 - [PYSIDE-1735] Most former IntEnum/IntFlag are replaced by pure Enum/Flag
                 classes in a generally compatible way to other implementations.
 - [PYSIDE-1735] Shiboken now generates warnings about using deprecated
                 enumerations and deprecated enumeration values.
 - [PYSIDE-1764] It is now possible to specify a list of functions to be
                 generated instead of removing undesired functions.
 - [PYSIDE-1932] The Q_ENUM helper functions qt_getEnumMetaObject() and
                 qt_getEnumName() are now automatically rejected when
                 PySide extensions are enabled.
 - [PYSIDE-1939] An type system attribute for restricting the parent
                 ownership heuristics to relevant classes has been introduced.
 - [PYSIDE-454]  The types "handle" and "value-handle" have been added
                 to the smart pointers typesystem element.
 - [PYSIDE-661]  Generated error messages habe been moved into the library,
                 significantly reducing the module size.
 - [PYSIDE-1735] Propagate C++ enum deprecation
 - [PYSIDE-1735] shiboken 6: Generate warnings about deprecated enum/values
 - [PYSIDE-1812] Command line options for compiler, path and platform
                 have been added.
 - [PYSIDE-1887] Meta type registration is now configureable in the type
                 system.
 - [PYSIDE-1905] A way to specify free functions with complete custom
                 implementations has been added (bypassing the generated
                 argument conversion and overload decisor code).
 - [PYSIDE-1909] A function to get the type name of a polymorphic class
                 can now be specified.
 - [PYSIDE-1909] Type discovery for classes that with an id expression
                 has been fixed.
 - [PYSIDE-1933] Converters for all smart pointee base classes are now
                 generated.
 - [PYSIDE-1939] Heuristics for for parent ownership can now be specified
                 by an attribute.
 - [PYSIDE-1995] Exceptions are now propagated through return value ownership
                 modifications.
 - [PYSIDE-2017] The modified pyi return types of functions are now used
                 for signatures. Signatures also no longer contain
                 removed arguments.
 - [PYSIDE-2025] Documentation injection for added functions with
                 parameter names has been fixed.
 - [PYSIDE-2040] The full path of libdir is now used in the pkg-config file.
 - [PYSIDE-2046] A crash caused by invalid return types of added
                 functions has been fixed.