Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a document template for QGIS3 migration API break #32

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions api_break.rst
Original file line number Diff line number Diff line change
@@ -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
---------------