/*! \page api_break Backwards Incompatible Changes \tableofcontents The API of QGIS libraries is allowed to be changed just between major versions of QGIS. For example, there are various planned backwards incompatible changes between QGIS 1.8 and 2.0 because the version 2.0 is a new major version. After a release of a major version of QGIS (e.g. 2.0) the developer team is committed to maintain stable API for all subsequent minor releases (2.2, 2.4, ...). That roughly means we do not rename classes and methods, remove them nor change their semantics. Existing code should keep working when the user updates QGIS to another minor version (e.g. from 2.0 to 2.2), so all extensions of existing classes should be done in a manner that third party developers do not need to adjust their code to work properly with newer QGIS releases. Sometimes, however, we may need to break the API as a result of some code changes. These cases should be only exceptions and they should happen only after consideration and agreement of the development team. Backwards incompatible changes with too big impact should be deferred to a major version release. This page tries to maintain a list with incompatible changes that happened in previous releases. \section qgis_api_break_3_0 QGIS 3.0 \subsection qgis_api_break_3_0_moved_classes Moved Classes
Moved classes
classModule 2.XModule 3.x
QgsMapLayerModelguicore
QgsMapLayerProxyModelguicore
\subsection qgis_api_break_3_0_renamed_classes Renamed Classes
Renamed classes
API 2.xAPI 3.X
QgsAttributeActionQgsActionManager
QgsAbstractGeometryV2QgsAbstractGeometry
QgsCategorizedSymbolRendererV2QgsCategorizedSymbolRenderer
QgsCategorizedSymbolRendererV2ModelQgsCategorizedSymbolRendererModel
QgsCategorizedSymbolRendererV2ViewStyleQgsCategorizedSymbolRendererViewStyle
QgsCategorizedSymbolRendererV2WidgetQgsCategorizedSymbolRendererWidget
QgsCentroidFillSymbolLayerV2QgsCentroidFillSymbolLayer
QgsCentroidFillSymbolLayerV2WidgetQgsCentroidFillSymbolLayerWidget
QgsCircularStringV2QgsCircularString
QgsColorButtonV2QgsColorButton
QgsComposerSymbolV2ItemQgsComposerSymbolItem
QgsComposerTableAvailableSortProxyModelV2QgsComposerTableAvailableSortProxyModel
QgsCompoundCurveV2QgsCompoundCurve
QgsCoordinateSequenceV2QgsCoordinateSequence
QgsCptCityColorRampV2QgsCptCityColorRamp
QgsCptCityColorRampV2DialogQgsCptCityColorRampDialog
QgsCptCityColorRampV2DialogBaseQgsCptCityColorRampDialogBase
QgsCurvePolygonV2QgsCurvePolygon
QgsCurveV2QgsCurve
QgsDiagramRendererV2QgsDiagramRenderer
QgsEditorWidgetV2QgsEditorWidget
QgsEllipseSymbolLayerV2QgsEllipseSymbolLayer
QgsEllipseSymbolLayerV2WidgetQgsEllipseSymbolLayerWidget
QgsFeatureRendererV2QgsFeatureRenderer
QgsFillSymbolLayerV2QgsFillSymbolLayer
QgsFillSymbolV2QgsFillSymbol
QgsFontMarkerSymbolLayerV2QgsFontMarkerSymbolLayer
QgsFontMarkerSymbolLayerV2WidgetQgsFontMarkerSymbolLayerWidget
QgsGeometryCollectionV2QgsGeometryCollection
QgsGeometryGeneratorSymbolLayerV2QgsGeometryGeneratorSymbolLayer
QgsGradientFillSymbolLayerV2QgsGradientFillSymbolLayer
QgsGradientFillSymbolLayerV2WidgetQgsGradientFillSymbolLayerWidget
QgsGraduatedSymbolRendererV2QgsGraduatedSymbolRenderer
QgsGraduatedSymbolRendererV2ModelQgsGraduatedSymbolRendererModel
QgsGraduatedSymbolRendererV2ViewStyleQgsGraduatedSymbolRendererViewStyle
QgsGraduatedSymbolRendererV2WidgetQgsGraduatedSymbolRendererWidget
QgsLabelingEngineV2QgsLabelingEngine
QgsLegendSymbolItemV2QgsLegendSymbolItem
QgsLineStringV2QgsLineString
QgsLineSymbolLayerV2QgsLineSymbolLayer
QgsLineSymbolV2QgsLineSymbol
QgsMarkerLineSymbolLayerV2QgsMarkerLineSymbolLayer
QgsMarkerLineSymbolLayerV2WidgetQgsMarkerLineSymbolLayerWidget
QgsMarkerSymbolLayerV2QgsMarkerSymbolLayer
QgsMarkerSymbolV2QgsMarkerSymbol
QgsMultiCurveV2QgsMultiCurve
QgsMultiLineStringV2QgsMultiLineString
QgsMultiSurfaceV2QgsMultiSurface
QgsPointSequenceV2QgsPointSequence
QgsRandomColorsV2QgsRandomColorRamp
QgsRendererCategoryV2QgsRendererCategory
QgsRendererRangeV2QgsRendererRange
QgsRendererRangeV2LabelFomatQgsRendererRangeLabelFomat
QgsRendererRangeV2LabelFormatQgsRendererRangeLabelFormat
QgsRendererV2QgsRenderer
QgsRendererV2AbstractMetadataQgsRendererAbstractMetadata
QgsRendererV2CreateFromSldFuncQgsRendererCreateFromSldFunc
QgsRendererV2CreateFuncQgsRendererCreateFunc
QgsRendererV2DataDefinedMenusQgsRendererDataDefinedMenus
QgsRendererV2MetadataQgsRendererMetadata
QgsRendererV2PropertiesDialogQgsRendererPropertiesDialog
QgsRendererV2PropsDialogBaseQgsRendererPropsDialogBase
QgsRendererV2RegistryQgsRendererRegistry
QgsRendererV2WidgetQgsRendererWidget
QgsRendererV2WidgetFuncQgsRendererWidgetFunc
QgsRingSequenceV2QgsRingSequence
QgsRuleBasedRendererV2QgsRuleBasedRenderer
QgsRuleBasedRendererV2CountQgsRuleBasedRendererCount
QgsRuleBasedRendererV2ModelQgsRuleBasedRendererModel
QgsRuleBasedRendererV2WidgetQgsRuleBasedRendererWidget
QgsShapeburstFillSymbolLayerV2QgsShapeburstFillSymbolLayer
QgsShapeburstFillSymbolLayerV2WidgetQgsShapeburstFillSymbolLayerWidget
QgsSimpleFillSymbolLayerV2QgsSimpleFillSymbolLayer
QgsSimpleFillSymbolLayerV2WidgetQgsSimpleFillSymbolLayerWidget
QgsSimpleLineSymbolLayerV2QgsSimpleLineSymbolLayer
QgsSimpleLineSymbolLayerV2WidgetQgsSimpleLineSymbolLayerWidget
QgsSimpleMarkerSymbolLayerV2QgsSimpleMarkerSymbolLayer
QgsSimpleMarkerSymbolLayerV2WidgetQgsSimpleMarkerSymbolLayerWidget
QgsSingleSymbolRendererV2QgsSingleSymbolRenderer
QgsSingleSymbolRendererV2WidgetQgsSingleSymbolRendererWidget
QgsStyleV2QgsStyle
QgsStyleV2ExportImportDialogQgsStyleExportImportDialog
QgsStyleV2ExportImportDialogBaseQgsStyleExportImportDialogBase
QgsStyleV2GroupSelectionDialogQgsStyleGroupSelectionDialog
QgsStyleV2ManagerDialogQgsStyleManagerDialog
QgsStyleV2ManagerDialogBaseQgsStyleManagerDialogBase
QgsSurfaceV2QgsSurface
QgsSvgMarkerSymbolLayerV2QgsSvgMarkerSymbolLayer
QgsSvgMarkerSymbolLayerV2WidgetQgsSvgMarkerSymbolLayerWidget
QgsSymbolLayerV2QgsSymbolLayer
QgsSymbolLayerV2AbstractMetadataQgsSymbolLayerAbstractMetadata
QgsSymbolLayerV2MetadataQgsSymbolLayerMetadata
QgsSymbolLayerV2RegistryQgsSymbolLayerRegistry
QgsSymbolLayerV2UtilsQgsSymbolLayerUtils
QgsSymbolLayerV2WidgetQgsSymbolLayerWidget
QgsSymbolLevelsV2DialogQgsSymbolLevelsDialog
QgsSymbolV2LegendNodeQgsSymbolLegendNode
QgsSymbolV2LevelItemQgsSymbolLevelItem
QgsSymbolV2RenderContextQgsSymbolRenderContext
QgsSymbolV2SelectorDialogQgsSymbolSelectorDialog
QgsSymbolV2SelectorWidgetQgsSymbolSelectorWidget
QgsSymbologyV2ConversionQgsSymbologyConversion
QgsVectorColorBrewerColorRampV2QgsColorBrewerColorRamp
QgsVectorColorBrewerColorRampV2DialogQgsColorBrewerColorRampDialog
QgsVectorColorBrewerColorRampV2DialogBaseQgsColorBrewerColorRampDialogBase
QgsVectorColorRampV2QgsColorRamp
QgsVectorColorRampV2MapQgsVectorColorRampMap
QgsVectorGradientColorRampV2QgsGradientColorRamp
QgsVectorGradientColorRampV2DialogQgsGradientColorRampDialog
QgsVectorGradientColorRampV2DialogBaseQgsGradientColorRampDialogBase
QgsVectorGradientRampV2QgsVectorGradientRamp
QgsVectorLayersetRendererV2QgsVectorLayersetRenderer
QgsVectorRandomColorRampV2QgsLimitedRandomColorRamp
QgsVectorRandomColorRampV2DialogQgsLimitedRandomColorRampDialog
QgsVectorRandomColorRampV2DialogBaseQgsLimitedRandomColorRampDialogBase
QgsSymbolV2QgsSymbol
Renamed enum values
classAPI 2.xAPI 3.X
QgsLayerTreeModelLegendNodeSymbolV2LegacyRuleKeyRoleSymbolLegacyRuleKeyRole
QgsVectorLayerEditorWidgetV2EditorWidget
Renamed method names
classAPI 2.xAPI 3.X
QgsAnnotationmapPositionFixedhasFixedMapPosition
QgsApplicationdefaultStyleV2PathdefaultStylePath
QgsApplicationuserStyleV2PathuserStylePath
QgsComposerShapesetUseSymbolV2setUseSymbol
QgsSymbolLayerUtilscreateSymbolLayerV2ListFromSldcreateSymbolLayerListFromSld
QgsVectorLayereditorWidgetV2ConfigeditorWidgetConfig
QgsVectorLayereditorWidgetV2TexteditorWidgetText
QgsVectorLayereditorWidgetV2TypeeditorWidgetType
QgsVectorLayerdeleteVertexV2deleteVertex
QgsVectorLayerrendererV2renderer
QgsVectorLayerEditUtilsdeleteVertexV2deleteVertex
QgsComposerSymbolItemsymbolV2symbol
QgsServerInterfacecapabiblitiesCachecapabilitiesCache
\subsection qgis_api_break_3_0_removed_classes Removed Classes \subsection qgis_api_break_3_0_global General changes \subsection qgis_api_break_3_0_DataProviders Data Providers \subsection qgis_api_break_3_0_Qgis Qgis \subsection qgis_api_break_3_0_QgisInterface QgisInterface \subsection qgis_api_break_3_0_QgsAnnotation QgsAnnotation \subsection qgis_api_break_3_0_QgsActionManager QgsActionManager \subsection qgis_api_break_3_0_QgsAdvancedDigitizingDockWidget QgsAdvancedDigitizingDockWidget \subsection qgis_api_break_3_0_QgsAtlasComposition QgsAtlasComposition \subsection qgis_api_break_3_0_QgsAttributeDialog QgsAttributeDialog \subsection qgis_api_break_3_0_QgsAttributeForm QgsAttributeForm \subsection qgis_api_break_3_0_QgsAuthConfigUriEdit QgsAuthConfigUriEdit \subsection qgis_api_break_3_0_QgsAuthMethod QgsAuthMethod \subsection qgis_api_break_3_0_QgsQgsCachedFeatureIterator QgsCachedFeatureIterator \subsection qgis_api_break_3_0_QgsCategorizedSymbolRendererWidget QgsCategorizedSymbolRendererWidget \subsection qgis_api_break_3_0_QgsClipper QgsClipper \subsection qgis_api_break_3_0_QgsColorBrewerColorRampDialog QgsColorBrewerColorRampDialog \subsection qgis_api_break_3_0_QgsColorRampShader QgsColorRampShader \subsection qgis_api_break_3_0_QgsComposerArrow QgsComposerArrow \subsection qgis_api_break_3_0_QgsComposerAttributeTableV2 QgsComposerAttributeTableV2 \subsection qgis_api_break_3_0_QgsComposerItem QgsComposerItem \subsection qgis_api_break_3_0_QgsComposerLabel QgsComposerLabel \subsection qgis_api_break_3_0_QgsComposerLegend QgsComposerLegend \subsection qgis_api_break_3_0_QgsComposerLegendItem QgsComposerLegendItem \subsection qgis_api_break_3_0_QgsComposerMap QgsComposerMap \subsection qgis_api_break_3_0_QgsComposerMapGrid QgsComposerMapGrid \subsection qgis_api_break_3_0_QgsComposerMultiFrame QgsComposerMultiFrame \subsection qgis_api_break_3_0_QgsComposerNodesItem QgsComposerNodesItem \subsection qgis_api_break_3_0_QgsComposerPicture QgsComposerPicture \subsection qgis_api_break_3_0_QgsComposerTable QgsComposerTable \subsection qgis_api_break_3_0_QgsComposerTableV2 QgsComposerTableV2 \subsection qgis_api_break_3_0_QgsComposition QgsComposition \subsection qgis_api_break_3_0_QgsCoordinateReferenceSystem QgsCoordinateReferenceSystem \subsection qgis_api_break_3_0_QgsCoordinateTransform QgsCoordinateTransform \subsection qgis_api_break_3_0_QgsCoordinateTransformCache QgsCoordinateTransformCache \subsection qgis_api_break_3_0_QgsCptCityColorRampDialog QgsCptCityColorRampDialog \subsection qgis_api_break_3_0_QgsCptCitySelectionItem QgsCptCitySelectionItem \subsection qgis_api_break_3_0_QgsCRSCache QgsCRSCache \subsection qgis_api_break_3_0_QgsCursors QgsCursors