/*! \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_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
QgsRandomColorsV2QgsRandomColors
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
QgsVectorColorBrewerColorRampV2QgsVectorColorBrewerColorRamp
QgsVectorColorBrewerColorRampV2DialogQgsVectorColorBrewerColorRampDialog
QgsVectorColorBrewerColorRampV2DialogBaseQgsVectorColorBrewerColorRampDialogBase
QgsVectorColorRampV2QgsVectorColorRamp
QgsVectorColorRampV2MapQgsVectorColorRampMap
QgsVectorGradientColorRampV2QgsVectorGradientColorRamp
QgsVectorGradientColorRampV2DialogQgsVectorGradientColorRampDialog
QgsVectorGradientColorRampV2DialogBaseQgsVectorGradientColorRampDialogBase
QgsVectorGradientRampV2QgsVectorGradientRamp
QgsVectorLayersetRendererV2QgsVectorLayersetRenderer
QgsVectorRandomColorRampV2QgsVectorRandomColorRamp
QgsVectorRandomColorRampV2DialogQgsVectorRandomColorRampDialog
QgsVectorRandomColorRampV2DialogBaseQgsVectorRandomColorRampDialogBase
QgsSymbolV2QgsSymbol
Renamed enum values
classAPI 2.xAPI 3.X
QgsLayerTreeModelLegendNodeSymbolV2LegacyRuleKeyRoleSymbolLegacyRuleKeyRole
QgsVectorLayerEditorWidgetV2EditorWidget
Renamed method names
classAPI 2.xAPI 3.X
QgsApplicationdefaultStyleV2PathdefaultStylePath
QgsApplicationuserStyleV2PathuserStylePath
QgsComposerShapesetUseSymbolV2setUseSymbol
QgsSymbolLayerUtilscreateSymbolLayerV2ListFromSldcreateSymbolLayerListFromSld
QgsVectorLayereditorWidgetV2ConfigeditorWidgetConfig
QgsVectorLayereditorWidgetV2TexteditorWidgetText
QgsVectorLayereditorWidgetV2TypeeditorWidgetType
\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_QgsActionManager QgsActionManager \subsection qgis_api_break_3_0_QgsAtlasComposition QgsAtlasComposition \subsection qgis_api_break_3_0_QgsAuthConfigUriEdit QgsAuthConfigUriEdit \subsection qgis_api_break_3_0_QgsAuthMethod QgsAuthMethod \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_QgsComposerNodesItem QgsComposerNodesItem \subsection qgis_api_break_3_0_QgsComposerTable QgsComposerTable \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_QgsCptCitySelectionItem QgsCptCitySelectionItem \subsection qgis_api_break_3_0_QgsCRSCache QgsCRSCache \subsection qgis_api_break_3_0_QgsDataDefined QgsDataDefined \subsection qgis_api_break_3_0_QgsDataDefinedSymbolDialog QgsDataDefinedSymbolDialog \subsection qgis_api_break_3_0_QgsDataItem QgsDataItem \subsection qgis_api_break_3_0_QgsDatasourceUri QgsDataSourceURI \subsection qgis_api_break_3_0_QgsDatumTransformStore QgsDatumTransformStore \subsection qgis_api_break_3_0_QgsDiagram QgsDiagram \subsection qgis_api_break_3_0_QgsDiagramLayerSettings QgsDiagramLayerSettings \subsection qgis_api_break_3_0_QgsExpression QgsExpression \subsection qgis_api_break_3_0_QgsFeature QgsFeature \subsection qgis_api_break_3_0_QgsFeatureRendererV2 QgsFeatureRendererV2 \subsection qgis_api_break_3_0_QgsFields QgsFields \subsection qgis_api_break_3_0_QgsGeometry QgsGeometry \subsection qgis_api_break_3_0_QgsGeometryAnalyzer QgsGeometryAnalyzer \subsection qgis_api_break_3_0_QgsGraphBuilderInterface QgsGraphBuilderInterface \subsection qgis_api_break_3_0_QgsGroupWMSDataDialog QgsGroupWMSDataDialog \subsection qgis_api_break_3_0_QgsHighlight QgsHighlight \subsection qgis_api_break_3_0_QgsJSONExporter QgsJSONExporter \subsection qgis_api_break_3_0_QgsLabelingEngineInterface QgsLabelingEngineInterface \subsection qgis_api_break_3_0_QgsLayerTreeGroup QgsLayerTreeGroup \subsection qgis_api_break_3_0_QgsLayerTreeNode QgsLayerTreeNode \subsection qgis_api_break_3_0_QgsMapCanvas QgsMapCanvas \subsection qgis_api_break_3_0_QgsMapLayer QgsMapLayer \subsection qgis_api_break_3_0_QgsMapOverviewCanvas QgsMapOverviewCanvas \subsection qgis_api_break_3_0_QgsMapRenderer QgsMapRenderer \subsection qgis_api_break_3_0_QgsMapRendererJob QgsMapRendererJob \subsection qgis_api_break_3_0_QgsMapSettings QgsMapSettings \subsection qgis_api_break_3_0_QgsMimeDataUtils QgsMimeDataUtils \subsection qgis_api_break_3_0_QgsOSMElement QgsOSMElement \subsection qgis_api_break_3_0_QgsOWSSourceSelect QgsOWSSourceSelect \subsection qgis_api_break_3_0_QgsOWSConnection QgsOWSConnection \subsection qgis_api_break_3_0_QgsNumericSortTreeWidgetItem QgsNumericSortTreeWidgetItem \subsection qgis_api_break_3_0_QgsPalLabeling QgsPalLabeling \subsection qgis_api_break_3_0_QgsPalLayerSettings QgsPalLayerSettings \subsection qgis_api_break_3_0_QgsPointLocator QgsPointLocator \subsection qgis_api_break_3_0_QgsProject QgsProject \subsection qgis_api_break_3_0_QgsRasterDataProvider QgsRasterDataProvider \subsection qgis_api_break_3_0_QgsRasterInterface QgsRasterInterface \subsection qgis_api_break_3_0_QgsRasterProjector QgsRasterProjector \subsection qgis_api_break_3_0_QgsRelation QgsRelation \subsection qgis_api_break_3_0_QgsRenderChecker QgsRenderChecker \subsection qgis_api_break_3_0_QgsRenderContext QgsRenderContext \subsection qgis_api_break_3_0_QgsRubberBand QgsRubberBand \subsection qgis_api_break_3_0_QgsSnapper QgsSnapper \subsection qgis_api_break_3_0_QgsSymbol QgsSymbol (renamed from QgsSymbolV2) \subsection qgis_api_break_3_0_QgsSymbolLayer QgsSymbolLayer (renamed from QgsSymbolLayerV2) \subsection qgis_api_break_3_0_QgsSymbolRenderContext QgsSymbolRenderContext (renamed from QgsSymbolV2RenderContext) \subsection qgis_api_break_3_0_QgsSymbolLayerUtils QgsSymbolLayerUtils (renamed from QgsSymbolLayerUtilsV2) \subsection qgis_api_break_3_0_QgsTolerance QgsTolerance \subsection qgis_api_break_3_0_QgsTreeWidgetItem QgsTreeWidgetItem \subsection qgis_api_break_3_0_QgsUnitTypes QgsUnitTypes \subsection qgis_api_break_3_0_QgsVectorDataProvider QgsVectorDataProvider \subsection qgis_api_break_3_0_QgsVectorLayer QgsVectorLayer \subsection qgis_api_break_3_0_QgsVectorLayerEditBuffer QgsVectorLayerEditBuffer \subsection qgis_api_break_3_0_QgsVectorLayerEditUtils QgsVectorLayerEditUtils \subsection qgis_api_break_3_0_QgsVectorLayerImport QgsVectorLayerImport \subsection qgis_api_break_3_0_QgsVectorLayerUndoCommand QgsVectorLayerUndoCommand \subsection qgis_api_break_3_0_QgsVisibilityPresetCollection QgsVisibilityPresetCollection \subsection qgis_api_break_3_0_QgsVectorFileWriter QgsVectorFileWriter \subsection qgis_api_break_3_0_QgsWMSLegendNode QgsWMSLegendNode \section qgis_api_break_2_4 QGIS 2.4 \subsection qgis_api_break_mtr Multi-threaded Rendering \section qgis_api_break_2_6 QGIS 2.6 \subsection qgis_api_break_legend_refactoring Legend Refactoring */