From 0c54a7b0d3b945191911142a8bb9611b61dac4dc Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Sat, 21 Apr 2018 13:01:08 +0200 Subject: [PATCH] Add a document template for QGIS3 migration API break --- api_break.rst | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 api_break.rst diff --git a/api_break.rst b/api_break.rst new file mode 100644 index 0000000..1cf2d63 --- /dev/null +++ b/api_break.rst @@ -0,0 +1,54 @@ +Inasafe for QGIS 3 API break backwards incompatible changes +=========================================================== + + +This page tries to maintain a list with incompatible changes that happened in previous releases. + + +QGIS Version 3.0 brings changes to many underlying dependencies which QGIS is built upon. Any existing PyQGIS code will +need to be updated to address the changes made within these libraries. + +Python 3.0 +---------- + +QGIS 3.0 introduces a move to Python 3. This version brings many changes to both the Python language and individual Python +libraries. A good place to start learning about the changes involved, and how to port your code to Python 3, is available +in the official Python documentation: [Porting Python 2 Code to Python 3](https://docs.python.org/3/howto/pyporting.html). + +Qt 5 +---- + +QGIS 3.0 is based off version 5 of the underlying Qt libraries. Many changes and API breaks were introduced in Qt5. While +it is c++ specific, a good place to read about the major changes introduced in Qt5 is at the Qt docs: +[C++ API changes](http://doc.qt.io/qt-5/sourcebreaks.html) + + +PyQt 5 +------ + +Together with the Python and Qt version changes, the PyQt libraries which expose Qt classes to Python have also had their +version bumped to PyQt 5. The changes introduced in PyQt 5 and the steps required to upgrade existing code are summarised at: +[Differences Between PyQt4 and PyQt5](http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html) + + +Moved Classes +------------- + +- Class XXXXXX was moved to module YYYYYY. + + +Renamed Classes +--------------- + +- Class XXXXXX was renamed to YYYYYY. + + +Removed Classes +--------------- + +- XXXXXX was removed. This was replaced by YYYYYY + + + +General changes +---------------