April 23rd, 2013
· Added support for QtCore.pyqtSetPickleProtocol() and QtCore.pyqtPickleProtocol() to set and get the protocol used to pickle Python objects when serialising them for Qt.
· Added support for the --resource-suffix option to pyuic4.
· Added a new build system (configure-ng.py) which will be compatible with SIP v5 and will eventually support cross-compilation.
· Added support for Qt v5.0.2.
· Bug fixes.
March 4th, 2013
· Added support for QtCore.PYQT_CONFIGURATION in anticipation of SIP v5.
· Added support for Qt v5.0.1.
· Bug fixes.
December 10th, 2012
· Support has been added for Qt v4.8.4 and Qt v5.0-rc1.
· Added the missing constBits() and constScanLine() methods to QImage.
· A QPoint can now be specified whenever a QPointF is expected.
· Added support for Qt v4.8.4.
· Added support for Qt v5.0-rc1 (QtCore, QtGui, QtHelp, QtNetwork, QtSql, QtSvg, QtWebKit and QtXml only).
· Added the --no-deprecated option to configure.py.
· SIP v4.14.2 is now required.
October 1st, 2012
· Added support for Qt v4.8.3.
· Added support for Qt v5-beta1 (QtCore, QtGui, QtHelp, QtNetwork, QtSql, QtSvg, QtWebKit and QtXml only).
· Implemented __str__ and __unicode__ for QChar.
· Added the missing QPointF operator*(qreal, QPointF).
· Added the customcompleter.py example.
· SIP v4.14 is now required.
June 28th, 2012
· This fixes a build problem that affected Windows and OS X.
June 25th, 2012
· Fixed QByteArray.__getitem__ so that it does bounds checking.
· Fixed a regression in the setting of the qmake spec name on OS/X.
· Applied patches from Debian for when the ld --no-add-needed flag is set.
June 22nd, 2012
· Added support for Qt v4.8.2.
· Added support for Qt v5-alpha (QtCore and QtGui only).
· Added support for Python v3.3.
· bool(QPyNullVariant(...)) now returns False rather than True to mimic the behaviour of None.
· Exposed the pyqtBoundSignal type object in the QtCore module.
· Added the signal attribute to pyqtBoundSignal containing the signature that would be returned by SIGNAL().
· Added the optional package argument to uic.loadUi() to properly handle relative imports.
· pyuic4 now supports themed icons.
· Added the spreadsheet example from Hans-Peter Jansen.
February 13th, 2012
· QPainter can now be used as a context manager.
· Added QMacPasteboardMime on OS/X.
· Added the missing QPixmap.HBitmapFormat.Alpha enum member on Windows.
· Added support for the Python v3 implementation of dbus-python.
· Bug fixes.
December 23rd, 2011
· This is a major feature release including support for Qt v4.8.0 and the inclusion of the QtDBus module.
November 1st, 2011
· This is a minor bug fix release.
August 11th, 2011
· Added support for Qt v4.7.3.
· Added IPv6 support for QHostAddress.
· Added the missing QAbstractFileEngine.beginEntryList().
· Bug fixes.
May 2nd, 2011
· Added support for Qt v4.7.2.
· QObject.findChild() and QObject.findChildren() now allow a tuple of type objects as well as a single type argument so that children of a number of types may be found.
· Added support for QCommonStyle.
· Added limited support for setEventFilter() and filterEvent() to QAbstractEventDispatcher.
· Added support for setAttributeArray() to QGLShaderProgram.
· pyrcc4 will now compress by default to match the behaviour of rcc.
· Removed QTouchEventSequence as its C++ API makes it impossible to be used from Python.
· Bug fixes.
January 25th, 2011
· Added the QPyNullVariant class to the QVariant v2 API to allow null QVariants to be implemented.
· Added the optional type keyword argument to QSettings.value() to allow the type of the returned value to be specified.
· Any QObject invokable methods can now be called transparently even if they haven't been explicitly wrapped.
· QWizardPage.registerField() can now take an unbound or bound signal as its 'changedSignal' argument.
· Converted the Reference Guide to Sphinx.
· Bug fixes.
November 1st, 2010
· Support for the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE macros to allow PyQt to be built against Qt built with namespace support.
· Bug fixes.
October 23rd, 2010
· Added support for Qt v4.7 including the new QtDeclarative module.
· pyqtProperty() can now be used as a method decorator in the same way that the standard Python property type can be used.
· Added the notify argument to pyqtProperty().
· Unbound signals can now be subscripted in the same way that bound signals can.
· Added the missing
September 21st, 2010
· uic.loadUi() will now accept a QString filename again.
· Fixes for the svgviewer.py example from Hans-Peter Janson.
· QFlags can now be ored (and xored) against an int. At the cost of relaxing the type checking this makes the behaviour consistent irrespective of the order in which enums of other types are specified.
· Added the separations.py example from Hans-Peter Jansen.
· Added the delayedencoding.py example for Hans-Peter Jansen.
· Added the dropsite.py example fro Hans-Peter Jansen.
· Fixed a pyuic regression under Python v2 when using the -o command line flag.
· Fixed a pyuic regression when calling loadUiType().
July 14th, 2010
· Fixed the operator(int) of QWebElementCollection so that it is consistent
· with other implementations of the operator.
· Applied the new __len__ annotation to all count() methods.
· Added a private assignment operator to QXmlParseException as it still cannot be
· copied even though it has a ctor with only default arguments.
· Fixed a bug in the parsing of a C++ signature that includes a template with
· multiple arguments.
April 19th, 2010
· a bug-fix release.
March 31st, 2010
· Fixed a bug where the pyqtSlot() decorator was being ignored when attempting
· to make a new-style connection from an incompatible signal.
March 18th, 2010
· QNetworkReplay.ignoreSslErrors() is now dependent on OpenSSL support.
· Fixed the path to metasip for the new build server.
· Completed the implementation of the QtMultimedia module.
· Fixed the super-type of QRunnable because it can be owned.
· Added the majority of the QtMultimedia module to the MetaSIP project.
· Fixed a problem with QDataStream and v2 of the QString API.
· Added readQStringList() and writeQStringList() to QDataStream.
· Fixed a bug when using the new connect API to disconnect a slot while executing
· the slot.
November 13th, 2009
· Fixed a bug in the capabilities.py example triggered by the QVariant v2 API.
August 17th, 2009
· Fixed the super-type of QGLContext because it takes part in parent/child
November 10th, 2008
· Added a workaround for an obscure typedef-related SIP bug triggered by QAxBase.
· Updated the NEWS file.
· Updates to the installers.
· Changed all uses of sequences to explicitly use PySequence_Check() as PySequence_Size() returning a valid value may not be sufficient (eg. sets).
· PyQt should now compile against Stackless.
· More fixes for the GPL installer related to setting PATH and non-admin
· Updates to the GPL installer so that it uses the correct path in pyuic4.bat and may work better with non-administrator installs.
· Fixed a pyuic bug caused by a widget being called "_name" in the .ui file.
· The configuration of the Designer plugin now uses exec_prefix rather than prefix.
· Added the --no-designer-plugin option to configure.py.
· Fixed a bug in pyqtProperty() where the name of the setter wasn't being properly checked to see if it follows the Designer naming standard.
· Added a missing /Constrained/ from the first QVariant ctor needed by the new SIP enum handling.
· Fixed a bug in pyuic's handling of QFormLayout when a layout is being set in a role rather than a widget.
· Completed the roadmap.
· Added the missing Windows and Mac versions from QSysInfo.
· Added more to the roadmap.
· Renamed the TODO list.
· Updated the TODO list.
· Added the /Constrained/ enum annotations required by the latest SIP.
· More changes to QVariant to further minimise the changes from previous versions.
· Updated the docs regarding the slightly changed QVariant behaviour.
· Added support for qreal being implemented as either a float or a double.
· QSizeGrip support is now determined by configure.py.
· Fixed QDesktopServices.setUrlHandler() so that it works the same as the C++ implementation but also accepts a method that is a slot of a QObject.
· Backed out the explicit support for the QList and QMap mapped types as they break backwards compatibility.
· Fixed a pyuic bug handling empty icon sets.
· Added the unit tests for QVariant.
· Added the unit tests for __pyqtSignals__ and pyqtSignature().
· Added the unit tests for pyqtProperty.
· Python integer objects will now be stored as int types in QVariant where possible (rather than qlonglong) so that enums are stored as ints.
· Added data() (returning a void *) to QXmlAttributes, QPolygon and QPolygonF.
· Updated the unit test framework and started to add the ad-hoc tests to it.
· Updated the docs relating to QVariant and Python objects.
· Removed the QMetaType.type() overload as it is now completely broken. Strictly speaking this breaks backwards compatibility but it was present for such a short period of time that nobody should miss it.
· Updates to the GPL installer for Python v2.6.
· Switched the internal build system to Qt v4.4.2.
· No, it should have been SIP v4.7.8 that is now required.
· SIP v4.7.7 is now required.
· The QVariant support will now use the correct C++ type name when seeing if it is aleady registered.
· Removed a compiler warning message with Python v2.6rc1.
· pyuic4 uses the set builtin rather than the sets module where possible to avoid deprecation warnings with Python v2.6rc1.
· Added the missing sub-class convertor code that handles QGraphicsScene events.
· Implemented the enhanced support for converting QVariants back to Python objects - but completely untested.
· Further changes when creating a QVariant. Converting back to a Python object is still broken.
· Reimplemented the conversions to QVariant to ensure any Python object can be converted (and to a C++ instance where possible). (I will probably take this a little further.)
· QVariant() and QVariant.toPyObject() will now handle non-Qt wrapped types properly.
· Fixed a bug handling of non-Qt wrapped types by QVariant.
· Fixed bugs in the embeddeddialogs.py and Designer pydemo.py examples.
· pyuic will now complain if it finds a custom widget header file name that contains '..'.
· Added %MethodCode for QKeySequence::operator to do bounds checking so that iterating over an instance works properly. Also added Pythonic handling of negative indices.
· Reviewed all other operator implementations and adopted the same code skeleton.