Quantum GIS Changelog

What's new in Quantum GIS 3.34 RC

Nov 5, 2023
  • Introducing QGIS 3.34, a major release of the QGIS Project that brings significant enhancements to the capabilities of the QGIS open-source geospatial data analysis and visualization software.
  • This release includes a variety of enhancements to existing APIs, expressions, and tools, print layout modifications, and improvements to rendering options for both 2D and 3D contexts.
  • For a whirlwind tour of all the new functionalities introduced, you can view the highlight reel video on YouTube at https://www.youtube.com/watch?v=LHFVo0edaXE
  • QGIS is a community effort, and we would like to extend a big thank you to the developers, documenters, testers, and the many folks out there who volunteer their time and effort (or fund people to do so) to make these releases possible. From the QGIS community, we hope you enjoy this release! If you wish to donate time, money, or otherwise contribute towards making QGIS more awesome, please wander along to QGIS.ORG and lend a hand!
  • QGIS is supported by donors and sustaining members. A current list of donors who have made financial contributions large or small to the project can be seen on our list of donors. If you would like to become an official project sustaining member, please visit our sustaining member page for more details. Sponsoring QGIS helps us to fund our regular developer meetings, maintain project infrastructure, and fund bug-fixing efforts. A complete list of current sponsors is provided below - our very great thank you to all of our sponsors!
  • QGIS is free software and you are under no obligation to pay anything to use it - in fact, we want to encourage people far and wide to use it regardless of their financial or social status - we believe that empowering people with spatial decision-making tools will result in a better society for all of humanity.
  • Map Tools:
  • Feature: Optional enforcement of “dot” as decimal separator for measure tool
  • A new Always use decimal point checkbox option has been added to the Measure Tool. This option will ensure that measurements and coordinates are copied to the clipboard using a decimal point (dot) separator, even if the current locale uses a comma.
  • This enables the ability to copy comma-separated (csv) data even in instances where the user locale uses a comma as the decimal separator.
  • Feature: Show a highlight on identified raster pixels when using identify tool
  • QGIS now displays the geometry of the identified feature result for raster pixels on the map canvas. This matches the existing behavior of the identify tool against vector, vector tile, and point cloud feature types.
  • This is useful when a identifying a raster which has sections of similar colored pixels and it’s difficult to visually determine the exact extent of a pixel.
  • Feature: Show raster row/column of clicked point in identify results
  • When using the identify tool on raster layers, the derived results will now include row and column number of the identified pixel.
  • Symbology:
  • Feature: Settings for overriding selection color and selection symbol for vector layers
  • New layer rendering settings allow users to control the color and symbol that will be used in place of the system or project defaults when highlighting selected features.
  • This setting is defined for each layer and is useful to improve the visibility of selected features by the application of an explicitly defined symbology.
  • This is useful in various scenarios, including instances where:
  • The layer uses a symbol color or style that matches the selection symbology, resulting in the feature selection not being visible
  • A line layer uses a thin symbol, and coloring selected lines does not make them visible enough
  • Layers with complex symbology (such as raster/ gradient fills/ lines/ shapeburst with a color ramp) would not have a default selection color applied. In these scenarios, the user can now specify a simpler symbol to use for selected features within the layer.
  • Labelling:
  • Feature: Toggle labels for Vector Tile Layers
  • Users can now toggle labels for vector tile layers using the vector tile layer styling panel and the layer context menu in the table of contents of the layers pane, effectively replicating the label toggle capabilities for vector layers.
  • This functionality is enabled by the addition of new functions to the QgsVectorTileLayer API by replicating the existing functionality on QgsVectorLayer.
  • Rendering:
  • Feature: “Sticky” Map Decorations
  • Dynamic map decorations are now rendered to a transparent overlay, preventing re-rendering of decoration objects (such as title or scale bar) during navigation. The QgsMapDecoration now also includes hasFixedMapPosition to fix a decoration to a geographic location.
  • Feature: Add map render profiler
  • The debugging/ development profiling tools have been extended with a new “map render” profile (accompanying the existing Startup and Project Load profiles).
  • Through this tool, users are able to identify pain points in their map rendering and track down exactly which layers are causing long map redraws.
  • Feature: Add choice of two different modes for “Refresh Layer at Interval”
  • When using “Refresh Layer at Interval” on vector layers, previous versions of QGIS would simply redraw the layer (for animations etc.), without refreshing data from the data source.
  • A new widget is provided which allows users to select the layer refresh options according to their preferred use case:
  • “Reload Data”: The layer will be completely refreshed. Any cached data will be discarded and re-fetched from the provider. This mode may result in slower map refreshes.
  • “Redraw Layer Only”: This mode is useful for animations or when the layer style should be updated at regular intervals. Canvas updates are deferred in order to avoid refreshing multiple times if more than one layer has an automatic update interval set.
  • 3D Features:
  • Feature: Allow GPU memory limit configuration
  • Users are now able to configure the GPU memory limit configuration on each layer (previously fixed at 500MB per entity/ layer)
  • A warning is also displayed when a limit is hit, which should assist in troubleshooting large scenes.
  • This functionality is useful for users utilizing large 3D scenes which exhaust the available GPU memory resources.
  • Feature: Add support for boundingbox3d
  • Additional API methods for relevant geometry classes are now available for boundingBox3D and calculateBoundingBox3D, as well as extensions to boundingBoxIntersects methods which will now support checking intersections between 3D bounding boxes.
  • Print Layouts:
  • Feature: Select multiple layout items
  • New functionality is provided for handling the selection of multiple items simultaneously from the item list within print layouts.
  • This also improves the user experience of multi-select existing functionality which is available with visual selections by keeping the item selection synchronized with the items list.
  • This feature was developed by Yoann Quenach de Quivillic
  • Feature: Layout Page number reflected in page properties
  • When a layout has more than one page, the current page number will be displayed in the item properties header section using the format page_number/pagecount.
  • Feature: Automatically open exported layouts
  • A new “Open file after exporting” checkbox option has been added to the export options for PDF, SVG, and Image output types. When selected this option will attempt to automatically open the output file once the export is completed.
  • The application used to open the file will use the configured default application on the system based on type (using QDesktopServices::openUrl). This feature will leverage the user settings API to remember the selection for the active user profile.
  • Expressions:
  • Feature: Add bearing expression function
  • A new bearing function has been added which computes the bearing angle (in radians) between two points.
  • The bearing is determined in the given CRS and measured clockwise on the given ellipsoid.
  • Feature: Add “layer_crs_ellipsoid”
  • QGIS expressions now include a layer_crs_ellipsoid layer variable, as well as the crs_ellipsoid property available from the layer_property function. The value returned will be the ellipsoid acronym of the layer CRS.
  • Digitising:
  • Feature: Improve “avoid overlap” type awareness
  • When digitizing features with the “avoid overlap” option, QGIS has improved the behavior of automatically coercing the feature type and includes more meaningful messages to notify users of the automated behaviours.
  • An example use case would be the digitizing of a multipart polygon on a singlepart polygon target layer, which cannot be saved. QGIS will now automatically only keep the largest geometry portion, and prompt users to optionally restore the additional features as singlepart polygons.
  • This prevents the digitizing of “sliver” polygons and frustrations with improper feature types.
  • Data Management:
  • Feature: Improve save vector features handling for pre-existing files
  • When using the save vector features to file algorithm, QGIS will inform users of the default behavior for handling pre-existing files (file overwrite) and provide the abiltiy to select from a range of alternate behaviors (such as overwrite layer or append new features to existing layer)
  • This greatly improves the ability for users to manage data using flat file data storage formats such as geopackage, whilst minimizing the risk of data loss or unwanted side effects.
  • Feature: Maintain relations for copied features
  • New functionality ensures that copied features within the same layer will continue to respect project relationship(s) strength.
  • When copying features within the same vector layer using the map, attribute table, or the copy/ move feature(s) tool, QGIS will now track any relationship within the opened project and duplicate features with the relations intact.
  • Analysis Tools:
  • Feature: Support raster band description
  • QGIS will now show band descriptions in the symbology tab for raster layers, in addition to the band number.
  • This feature was funded by Summer is getting warmer and warmer.
  • Processing:
  • Feature: Antialias setting for raster tile processing plugin
  • A new “Enable antialiasing” parameter has been added to the “Generate XYZ Tiles” processing tool.
  • This option will be enabled by default (replicating the current behavior) but allow users to disable the antialiasing of map content.
  • Feature: Create Grid row_index and col_index fields
  • Fields for the row_index and col_index have been added to the output of the “Create Grid” processing algorithm. The fields are added to all outputs of type point, rectangle, and hexagon.
  • Field values are integers for which the count begins at 0 and increments from left to right (column index) and top to bottom (row index).
  • This feature was developed by Valentin Buira
  • Feature: New ‘Calculate expression’ algorithm for use in models
  • The new “Calculate expression” algorithm will calculate the results of a QGIS expression and make the result available for use in other parts of the model.
  • It avoids the need to use the same expression multiple times throughout a model if the same result needs to be used more than once and provides additional use cases (such as generating a static timestamp value for use throughout a model).
  • This feature was developed by Nyall Dawson
  • Feature: Add algorithm to convert content from a GLTF/GLB file to standard vector layer features
  • QGIS now allows the conversion of 3D tile content in GLTF and GLB formats into editable vector feature formats.
  • This feature was developed by Nyall Dawson
  • Feature: Port SAGA “DTM Filter (slope-based)” tool to a native QGIS algorithm
  • The SAGA DTM Filter tool has been ported to a native QGIS algorithm.
  • This feature was developed by Nyall Dawson
  • Application and Project Options
  • Feature: Clear recently opened project list
  • A “Clear Recently Opened” action is now listed at the bottom of the Project → Open Recent menu, which will remove every unpinned project from the menu.
  • An additional context menu is also available to enable the ability to remove individual projects from the recent project list, as well as “pin” and “unpin” items.
  • The state will be synchronized between the recent projects menu and the QGIS Welcome Page.
  • Feature: OAUTH2 PKCE Authorization Code
  • An implementation of Proof Key for Code Exchange (PKCE, RFC 7636) has been added for OAUTH2 Authorization Code flows, improving resilience to CSRF and code injection attacks.
  • Feature: Set processing defaults from QGIS configuration file
  • QGIS now supports the capability to configure the default values for GUI tools within the QGIS Processing framework using parameters specified in the QGIS.ini settings file.
  • This allows for the configuration of user-specific or organization-wide default values for certain algorithms. For example, to set the default value of the GRID_SIZE (precision) parameter on the intersection algorithm, the following configuration may be added to the QGIS/QGIS3.ini in the active user profile directory root:
  • DefaultGuiParamnative%3AintersectionGRID_SIZE=0.01
  • When a user with this configuration opens the relevant toolbox to execute an algorithm, the default value will be specified for them automatically.
  • Profile Plots:
  • Feature: Add setting to control background color for elevation profile charts
  • This option (available from the new Settings → Options → Elevation tab) allows users to set a specific color to use as the background color for elevation profiles.
  • This can make the chart more readable for certain datasets, e.g. point clouds with RGB coloring, where the default background color is too similar to point colors to be easily discernable.
  • This is an opt-in setting, and by default the elevation profiles will continue to display using the standard system background color.
  • Data Providers:
  • Feature: Discover relations for Oracle provider
  • QGIS now supports the automated discovery of relations for the Oracle data provider.
  • Plugins:
  • Feature: Drop interactive shell from GRASS C++ Plugin
  • For maintenance reasons, the interactive shell for the GRASS C++ Plugin, as well as the embedded QTermWidget, have been removed from future releases.
  • It is expected that the GRASS Processing Plugin will be given priority development and maintenance support going forward, and providing an interactive GRASS shell is not a critical functionality for QGIS itself but rather something that users may manage externally.
  • Programmability:
  • Feature: Function to export runtime profiler model content as text
  • A new function has been added to allow for the export of the current runtime profiler (QgsRuntimeProfiler) model content as a multi-line text string.

New in Quantum GIS 3.32.0 LTR (Jun 26, 2023)

  • The developer community has introduced several new features and improvements to leverage the potential of geospatial data.
  • Amongst numerous quality of life improvements across a broad spectrum of existing features, the 3.32 release features the long awaited functionality for Native Point Cloud Processing in QGIS, allowing QGIS Desktop to become a powerful processing utility for LiDAR data.
  • This milestone achievement is thanks in large part to the contributions of the community to the effective crowd funding campaign which funded this development, the QGIS community and Enhancement Proposals used for the effective governance of these contributions, the collaborative efforts of the development agencies involved, and of course the extraordinary contributions of individual developers who build these tools for the benefit of all.
  • This release also includes a wide variety of developer experience enhancements, extensions to new functionalities like the profile plots and processing frameworks, and a new framework for sensor data to tightly integrate QGIS with data collection apparatus and facilitate the creation of next-generation intelligent solutions.

New in Quantum GIS 3.30.3 LTR (Jun 1, 2023)

  • The 3.30 ‘s-Hertogenbosch release of the groundbreaking QGIS project introduces a wide range of changes and optimizations from the QGIS developer community.
  • The splash screen features a fragment of the “Gemeentekaart”, or Municipality map, of ‘s-Hertogenbosch from 1867. It is part of a series of 1200 maps of all the communities in The Netherlands from that time, which were published in an atlas for each of the 11 regions. All maps were drawn in the same size, although for large municipalities a double format was used and scaled to match the page. The series was internationally rewarded because of its accuracy and completeness. The map was drawn by Jacob Kuyper (1821-1908), the most famous geographer and cartographer of his time in The Netherlands. Text and splash map image provided by atlasandmap.com
  • The native GeoNode integration has also been migrated to an external plugin, leveraging the powerful extensions to the QGIS API for plugins implemented in recent releases.
  • Users can also look forward to new functionality and UX enhancements, including support for raster attribute tables, intelligent and configurable sorting for layer loading, improvements to GPS utilities, more dynamic form widgets, native rich media previews for attachments, better integration with cloud services, extensions to the QGIS metadata standards, and a host of other noteworthy additions.

New in Quantum GIS 3.30.0 RC (Apr 4, 2023)

  • The 3.30 ‘s-Hertogenbosch release of the groundbreaking QGIS project introduces a wide range of changes and optimizations from the QGIS developer community.
  • The splash screen features a fragment of the “Gemeentekaart”, or Municipality map, of ‘s-Hertogenbosch from 1867. It is part of a series of 1200 maps of all the communities in The Netherlands from that time, which were published in an atlas for each of the 11 regions. All maps were drawn in the same size, although for large municipalities a double format was used and scaled to match the page. The series was internationally rewarded because of its accuracy and completeness. The map was drawn by Jacob Kuyper (1821-1908), the most famous geographer and cartographer of his time in The Netherlands. Text and splash map image provided by atlasandmap.com
  • Importantly, support for backward compatibility of Symbol Styling has been removed for QGIS 3.16, providing significant optimizations to the project file structure, but limiting the capability of older releases of QGIS for rendering symbologies developed with later releases. This change has been ported to the release of 3.28 LTR as well.
  • The native GeoNode integration has also been migrated to an external plugin, leveraging the powerful extensions to the QGIS API for plugins implemented in recent releases.
  • Users can also look forward to new functionality and UX enhancements, including support for raster attribute tables, intelligent and configurable sorting for layer loading, improvements to GPS utilities, more dynamic form widgets, native rich media previews for attachments, better integration with cloud services, extensions to the QGIS metadata standards, and a host of other noteworthy additions.

New in Quantum GIS 3.28.3-1 Latest (Jan 30, 2023)

  • Firenze introduces various feature updates, UX modifications, usability enhancements, and improved integration with various proprietary services and data backends.

New in Quantum GIS 3.22.13-1 (Nov 21, 2022)

  • Annotations:
  • Feature: Annotation layer properties and effects
  • Feature: Edit nodes in an annotation item
  • Feature: Move selected annotation with cursor keys
  • Feature: Create line/ polygon annotation item tools
  • Feature: New point text tool
  • Feature: Annotations toolbar
  • Map Tools:
  • Feature: Add a “measure bearing” map tool
  • User Interface:
  • Feature: Toggle editing on multiple selected layers
  • Feature: Identify layer groups and all selected layers
  • Feature: Add a ‘Show in Files’ action for all file items in browser
  • Symbology:
  • Feature: Custom units for geometry generator symbol layers
  • Feature: Symbology reference scale for vector layers
  • Feature: Invert colors filter option for raster rendering
  • Labelling:
  • Feature: Specify unit for data defined label rotation
  • Mesh:
  • Feature: Create new mesh layer
  • Feature: Mesh frame editing
  • Feature: Mesh frame editing lifecycle
  • Feature: Edit mesh map tool
  • Feature: Advanced mesh editing enhancements
  • Feature: Select editable mesh elements by polygon
  • Feature: Select mesh elements by existing geometries
  • Feature: Select mesh elements by expression
  • Feature: Transform single vertex
  • Feature: Reindex/ renumber mesh layer
  • Feature: Force mesh by polylines
  • Feature: Mesh transform by expression
  • Rendering:
  • Feature: Allow using physical DPI for map canvas
  • Feature: Data defined raster layer opacity
  • Print Layouts:
  • Feature: Predefined scale support for point-driven atlases
  • Feature: Indentation of legend groups and subgroups
  • Expressions:
  • Feature: Mesh expression functions for vertex_as_point and vertex_z
  • Feature: Expression function for $z
  • Feature: Affine transform expression
  • Feature: Straight distance2d expression
  • Feature: Add sinuosity expression
  • Feature: New exif() and exif_geotag() functions
  • Digitising:
  • Feature: Geometry snapper algorithm optimization
  • Feature: Convert to curve with vertex tool
  • Feature: Add Z/M support to Advanced Digitizing
  • Data Management:
  • Feature: Drag and Drop support for external storage file widget
  • Feature: File-based dataset size and last modified date in the layer properties dialog
  • Feature: Rename files in QGIS Browser
  • Feature: Move GPS tools “add gpx layer” functionality to Data Source Manager
  • Feature: Load projects from GPKG using drag and drop
  • Feature: External Storage support
  • Forms and Widgets:
  • Feature: Drag & Drop designer form actions
  • Layer Legend:
  • Feature: Use placeholder icon in legend for raster layers
  • Analysis Tools:
  • Feature: Add if() function to raster calculator
  • Feature: Virtual raster support in raster calculator
  • Processing:
  • Feature: Annotation layer parameter type for processing
  • Feature: Add a POST option to the FileDownloader processing algorithm
  • Feature: Add new “Select within distance” and “Extract within distance” algorithms
  • Feature: Point cloud parameter for Processing
  • Feature: Remove the GPS importer plugin
  • Feature: Convert GPX feature type processing algorithm
  • Feature: Add incremental field with modulo option
  • Feature: Duration parameter
  • Feature: Spatiotemporal ST-DBSCAN clustering algorithm
  • Feature: Move non-native processing providers into independent plugins
  • Application and Project Options:
  • Feature: Export all keyboard shortcuts to XML or PDF
  • Feature: Move GPS Tools GPSbabel device configuration widget to global settings
  • Feature: Set default path structure for new projects
  • Feature: Allow configuration of the max cache size from QGIS settings
  • Browser:
  • Feature: Improved delete action for browser files
  • Feature: Connections API result widget
  • Data Providers:
  • Feature: Transactions in MSSQL provider
  • Feature: Show system and internal tables in sublayer selection
  • Feature: Automatically read and convert metadata from ESRI Personal Geodatabases
  • Feature: Create a generic data item provider for all file based datasources
  • QGIS Server:
  • Feature: Enable multiple MetadataUrls
  • Feature: Add version to QGIS Server CLI tools
  • Programmability:
  • Feature: Expose scriptable vector tile encoder
  • Feature: Encode and write vector tiles in different CRS than EPSG:3857
  • Feature: DistanceWithin filter for QgsFeatureRequest
  • Feature: API for preset combobox values
  • Feature: QgsExifTools class support for fetching tag values
  • Notable Fixes:
  • Bug fixes by Even Rouault
  • Bug fixes by Alessandro Pasotti
  • Bug fixes by Peter Petrik
  • Bug fixes by Sandro Santilli
  • Bug fixes by Loïc Bartoletti
  • Bug fixes by Denis Rouzaud
  • Bug fixes by Julien Cabieces
  • Bug fixes by Nyall Dawson

New in Quantum GIS 3.28.1-1 Latest (Nov 21, 2022)

  • Temporal:
  • Feature: Add temporal manager support for WMTS layers with TIME dimension
  • Map Tools:
  • Feature: Allow selecting features in vector tile layers
  • User Interface:
  • Feature: Exclusive window based UX for data source manager
  • Feature: Add a Show in Attribute Table action to the right click menu of legend class symbols
  • Feature: Add setting to hide NULL values on identify result
  • Symbology:
  • Feature: Allow control over GPS location marker
  • Feature: Added new ellipse marker shapes
  • Labelling:
  • Feature: Add support for HTML bold/italic/font size and font family to labelling
  • Feature: Add option to use absolute units for line height
  • Mesh:
  • Feature: Add option to reload mesh layer temporal properties
  • 3D Features:
  • Feature: Ambient Occlusion 3D Effect
  • Point Clouds:
  • Feature: Point Cloud Layer Export
  • Feature: Eye Dome Lighting for point clouds in 2D map canvas
  • Print Layouts:
  • Feature: Add FORCE_RASTER and IMAGE_COMPRESSION parameters to PDF algorithms
  • Expressions:
  • Feature: Add new variable form of current feature expression functions
  • Feature: Add new shared_paths function
  • Feature: Make_valid and geom_to_array functions
  • Feature: Concave hull function
  • Feature: Ask for confirmation when discarding expression changes
  • Data Management:
  • Feature: Ask for confirmation when deleting features
  • Metadata and Metasearch:
  • Feature: Layer metadata data provider search and storage
  • Processing:
  • Feature: Fixed precision support for select processing tools
  • Feature: Improved “Make Valid” Algorithms
  • Feature: Default option to show feature count for vector outputs from processing
  • Feature: Add relations export option to package layers algorithm
  • Feature: Add “Offset” parameter to “Drape” algorithms
  • Application and Project Options:
  • Feature: Modified project coordinate and bearing display settings
  • Feature: Add support for “user” fonts, and automatic downloading of freely licensed fonts
  • Browser:
  • Feature: Implement relationship discovery for OGR layers, and show relationships in browser
  • Feature: Modified UX for Geopackage and ESRI File Geodatabase creation
  • Feature: Allow drag and drop of vector layers to non-GPKG OGR database datasets
  • Feature: Expose field domain management for non-gpkg OGR sources
  • Data Providers:
  • Feature: Define session role for PostgreSQL connections
  • Feature: Automatically add related tables when adding layers from GDAL datasets with embedded relationship information
  • Feature: Add subset string (filter) support for arcgis REST layers
  • Feature: Abstract database provider for renaming fields
  • Feature: WFS performing binary spatial operations in expressions on server
  • Feature: Editing ArcGIS REST Layers
  • Feature: Load raster sublayers from vector tile styles automatically
  • Feature: Add WMS layers individually
  • Feature: Save projects to Oracle Database Provider
  • QGIS Server:
  • Feature: QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS settings variable
  • Feature: Open layers in a read only mode with QGIS Server
  • Plugins:
  • Feature: Changes to plugin automatic updates behaviour
  • Programmability:
  • Feature: Add temporal handling to maps in QGIS Quick
  • Feature: Addition of py-args command line parameter
  • Notable Fixes:
  • Feature: Bug fixes by Alessandro Pasotti
  • Feature: Bug fixes by Even Rouault
  • Feature: Bug fixes by Julien Cabieces
  • Feature: Bug fixes by Paul Blottiere
  • Feature: Bug fixes by Sandro Santilli
  • Feature: Bug fixes by Nyall Dawson
  • Feature: Bug fixes by Loïc Bartoletti

New in Quantum GIS 3.22.1 (Nov 24, 2021)

  • Annotations:
  • Feature: Annotation layer properties and effects
  • Feature: Edit nodes in an annotation item
  • Feature: Move selected annotation with cursor keys
  • Feature: Create line/ polygon annotation item tools
  • Feature: New point text tool
  • Feature: Annotations toolbar
  • Map Tools:
  • Feature: Add a “measure bearing” map tool
  • User Interface:
  • Feature: Toggle editing on multiple selected layers
  • Feature: Identify layer groups and all selected layers
  • Feature: Add a ‘Show in Files’ action for all file items in browser
  • Symbology:
  • Feature: Custom units for geometry generator symbol layers
  • Feature: Symbology reference scale for vector layers
  • Feature: Invert colors filter option for raster rendering
  • Labelling:
  • Feature: Specify unit for data defined label rotation
  • Mesh:
  • Feature: Create new mesh layer
  • Feature: Mesh frame editing
  • Feature: Mesh frame editing lifecycle
  • Feature: Edit mesh map tool
  • Feature: Advanced mesh editing enhancements
  • Feature: Select editable mesh elements by polygon
  • Feature: Select mesh elements by existing geometries
  • Feature: Select mesh elements by expression
  • Feature: Transform single vertex
  • Feature: Reindex/ renumber mesh layer
  • Feature: Force mesh by polylines
  • Feature: Mesh transform by expression
  • Rendering:
  • Feature: Allow using physical DPI for map canvas
  • Feature: Data defined raster layer opacity
  • Print Layouts:
  • Feature: Predefined scale support for point-driven atlases
  • Feature: Indentation of legend groups and subgroups
  • Expressions:
  • Feature: Mesh expression functions for vertex_as_point and vertex_z
  • Feature: Expression function for $z
  • Feature: Affine transform expression
  • Feature: Straight distance2d expression
  • Feature: Add sinuosity expression
  • Feature: New exif() and exif_geotag() functions
  • Digitising:
  • Feature: Geometry snapper algorithm optimization
  • Feature: Convert to curve with vertex tool
  • Feature: Add Z/M support to Advanced Digitizing
  • Data Management:
  • Feature: Drag and Drop support for external storage file widget
  • Feature: File-based dataset size and last modified date in the layer properties dialog
  • Feature: Rename files in QGIS Browser
  • Feature: Move GPS tools “add gpx layer” functionality to Data Source Manager
  • Feature: Load projects from GPKG using drag and drop
  • Feature: External Storage support
  • Forms and Widgets:
  • Feature: Drag & Drop designer form actions
  • Layer Legend:
  • Feature: Use placeholder icon in legend for raster layers
  • Analysis Tools:
  • Feature: Add if() function to raster calculator
  • Feature: Virtual raster support in raster calculator
  • Processing:
  • Feature: Annotation layer parameter type for processing
  • Feature: Add a POST option to the FileDownloader processing algorithm
  • Feature: Add new “Select within distance” and “Extract within distance” algorithms
  • Feature: Point cloud parameter for Processing
  • Feature: Remove the GPS importer plugin
  • Feature: Convert GPX feature type processing algorithm
  • Feature: Add incremental field with modulo option
  • Feature: Duration parameter
  • Feature: Spatiotemporal ST-DBSCAN clustering algorithm
  • Feature: Move non-native processing providers into independent plugins
  • Application and Project Options:
  • Feature: Export all keyboard shortcuts to XML or PDF
  • Feature: Move GPS Tools GPSbabel device configuration widget to global settings
  • Feature: Set default path structure for new projects
  • Feature: Allow configuration of the max cache size from QGIS settings
  • Browser:
  • Feature: Improved delete action for browser files
  • Feature: Connections API result widget
  • Data Providers:
  • Feature: Transactions in MSSQL provider
  • Feature: Show system and internal tables in sublayer selection
  • Feature: Automatically read and convert metadata from ESRI Personal Geodatabases
  • Feature: Create a generic data item provider for all file based datasources
  • QGIS Server:
  • Feature: Enable multiple MetadataUrls
  • Feature: Add version to QGIS Server CLI tools
  • Programmability:
  • Feature: Expose scriptable vector tile encoder
  • Feature: Encode and write vector tiles in different CRS than EPSG:3857
  • Feature: DistanceWithin filter for QgsFeatureRequest
  • Feature: API for preset combobox values
  • Feature: QgsExifTools class support for fetching tag values
  • Notable Fixes:
  • Bug fixes by Even Rouault
  • Bug fixes by Alessandro Pasotti
  • Bug fixes by Peter Petrik
  • Bug fixes by Sandro Santilli
  • Bug fixes by Loïc Bartoletti
  • Bug fixes by Denis Rouzaud
  • Bug fixes by Julien Cabieces
  • Bug fixes by Nyall Dawson

New in Quantum GIS 3.22.0 (Nov 16, 2021)

  • Annotations:
  • Feature: Annotation layer properties and effects
  • Feature: Edit nodes in an annotation item
  • Feature: Move selected annotation with cursor keys
  • Feature: Create line/ polygon annotation item tools
  • Feature: New point text tool
  • Feature: Annotations toolbar
  • Map Tools:
  • Feature: Add a “measure bearing” map tool
  • User Interface:
  • Feature: Toggle editing on multiple selected layers
  • Feature: Identify layer groups and all selected layers
  • Feature: Add a ‘Show in Files’ action for all file items in browser
  • Symbology:
  • Feature: Custom units for geometry generator symbol layers
  • Feature: Symbology reference scale for vector layers
  • Feature: Invert colors filter option for raster rendering
  • Labelling:
  • Feature: Specify unit for data defined label rotation
  • Mesh:
  • Feature: Create new mesh layer
  • Feature: Mesh frame editing
  • Feature: Mesh frame editing lifecycle
  • Feature: Edit mesh map tool
  • Feature: Advanced mesh editing enhancements
  • Feature: Select editable mesh elements by polygon
  • Feature: Select mesh elements by existing geometries
  • Feature: Select mesh elements by expression
  • Feature: Transform single vertex
  • Feature: Reindex/ renumber mesh layer
  • Feature: Force mesh by polylines
  • Feature: Mesh transform by expression
  • Rendering:
  • Feature: Allow using physical DPI for map canvas
  • Feature: Data defined raster layer opacity
  • Print Layouts:
  • Feature: Predefined scale support for point-driven atlases
  • Feature: Indentation of legend groups and subgroups
  • Expressions:
  • Feature: Mesh expression functions for vertex_as_point and vertex_z
  • Feature: Expression function for $z
  • Feature: Affine transform expression
  • Feature: Straight distance2d expression
  • Feature: Add sinuosity expression
  • Feature: New exif() and exif_geotag() functions
  • Digitising:
  • Feature: Geometry snapper algorithm optimization
  • Feature: Convert to curve with vertex tool
  • Feature: Add Z/M support to Advanced Digitizing
  • Data Management:
  • Feature: Drag and Drop support for external storage file widget
  • Feature: File-based dataset size and last modified date in the layer properties dialog
  • Feature: Rename files in QGIS Browser
  • Feature: Move GPS tools “add gpx layer” functionality to Data Source Manager
  • Feature: Load projects from GPKG using drag and drop
  • Feature: External Storage support
  • Forms and Widgets:
  • Feature: Drag & Drop designer form actions
  • Layer Legend:
  • Feature: Use placeholder icon in legend for raster layers
  • Analysis Tools:
  • Feature: Add if() function to raster calculator
  • Feature: Virtual raster support in raster calculator
  • Processing:
  • Feature: Annotation layer parameter type for processing
  • Feature: Add a POST option to the FileDownloader processing algorithm
  • Feature: Add new “Select within distance” and “Extract within distance” algorithms
  • Feature: Point cloud parameter for Processing
  • Feature: Remove the GPS importer plugin
  • Feature: Convert GPX feature type processing algorithm
  • Feature: Add incremental field with modulo option
  • Feature: Duration parameter
  • Feature: Spatiotemporal ST-DBSCAN clustering algorithm
  • Feature: Move non-native processing providers into independent plugins
  • Application and Project Options:
  • Feature: Export all keyboard shortcuts to XML or PDF
  • Feature: Move GPS Tools GPSbabel device configuration widget to global settings
  • Feature: Set default path structure for new projects
  • Feature: Allow configuration of the max cache size from QGIS settings
  • Browser:
  • Feature: Improved delete action for browser files
  • Feature: Connections API result widget
  • Data Providers:
  • Feature: Transactions in MSSQL provider
  • Feature: Show system and internal tables in sublayer selection
  • Feature: Automatically read and convert metadata from ESRI Personal Geodatabases
  • Feature: Create a generic data item provider for all file based datasources
  • QGIS Server:
  • Feature: Enable multiple MetadataUrls
  • Feature: Add version to QGIS Server CLI tools
  • Programmability:
  • Feature: Expose scriptable vector tile encoder
  • Feature: Encode and write vector tiles in different CRS than EPSG:3857
  • Feature: DistanceWithin filter for QgsFeatureRequest
  • Feature: API for preset combobox values
  • Feature: QgsExifTools class support for fetching tag values
  • Notable Fixes:
  • Bug fixes by Even Rouault
  • Bug fixes by Alessandro Pasotti
  • Bug fixes by Peter Petrik
  • Bug fixes by Sandro Santilli
  • Bug fixes by Loïc Bartoletti
  • Bug fixes by Denis Rouzaud
  • Bug fixes by Julien Cabieces
  • Bug fixes by Nyall Dawson

New in Quantum GIS 3.22.0 RC (Oct 29, 2021)

  • Annotations:
  • Feature: Annotation layer properties and effects
  • Feature: Edit nodes in an annotation item
  • Feature: Move selected annotation with cursor keys
  • Feature: Create line/ polygon annotation item tools
  • Feature: New point text tool
  • Feature: Annotations toolbar
  • Map Tools:
  • Feature: Add a “measure bearing” map tool
  • User Interface:
  • Feature: Toggle editing on multiple selected layers
  • Feature: Identify layer groups and all selected layers
  • Feature: Add a ‘Show in Files’ action for all file items in browser
  • Symbology:
  • Feature: Custom units for geometry generator symbol layers
  • Feature: Symbology reference scale for vector layers
  • Feature: Invert colors filter option for raster rendering
  • Labelling:
  • Feature: Specify unit for data defined label rotation
  • Mesh
  • Feature: Create new mesh layer
  • Feature: Mesh frame editing
  • Feature: Mesh frame editing lifecycle
  • Feature: Edit mesh map tool
  • Feature: Advanced mesh editing enhancements
  • Feature: Select editable mesh elements by polygon
  • Feature: Select mesh elements by existing geometries
  • Feature: Select mesh elements by expression
  • Feature: Transform single vertex
  • Feature: Reindex/ renumber mesh layer
  • Feature: Force mesh by polylines
  • Feature: Mesh transform by expression
  • Rendering:
  • Feature: Allow using physical DPI for map canvas
  • Feature: Data defined raster layer opacity
  • Print Layouts:
  • Feature: Predefined scale support for point-driven atlases
  • Feature: Indentation of legend groups and subgroups
  • Expressions:
  • Feature: Mesh expression functions for vertex_as_point and vertex_z
  • Feature: Expression function for $z
  • Feature: Affine transform expression
  • Feature: Straight distance2d expression
  • Feature: Add sinuosity expression
  • Feature: New exif() and exif_geotag() functions
  • Digitising:
  • Feature: Geometry snapper algorithm optimization
  • Feature: Convert to curve with vertex tool
  • Feature: Add Z/M support to Advanced Digitizing
  • Data Management:
  • Feature: Drag and Drop support for external storage file widget
  • Feature: File-based dataset size and last modified date in the layer properties dialog
  • Feature: Rename files in QGIS Browser
  • Feature: Move GPS tools “add gpx layer” functionality to Data Source Manager
  • Feature: Load projects from GPKG using drag and drop
  • Feature: External Storage support
  • Forms and Widgets:
  • Feature: Drag & Drop designer form actions
  • Layer Legend:
  • Feature: Use placeholder icon in legend for raster layers
  • Analysis Tools:
  • Feature: Add if() function to raster calculator
  • Feature: Virtual raster support in raster calculator
  • Processing:
  • Feature: Annotation layer parameter type for processing
  • Feature: Add a POST option to the FileDownloader processing algorithm
  • Feature: Add new “Select within distance” and “Extract within distance” algorithms
  • Feature: Point cloud parameter for Processing
  • Feature: Remove the GPS importer plugin
  • Feature: Convert GPX feature type processing algorithm
  • Feature: Add incremental field with modulo option
  • Feature: Duration parameter
  • Feature: Spatiotemporal ST-DBSCAN clustering algorithm
  • Feature: Move non-native processing providers into independent plugins
  • Application and Project Options:
  • Feature: Export all keyboard shortcuts to XML or PDF
  • Feature: Move GPS Tools GPSbabel device configuration widget to global settings
  • Feature: Set default path structure for new projects
  • Feature: Allow configuration of the max cache size from QGIS settings
  • Browser:
  • Feature: Improved delete action for browser files
  • Feature: Connections API result widget
  • Data Providers:
  • Feature: Transactions in MSSQL provider
  • Feature: Show system and internal tables in sublayer selection
  • Feature: Automatically read and convert metadata from ESRI Personal Geodatabases
  • Feature: Create a generic data item provider for all file based datasources
  • QGIS Server:
  • Feature: Enable multiple MetadataUrls
  • Feature: Add version to QGIS Server CLI tools
  • Programmability:
  • Feature: Expose scriptable vector tile encoder
  • Feature: Encode and write vector tiles in different CRS than EPSG:3857
  • Feature: DistanceWithin filter for QgsFeatureRequest
  • Feature: API for preset combobox values
  • Feature: QgsExifTools class support for fetching tag values
  • Notable Fixes:
  • Bug fixes by Even Rouault
  • Bug fixes by Alessandro Pasotti
  • Bug fixes by Peter Petrik
  • Bug fixes by Sandro Santilli
  • Bug fixes by Loïc Bartoletti
  • Bug fixes by Denis Rouzaud
  • Bug fixes by Julien Cabieces
  • Bug fixes by Nyall Dawson

New in Quantum GIS 3.20.1 RC (Jul 23, 2021)

  • General:
  • Feature: Additional options for opening attribute tables
  • Feature: Set size for all columns in attribute table
  • Feature: Eport/import of authentication configurations made easy
  • Temporal:
  • Feature: Temporal navigation steps
  • Feature: Improved WMS-T settings
  • Feature: Horizontal mouse wheel temporal navigation
  • Map Tools:
  • Feature: Nominatim Geocoder Integration
  • User Interface:
  • Feature: Processing history dialog improvements
  • Feature: Map layer icons in the epression builder dialog
  • Feature: SVG browser filtering
  • Symbology:
  • Feature: Interpolated line symbol layer type for vector layers
  • Feature: Trim the simple line symbol
  • Feature: New “Embedded styling” renderer with OGR feature styles support
  • Feature: New shapes and cap styles for ellipse markers
  • Feature: Set cap styles for simple markers
  • Feature: Allow pen cap style to be set for ellipse marker symbol layers
  • Feature: Polygon rings @geometry_ring_num variable
  • Labelling:
  • Feature: Fill symbols for label background shields
  • Feature: Blending mode settings for label callouts
  • Feature: Anchor line labels by entire line
  • Feature: Balloon callout corner radius
  • Feature: Balloon (speech bubble) callouts
  • Feature: Curved line callout style
  • Feature: Highlight pinned callout start or end points
  • Feature: Auto-creation of callout auiliary fields
  • Feature: Callout snapping
  • Feature: Toggle label layers shortcut
  • Feature: Data defined callout start and end points
  • Feature: Allow callouts to be interactively moved using the Move Label tool
  • Point Clouds:
  • Feature: Support for remote datasets (EPT)
  • Print Layouts:
  • Feature: “Convert to Static Tet” option
  • Feature: Improvement to YZ layers previewed in map items
  • Epressions:
  • Feature: length3D Function
  • Feature: Etended array epression functions
  • Feature: MIME Type epression function
  • Digitising:
  • Feature: Select attributes from the largest geometry when merging
  • Feature: Streaming digitizing mode
  • Feature: New “Line Endpoints” snapping option
  • Feature: Select vertices by polygon
  • Data Management:
  • Feature: Layer tree warning icon for layers with CRS inaccuracies
  • Feature: Basic support for dynamic CRS coordinate epoch
  • Feature: Projection information improvements
  • Feature: Datum ensemble CRS warnings
  • Feature: Persist layer metadata in vector file eports
  • Feature: Layer notes
  • Feature: Automatically load .shp.ml metadata
  • Feature: Automatically translate layer data from ESRI Filegeodatabases to QGIS layer metadata
  • Feature: Read field domains from datasets
  • Feature: Allow loading GPKG layers with GEOMETRY type
  • Feature: Offline editing support for string list and number list field types
  • Forms and Widgets:
  • Feature: Per-field usage of last values for newly created features
  • Feature: JSON View widget
  • Layer Legend:
  • Feature: Vector “label” legend entries
  • Processing:
  • Feature: Add option to save layer metadata to Package Layers algorithm
  • Feature: Raster Layer Properties Algorithm
  • Feature: Improved rasterize operation with 3D support
  • Feature: Save selected option for Package Layers Algorithm
  • Feature: Log levels for processing contet
  • Feature: Geometry snapper rework offers major speed boost
  • Feature: Add a last_value function to the aggregate algorithm
  • Application and Project Options:
  • Feature: Add global option to disable monitoring of directories
  • Feature: APIs for eport and import of ML authentication configurations
  • Browser:
  • Feature: Custom icon colors for folders in browser
  • Feature: OWS Group removed from the QGIS Browser
  • Data Providers:
  • Feature: Add support for integer, real and integer64 list data types in OGR
  • Feature: Etend vector layer read capabilities to other layer types
  • QGIS Server:
  • Feature: Eternal layer opacity
  • Feature: Configurable Service URL
  • Notable Fies:
  • Feature: Bug fies by Even Rouault
  • Feature: Bug fies by Alessandro Pasotti
  • Feature: Bug fies by Paul Blottiere
  • Feature: Bug fies by Denis Rouzaud
  • Feature: Bug fies by Loïc Bartoletti
  • Feature: Bug fies by Julien Cabieces
  • Feature: Bug fies by Peter Petrik
  • Feature: Bug fies by Nyall Dawson

New in Quantum GIS 3.20.0 RC (Jun 21, 2021)

  • QGIS 3.20 Odense features a splash screen which displays a section of the earliest map of Denmark’s third largest city, Odense from 1593. The map was published by Georg Braun (1541-1622) in the work Civitates orbis terrarum (Cities of the World). Georg Braun’s maps are all beautiful and were, for the period, produced at a high cartographic level. Civitates orbis terrarum was long the main source of maps of the world’s cities, such as Paris, London, Mexico City and Aden.
  • The name Odense literally means “Odin’s temple”, and the place may have originally been a shrine to the pagan god Odin. At the bottom left of the map you see the ruins of one of the large Viking-Age ring-shaped fortress, which were constructed in Denmark by the Danish Viking king Harald Bluetooth (died c. 985/86). The ring fortress in Odense is called Nonnebakken.
  • This release introduces a host of subtle changes and stability updates, reinforcing the vast catalog of cutting-edge features introduced in recent QGIS releases. Included in this release are numerous data management improvements, with some advanced changes to the management and display of CRS systems and projection information. Amongst these improvements to CRS management are the basic support for coordinate epoch of dynamic CRS systems and advanced accuracy integrity warnings, placing QGIS 3.20 firmly at the leading edge of GIS and data management practices for high accuracy systems.
  • Additionally, users can expect improved metadata management and handling for certain data and metadata types. Another key highlight is the native integration of the nominatim geocoding service, which will allow users to search locations and addresses using data from the OpenStreetMap project directly from the QGIS locator bar.
  • The QGIS Community has also seen an uptick in activity in the QGIS HUB, as well as the Virtual QGIS Open Days, with the Cutting Edge Open Day showcasing a number of demonstrations which leverage rich QGIS functionality that was introduced in more recent releases.
  • We would also like to extend a big thank you to the developers, documenters, testers, and all the many folks out there who volunteer their time and effort (or fund people to do so) to make these releases possible. From the QGIS community, we hope you enjoy this release! If you wish to donate time, money, or otherwise get involved in making QGIS more awesome, please wander along to QGIS.ORG and lend a hand!
  • QGIS is supported by donors and sustaining members. A current list of donors who have made financial contributions large and small to the project can be seen on our donors list. If you would like to become an official project sustaining member, please visit our sustaining member page for details. Sponsoring QGIS helps us to fund our regular developer meetings, maintain project infrastructure, and fund bug fixing efforts. A complete list of current sponsors is provided below - our very great thank you to all of our sponsors!
  • QGIS is Free software and you are under no obligation to pay anything to use it - in fact, we want to encourage people far and wide to use it regardless of what your financial or social status is - we believe empowering people with spatial decision-making tools will result in a better society for all of humanity.

New in Quantum GIS 3.18.1 (Mar 22, 2021)

  • Following on from the feature-filled releases of QGIS 3.14 and QGIS 3.16, QGIS 3.18 introduces a host of enhancements and new features, along with a long-awaited feature - Native Point Cloud support in QGIS! Thanks to the efforts of Lutra, North Road, and Hobu, QGIS is now able to import and render point cloud data in various formats by leveraging the Open Source PDAL library. This functionality has been introduced due to the success of a crowd-funding campaign and would not have been possible without the support of the QGIS community and contributors. Thank you to all those involved in realizing this incredible milestone!
  • As QGIS Desktop 3.18 bids farewell to the DB2 database provider, it introduces support for users of the SAP HANA database system.
  • The QGIS ecosystem has also seen some exciting changes in the form of the QGIS HUB which is an extension of the plugin site which now supports the distribution of community-developed styles, projects, and even processing models.
  • We would also like to extend a big thank you to the developers, documenters, testers, and all the many folks out there who volunteer their time and effort (or fund people to do so) to make these releases possible. From the QGIS community, we hope you enjoy this release! If you wish to donate time, money, or otherwise get involved in making QGIS more awesome, please wander along to QGIS.ORG and lend a hand!
  • QGIS is supported by donors and sustaining members. A current list of donors who have made financial contributions large and small to the project can be seen on our donors list. If you would like to become an official project sustaining member, please visit our sustaining member page for details. Sponsoring QGIS helps us to fund our regular developer meetings, maintain project infrastructure, and fund bug fixing efforts. A complete list of current sponsors is provided below - our very great thank you to all of our sponsors!

New in Quantum GIS 3.4.2 (Nov 27, 2018)

  • General:
  • Feature: Flatpak
  • Feature: SVG files can be embedded in projects and symbols
  • Feature: OpenCL based acceleration
  • Expressions:
  • Feature: New expression functions and variables
  • Feature: Code completion for expression builder
  • Map Tools:
  • Feature: Identify or select features based on existing polygon
  • User Interface:
  • Feature: Auto selection of exported files in file manager
  • Feature: New “Open Directory” option for disabled welcome page projects
  • Feature: UX Improvements for Temporary Scratch Layers
  • Feature: Task manager improvements
  • Feature: Hyperlinks to local vector & raster datasets in the information panel
  • Feature: Style manager improvements
  • Feature: Polished browser panel interface and experience
  • Feature: QML chart and drawings widget
  • Symbology:
  • Feature: Mesh layer styling
  • Feature: Classify symmetric in graduated renderer
  • Feature: Partial QML export and import
  • Digitising:
  • Feature: GPS tracking improvements
  • Feature: More angle choices in advanced digitizing dock
  • Feature: Vertex tool can work on the current layer only
  • Feature: Add reverse line maptools
  • Feature: Geometry Precision
  • Feature: Automatically remove duplicate nodes
  • Feature: Check for geometry validity
  • Feature: Topology checks while editing
  • Data Management:
  • Feature: Translation of QGIS projects
  • Feature: Switch Attribute Table dock mode on demand
  • Feature: New locator filter to search across all layers
  • Feature: Append raster layer to an existing Geopackage
  • Forms and Widgets:
  • Feature: Drill-down (cascading) forms in QGIS Value Relation Widgets
  • Map Composer:
  • Processing:
  • Feature: New “Edit in place” mode
  • Feature: Store models inside project
  • Feature: Sample Raster Values
  • Feature: New ‘Raster pixels to polygons’ algorithm
  • Feature: K Means clustering algorithm
  • Feature: dbscan spatial clustering algorithm
  • Feature: Improved algorithms
  • Feature: Filter Vertices by M and Filter Vertices by Z algorithms
  • Feature: “Array of Translated Features” algorithm
  • Feature: “Array of offset (parallel) lines” algorithm
  • Feature: Choice of units for non degree/unknown distances
  • Feature: “Drape features to z/m” algorithms
  • Feature: “Raster pixels to points” algorithm
  • Feature: Line substring algorithm
  • Feature: “Interpolate point on line” algorithm
  • Feature: k-neighbour concave hull
  • Feature: Python scripts which implement algorithms now execute the algorithm on drag and drop and browser double click
  • Feature: New GDAL’s rearrange band algorithm
  • Feature: “Precalculated” values for model algorithm parameters
  • Feature: “Categorize a layer using a style XML file” algorithm
  • Feature: New mode for Snap geometries algorithm
  • Data Providers:
  • Feature: OAuth2 authentication method plugin
  • Feature: Mesh layer: New mesh layer format support
  • Feature: Mesh layer: add function to identify value on mesh layers
  • Feature: Mesh layer: allow to choose different vector and scalar dataset
  • Feature: Mesh layer: allow render vectors/arrows on the user-defined grid
  • Feature: JSON/JSONB Type support
  • Feature: ESRI Token Authentication support
  • Feature: SQL Server - Invalid geometry handling
  • QGIS Server:
  • Feature: Server Cache can be manage by plugins
  • Feature: WMTS 1.0.0 support
  • Feature: Add ability to define min. scale for WMTS
  • Feature: Support QGIS Server logs to stderr
  • Plugins:
  • Feature: Support for encrypted zips in the Plugin Manager
  • Feature: Offline Editing GeoPackage
  • Programmability:
  • Feature: QgsSpatialIndexKDBush
  • Feature: QgsRasterDataProvider::sample method for efficient sampling of rasters at a given point
  • Feature: New geometry API call to return a curve substring
  • Feature: sip Module API Changes
  • Feature: Python vector data providers
  • 3D Features:
  • Feature: Improved navigation
  • Feature: Animation
  • Feature: Simple rendering of 3D linestrings
  • Feature: Identification map tool for 3D views
  • Feature: Experimental Python API

New in Quantum GIS 3.2.1 (Jul 23, 2018)

  • General:
  • Feature: New zipped project file format .qgz is now the default format
  • QGZ was added as an optional format in 3.0. Having this format as the default format will ease a lot the path to go to a container able to embed resources like SVG, offline data in GPKG, color ramps, plugins or scripts.
  • This feature was developed by OSLANDIA - Paul Blottiere
  • Feature: Filtering for field values in Query Builder
  • When creating a new expression filter in query builder, you can now filter the field values preview panel.
  • This feature was developed by Salvatore Larosa
  • Feature: FULL screen Map via Ctrl-Shift-Tab
  • Besides Ctrl-Tab you can now do Ctrl-Shift-Tab, which will show you the Map and ONLY the Map, no more toolbars or buttons (or even without Window Title, in combination with F11). Great for Full Screen Map projection via Beamer or on Big Screens. You can still zoom and pan! (Based on work of Mathieu Pellerin)
  • This feature was developed by Richard Duivenvoorde
  • Map Tools:
  • Feature: Simplify map tool can now also smooth features
  • The Simplify Features map tool has been renamed to “Simplify/Smooth Features”, and now supports interactive smoothing of features.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Identify Tool with extra options
  • With the new improvements, user can now use similar tools to the Selection to identify multiple features.
  • This feature was funded by Leicestershire County Council and East Hampshire District Council
  • This feature was developed by Martin Dobias and Viktor Sklencar
  • Feature: Store also expanded/collapsed state of nodes in map Themes
  • Each map theme will also record which layers, groups and legend items are expanded, so when a map theme is selected, the expanded/collapsed states get applied in the layer tree.
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Martin Dobias (Lutra Consulting) and Faunalia
  • Feature: Auto “Zoom to Selection” mode for new map views
  • A new map view can be configured to automatically zoom to the current selection. Could be combined with different map themes as in this example.
  • This feature was funded by Technology One
  • This feature was developed by Nathan Woodrow
  • Feature: Choice of simplification method for simplify map tool
  • This allows different techniques to be used for simplification in the interactive simplify map tool, including the more cartographically pleasing “Visvalingam” simplification algorithm.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: add zoom to related feature in forms
  • A new button appears in the feature attribute sub form when one or more records are selected in a related table. The button zooms the map to these features if they have geometries.
  • This feature was developed by Jürgen Fischer
  • Feature: Cartesian areas/lengths/perimeters in identify results
  • In QGIS 3.2 we now show both ellipsoidal and cartesian areas, lengths and perimeters separately within the identify results panel. Seeing the two distinct measurements gives users a better understanding of potential issues in area or distance calculations caused by incorrect projection or ellipsoid choices.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Expressions:
  • Feature: New expression functions
  • Color_grayscale_average()
  • Color_mix_rgb()
  • Flip_coordinates()
  • Wedge_buffer()
  • Tapered_buffer()
  • Buffer_by_m()
  • New variables:
  • @project_home
  • @project_author
  • @project_abstract
  • @project_creation_date
  • @project_identifier
  • @project_keywords
  • This feature was developed by Mathieu Pellerin, Nyall Dawson
  • Feature: More helpful expression builder
  • The expression builder now makes it easier to build expressions within QGIS!
  • The builder now shows the description for data defined values, including the range of expected values from the expression
  • Ctrl+clicking a function name in the current expression will automatically open the help for that function
  • It now shows indicators for parts of expressions with errors
  • It shows a complete list of error messages obtained from parsing the expression
  • Image8
  • This feature was funded by Technology One
  • This feature was developed by Nathan Woodrow
  • User Interface
  • Feature: Layers panel: indicators for filtered map layers
  • The main window’s layer tree view (ToC) gets support for indicators that are shown when a vector layer has a filter applied. This makes it easier for users to understand that they are looking at a subset of all data. Clicking the indicator’s icon brings up query builder.
  • This adds a mini-framework for display of extra icons in layer tree views next to layer and group names. Tool tip text can be associated with indicators to give extra context for indicators. In addition, a signal gets emitted when user clicks indicators and custom actions can be defined. The idea is that indicators can be used in the future for a subtle reporting of various bits of information, for example:
  • Map layer with invalid geometries
  • Map layer with on-the-fly reprojection exceptions
  • Map layer has missing data source
  • Map layer with invalid CRS
  • Image9
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Martin Dobias (Lutra Consulting) and Faunalia
  • Feature: Allow customizing prefix of locator filters
  • Prefixes of locator filters can now be customized under the application settings in the “Locator” tab
  • This feature was funded by QGIS User Group Switzerland
  • This feature was developed by Denis Rouzaud, OPENGIS.ch
  • Feature: Opening of vector and raster stored on HTTP(S), FTP, or cloud services
  • In 3.2, the data source manager’s vector and raster panels have been updated to simplify opening of vector and raster datasets stored on HTTP(S), FTP, or cloud services. Basic HTTP(S) authentication support included.
  • This feature was developed by Mathieu Pellerin
  • Feature: Quick calculator in locator search bar
  • QGIS 3.2 allows evaluation of simple expressions (well, actually ANY QGIS expression… so you could use aggregates and the like if you really wanted!) by entering “= ” followed by an expression into the locator bar. If a valid expression is entered, users are given an option to copy the result to the clipboard.
  • E.g. entering “= 10/3” shows a locator entry “Copy ‘3.3333333’ to clipboard”.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Shortcuts for toggling panels
  • Ctrl+{no} shortcut
  • This feature was funded by Technology One
  • This feature was developed by Nathan Woodrow
  • Feature: Bookmark searching in locator
  • Allows search for spatial bookmarks. Double clicking a search result will zoom to the bookmark.
  • Short video: https://www.youtube.com/watch?v=ymW4TU8QWy4
  • The new filter presents itself with a prefix of “b” and with tr( “Spatial bookmarks” ) as displayname.
  • This feature was developed by Klavs Pihlkjær
  • Feature: Close and Revert Project actions
  • Two new actions have been added to the “Project” menu
  • “Close”: Closes the active project, returning the QGIS window to the “Recent Projects” list
  • “Revert”: Restores the active project to the last saved state, discarding all unsaved changes
  • Image13
  • This feature was developed by Nathan Woodrow, Nyall Dawson
  • Feature: Unsaved changes indicator in title bar
  • QGIS 3.2 now follows the standard UI approach of indicating that the current project has unsaved changes by adding a “*” prefix to the project name in the application title bar. This makes it easy to see if you have unsaved changes at a single glance!
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Configurable map tips delay
  • This feature was developed by jdugge
  • Feature: Move layer or group to top of layer panel
  • Moves the selected layer(s) or group(s) to the top of the layer panel.
  • This feature was developed by Mie Winstrup
  • Feature: Copy statistics panel content to clipboard button
  • It is now possible to copy the statistics panel’s output table into the clipboard.
  • Image14
  • This feature was developed by Mathieu Pellerin
  • Feature: Search Settings, Options, and Project Properties pages from locator
  • Short video: https://www.youtube.com/watch?v=duB2YekUmV0
  • The new filter presents itself with a prefix of “s” and with tr( “Settings” ) as displayname.
  • This feature was developed by Klavs Pihlkjær
  • Feature: Indicators for embedded layers and groups
  • Embedded project layers and groups are now flagged by a handy “embedded” indicator, making it immediately clear to users which layers and groups have been embedded inside a project.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Symbology
  • Feature: Nicer colors for new layers
  • The “random” colors assigned to new map layers are no longer “random” but instead randomly selected from a preset palette of “visually pleasing” colors. Say goodbye to ugly baby puke green layers!
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Rendering
  • Feature: Improved map Copyright decoration
  • Expression support for the copyright text.
  • Improved text formatting options, including shadows, outlines, backgrounds, etc.
  • This feature was developed by Mathieu Pellerin
  • Feature: Main window scale bar font size and family can be customized
  • This feature was developed by Mathieu Pellerin
  • Feature: Custom SVG path and size for the north arrow decoration
  • This feature was developed by Mathieu Pellerin
  • Data Management
  • Feature: Refresh a materialized view
  • From the browser, with a right click on a materialized view, you can now refresh it.
  • Image15
  • This feature was developed by Etienne Trimaille
  • Feature: Z and M support for offline editing
  • Offline editing now also supports layers with Z and M coordinates.
  • This feature was funded by Oester Messtechnik
  • This feature was developed by Matthias Kuhn, OPENGIS.ch
  • Feature: Metadata for QGIS projects
  • Continuing the metadata work begun in QGIS 3.0, 3.2 now supports metadata for QGIS projects. This allows for detailed metadata to be set in project properties, including abstracts, keywords, contact details, links, etc.
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Nyall Dawson (North Road)
  • Forms and Widgets
  • Feature: Multi-column layout for multiselect value relation widget
  • The value relation widget with multi selection enabled now supports multiple columns. This allows better usage of horizontal screen space.
  • Image17
  • This feature was funded by Grundbuch- und Vermessungsamt des Kanton Zug
  • This feature was developed by David Signer, OPENGIS.ch
  • Feature: Allow using a URL for custom attribute forms (UI file)
  • The UI file will be downloaded on every session on the first usage. This makes it possible to easily distribute updated UI files to clients.
  • This feature was funded by SIRS
  • This feature was developed by Denis Rouzaud, OPENGIS.ch
  • Feature: Drill-down (cascading) forms
  • QGIS 3.2 introduces drill-down (cascading) form support, where the values available in one field depend on the values of other fields. This feature allows users to create “value-relation” expressions based on the current value of another field in the same form. When the user modifies a field’s value, the choices available in all related fields are filtered to match the new value – allowing a hierarchical filtering strategy (drill-down, or cascading) inside a form.
  • This feature was funded by Grant Boxer, NaturalGIS, Tudor Bărăscu, NotioGIS, République et canton de Neuchâtel, Arpa Piemonte, Nelson Silva, QGIS Danish User Group, Bo Victor Thomsen and Lene Fischer, North River Geographic
  • This feature was developed by Alessandro Pasotti (North Road)
  • Layer Legend
  • Feature: Optional text on top of symbols for vector layers
  • This feature allows users to add extra information to the symbols in the legend.
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Martin Dobias (Lutra Consulting) and Faunalia
  • Feature: Copy&Paste Group/Layers from a QGIS project to another.
  • Allowing to copy and paste groups or layers between projects and profiles.
  • This feature was developed by Salvatore Larosa
  • Map Composer
  • Feature: Data defined table source for attribute table items
  • When an attribute table is set to a “Layer features” source, this new feature allows the underlying vector layer from which to source features to be data defined.
  • (All existing table attributes (column settings) are left intact, so setting a data defined table to a layer with different fields will result in empty columns in the table.)
  • This feature was funded by Kartoza/InaSAFE
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Project metadata embedded in layout exports
  • Saving a print layout to SVG, PDF or images will now embed any project metadata in the created file. Support for different metadata elements depends on the individual export format.
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Better formatting for scalebar text
  • QGIS 3.2 allows the full range of text formatting options to be used within scalebar text, e.g. buffers, shadows, and background shapes.
  • Unreadable scale bar text is a thing of the past!
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Processing
  • Feature: Improved ‘Join by attribute table’ algorithm
  • The ‘Join by attribute table’ algorithm has been upgraded to support one-to-many joins (i.e. create separate features for each matching feature) as well as an option to discard records which could not be joined. Additionally, an optional prefix for joined fields can now be specified.
  • This feature was developed by Mathieu Pellerin, Nyall Dawson
  • Feature: Load script from template
  • New option to load Processing scripts from a custom template
  • This feature was developed by Matteo Ghetta (Faunalia)
  • Feature: Feature filter algorithm for processing models
  • Add a new feature filter algorithm for the processing modeler. Allows filtering features of a source based on expressions and send matching features to different outputs as final products or different algorithm pipeline for further processing.
  • Read this blog post for more information.
  • This feature was funded by QGIS User Group Switzerland
  • This feature was developed by Matthias Kuhn, OPENGIS.ch
  • Feature: Zonal histogram
  • This new algorithm appends fields representing counts of each unique value from a raster layer contained within zones defined as polygons.
  • This feature was developed by Mathieu Pellerin
  • Feature: Port Union, Difference and Intersection algorithms to C++
  • QGIS native geoprocessing algorithms have been ported from Python to C++. In addition to performance boost, several bugs have been resolved with this update.
  • This feature was funded by InaSAFE DFAT
  • This feature was developed by Martin Dobias (Lutra Consulting)
  • Feature: ‘Project points (cartesian)’ algorithm
  • This new Processing algorithm projects points from an input point layer by a specified distance and bearing (azimuth). It supports dynamic parameters for the distance and bearing so that the distance and bearing can be taken from field values or expressions.
  • This feature was funded by Nyall Dawson (North Road)
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Dynamic parameter values for more algorithms
  • QGIS 3.2 extends the work begun in 3.0 to allow “dynamic” parameters for selected Processing algorithms. Dynamic parameters allow users to use expressions or field values to specify the value of a parameter while the algorithm executes, so e.g. the buffer size can be dynamically calculated for each individual feature buffered.
  • In 3.2 the following algorithms now support dynamic parameters:
  • Delete holes
  • Remove Duplicate Vertices
  • Simplify
  • Smooth
  • Snap to Grid
  • Subdivide
  • Transect
  • Translate
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Multi-ring buffer (constant distance) algorithm
  • This new algorithm computes multi-ring (‘donuts’) buffer for all the features in an input layer, using a fixed or dynamic distance and rings number.
  • This feature was developed by Alex Bruy
  • Feature: New “segmentize” algorithms
  • In QGIS 3.2 two new algorithms for segmentizing curved geometries have been added to Processing.
  • “Segmentize by maximum distance”: The segmentization is performed by specifying the maximum allowed offset distance between the original curve and the segmentized representation.
  • “Segmentize by maximum angle”: The segmentization is performed by specifying the maximum allowed radius angle between vertices on the straightened geometry (e.g the angle of the arc created from the original arc center to consective output vertices on the linearized geometry).
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Option to create points on all polygon parts
  • The “Centroid” and “Point on surface” algorithms have a new option to create points for every individual part of input geometries.
  • This feature was developed by Mathieu Pellerin
  • Feature: Rotate Features algorithm
  • This new algorithm allows rotation of features by a set angle. The rotation can occur around a preset point or each individual feature’s centroid.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Line sinuosity in “Add Geometry Attributes”
  • The “Add Geometry Attributes” algorithm now calculates line sinuosity and straight distance for line layers.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Import geotagged photos
  • In QGIS 3.2 a new “Import geotagged photos” algorithm has been added to Processing. It allows selection of a folder which it will scan for jpg files which have been geotagged and creates a PointZ layer with the result, with attributes for photo path, altitude, direction and timestamp.
  • Optionally the scan can be recursive and you can create an optional table of photos which could not be read or which were missing geotags.
  • The algorithm automatically sets the output table to use an external resource widget to display the linked photos in the attribute form.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Swap x/y coordinate values algorithm
  • This algorithm swaps the X and Y coordinate values in input geometries. It can be used to repair geometries which have accidentally had their latitude and longitude values reversed.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Sort order option for “Add Incremental Field”
  • This change allows users to optionally set a sort order to use when assigning values in the Add Incremental Field algorithm. Previously values were always added using the original feature order. With this change users can control the order in which features are assigned values.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Indicator for distance parameter units
  • When an algorithm uses a “distance” type parameter, the units will now be shown next to the parameter. This avoids the confusion when running algorithms which use distances where the unit depends on a layer or CRS parameter - e.g. the distance parameter in the buffer algorithm gives the distance in layer units… so now in QGIS 3.2 we show those units directly within the dialog. Hopefully this leads to less user confusion and accidental “1000 degree buffers”!
  • Additionally - if the unit is in degrees, a small warning icon is shown next to the parameter. The tooltip for this icon advises users to reproject data into a suitable projected local coordinate system.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Algorithm log can be saved/cleared/copied
  • In the algorithm execution dialog, new buttons have been added to allow users to save the current log (to text or HTML files), copy the log contents to the clipboard, and clear the log.
  • This feature was funded by SMEC/SJ
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Wedge buffer algorithm
  • This new algorithm creates wedge shaped buffers from input points.
  • The azimuth parameter gives the angle (in degrees) for the middle of the wedge to point. The buffer width (in degrees) is specified by the width parameter. Note that the wedge will extend to half of the angular width either side of the azimuth direction. The outer radius of the buffer is specified via outer radius, and optionally an inner radius can also be specified.
  • The algorithm supports dynamic parameters for azimuth, width, and radius.
  • The native output from this algorithm is CurvePolygon geometries, but these may be automatically segmentized to Polygons depending on the output format.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Variable width buffers
  • New Processing algorithms have been added to create variable width buffers, including tapered buffers (with a specified start and end diameter) and variable width buffers from line string m values.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Reclassify raster algorithms
  • Two new native QGIS raster reclassification algorithms have been added to Processing. These are simple to use, yet fast and stable, and work for ANY raster layer type supported by QGIS!
  • Reclassify by layer: reclassifies a raster using the ranges specified via min/max/value fields from a vector table
  • Reclassify by table: reclassifies a raster using a fixed table entered by users in the algorithm dialog
  • This feature was funded by SMEC/SJ
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Union algorithm with a single layer
  • The union algorithm can be now run with just a single input layer in order to resolve any overlaps among the layer’s features. For example, if an area is covered by three features, that area will be cut out from those features and three new features will be added, copying attributes of the original features.
  • This feature was funded by InaSAFE DFAT
  • This feature was developed by Martin Dobias (Lutra Consulting)
  • Application and Project Options
  • Feature: Mandatory layers in project
  • Required layers are not allowed to be removed from the project. This adds extra safety to protect project users from removing layers they may think are not needed (e.g. used in joins, relations, expressions).
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Martin Dobias (Lutra Consulting) and Faunalia
  • Feature: Saving and loading projects in PostgreSQL database
  • Users can now save their projects within a PostgreSQL database. Project can be saved in menu Projects > Save To > PostgreSQL and loaded using menu Projects > Load From > PostgreSQL. Projects saved in database can be loaded also through the browser dock (projects show up under the schema where they were saved, together with other layers).
  • Saving/loading QGIS projects must be explicitly enabled in PostgreSQL connection settings: there is a new option “Allow saving/loading QGIS projects in the database” which is disabled by default.
  • New API has been introduced that allows creation of custom project storage implementations (may be used by plugins). Related QEP: https://github.com/qgis/QGIS-Enhancement-Proposals/issues/118
  • This feature was funded by Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto) within ERIKUS project
  • This feature was developed by Martin Dobias, Peter Petrik (Lutra Consulting) and Faunalia
  • Browser
  • Feature: Save/Load connections for XYZ Tiles
  • From the Browser panel, XYZ Tiles entries can be exported/imported to/from an XML file.
  • This feature was developed by Salvatore Larosa
  • Feature: Project home path can be manually set
  • This new feature in QGIS 3.2 allows the project home path (which is used by the browser to create the ‘Project Home’ item) to be set by users for a project, instead of always matching the location where the project is saved.
  • This allows users to set the project home to a folder which contains data and other content, and is especially useful for organisations where QGIS projects are not stored in the root folder of a organisational ‘project’.
  • Project home paths can also be set to relative paths, in which case they will be relative to the project saved location.
  • The path can be set through the Project Properties dialog, or by right-clicking on the Project Home browser item and selecting ‘Set Project Home’.
  • This feature was funded by SMEC/SJ
  • This feature was developed by Nyall Dawson (North Road)
  • Data Providers
  • Feature: Support for mesh layers
  • Initial work has been done to introduce mesh layers supporting display of data on structured or unstructured meshes (grids) in addition to raster and vector layers. This is still a work in progress, expected to be fully ready in QGIS 3.4. The work so far lead to creation of a new library MDAL for handling of different formats of mesh-based data and there are new APIs introduced under the hood, however the user interface is not implemented yet.
  • Image32
  • This feature was developed by Peter Petrik and Martin Dobias (Lutra Consulting)
  • Feature: Automatically set default style for layers for ArcGIS Feature Server layers
  • When layers from a Feature Server are loaded into QGIS 3.2, they will automatically have the same style applied as has been specified for that layer on the server, matching the appearance of the layer when it is loaded into ArcGIS.
  • This feature was funded by SMEC/SJ
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Faster Oracle queries
  • Certain operations are greatly sped up for Oracle layers, e.g. case-insensitive value matches for features.
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Restrict table list for a Oracle database connection to a preset schema
  • This change allows a schema to be set in the connection properties for an Oracle database connection. If set, only tables within that schema will be scanned and listed for the connection.
  • Previously the option existed to restrict the scan to tables which belong to the user, but this option does not support the use case where a connection must access tables from a different user, and the default “scan everything” setting is too expensive (since it often takes multiple minutes to perform, especially when geometryless tables are shown).
  • This feature was funded by Open Spatial
  • This feature was developed by Nyall Dawson (North Road)
  • Feature: Read only support for curved Oracle geometries
  • Previously these geometries were silently discarded.
  • This feature was funded by Open Spatial
  • This feature was developed by Nyall Dawson (North Road)
  • Plugins:
  • Feature: Adding query history in DB Manager
  • In 3.2 it is possible to store SQL queries. The query history is available into the SQL Window tab of the DB Manager plugin.
  • This feature was developed by Salvatore Larosa
  • Feature: DB Manager SQL execution in background
  • This feature was developed by Paul Blottiere
  • 3D Features:
  • Feature: 3D Polygons: Optionally generate back faces
  • Sometimes datasets with 3D polygons do not have consistent ordering of vertices (clockwise vs. counter-clockwise) and that caused sub-optimal results in the 3D view: either some polygons (walls) seem to be missing if back-face culling is enabled - or some polygons are shaded incorrectly if back-face culling is disabled. With the new option Add back faces enabled, the tessellator will generate triangles in both directions (front and back) which greatly improves the rendering quality for such datasets.
  • The only downside when using this option is that more graphical memory is used (double amount of vertex data). Make sure to set culling mode to “Back” when using this option, otherwise there would be no visible difference as the scene would still render polygons with incorrect shading.
  • The image contains freely available Prague 3D buildings dataset.

New in Quantum GIS 3.0.0 (Feb 26, 2018)

  • Feature: New expression variables:
  • Adds '@project_crs' and '@project_crs_definition' variables for retrieving the current project CRS
  • Feature: new global expression variable @qgis_locale:
  • Returns current locale used by QGIS. By default this is current system locale. If user enabled locale override in QGIS settings overriden locale will be returned.
  • This feature was developed by Alexander Bruy
  • Feature: New expression variables for map settings:
  • map_crs, map_crs_definition: retrieves crs details for map
  • map_units: retrieves units for map (eg 'meters','degrees')
  • This feature was funded by North Road
  • This feature was developed by Nyall Dawson (North Road)
  • Feature:
  • New expression functions:
  • Aggregate expressions. array_agg(expression, group_by, filter): Returns an array of aggregated values from a field or expression.
  • Array expressions:
  • New group that contains expression functions for the creation and manipulation of arrays (also known as list data structures). The order of values within the array matters, in contrary to the 'map' data structure, where the order of key-value pairs is irrelevant and values are identified by their keys.
  • array(value1, value2, …) : Returns an array containing all the values passed as parameter.
  • array_append(array, value): Returns an array with the given value added at the end.
  • array_cat(array1, array2, …): Returns an array containing all the given arrays concatenated.
  • array_contains(array, value): Returns true if an array contains the given value.
  • array_distinct(array): Returns an array containing distinct values of the given array.
  • array_find(array, value): Returns the index (0 for the first one) of a value within an array. Returns -1 if the value is not found.
  • array_first(array): Returns the first value of an array.
  • array_get(array, index): Returns the Nth value (0 for the first one) of an array.
  • array_insert(array, pos, value): Returns an array with the given value added at the given position.
  • array_intersect(array1, array2): Returns true if any element of array1 exists in array2.
  • array_last(array): Returns the last value of an array.
  • array_length(array): Returns the number of elements of an array.
  • array_prepend(array, value): Returns an array with the given value added at the beginning.
  • array_remove_all(array, value): Returns an array with all the entries of the given value removed.
  • array_remove_at(array, pos): Returns an array with the given index removed.
  • array_reverse(array): Returns the given array with array values in reversed order.
  • array_slice(array, start_pos, end_pos): Returns a portion of the array. The slice is defined by the start_pos and end_pos arguments.
  • array_to_string(array, delimiter, empty_value): Concatenates array elements into a string separated by a delimiter using and optional string for empty values.
  • regexp_matches(string, regex, empty_value): Returns an array of all strings captured by capturing groups, in the order the groups themselves appear in the supplied regular expression against a string.
  • string_to_array(string, delimiter, empty_value): Splits string into an array using supplied delimiter and optional string for empty values.
  • Color expressions:
  • create_ramp(map, discrete): Returns a gradient ramp from a map of color strings and steps.
  • Date and Time expressions:
  • epoch(date): Return the interval in milliseconds between the unix epoch and a given date value.
  • General expressions:
  • env(name): Gets an environment variable and returns its content as a string. If the variable is not found, NULL will be returned.
  • raster_statistic(layer, band, property): Returns statistics from a raster layer. Properties: min/max/avg/range/stdev/sum
  • with_variable(name, value, node): This function sets a variable for any expression code that will be provided as 3rd argument. This is only useful for complicated expressions, where the same calculated value needs to be used in different places.
  • Geometry expressions:
  • extend(geometry, start_distance, end_distance): Extends linestrings by a specified amount at the start and end of the line
  • hausdorff_distance(geometry a, geometry b, densify_fraction): Returns the Hausdorff distance between two geometries. This is basically a measure of how similar or dissimilar 2
  • geometries are, with a lower distance indicating more similar geometries.
  • inclination(inclination(point_a, point_b): Returns the inclination measured from the zenith (0) to the nadir (180) on point_a to point_b.
  • make_circle(center, radius, segment): Creates a circular, segmentized, polygon.
  • make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, segment): Creates an elliptical, segmentized, polygon.
  • make_regular_polygon(center, radius, number_sides, circle): Creates a regular polygon.
  • make_triangle(): help still missing
  • minimal_circle(geometry, segment): Returns the minimal enclosing circle of a geometry. It represents the minimum circle that encloses all geometries within the set.
  • offset_curve(geometry, distance, segments, join, miter_limit): Returns a geometry formed by offsetting a linestring geometry to the side. Distances are in the Spatial Reference System of this geometry.
  • oriented_bbox(geom): Returns a geometry which represents the minimal oriented bounding box of an input geometry.
  • pole_of_inaccessibility(geometry, tolerance): Calculates the approximate pole of inaccessibility for a surface, which is the most distant internal point from the boundary of the surface. This function uses the 'polylabel' algorithm (Vladimir Agafonkin, 2016), which is an iterative approach guaranteed to find the true pole of inaccessibility within a specified tolerance.
  • simplify(geometry, tolerance): Simplifies a geometry by removing nodes using a distance based threshold (ie, the Douglas Peucker algorithm). The algorithm preserves large deviations in geometries and reduces the number of vertices in nearly straight segments.
  • simplify_vw(geometry, tolerance): Simplifies a geometry by removing nodes using an area based threshold (the Visvalingam-Whyatt algorithm). The algorithm removes vertices which create small areas in geometries, e.g., narrow spikes or nearly straight segments.
  • smooth(geometry, iterations, offset, min_length, max_angle): Smooths a geometry by adding extra nodes which round off corners in the geometry.
  • single_sided_buffer(geometry, distance, segments, join, miter_limit): Returns a geometry formed by buffering out just one side of a linestring geometry. Distances are in the Spatial Reference System of this geometry.
  • Map Expressions:
  • This group contains expression functions for the creation and manipulation of 'map' data structures (also known as dictionary objects, key-value pairs, or associative arrays). One can assign values to given keys. The order of the key-value pairs in the map object is not relevant.
  • map(key1, value1, key2, value2, , …): Returns a map containing all the keys and values passed as pair of parameters.
  • map_akeys(map): Returns all the keys of a map as an array.
  • map_avals(map): Returns all the values of a map as an array.
  • map_concat(map1, map2, …): Returns a map containing all the entries of the given maps. If two maps contain the same key, the value of the second map is taken.
  • map_delete(map, key): Returns a map with the given key and its corresponding value deleted.
  • map_exist(map, key): Returns true if the given key exists in the map.
  • map_get(map, key): Returns the value of a map, given it's key.
  • map_insert(map, key, value): Returns a map with an added key/value.
  • Map Layers:
  • New group that contains a list of map layers available in the current project. Returns internal map layer ids. This is used in many other expression functions that reference map layers.
  • Math expressions:
  • inclination(point_a, point_b): Returns the inclination measured from the zenith (0) to the nadir (180) on point_a to point_b.
  • Operators:
  • ~: Performs a regular expression match on a string value.
  • Record and Attributes Expressions ( renamed from just "Record"):
  • get_feature_by_id(layer, feature_id): Returns the feature with an id on a layer.
  • is_selected(feature, layer): Returns if a feature is selected. If called with no parameters checks the current feature.
  • num_selected(layer): Returns the number of selected features on a given layer. By default works on the layer on which the expression is evaluated.
  • represent_value(value, fieldName): Returns the configured representation value for a field value. It depends on the configured widget type. Often, this is useful for 'Value Map' widgets.
  • uuid(): Generates a Universally Unique Identifier (UUID) for each row using the Qt QUuid::createUuid method. Each UUID is 38 characters long.
  • Relations:
  • New group listing all available table relations in a project. Useful for relation_aggregate functions.
  • Deprecated:
  • $scale: old variable to get current map scale. Replaced by maps_scale
  • Changes:
  • In substr() function:
  • support negative start value (e.g. substr('hello',-2) returns 'lo')
  • support negative length value (e.g. substr('hello',3,-1) returns 'll')
  • length parameter now optional, defaults to end of string
  • (e.g. substr('hello world',7) returns 'world')
  • strpos() now relies on a simple string within a string search
  • regexp_match() now returns pos of a matching regular expression
  • This feature was developed by numerous developers
  • And more

New in Quantum GIS 2.18.11 (Jul 24, 2017)

  • General
  • Feature: Automatic links in identify results
  • Feature: Mouse wheel over color dialog sliders
  • Feature: Add custom color schemes to color button drop down menu
  • Symbology
  • Feature: Color picker is now embedded in layer style panel
  • Labelling
  • Feature: Substitution list support for labeling
  • Feature: Improved line label placement algorithm
  • Feature: Label polygons using curved labels along perimeter
  • Rendering
  • Feature: Preview of raster tiles (WMTS and XYZ layers)
  • Feature: Cancellable rendering of rasters (WMS, WMTS, WCS and XYZ layers)
  • Data Management
  • Feature: Add flag to only copy selected features
  • Forms and Widgets
  • Feature: Allow controlling labels for individual edit widgets
  • Feature: Conditional visibility for tabs and group boxes
  • Feature: Client side default field values
  • Map Composer
  • Feature: True North Arrows
  • Processing
  • Feature: Point on surface algorithm
  • Feature: Processing dissolve algorithm accepts multiple fields
  • Feature: Optimised processing clip algorithm
  • Feature: Bounding boxes algorithm
  • Feature: Merge connected lines algorithm
  • Feature: Geometry boundary algorithm
  • Data Providers
  • Feature: Native support of XYZ tile layers
  • QGIS Server
  • Feature: Possibility to segmentize feature info geometry in server
  • Plugins
  • Feature: DB Manager: Add the ability to update SQL Layer
  • Programmability
  • Feature: Expose GEOS linear referencing function to QgsGeometry
  • Feature: New PyQGIS classes in 2.18
  • New core classes
  • New GUI classes, Reusable widgets
  • Feature: New expression functions

New in Quantum GIS 2.18.5 (Mar 30, 2017)

  • Long Term Release:
  • This is a special release since it is designated an ‘LTR’ (Long Term Release). LTR releases will be supported with backported bug fixes for one year, and will be in permanent feature freeze (i.e. no new features will be added, only bug fixes and trivial updates).
  • The purpose of LTR releases is to provide a stable and less frequently changing platform for enterprises and organisations that do not want to deal with updating user skills, training materials etc. more than once per year. The success of the LTR is very much down to you, our beloved users - we need your support to help funding bug fixes and making sure in your support contracts with support providers specify that any bug fixes done on your behalf are applied to the LTR branch as well as our normal development branch.
  • If an LTR is important to you, please consider also directly supporting the QGIS project, or encourage your commercial provider to use LTR as a basis for your enterprise solution so that everyone may benefit from a stable platform that is being continuously improved and refined. Note that for users and organisations that like to live on the frontier, our regular four monthly releases will continue unabated.
  • New Features"
  • QGIS 2.8 is also a special release because it includes so many great new features, tweaks and enhancements to make the most popular Free desktop GIS even more feature filled and useful.

New in Quantum GIS 2.18.2 (Dec 21, 2016)

  • GENERAL:
  • Feature: Enter expressions into spin boxes:
  • When editing attributes in the attribute table or forms, you can now enter expressions directly into spin boxes, e.g. 5 * 2.5 and they will be automatically evaluated.
  • Feature: Bookmarks can be imported/exported:
  • It is now possible to save / load your bookmarks to a file. This makes it easy to share bookmarked locations, or transfer them between computers.
  • Feature: Improvements to expressions:
  • Integer division produces a double when required: Previously dividing two integers in an expression would always result in an integer value, i.e. 5 / 2 = 2. Now the result will always be double when required, so 5 / 2 = 2.5, which is much more expected for users. A new integer divide operator - // has been added to mimic the old behaviour, i.e. 5 // 2 = 2.
  • New ‘if()’ function: There is now a new if(cond, true, false) expression
  • Lazy evaluation for expressions
  • Added get and transform geometry: These new keywords can be used with getFeature for some geometry tests like intersects, crosses, contains, etc.
  • geometry - returns the feature’s geometry
  • transform - returns the transformed geometry
  • Feature: Continuous testing framework and QA improvements:
  • In our ongoing quest to improve the stability and quality of QGIS, every commit is now tested against a growing test suite to identify regressions automatically. In the image on the right you can see the list of incoming pull requests on our GitHub page are now automatically annotated with a check or cross based on whether our test suite successfully ran on Travis.ci when the pull request is made or updated.
  • We are also now regularly performing Coverity scans of QGIS codebase. As a result of this, we have identified and fixed over 1000 flagged issues, including memory leaks and potential crashes. QGIS has a defect density of 0.01 wheras the average for programs of similar size is about 1.0.
  • ANALYSIS TOOLS:
  • Feature: Measure dialog improvements:
  • The measure tool has been improved so that you can now select which units should be used in the measure dialog. There is also a new info section in the dialog that shows which settings are being used during measurement calculations.
  • BROWSER:
  • More responsive browser:
  • In the QGIS Browser items are now expanded in their own threads, speeding up the load time of the browser and making the browser more responsive. Navigating PostGIS sources is now much faster in the browser. The animated snapshot to the right (click image to see the animation) shows the loading of two slow WMS servers in parallel . The browser’s state (tree expansion) is restored on startup.
  • DATA PROVIDERS:
  • Feature: Support for contextual WMS legend graphics:
  • If your WMS server supports contextual legends, you can make use of them in QGIS now too. Contextual legends are getLegendGraphic requests which return only the relevant legend for your current view extent, and thus do not include legend items for things you can’t see in the current map.
  • DATA MANAGEMENT:
  • Feature: Custom prefix for joins:
  • You can now define a custom prefix in the joins manager in the layer properties dialog. When using a prefix, the attribute table in will show joined attribute names with your preferred prefix.
  • Feature: Support for creation of temporary memory layers:
  • This release add support for creating new temporary scratch layers within QGIS core. Scratch layers can be created in the Layer --> Create layer --> New Temporary Scratch Layer menu option.
  • Feature: Support for calculations on selected rows:
  • In the attribute table you can now do calculations on selected rows only thanks to the new button added to the field calculator bar.
  • DIGITISING:
  • Feature: Advanced digitizing tools:
  • If you ever wished you could digitise lines exactly parallel or at right angles, lock lines to specific angles and so on in QGIS, now you can! The advanced digitizing tools is a port of the CADinput plugin and adds a new panel to QGIS. The panel becomes active when capturing new geometries or geometry parts
  • Feature: Improved simplify tool:
  • The simplify tool has been overhauled, adding:
  • OTF reprojection support
  • user can specify exact tolerance (not just non-sense relative value)
  • tolerance can be specified either in map units or layer units or pixels
  • tolerance settings are stored in settings
  • simplify multiple features at once (drag a rectangle instead of just clicking)
  • support for multi-part features
  • statistics about reduction of the number of vertices
  • Feature: Snapping improvements:
  • There is a new snapping mode : snap to all layers which makes it quick to enable snapping between all layers. Also the underlying snapping architecture of QGIS has been overhauled making snapping much faster on large projects and improving the precision with which snapping takes place. ​There’s also less confusion with snapping tolerances being to map units or layer units, so those anticipated 1 metre tolerances don’t become 1 degree tolerances without you knowing.
  • This feature was funded by: ` Ville de Vevey, SITNyon `_ and QGIS Usergroup Switzerland
  • Feature: Show rule-based renderer’s legend as a tree:
  • Advanced users who leverage QGIS’s rule based renderer system will be pleased to see that the rules are now presented as a tree in the legend. Better still, each node in the tree can be toggled on/off individually providing for great flexibility in which sublayers get rendered in your map.
  • This feature was developed by: Lutra Consulting in cooperation with Kartoza
  • MAP COMPOSER:
  • Feature: Composer GUI Improvements:
  • View menu option to hide bounding boxes. This allows users to hide the bounding boxes for selected items within a composition. It’s a handy feature for allowing interaction with items while previewing exactly how they will look when the composition is exported, without large boxes blocking the view.
  • Full screen mode for composer
  • Option to toggle display of panels in composer, available by both the view menu, using the shortcut F10 and by pressing Tab when the composer canvas is selected. It’s useful for maximising the space when planning a map layout.
  • Feature: Grid improvements:
  • In the composer you now have finer control of frame and annotation display. Previously, for rotated maps or reprojected grids, the composer would draw all coordinates for every map side. This resulted in a mix of latitude/y and longitude/x coordinates showing on a side. Now you can control whether you want all coordinates, latitude only or longitude only for each map frame side. Similar options have also been added for controlling how a map grid frame is divided.
  • New vertical descending direction for annotations. This change adds a new descending vertical direction mode for map grid annotations. Previously only ascending text was supported for vertical annotations.
  • Feature: Label item margins:
  • You can now control both horizontal and vertical margins for label items. Previously only a single margin setting would apply to both horizontal and vertical margins. This change allows users to specify different horizontal and vertical margins.
  • You can now specify negative margins for label items, allowing text to be drawn slightly outside of a label item’s bounds. This is desirable for aligning label items with other items while allowing for optical margin alignment for the label type.
  • PLUGINS:
  • Feature: Python console improvements:
  • You can now drag and drop python scripts into QGIS window and they will be executed automatically. We also added a toolbar icon to the plugins toolbar and a shortcut ( Ctrl-Alt-P ) for quick access to the python console.
  • PROCESSING:
  • Feature: New geometric predicate parameter type:
  • With this new parameter type, used in Select by location, Extract by location and Join attributes by location algorithms, the user can select precisely the spatial operator to use.
  • This feature was funded by: French Ministry of Ecology, Sustainable Development and Energy
  • Feature: New algorithms:
  • A number of new algorithms have been added to the processing framework:
  • Regular points algorithm (addresses #5953)
  • Symetrical difference algorithm (addresses #5953)
  • Vector split algorithm (addresses #5953)
  • Vector grid algorithm (addresses #5953)
  • Hypsometric curves calculation algorithm
  • Split lines with lines
  • Refactor fields attributes manipulation algorithm
  • PROGRAMMABILITY:
  • Feature: Add comment functionality to expressions:
  • Comments can now be added to expressions using an SQL style -- prefix.
  • Feature: Custom expression function editor:
  • You can now define custom expression functions in the expression widget. See this blog post for more details.
  • Feature: Qt5 support:
  • QGIS can now be built using Qt5 libraries. Note that currently most binaries will still with Qt4 by default.
  • Feature: Bulk loading spatial index:
  • In the API we have added support for bulk loading of spatial index. This is much faster way of initializing a spatial index. From python it is as simple as:
  • The index tree should be also in theory be better constructed and may result in faster lookups.
  • Feature: Run only the selected part of a SQL query:
  • In the DB Manager SQL editor, it is now possible to highlight a portion of the SQL and only that portion will be executed when you press F5 or click the run button
  • QGIS SERVER:
  • Feature: Server python plugins:
  • Python plugins support for QGIS server brings the power of python to server side, allowing for fast and efficient development and deployment of new features.
  • This feature was developed by: Alessandro Pasotti (ItOpen)
  • Feature: Support for layer styles:
  • QGIS Server now supports predefined layer styles in GetMap requests
  • QGIS Server now supports multiple styles in GetStyles request (see symbology section below)
  • Feature: Add DescribeLayer Method to WMS:
  • Styled Layer Descriptor profile of the Web Map Service : DescribeLayer
  • Defining a user-defined style requires information about the features being symbolized, or at least their feature/coverage type. Since user-defined styles can be applied to a named layer, there needs to be a mechanism by which a client can obtain feature/coverage-type information for a named layer. This is another example of bridging the gap between the WMS concepts of layers and styles and WFS/WCS concepts such as feature-type and coverage layer. To allow this, a WMS may optionally support the DescribeLayer request.
  • DescribeLayer method has been thought to be a better approach than overloading the WMS capabilities document even more.
  • For each named layer, the description should indicate if it is indeed based on feature data and if so it should indicate the WFS/WCS (by a URL prefix) and the feature/coverage types. Note that it is perfectly valid for a named layer not to be describable in this way.
  • SYMBOLOGY:
  • Feature: Raster image fill type:
  • This new symbol layer type allows for filling polygons with a (tiled) raster image.
  • Options include (data defined) file name, opacity, image size (in pixels, mm or map units), coordinate mode (feature or view), and rotation.
  • Feature: Live heatmap renderer:
  • The new heatmap vector layer renderer allows for live, dynamic heatmaps for point layers.
  • Options include specifying heatmap radius in pixels, mm or map units, choice of color ramp,weighting points by field, and a slider for selecting a tradeoff between render speed and quality.
  • Feature: Multiple styles per layer:
  • It is now possible to set multiple styles for a layer and then easily toggle between them. This functionality is available in the legend context menu --> styles sub-menu where it is possible to add/remove styles and quickly switch between them. Layer sets remember styles, and different styles can also be applied to individual composer map items. The multiple styles defined are also available when the project is served via QGIS Server as a WMS layer. For more information on this see also this blog post.
  • Feature: More data-defined symbology settings:
  • The user interface for data defined symbology settings has been improved - moving the data defined option next to each data definable property (in keeping with other parts of QGIS such as the labeling properties). Also many new properties have been made data definable for symbology. This user interface improvement also provides a way to immediately see if a data defined override is defined as well as easier access to the data-defined settings.
  • Feature: DXF export: improve marker symbol export:
  • The exporter functionality for DXF files has been improved, with better fidelity of exported marker symbols to the original QGIS symbology.
  • Feature: Map rotation in canvas, improved rotation in composer:
  • This release includes preliminary support for rotation in the map canvas. You can rotate the canvas using the new rotation widget in the status bar. Rotation support has been extended into the map composer too so that it correctly handles labelling and symbology, etc.
  • USER INTERFACE:
  • Feature: Improved/consistent projection selection:
  • All dialogs now use a consistent projection selection widget, which allows for quickly selecting from recently used and standard project/QGIS projections.

New in Quantum GIS 2.18.0 (Oct 24, 2016)

  • LONG TERM RELEASE:
  • This is a special release since it is designated an ‘LTR’ (Long Term Release). LTR releases will be supported with backported bug fixes for one year, and will be in permanent feature freeze (i.e. no new features will be added, only bug fixes and trivial updates).
  • The purpose of LTR releases is to provide a stable and less frequently changing platform for enterprises and organisations that do not want to deal with updating user skills, training materials etc. more than once per year. The success of the LTR is very much down to you, our beloved users - we need your support to help funding bug fixes and making sure in your support contracts with support providers specify that any bug fixes done on your behalf are applied to the LTR branch as well as our normal development branch.
  • If an LTR is important to you, please consider also directly supporting the QGIS project, or encourage your commercial provider to use LTR as a basis for your enterprise solution so that everyone may benefit from a stable platform that is being continuously improved and refined. Note that for users and organisations that like to live on the frontier, our regular four monthly releases will continue unabated.
  • NEW FEATURES:
  • QGIS 2.8 is also a special release because it includes so many great new features, tweaks and enhancements to make the most popular Free desktop GIS even more feature filled and useful.
  • Whenever new features are added to software they introduce the possibility of new bugs - if you encounter any problems with this release, please file a ticket on the QGIS Bug Tracker.
  • GENERAL:
  • Enter expressions into spin boxes:
  • When editing attributes in the attribute table or forms, you can now enter expressions directly into spin boxes, e.g. 5 * 2.5 and they will be automatically evaluated.
  • Bookmarks can be imported/exported:
  • It is now possible to save / load your bookmarks to a file. This makes it easy to share bookmarked locations, or transfer them between computers.
  • Improvements to expressions:
  • Integer division produces a double when required: Previously dividing two integers in an expression would always result in an integer value, i.e. 5 / 2 = 2. Now the result will always be double when required, so 5 / 2 = 2.5, which is much more expected for users. A new integer divide operator - // has been added to mimic the old behaviour, i.e. 5 // 2 = 2.
  • New ‘if()’ function: There is now a new if(cond, true, false) expression
  • Lazy evaluation for expressions
  • Added get and transform geometry: These new keywords can be used with getFeature for some geometry tests like intersects, crosses, contains, etc.
  • geometry - returns the feature’s geometry
  • transform - returns the transformed geometry
  • Continuous testing framework and QA improvements:
  • In our ongoing quest to improve the stability and quality of QGIS, every commit is now tested against a growing test suite to identify regressions automatically. In the image on the right you can see the list of incoming pull requests on our GitHub page are now automatically annotated with a check or cross based on whether our test suite successfully ran on Travis.ci when the pull request is made or updated.
  • We are also now regularly performing Coverity scans of QGIS codebase. As a result of this, we have identified and fixed over 1000 flagged issues, including memory leaks and potential crashes. QGIS has a defect density of 0.01 wheras the average for programs of similar size is about 1.0.
  • Analysis tools
  • Measure dialog improvements:
  • The measure tool has been improved so that you can now select which units should be used in the measure dialog. There is also a new info section in the dialog that shows which settings are being used during measurement calculations.
  • BROWSER:
  • More responsive browser:
  • In the QGIS Browser items are now expanded in their own threads, speeding up the load time of the browser and making the browser more responsive. Navigating PostGIS sources is now much faster in the browser. The animated snapshot to the right (click image to see the animation) shows the loading of two slow WMS servers in parallel . The browser’s state (tree expansion) is restored on startup.
  • DATA PROVIDERS:
  • Support for contextual WMS legend graphics:
  • If your WMS server supports contextual legends, you can make use of them in QGIS now too. Contextual legends are getLegendGraphic requests which return only the relevant legend for your current view extent, and thus do not include legend items for things you can’t see in the current map.
  • DATA MANAGEMENT:
  • Custom prefix for joins:
  • You can now define a custom prefix in the joins manager in the layer properties dialog. When using a prefix, the attribute table in will show joined attribute names with your preferred prefix.
  • Support for creation of temporary memory layers:
  • This release add support for creating new temporary scratch layers within QGIS core. Scratch layers can be created in the Layer --> Create layer --> New Temporary Scratch Layer menu option.
  • Support for calculations on selected rows:
  • In the attribute table you can now do calculations on selected rows only thanks to the new button added to the field calculator bar.
  • DIGITISING:
  • Advanced digitizing tools:
  • If you ever wished you could digitise lines exactly parallel or at right angles, lock lines to specific angles and so on in QGIS, now you can! The advanced digitizing tools is a port of the CADinput plugin and adds a new panel to QGIS. The panel becomes active when capturing new geometries or geometry parts
  • Feature: Improved simplify tool
  • The simplify tool has been overhauled, adding:
  • OTF reprojection support
  • user can specify exact tolerance (not just non-sense relative value)
  • tolerance can be specified either in map units or layer units or pixels
  • tolerance settings are stored in settings
  • simplify multiple features at once (drag a rectangle instead of just clicking)
  • support for multi-part features
  • statistics about reduction of the number of vertices
  • Snapping improvements:
  • There is a new snapping mode : snap to all layers which makes it quick to enable snapping between all layers. Also the underlying snapping architecture of QGIS has been overhauled making snapping much faster on large projects and improving the precision with which snapping takes place. ​There’s also less confusion with snapping tolerances being to map units or layer units, so those anticipated 1 metre tolerances don’t become 1 degree tolerances without you knowing.
  • LAYER LEGEND:
  • Show rule-based renderer’s legend as a tree:
  • Advanced users who leverage QGIS’s rule based renderer system will be pleased to see that the rules are now presented as a tree in the legend. Better still, each node in the tree can be toggled on/off individually providing for great flexibility in which sublayers get rendered in your map.
  • MAP COMPOSER:
  • Composer GUI Improvements:
  • View menu option to hide bounding boxes. This allows users to hide the bounding boxes for selected items within a composition. It’s a handy feature for allowing interaction with items while previewing exactly how they will look when the composition is exported, without large boxes blocking the view.
  • Full screen mode for composer
  • Option to toggle display of panels in composer, available by both the view menu, using the shortcut F10 and by pressing Tab when the composer canvas is selected. It’s useful for maximising the space when planning a map layout.
  • Grid improvements:
  • In the composer you now have finer control of frame and annotation display. Previously, for rotated maps or reprojected grids, the composer would draw all coordinates for every map side. This resulted in a mix of latitude/y and longitude/x coordinates showing on a side. Now you can control whether you want all coordinates, latitude only or longitude only for each map frame side. Similar options have also been added for controlling how a map grid frame is divided.
  • New vertical descending direction for annotations. This change adds a new descending vertical direction mode for map grid annotations. Previously only ascending text was supported for vertical annotations.
  • Feature: Label item margins
  • You can now control both horizontal and vertical margins for label items. Previously only a single margin setting would apply to both horizontal and vertical margins. This change allows users to specify different horizontal and vertical margins.
  • You can now specify negative margins for label items, allowing text to be drawn slightly outside of a label item’s bounds. This is desirable for aligning label items with other items while allowing for optical margin alignment for the label type.
  • PLUGINS:
  • Python console improvements:
  • You can now drag and drop python scripts into QGIS window and they will be executed automatically. We also added a toolbar icon to the plugins toolbar and a shortcut ( Ctrl-Alt-P ) for quick access to the python console.
  • Processing:
  • New geometric predicate parameter type:
  • With this new parameter type, used in Select by location, Extract by location and Join attributes by location algorithms, the user can select precisely the spatial operator to use.
  • This feature was funded by: French Ministry of Ecology, Sustainable Development and Energy
  • New algorithms:
  • A number of new algorithms have been added to the processing framework:
  • Regular points algorithm (addresses #5953)
  • Symetrical difference algorithm (addresses #5953)
  • Vector split algorithm (addresses #5953)
  • Vector grid algorithm (addresses #5953)
  • Hypsometric curves calculation algorithm
  • Split lines with lines
  • Refactor fields attributes manipulation algorithm
  • PROGRAMMABILITY:
  • Add comment functionality to expressions:
  • Comments can now be added to expressions using an SQL style -- prefix.
  • Custom expression function editor:
  • You can now define custom expression functions in the expression widget. See this blog post for more details.
  • Qt5 support:
  • QGIS can now be built using Qt5 libraries. Note that currently most binaries will still with Qt4 by default.
  • Bulk loading spatial index:
  • In the API we have added support for bulk loading of spatial index. This is much faster way of initializing a spatial index. From python it is as simple as:
  • The index tree should be also in theory be better constructed and may result in faster lookups.
  • Run only the selected part of a SQL query:
  • In the DB Manager SQL editor, it is now possible to highlight a portion of the SQL and only that portion will be executed when you press F5 or click the run button
  • QGIS Server
  • Server python plugins:
  • Python plugins support for QGIS server brings the power of python to server side, allowing for fast and efficient development and deployment of new features.
  • This feature was developed by: Alessandro Pasotti (ItOpen)
  • Support for layer styles:
  • QGIS Server now supports predefined layer styles in GetMap requests
  • QGIS Server now supports multiple styles in GetStyles request (see symbology section below)
  • Add DescribeLayer Method to WMS:
  • Styled Layer Descriptor profile of the Web Map Service: DescribeLayer
  • Defining a user-defined style requires information about the features being symbolized, or at least their feature/coverage type. Since user-defined styles can be applied to a named layer, there needs to be a mechanism by which a client can obtain feature/coverage-type information for a named layer. This is another example of bridging the gap between the WMS concepts of layers and styles and WFS/WCS concepts such as feature-type and coverage layer. To allow this, a WMS may optionally support the DescribeLayer request.
  • DescribeLayer method has been thought to be a better approach than overloading the WMS capabilities document even more.
  • For each named layer, the description should indicate if it is indeed based on feature data and if so it should indicate the WFS/WCS (by a URL prefix) and the feature/coverage types. Note that it is perfectly valid for a named layer not to be describable in this way.
  • SYMBOLOGY:
  • Raster image fill type:
  • This new symbol layer type allows for filling polygons with a (tiled) raster image.
  • Options include (data defined) file name, opacity, image size (in pixels, mm or map units), coordinate mode (feature or view), and rotation.
  • Live heatmap renderer:
  • The new heatmap vector layer renderer allows for live, dynamic heatmaps for point layers.
  • Options include specifying heatmap radius in pixels, mm or map units, choice of color ramp,weighting points by field, and a slider for selecting a tradeoff between render speed and quality.
  • Multiple styles per layer:
  • It is now possible to set multiple styles for a layer and then easily toggle between them. This functionality is available in the legend context menu --> styles sub-menu where it is possible to add/remove styles and quickly switch between them. Layer sets remember styles, and different styles can also be applied to individual composer map items. The multiple styles defined are also available when the project is served via QGIS Server as a WMS layer. For more information on this see also this blog post.
  • This feature was developed by: Gis3W, Lutra Consulting
  • More data-defined symbology settings:
  • The user interface for data defined symbology settings has been improved - moving the data defined option next to each data definable property (in keeping with other parts of QGIS such as the labeling properties). Also many new properties have been made data definable for symbology. This user interface improvement also provides a way to immediately see if a data defined override is defined as well as easier access to the data-defined settings.
  • DXF export - improve marker symbol export:
  • The exporter functionality for DXF files has been improved, with better fidelity of exported marker symbols to the original QGIS symbology.
  • Feature: Map rotation in canvas, improved rotation in composer
  • This release includes preliminary support for rotation in the map canvas. You can rotate the canvas using the new rotation widget in the status bar. Rotation support has been extended into the map composer too so that it correctly handles labelling and symbology, etc.
  • USER INTERFACE:
  • Improved/consistent projection selection:
  • All dialogs now use a consistent projection selection widget, which allows for quickly selecting from recently used and standard project/QGIS projections.

New in Quantum GIS 2.16.0 (Jul 13, 2016)

  • GENERAL:
  • Feature: Enter expressions into spin boxes:
  • When editing attributes in the attribute table or forms, you can now enter expressions directly into spin boxes, e.g. 5 * 2.5 and they will be automatically evaluated.
  • Feature: Bookmarks can be imported/exported:
  • It is now possible to save / load your bookmarks to a file. This makes it easy to share bookmarked locations, or transfer them between computers.
  • Feature: Improvements to expressions:
  • Integer division produces a double when required: Previously dividing two integers in an expression would always result in an integer value, i.e. 5 / 2 = 2. Now the result will always be double when required, so 5 / 2 = 2.5, which is much more expected for users. A new integer divide operator - // has been added to mimic the old behaviour, i.e. 5 // 2 = 2.
  • New ‘if()’ function: There is now a new if(cond, true, false) expression
  • Lazy evaluation for expressions
  • Added get and transform geometry: These new keywords can be used with getFeature for some geometry tests like intersects, crosses, contains, etc.
  • geometry - returns the feature’s geometry
  • transform - returns the transformed geometry
  • Feature: Continuous testing framework and QA improvements:
  • In our ongoing quest to improve the stability and quality of QGIS, every commit is now tested against a growing test suite to identify regressions automatically. In the image on the right you can see the list of incoming pull requests on our GitHub page are now automatically annotated with a check or cross based on whether our test suite successfully ran on Travis.ci when the pull request is made or updated.
  • We are also now regularly performing Coverity scans of QGIS codebase. As a result of this, we have identified and fixed over 1000 flagged issues, including memory leaks and potential crashes. QGIS has a defect density of 0.01 wheras the average for programs of similar size is about 1.0.
  • ANALYSIS TOOL:
  • Feature: Measure dialog improvements:
  • The measure tool has been improved so that you can now select which units should be used in the measure dialog. There is also a new info section in the dialog that shows which settings are being used during measurement calculations.
  • BROWSER:
  • More responsive browser:
  • In the QGIS Browser items are now expanded in their own threads, speeding up the load time of the browser and making the browser more responsive. Navigating PostGIS sources is now much faster in the browser. The animated snapshot to the right (click image to see the animation) shows the loading of two slow WMS servers in parallel . The browser’s state (tree expansion) is restored on startup.
  • DATA PROVIDERS:
  • Feature: Support for contextual WMS legend graphics:
  • If your WMS server supports contextual legends, you can make use of them in QGIS now too. Contextual legends are getLegendGraphic requests which return only the relevant legend for your current view extent, and thus do not include legend items for things you can’t see in the current map.
  • DATA MANAGEMENT:
  • Feature: Custom prefix for joins:
  • You can now define a custom prefix in the joins manager in the layer properties dialog. When using a prefix, the attribute table in will show joined attribute names with your preferred prefix.
  • Feature: Support for creation of temporary memory layers
  • This release add support for creating new temporary scratch layers within QGIS core. Scratch layers can be created in the Layer --> Create layer --> New Temporary Scratch Layer menu option.
  • Feature: Support for calculations on selected rows
  • In the attribute table you can now do calculations on selected rows only thanks to the new button added to the field calculator bar.
  • DIGITISING:
  • Feature: Advanced digitizing tools:
  • If you ever wished you could digitise lines exactly parallel or at right angles, lock lines to specific angles and so on in QGIS, now you can! The advanced digitizing tools is a port of the CADinput plugin and adds a new panel to QGIS. The panel becomes active when capturing new geometries or geometry parts
  • Feature: Improved simplify tool:
  • The simplify tool has been overhauled, adding:
  • OTF reprojection support
  • user can specify exact tolerance (not just non-sense relative value)
  • tolerance can be specified either in map units or layer units or pixels
  • tolerance settings are stored in settings
  • simplify multiple features at once (drag a rectangle instead of just clicking)
  • support for multi-part features
  • statistics about reduction of the number of vertices
  • Feature: Snapping improvements:
  • There is a new snapping mode : snap to all layers which makes it quick to enable snapping between all layers. Also the underlying snapping architecture of QGIS has been overhauled making snapping much faster on large projects and improving the precision with which snapping takes place. ​There’s also less confusion with snapping tolerances being to map units or layer units, so those anticipated 1 metre tolerances don’t become 1 degree tolerances without you knowing.
  • LAYER LEGEND:
  • Feature: Show rule-based renderer’s legend as a tree:
  • Advanced users who leverage QGIS’s rule based renderer system will be pleased to see that the rules are now presented as a tree in the legend. Better still, each node in the tree can be toggled on/off individually providing for great flexibility in which sublayers get rendered in your map.
  • MAP COMPOSER:
  • Feature: Composer GUI Improvements:
  • View menu option to hide bounding boxes. This allows users to hide the bounding boxes for selected items within a composition. It’s a handy feature for allowing interaction with items while previewing exactly how they will look when the composition is exported, without large boxes blocking the view.
  • Full screen mode for composer
  • Option to toggle display of panels in composer, available by both the view menu, using the shortcut F10 and by pressing Tab when the composer canvas is selected. It’s useful for maximising the space when planning a map layout.
  • Feature: Grid improvements:
  • In the composer you now have finer control of frame and annotation display. Previously, for rotated maps or reprojected grids, the composer would draw all coordinates for every map side. This resulted in a mix of latitude/y and longitude/x coordinates showing on a side. Now you can control whether you want all coordinates, latitude only or longitude only for each map frame side. Similar options have also been added for controlling how a map grid frame is divided.
  • New vertical descending direction for annotations. This change adds a new descending vertical direction mode for map grid annotations. Previously only ascending text was supported for vertical annotations.
  • Feature: Label item margins:
  • You can now control both horizontal and vertical margins for label items. Previously only a single margin setting would apply to both horizontal and vertical margins. This change allows users to specify different horizontal and vertical margins.
  • You can now specify negative margins for label items, allowing text to be drawn slightly outside of a label item’s bounds. This is desirable for aligning label items with other items while allowing for optical margin alignment for the label type.
  • PLUGINS:
  • Feature: Python console improvements:
  • You can now drag and drop python scripts into QGIS window and they will be executed automatically. We also added a toolbar icon to the plugins toolbar and a shortcut ( Ctrl-Alt-P ) for quick access to the python console.
  • PROCESSING:
  • Feature: New geometric predicate parameter type:
  • With this new parameter type, used in Select by location, Extract by location and Join attributes by location algorithms, the user can select precisely the spatial operator to use.
  • This feature was funded by: French Ministry of Ecology, Sustainable Development and Energy
  • Feature: New algorithms:
  • A number of new algorithms have been added to the processing framework:
  • Regular points algorithm (addresses #5953)
  • Symetrical difference algorithm (addresses #5953)
  • Vector split algorithm (addresses #5953)
  • Vector grid algorithm (addresses #5953)
  • Hypsometric curves calculation algorithm
  • Split lines with lines
  • Refactor fields attributes manipulation algorithm
  • PROGRAMMABILITY:
  • Feature: Add comment functionality to expressions:
  • Comments can now be added to expressions using an SQL style -- prefix.
  • Feature: Custom expression function editor
  • You can now define custom expression functions in the expression widget. See this blog post for more details.
  • Feature: Qt5 support:
  • QGIS can now be built using Qt5 libraries. Note that currently most binaries will still with Qt4 by default.
  • Feature: Bulk loading spatial index:
  • In the API we have added support for bulk loading of spatial index. This is much faster way of initializing a spatial index.
  • The index tree should be also in theory be better constructed and may result in faster lookups.
  • Feature: Run only the selected part of a SQL query:
  • In the DB Manager SQL editor, it is now possible to highlight a portion of the SQL and only that portion will be executed when you press F5 or click the run button
  • QGIS Server
  • Feature: Server python plugins:
  • Python plugins support for QGIS server brings the power of python to server side, allowing for fast and efficient development and deployment of new features.
  • Feature: Support for layer styles:
  • QGIS Server now supports predefined layer styles in GetMap requests
  • QGIS Server now supports multiple styles in GetStyles request (see symbology section below)
  • Feature: Add DescribeLayer Method to WMS:
  • Styled Layer Descriptor profile of the Web Map Service : DescribeLayer
  • Defining a user-defined style requires information about the features being symbolized, or at least their feature/coverage type. Since user-defined styles can be applied to a named layer, there needs to be a mechanism by which a client can obtain feature/coverage-type information for a named layer. This is another example of bridging the gap between the WMS concepts of layers and styles and WFS/WCS concepts such as feature-type and coverage layer. To allow this, a WMS may optionally support the DescribeLayer request.
  • DescribeLayer method has been thought to be a better approach than overloading the WMS capabilities document even more.
  • For each named layer, the description should indicate if it is indeed based on feature data and if so it should indicate the WFS/WCS (by a URL prefix) and the feature/coverage types. Note that it is perfectly valid for a named layer not to be describable in this way.
  • SYMBOLOGY:
  • Feature: Raster image fill type:
  • This new symbol layer type allows for filling polygons with a (tiled) raster image.
  • Options include (data defined) file name, opacity, image size (in pixels, mm or map units), coordinate mode (feature or view), and rotation.
  • Feature: Live heatmap renderer:
  • The new heatmap vector layer renderer allows for live, dynamic heatmaps for point layers.
  • Options include specifying heatmap radius in pixels, mm or map units, choice of color ramp,weighting points by field, and a slider for selecting a tradeoff between render speed and quality.
  • Feature: Multiple styles per laye:r
  • It is now possible to set multiple styles for a layer and then easily toggle between them. This functionality is available in the legend context menu --> styles sub-menu where it is possible to add/remove styles and quickly switch between them. Layer sets remember styles, and different styles can also be applied to individual composer map items. The multiple styles defined are also available when the project is served via QGIS Server as a WMS layer. For more information on this see also this blog post.
  • Feature: More data-defined symbology settings:
  • The user interface for data defined symbology settings has been improved - moving the data defined option next to each data definable property (in keeping with other parts of QGIS such as the labeling properties). Also many new properties have been made data definable for symbology. This user interface improvement also provides a way to immediately see if a data defined override is defined as well as easier access to the data-defined settings.
  • Feature: DXF export: improve marker symbol export:
  • The exporter functionality for DXF files has been improved, with better fidelity of exported marker symbols to the original QGIS symbology.
  • Feature: Map rotation in canvas, improved rotation in composer:
  • This release includes preliminary support for rotation in the map canvas. You can rotate the canvas using the new rotation widget in the status bar. Rotation support has been extended into the map composer too so that it correctly handles labelling and symbology, etc.
  • USER INTERFACE:
  • Feature: Improved/consistent projection selection:
  • All dialogs now use a consistent projection selection widget, which allows for quickly selecting from recently used and standard project/QGIS projections.

New in Quantum GIS 2.14.0 (Mar 1, 2016)

  • This is the change log for the next release of QGIS - version 2.14 ‘Essen’. Essen was the host city to our developer meet ups in October 2012 and 2014.
  • Long Term Release:
  • This is a special release since it is designated an ‘LTR’ (Long Term Release). LTR releases will be supported with backported bug fixes for one year, and will be in permanent feature freeze (i.e. no new features will be added, only bug fixes and trivial updates). Note that we are in discussion to extend the term of our LTR releases to two years, but for technical reasons we will not do this until QGIS 3.2.
  • The purpose of LTR releases is to provide a stable and less frequently changing platform for enterprises and organizations that do not want to deal with updating user skills, training materials etc. more than once per year. The success of the LTR is very much down to you, our beloved users - we need your support to help funding bug fixes and making sure in your support contracts with support providers specify that any bug fixes done on your behalf are applied to the LTR branch as well as our normal development branch.
  • If an LTR is important to you, please consider also directly supporting the QGIS project, or encourage your commercial provider to use LTR as a basis for your enterprise solution so that everyone may benefit from a stable platform that is being continuously improved and refined. Note that for users and organizations that like to live on the frontier, our regular four monthly releases will continue unabated.
  • New Features in QGIS 2.14 ‘Essen’
  • If you are upgrading from QGIS 2.8 (our previous LTR version) you will find a great many new features in this release. We encourage you to peruse the changelogs for the intermediate non LTR 2.10 and 2.12 releases as this QGIS 2.14 includes all features published in those releases too. Note that 2.14 first enters the regular package repositories and will not immediately replace 2.8 in the LTR package repositories. That will happen when 2.16 is released.

New in Quantum GIS 2.12.0 (Nov 30, 2015)

  • New Features in QGIS 2.12 ‘Lyon’
  • This is the next release in our 4-monthly release series. It gives you access to the new features we have been working on and represents the ‘cutting edge’ of QGIS development.
  • QGIS ‘Lyon’ is jam-packed with awesome new features. Special highlights are support for rule based labelling, rule based styling of attribute tables, and advanced geometry checker, support for digitising curve based geometries, better authentication management and much, much more! QGIS 2.12 also has many bug fixes and memory leaks addressed. The features provided in QGIS 2.12 will be included in the next LTR release (slated for release in 2016), so using this release provides you with an excellent opportunity to test new features that will make their way into the next LTR.
  • Whenever new features are added to software they introduce the possibility of new bugs - if you encounter any problems with this release, please file a ticket on the QGIS Bug Tracker. If you are working in a production environment where you wish to be more conservative about rolling out new features to your users, we also provide a Long Term Release (LTR) version of QGIS. The current LTR is version 2.8.3 and is available at download.qgis.org.
  • GENERAL:
  • Feature:
  • New welcome screen:
  • Instead of simply showing a blank, white canvas, QGIS will now show you a list of your most recent projects, along with thumbnails to make it quick and easy to dive back into the work you left off in your last session.
  • Feature: Ongoing improvements to code quality
  • Through the use of the address sanitizer library, hundreds of memory leaks have been identified and fixed. Automated code scans using Coverity Scan have been regularly used to identify potential issues, and our Coverity defect density is now impressively low at just 0.02 defects per 1000 lines of code. The library of automated unit tests has also grown significantly during 2.12, resulting in more regressions being identified and fixed immediately. In 2.12 we also added continuous testing on OSX, so that every commit is tested against the unit test suite on both Linux and OSX platforms.
  • Feature: Advanced settings editor
  • A new panel has been added to the settings dialog that lets you edit any of the options already defined in your your profile. This is intended for power users only as you could experience unexpected behaviour in QGIS if you change these settings without fully understanding what you are doing.
  • Feature: Mutually exclusive layer tree groups
  • With this feature, you can create layer groups where only one layer in the group may be visible at any time. The feature can be toggled individually for groups in layer tree view context menu.
  • This feature was developed by: Martin Dobias at Lutra Consulting on subcontract to Gis3W
  • This feature was funded by: Tuscany Region (Italy) - SITA (CIG: 63526840AE)
  • Feature: Filtering for field values in expression widget
  • When creating an expression that uses values from a field, you can now filter the field values preview panel.
  • This feature was developed by: Salvatore Larosa
  • Feature: User Interface Theme support
  • QGIS 2.12 now supports user interface theming support which you can use to customise the appearance of window backgrounds, buttons etc. By default we ship with two themes: Default and Night mapping. The latter is a dark theme which some people may prefer if they find that light themes cause eye strain. If you know a little CSS you can create your own custom themes fairly easily too...
  • Find out more about theming support by reading Nathan Woodrow’s blog article.
  • Feature: New expression functions in 2.12
  • A set of functions for “fuzzy matching” have been added. These include functions for finding the similarity of two strings and also for performing phonetic matching between strings, and allow you to perform filters for records which “nearly match” a specified string.
  • More geometry based functions have been added, including
  • num_points(geometry) for calculating the number of nodes in a geometry
  • area(geom), length(geom) and perimeter(geom), for calculating the area, length and perimeter of any geometry object. Previously only calculation of the area, length and perimeter of the current feature’s geometry was possible.
  • start_point(geom), end_point(geom), point_n(geom), for retrieving the first, last and numbered points from a geometry
  • make_point(x,y), for manual creation of a point geometry
  • x(geom), y(geom) functions which return the x and y coordinate for point geometries or the centroid x/y for non-point geometries
  • A new project_color function has been added, which allows you to retrieve a color from the project’s color scheme by name. This lets you create ‘linked colors’, where the color of symbol or labeling components can be bound to a color in the project’s color scheme. Update the color in the scheme, and all the linked colors will be automatically refreshed to match!
  • Additionally, some very useful expressions have been ported from the expressions+ plugin, including:
  • color_part: allows retreival of a specific color component (eg red, hue, alpha) from a color
  • set_color_part: allows a specific color component to be overridden, eg alter the alpha value (opacity) of a color
  • day_of_week: returns the day of week as a number from a date
  • Additionally, the context help for expression functions has been improved for better readability.
  • Feature: Variables in expressions
  • You can now define custom variables for use in expressions. Variables can be defined at the application global level, project level, layer level and composition level. Just like CSS cascading rules, variables can be overwritten - eg, a project level variable will overwrite any application level variables set. You can use these variables to build text strings or other custom expressions. For example in composer creating a label with this content:
  • This map was made using QGIS [% @qgis_version %]. The project file for this map is: [% @project_path %]
  • Will render the label like this:
  • This map was made using QGIS 2.12. The project file for this map is: /gis/qgis-user-conference-2015.qgs
  • You can manage global variables from the Settings -> Options menu, and project level variables from Project properties (including adding your own custom variables).
  • ANALYSIS TOOLS:
  • Feature: Added number of vertices to derived fields in identify tool
  • Using the identify tool one a line feature will now show the number of vertices in the feature as an additional derived attribute.
  • Feature: Raster alignment tool
  • This new tool in qgis_analysis library is able to take several rasters as input and:
  • reproject to the same CRS
  • resample to the same cell size and offset in the grid
  • clip to a region of interest
  • rescale values when required
  • This feature was developed by: Martin Dobias at Lutra Consulting on subcontract to Kartoza
  • Feature: Geometry Checker and Geometry Snapper plugins
  • Two new plugins (which you need to manually enable in the plugin manager) are available for validating and correcting geometries. The Geometry Checker plugin (pictured right) will check and correct your vector dataset for a number of different types of systematic errors and attempt to resolve them for you. After resolving an error, the error list is automatically updated so that if, for example, fixing one error also resolves other errors, all the errors are removed from the issue list.
  • With the Geometry Snapper tool you can align the edges and vertices of one vector layer to the edges and vertices of a second layer using a user defined tolerance.
  • APPLICATION AND PROJECT OPTIONS:
  • Feature: Encrypted password management
  • QGIS 2.12 introduces a new authentication system (see PR 2330, QEP 14. Here’s what is included:
  • Master-password-encrypted authentication configurations stored in an SQLite database
  • Authentication method plugin architecture (like data providers)
  • Basic auth method plugin
  • Basic plugin integrated with PostGIS and OWS provider connections
  • Inline with current username/password setup (still fully functional)
  • SSL server connection configurations (save exceptions or custom configs for SSL connection errors)
  • PKI authentication related:
  • Import extra Certificate Authorities, intermediate cert issuers and personal identity bundles
  • Manage certificate components like in Firefox
  • Authentication method plugins for PEM and PKCS#12 bundles on disk, and for stored personal identities
  • Integrated with OWS provider connections (PostGIS and other databases will take a bit more work)
  • For shared project scenarios, including a network drive setup, you can edit the authentication configuration (authcfg) ID to something that is shared across users.
  • Since the authcfg ID is embedded in the project file, each user just needs to make an auth config that has their specific credentials for that resource, then edit the ID (upon creation of config or after) to the same ID in the project file. Then, when the resource loads, the same configuration will be queried on everyone’s QGIS, just with their respective credentials for the authentication method used.
  • For the Handle Bad Layers dialog, users can Add/Edit/Remove auth configs within the dialog and have the data source URI updated to match. So, in the scenario of a shared project, the user could immediately add an appropriate new auth config (and see exactly what shared authcfg ID should be used) upon project loading .
  • Currently, the master password auto-set can be set via Python, or by way of a custom C++ plugin, on launch setups using a call to QgsAuthManager::instance()->setMasterPassword( "mypassword", true ), or by QGIS_AUTH_PASSWORD_FILE environment variable to set the path to a file with the master password.
  • Note: for Server, you can also use QGIS_AUTH_DB_DIR_PATH to set the path to a qgis-auth.db directory and QGIS_AUTH_PASSWORD_FILE to set the path to a file with the master password on the server.
  • PKI example docs: https://github.com/dakcarto/QGIS-Enhancement-Proposals/blob/auth-system/extras/auth-system/pkiuser.rst
  • BROWSER:
  • Feature: Improvements to PostGIS connections in browser
  • The QGIS browser now supports additional functionality for PostGIS connections, including the ability to create, rename and delete schemas, support for renaming and truncating layers and to copy tables from one schema to an other.
  • DATA PROVIDERS:
  • Feature: PostGIS provider improvements
  • The following improvements were made to the PostGIS provider:
  • performance improvements for rule based renderer for PostGIS layers
  • added support for compound keys on views
  • Compound keys developed by: Jürgen Fischer at norBIT GmbH
  • DATA MANAGEMENT:
  • Feature: DBManager Improvements
  • There have been a number of improvements to the DB Manger tool:
  • In the DB Manager you can now export your data to any OGR supported data format instead of the Shapefile only that was available in the previous version.
  • Oracle Spatial is now supported in the DBManager
  • When importing data into a table you can use the new import only selected features option to restrict what will be imported.
  • New query windows are now created as tabs to reduce the number of dialogs
  • Feature: Conditional formatting for attribute table cells
  • This is a major improvement to QGIS’s attribute table rendering support. You can now style table cells according to rules. For example you can colour all cells with a population of less than 50 000 in red. The option is enabled via a new icon on the table toolbar at the top right of the attribute table window. You can read more about this feature on Nathan Woodrow’s blog article.
  • Feature: Support for relative paths in widgets
  • For the following edit widget types:
  • File Name
  • Photo
  • Web View
  • If the path which is selected with the file browser is located in the same directory as the .qgs project file or below, paths are converted to relative paths. This increases portability of a QGIS project with multimedia information attached.
  • DIGITISING:
  • Feature: Digitising improvements
  • In QGIS 2.10 we mentioned that there is a new geometry architecture for QGIS but that not all features were supported in the digitising tools. With QGIS 2.12 we now have editing support for the creation of curves / ‘circular strings`. Note again that you need to be using a data provider (e.g. PostGIS, GML or WFS) that supports curves. These improvements to the digitising tools were also added in QGIS 2.12:
  • tool to add circular strings with two points and radius
  • tool to add circular strings with start point, curve point and end point
  • allow escape to cancel drawing new features
  • display a node table when editing using node tool, allowing you to manually enter the exact x and y coordinates for nodes, as well as the z and m values (depending on layer type)
  • Additionally, more of the geometry editing and modification tools were updated to work correctly with layers containing z or m dimensions.
  • This feature was developed by: Marco Hugentobler at Sourcepole AG This feature was funded by: Canton of Solothurn
  • LABELLING:
  • Feature: Data defined quadrant when in “around point” mode
  • Its now possible to specify a data defined quadrant when a point label is set to the Around Point placement mode. This allows you to manually override the quadrant placement for a specific label while allowing the remaining labels to fall back to automatic placement.
  • Feature: Draw only labels which fit inside polygons
  • An option has been added to polygon layers to only draw labels which fit completely within polygon features.
  • Feature: Control priority of labeling obstacles
  • In 2.12 it’s now possible to specify the priority for labeling obstacles. This allows you to make labels prefer to overlap features from certain layers rather than others. The priority can also be data defined so that certain features are more likely to be covered than others. You can also use data defined expressions or fields to control whether a specific feature in layer will act as an obstacle for labels.
  • Feature: New options to control how polygon layers act as obstacles
  • New options have been added to control how labels should be placed to avoid overlapping the features in polygon layers. The options are to either avoid placing labels over polygon interiors or avoid placing them over polygon boundaries. Avoiding placing labels over boundaries is useful for regional boundary layers, where the features cover an entire area. In this case it’s impossible to avoid placing labels within these features and it looks much better to avoid placing them over the boundaries between features instead. The result is better cartographic placement of labels in this situation.
  • See this article for more details.
  • This feature was developed by: Nyall Dawson
  • Feature: Data defined control over label priority
  • This often-requested feature allows users to set the priority for individual labels. In past releases QGIS allowed setting the label priority for an entire layer, but there was no option to control the priority of features within a layer. Now, you can use a data defined expression or field to prioritize labeling certain features over others within a layer!
  • Feature: Option for obstacle-only layers
  • This allows users to set a layer as just an obstacle for other layer’s labels without rendering any labels of its own. It means that a non-labelled layer can act as an obstacle for the labels in other layers, so they will be discouraged from drawing labels over the features in the obstacle layer, and allows for improved automatic label placement by preventing overlap of labels and features from other layers.
  • In the screenshot you can see that the Streets have the option “Discourage other labels from covering features in this layer” enabled. The red labels derived from polygon geometries are thus placed to avoid intersection with the street axis. You have to enable “Horizontal” or “Free” on the polygon layer in order to achieve proper results.
  • Note, that it is also possible to both label a layer, but also act as obstacle layer, by enabling the checkbox “Discourage labels from covering features” in the “rendering” tab of the label settings.
  • Feature: Rule-based labeling
  • Labels on features can now be styled using rules to add even more control over placement and styling of labels. Just like the rule based cartographic rendering, label rules can be nested to allow for extremely flexible styling options. For example you can render labels differently based on the size of the feature they will be rendered into (as illustrated in the screenshot).
  • MAP COMPOSER:
  • Feature: Atlas navigation improvements
  • You can now set a field or expression as the “page name” for atlas compositions. A page number combobox has been added to the atlas toolbar, which shows both a list of available page numbers and names. This allows you to jump directly to a specific page within your atlas.
  • The page name can also be used within symbology and labeling expressions to allow advanced styling of atlas features based on their page name.
  • Feature: Custom format for grid annotations
  • Composer map grid annotations can now be formatted in custom formats, which are evaluated using the expression engine. Now you utilise whatever esoteric grid numbering format your maps require!
  • Feature: Multiline text handling and automatic text wrapping in composer attribute tables
  • Composer attribute tables now include full support for multi line strings. Control over the vertical alignment of text within a cell has also been added, along with options for wrapping text on certain characters or automatically calculating text wrapping to fit the size of columns. To enforce automatic text wrapping with automatic row heights, set the column width to a fixed size.
  • Feature: Advanced customisation of cell background color
  • This change allows users to set differing colors for alternating rows and columns, first/last row/column and header row within composer attribute tables.
  • This feature was developed by: Nyall Dawson
  • This feature was funded by: Ville de Morges
  • Feature: Add fit page to contents option and options for cropping exports to contents
  • A new option has been added in the composition panel to resize a composition to its contents, with optional extra margins if required.
  • Composer exports can also be cropped to their contents. If selected, this option will make the images output by composer include only the area of the composition with content. There’s also an option for margins to add around the item bounds if required.
  • If the composition includes a single page, then the output will be sized to include EVERYTHING on the composition. If it’s a multi-page composition, then each page will be cropped to only include the area of that page with items.
  • A new image export options dialog has been added to facilitate this, which also includes handy shortcuts for overriding the print resolution or exported image dimensions.
  • Feature: Force vector layers to render as a raster images
  • A new option has been added under the layer properties, rendering tab to force a vector layer to render as a raster. Extremely detailed layers (eg polygon layers with a huge number of nodes) can cause composer exports in PDF/SVG format to be huge as all nodes are included in the exported file. This can also make the resultant file very slow to work with or open in external programs. Now, you can force these layers to be rasterised on a layer-by-layer basis, so that the exported files won’t have to include all the nodes contained in these layers. The end result is smaller file sizes and PDFs/SVGs which are faster to open.
  • Feature: Data defined control over map layers and style presets
  • A new data defined control has been added for the map layers and style presets to show in a composer map. The map layers data defined expression should result in a | (pipe) delimited list of layer names which will be shown in the map, or the style preset data defined expression should result in the name of an existing style preset.
  • Using this control over map layers allows for “layer-based” atlases, where the map layers should change between atlas pages instead of or in combination with the map extent changing. An example could be an atlas looping over different administrative units and at the same time looping over several historic maps or aerial images.
  • Feature: Option to hide pages from view/export
  • There’s now an option to hide the display of pages while editing and exporting compositions. This option is useful for compositions which aren’t intended for print and are not bound by any preset page sizes. You can hide the pages, then add and resize items in any way you desire without the visual distraction of page boundaries!
  • PLGINS:
  • Feature: Update of the GRASS plugin
  • The GRASS plugin was updated to enable support for GRASS 7. GRASS layers can be browsed and loaded from the QGIS browser or browser panel. GRASS vector data can be edited directly within QGIS. The project contains the following work packages:
  • Plugin library upgrade and multi version build
  • QGIS browser and browser panel integration
  • Support for mapsets, modules and shell to allow data analysis
  • vector editing
  • For both GRASS 6 and GRASS 7 users you will find that the integration between GRASS and QGIS is much more seamless. You can create GRASS layers directly in the QGIS Browser panel, style GRASS vector layers using standard QGIS styling tools and use familiar QGIS digitising tools to create new vector geometries in a GRASS mapset.
  • PROGRAMMABILITY:
  • Feature: Maptools moved from app->gui
  • This change allows reuse of map tools from within PyQGIS scripts and Python plugins.
  • This feature was developed by: Matthias Kuhn at OpenGIS
  • This feature was funded by: SIGE
  • Feature: Editing layers via `with edit(layer):`
  • from qgis.core import edit
  • This will automatically call commitChanges() in the end. If any exception occurs, it will rollBack() all the changes.
  • Feature: New API for labeling engine (QgsLabelingEngineV2)
  • The idea is to make the engine more flexible compared to QgsPalLabeling implementation:
  • abstract dealing with text labels / diagrams from the engine itself
  • allow multiple types of labels per layer
  • support custom label providers (e.g. implemented by plugins)
  • make the labeling engine independent from map rendering engine
  • make it easier to auto-test the labeling engine and its components
  • Pythonistas rejoice - you can now open your scripts in an external editor using the new button added to the console.
  • Feature: New classes for PyQGIS programs
  • A new class QgsStringUtils has been added which allows PyQGIS scripts to utilise the new fuzzy matching algorithms added in 2.12. These include functions for finding the Levenshtein edit distance between two strings and for calculating the soundex phonetic representation of a string. These algorithms have been highly optimized for performance, so they are ready for you to start fuzzy matching across millions of strings!
  • QGIS Server:
  • Feature: QGIS Server Python API
  • QGIS Server is now packed as a library with an initial (but growing) API and Python bindings. With the new API we have a set of Python tests for the server main component and for the server plugins. Invoking the server from Python is now as easy as:
  • Feature: getMap in dxf format
  • It is now possible to retrieve the result of a GetMap WMS request in DXF format. It supports the same features and options as available in QGIS desktop. With the same limitations.
  • SYMBOLOGY:
  • Feature: Export thumbnails from style manager
  • Style manager now allows you to export selected style thumbnails as either SVG or PNG images.
  • Feature: New option for limiting size in mm when using map unit sizes
  • Previously only the option to limit the scale range of the map unit sizes was available. Now you can also choose to limit the corresponding rendered size in mm.
  • Feature: Improvements to displacement renderer
  • Allow tolerance in mm/pixels for displacement renderer
  • Allow setting transparency for colors
  • Concentric ring placement mode (allows for more compact display than only with rings)
  • Feature: All color ramps can now be edited
  • In QGIS 2.12 “edit” buttons have been added next to every color ramp choice. This allows you to easily edit an existing color ramp without having to create a new ramp and overwrite the existing one.
  • Feature: Improved handling of SVG marker outlines
  • QGIS 2.12 fixes a number of issues regarding the handling of outlines within SVG marker and SVG fill symbols.
  • Previous versions of QGIS would render the outlines at a significantly smaller size than set, and drawing SVGs with outline sizes in map units was broken.
  • These issues have been fixed in QGIS 2.12, but as a result you may need to update your project symbology if you’ve previously set oversized outlines for your symbols to overcome these bugs. In the image you see QGIS 2.12 vs QGIS 2.10 SVG markers in the symbol layer dialogs.
  • Feature: Add pixels as option for all symbology size unit choices
  • For all size input widgets there is now a third option “pixel”, next to “mm” and “map units”. This concerns symbol sizes, stroke widths, dash sizes, offsets, etc. This may help, if you design for screens and not for print output.

New in Quantum GIS 2.10.0 (Oct 27, 2015)

  • Changelog for QGIS 2.10
  • This is the change log for the next release of QGIS - version 2.10.0 ‘ Pisa’ - host city to our developer meet up in March 2010.
  • This is the next release in our 4-monthly release series. It gives you early access to the new features we have been working on and represents the ‘cutting edge’ of QGIS development. If you are working in a production environment where you wish to be more conservative about rolling out new features to your users, we also provide a Long Term Release (LTR) version of QGIS. The current LTR is version 2.8.2 and is available at download.qgis.org. LTR releases will be supported with backported bug fixes for one year, and will be in permanent feature freeze (i.e. no new features will be added, only bug fixes and trivial updates). The features provided in QGIS 2.10 ‘Pisa’ will be included in the next LTR release (slated for release in 2016), so using this release provides you with an excellent opportunity to test new features that will make their way into the next LTR.
  • New Features in QGIS 2.10 ‘Pisa’:
  • QGIS 2.10.0 includes many great new features, tweaks and enhancements to make the most popular Free desktop GIS even more feature filled and useful. Whenever new features are added to software they introduce the possibility of new bugs - if you encounter any problems with this release, please file a ticket on the QGIS Bug Tracker.
  • General:
  • Feature: Join parameters can now be edited
  • Feature: Layers with joins can now be filtered
  • Feature: General improvements
  • Feature: Improved handling of potential project file overwrites
  • Feature: New geometry engine
  • Analysis tools:
  • Feature: New statistical summary dock widget
  • Feature: Use logarithmic functions in the raster calculator
  • Feature: New zonal statistics features
  • Browser:
  • Feature: New browser properties widget
  • Feature: New browser icon
  • Data Providers:
  • Feature: DXF Export Improvements
  • Feature: PostGIS provider side expression filters
  • Data management:
  • Feature: Virtual fields are now updatable
  • Feature: Line edit with auto-completer for ValueRelation edit widget
  • Feature: Improvements to DB Manager
  • Feature: Filter chaining for relation reference widget
  • Diagrams:
  • Feature: Diagram improvements
  • Digitising:
  • Feature: Improved geometry rotation tool
  • Labelling:
  • Feature: “Follow point” alignment for multiline labels
  • Map Composer
  • Feature: Add scalebar sizing mode to fit a desired scalebar width
  • Programmability:
  • Feature: Improvements for programmers
  • QGIS Server:
  • Feature: Support for tolerance parameter in WMS GetFeatureInfo requests
  • Symbology:
  • Feature: Match categories to existing styles
  • Feature: Vary symbol sizes using the graduated renderer
  • Feature: New option for preventing the automatic clipping of features to the map extent
  • Feature: Size scale and rotation have been removed from the advanced menu
  • Feature: Data defined properties for font marker
  • Feature: Visualise and modify the graduated renderer using a histogram
  • Feature: Size, rotation and stroke-width expressions at the symbollist level
  • Feature: Live layer effects for layers and symbol layers
  • General:
  • Feature: Join parameters can now be edited
  • It is now possible to edit join parameters (such as join prefix or columns to join) after a join has been created. Prior to this change one had to delete and recreate the whole join.
  • Feature: Layers with joins can now be filtered
  • Prior to version 2.10 a layer couldn’t be filtered if it had at least one join. Now it is still filterable, but only using columns of the original master table.
  • Feature: General improvements
  • As well as the numerous items listed below, the following improvements have been made:
  • Support for Pointcloud layers in PostGIS
  • Improved icon bars and icons in dockable widgets to occupy less screen real estate and for improved OSX appearance
  • Improvements to the GRASS plugin / provider
  • Support for non-latin scripts for curved labels
  • Greatly improved and more robust raster calculator and georeferencer tools
  • Improved UI and workflow for the data defined label properties window
  • Feature: Improved handling of potential project file overwrites
  • QGIS 2.10 will now warn you when attempting to save you project if last modification date of a loaded project has changed. This is useful if more than one user or session has the same project file open and are both attempting to save edits to the project file.
  • This feature was developed by: Jrgen Fischer (norBIT)
  • Feature: New geometry engine
  • QGIS 2.10 has a new geometry engine. In general you won’t see many differences on the user interface yet, but this lays the foundation for a much richer set of geospatial capabilities that we will be able to support in the future. The new implementation supports curved geometry types (so for example you can represent a traffic roundabout as a circle rather than a segmented polygon made to look like a circle) and has backend support for z/m values in geometries. To use curves in QGIS you will need to use PostGIS or a similar datastore that is able to express curvilinear geometries. If you want to have a play you can try a simple exercise like this in your PostGIS database:
  • -- Table: curves DROP TABLE curves; CREATE TABLE curves
  • ( id bigserial NOT NULL, geometry geometry(CURVEPOLYGON, 4326),
  • name text, CONSTRAINT p_key PRIMARY KEY (id) );
  • insert into curves values ( 1, st_geomfromtext(
  • 'CURVEPOLYGON(CIRCULARSTRING(1 1,1 2, 2 2, 2 1, 1 1))', 4326), 'test');
  • Then add the layer curves to your project.
  • This feature was developed by: Marco Hugentobler (Sourcepole AG)
  • This feature was funded by: KantonSolothurn, Switzerland
  • Analysis tools:
  • Feature: New statistical summary dock widget
  • Can display summary statistics (e.g. mean, standard deviation, ...) for a field or expression from a vector layer or selection. This is provided by means of a new dock panel that you can activate from the View -> Panels -> Statistics menu. Please note that you will only be able to generate statistics on vector layers that have a numeric column.
  • Feature: Use logarithmic functions in the raster calculator
  • The raster calculator (Raster -> Raster Calculator in the QGIS menu) is a tool that allows you to perform matrix operations on one or more raster layers. With QGIS 2.10 you can now use LN and LOG10 functions in the raster calculator.
  • Feature: New zonal statistics features
  • Zonal statistics provide a way to extract aggregate values for the pixels underlying a polygon. The following new features have been added to our zonal statistics tool:
  • you can now select which statistics to calculate
  • extra statistics have been added (median, standard dev, min, max, range, minority, majority and variety)
  • ability to select the raster band to use for statistics extraction
  • Note that zonal stats is a ‘core plugin’ (a plugin that ships with your QGIS installer), but is disabled by default. You need to enable it in the plugin manager and then a menu entry for zonal statistics will appear in the Raster menu.
  • Browser:
  • Feature: New browser properties widget
  • When using the QGIS Browser dock panels (View -> Panels -> Browser), you and now enable a properties widget at the bottom of the file system tree. Any data source that you click on will have its properties shown in this panel. This makes it quick and convenient to see basic information about the dataset you have selected. To toggle the properties view, you should use the i icon at the top of the browser panel.
  • Feature: New browser icon
  • The QGIS Browser is a separate, standalone application that allows you to browse and view the GIS datasets available to you (from your file system, database connections, web service connections etc.) In previous releases of QGIS we used a very similar icon to the QGIS application itself which has been the source of confusion for many users. In order to reduce the likeliness of opening the wrong application, we have created a new icon for QGIS Browser.
  • Data Providers:
  • Feature: DXF Export Improvements
  • The DXF export was continuously improved in the last three QGIS versions. This version introduces an improved SVG or simple marker to DXF block conversion, fixes a few bugs and issues that resulted in incomplete (unreadable) DXF files. In the Screenshot you can see the original view in QGIS on the left and the rendering of the exported DXF file in Autodesk TrueView on the right.
  • This feature was developed by: Jrgen Fischer (norBIT)
  • This feature was funded by: Communities of Morges, Uster, Vevey and SIGE
  • Feature: PostGIS provider side expression filters
  • In QGIS 2.10 you can now filter features on the database server side. Only supported expressions will be sent to the database. Expressions using unsupported operators or functions will gracefully fallback to local evaluation.
  • To make use of this feature you need to enable it in Settings -> Options -> data sources. If your filter expression is PostgreSQL compliant it will automatically be run on the server side. You can also make use of this feature when using the python API for example when using these calls.
  • Data management:
  • Feature: Virtual fields are now updatable
  • Prior to version 2.8 you had to delete and recreate virtual fields if you wanted to change the expression for calculating the virtual field. In 2.10 you can now go to the Fields tab and press the small Expression button to open the expression editor and update the expression used for the virtual field.
  • This feature was developed by: Matthias Kuhn (OpenGIS)
  • This feature was funded by: City of Uster, Switzerland
  • Feature: Line edit with auto-completer for ValueRelation edit widget
  • The value relation edit widget for vector layers (Layer -> Properties -> Fields -> Edit Widget -> Value Relation) can now be set to autocomplete as you start typing in the input box it creates on the feature form.
  • Feature: Improvements to DB Manager
  • There are two new features in the DB Manager :
  • Query as layer does not need a unique integer column anymore
  • A column with unique integer column is not needed anymore to load an SQL query as a QGIS layer. An auto-incremented value will be used in place.
  • Integration of an SQL query builder:
  • A new window in DB Manager helps the creation of SQL queries by means of widgets where table names, column names and functions can be selected by the user. It has been ported from the QSpatialite plugin and works for PostGIS and Spatialite providers.
  • These features were funded by: MEDDE (French Ministry of Sustainable Development)
  • These features were developed by: Hugo Mercier / Oslandia
  • Feature: Filter chaining for relation reference widget
  • To select linked entries from other tables one can use the relation reference widgets. One can either select elements graphically by selecting them in the map, if the linked feature has a geometry attached or choose an element by the linked id. To facilitate the non-spatial selection it is now possible to narrow the available options with filters (chained or unchained). If the filters are unchained their choices are combined with “AND” to define the available options. If chained is checked, a drill-down mode for the filters is activated so each filter only shows the entries which correspond to the previous filter. This is useful for selecting from hierarchical data like City -> Street -> Number.
  • This feature was developed by: Matthias Kuhn (OpenGIS)
  • This feature was funded by: SIGE
  • Diagrams:
  • Feature: Diagram improvements
  • The diagram functionality in QGIS allows you to overlay small pie charts or histograms over features on the map. In this release we have made the following improvements to diagramming support:
  • Diagrams can be disabled without losing settings
  • Add checkbox to always show diagrams for a layer
  • Diagrams user interface has been refreshed to simplify the dialog and make it more user friendly
  • Diagram classes are now shown in the layer’s legend
  • Digitising:
  • Feature: Improved geometry rotation tool
  • The geometry rotation tool is an advanced digitising tool that allows you to arbitrarily rotate a feature’s geometry. The following improvements have been made to the rotation tool:
  • you can now use numerical input in rotation map tool
  • you can use a combo box to set the angles
  • added support for snapping to angles (directly enabled when usingshift + click``)
  • rotation anchor is defined on CTRL+click and not on mouse move
  • Labelling:
  • Feature: “Follow point” alignment for multiline labels
  • When set to this mode, text alignment for labels are dependent on the final placement of the label relative to the point. Eg, if the label is placed to the left of the point then the label will be right aligned, and if it is placed to the right of the point then the label will be left aligned. This greatly improves the appearance of multiline labels for point layers.
  • Map Composer:
  • Feature: Add scalebar sizing mode to fit a desired scalebar width
  • In previous QGISversions it was hard to use graphical scalebars when the range of potential scales was big. The scalebar would either be quickly too wide or too narrow and one had to manually adapt the segment sizes (units per segment) after each scale change. It also meant that graphical scalebars couldn’t be really used in Atlas serial printing or with QGISserver when the final map scale was unknown. With QGIS2.10 one can now set min/max sizes for one segment length in mm and QGISwould automatically adapt the units per segment while still keeping round values.
  • Don’t forget to also set the alignment of the scalebar, esp. if you want it to be centered or right-aligned!
  • This feature was developed by: Sandro Mani (Sourcepole AG)
  • This feature was funded by: Kanton Glarus, Switzerland
  • Programmability:
  • Feature: Improvements for programmers
  • We have made a number of changes and improvements that will be of interest to developers:
  • We have upped the minimum requirement for Qt4 to version 4.8. Qt4 is one of the main C++ toolkits / libraries we use to create QGIS.
  • New QgsStatisticalSummary class for calculating statistics from a list of numbers.
  • Allow changing vector layer data source.
  • Implicit sharing of classes : QgsField, QgsFields, QgsDataDefined, QgsFeature, QgsGeometry.
  • Plugins can now create their own entries in the browser widget with two new classes : QgsDataItemProvider and QgsDataItemProviderRegistry.
  • QGIS Server:
  • Feature: Support for tolerance parameter in WMS GetFeatureInfo requests
  • When using WMS layers served by QGIS Server, you can now specify the tolerance for how far from the click origin GetFeatureInfo requests should be considered. This is important for mobile devices where it is harder to exactly point to features. Before this new feature, it was practically impossible to identify point or line features on a mobile device with QGIS server. You can add the following parameters to your GetFeatureInfo requests:
  • FI_POINT_TOLERANCE=16&FI_LINE_TOLERANCE=8&FI_POLYGON_TOLERANCE=4
  • and change the tolerance values (in pixels) to suit your needs.
  • This feature was developed by: Marco Hugentobler (Sourcepole AG)
  • This feature was funded by: City of Uster, Switzerland
  • Symbology:
  • Feature: Match categories to existing styles
  • Add options under categorised renderer advanced menu to set categories to symbols with a matching name from the style library or an XML style file.
  • Feature: Vary symbol sizes using the graduated renderer
  • Renderers are the subsystem of QGIS that allow you to create rich cartographical representations of your data. A graduated renderer varies the symbology based on a continuously changing value in a vector layer. In previous versions of QGIS you could only vary the colour (e.g. by using a colour along a colour ramp). In QGIS 2.10, the graduated symbol renderer now allows you to to vary size or the colour. For point layers you can vary the point size, for lines you can vary the line width. Polygon layers retain only the ability to vary by colour, line width is not yet supported.
  • This feature was developed by: Vincent Mora (Oslandia)
  • This feature was funded by: Agence de l’eau Adour-Garonne
  • Feature: New option for preventing the automatic clipping of features to the map extent
  • This option (located under the symbol advanced menu) disables the automatic clipping of lines/polygons to the canvas extent. In some cases this clipping results in unfavourable symbology (eg centroid fills where the centroid must always be the actual feature’s centroid).
  • Feature: Size scale and rotation have been removed from the advanced menu
  • We have removed SizeScale and Rotation from `Layer -> Properties -> Symbology tab -> Advanced Menu. You should rather set rotation on a per-symbol layer basis using an expression or field. The expressions used in old projects are converted to symbol level data defined size and angle properties.
  • This feature was developed by: Vincent Mora (Oslandia)
  • This feature was funded by: Agence de l’eau Adour-Garonne
  • Feature: Data defined properties for font marker
  • Most properties of the font marker can now be data defined, including marker size, rotation and character.
  • Feature: Visualise and modify the graduated renderer using a histogram
  • A new histogram tab has been added to the graduated renderer, which shows an interactive histogram of the values from the assigned field or expression. Class breaks can be moved or added using the histogram.
  • This feature was funded by: ADUGA
  • This feature was developed by: Nyall Dawson
  • Feature: Size, rotation and stroke-width expressions at the symbollist level
  • Size and Rotation can be defined by an expression for all symbol levels composing a marker. Width can be defined by an expression for all symbols composing a line.
  • For symbols, a legend is generated for varying sizes. This allows multivariate analysis legend in the case of classified/graduated colors.
  • An assistant, with preview, is accessible through the data defined button to help the user define the size expression. Three methods are available: Flannery, Area and Radius.
  • This feature was developed by: Vincent Mora (Oslandia)
  • This feature was funded by: Agence de l’eau Adour-Garonne
  • Feature: Live layer effects for layers and symbol layers
  • Live layer effects add to the already extensive cartographic capabilities of QGIS by adding the ability to add various render effects into the render chain. With live effects you can do things like placing drop shadows under your symbol, skewing and shearing the rendered symbol. You can also layer these effects one on top of each other and set whether the effect should be progressive (i.e. apply itself to the rendered state thus far) or discrete (by re-injecting the source geometry back into the render chain).
  • Note: This is functionality for advanced users and we should note that overuse of this feature can significantly slow down render times, so you may want to consider having different symbology profiles for your layer - one for generation of production quality maps and one for draft mode.

New in Quantum GIS 2.8.2 (May 11, 2015)

  • Long Term Release:
  • This is a special release since it is designated an ‘LTR’ (Long Term Release). LTR releases will be supported with backported bug fixes for one year, and will be in permanent feature freeze (i.e. no new features will be added, only bug fixes and trivial updates).
  • The purpose of LTR releases is to provide a stable and less frequently changing platform for enterprises and organisations that do not want to deal with updating user skills, training materials etc. more than once per year. The success of the LTR is very much down to you, our beloved users - we need your support to help funding bug fixes and making sure in your support contracts with support providers specify that any bug fixes done on your behalf are applied to the LTR branch as well as our normal development branch.
  • If an LTR is important to you, please consider also directly supporting the QGIS project, or encourage your commercial provider to use LTR as a basis for your enterprise solution so that everyone may benefit from a stable platform that is being continuously improved and refined. Note that for users and organisations that like to live on the frontier, our regular four monthly releases will continue unabated.
  • New Features:
  • QGIS 2.8 is a special release because it includes so many great new features, tweaks and enhancements to make the most popular Free desktop GIS even more feature filled and useful.
  • General:
  • Enter expressions into spin boxes:
  • When editing attributes in the attribute table or forms, you can now enter expressions directly into spin boxes, e.g. 5 * 2.5 and they will be automatically evaluated.
  • Bookmarks can be imported/exported:
  • It is now possible to save / load your bookmarks to a file. This makes it easy to share bookmarked locations, or transfer them between computers.
  • Improvements to expressions:
  • Integer division produces a double when required: Previously dividing two integers in an expression would always result in an integer value, i.e. 5 / 2 = 2. Now the result will always be double when required, so 5 / 2 = 2.5, which is much more expected for users. A new integer divide operator - // has been added to mimic the old behaviour, i.e. 5 // 2 = 2.
  • New ‘if()’ function: There is now a new if(cond, true, false) expression
  • Lazy evaluation for expressions
  • Added get and transform geometry: These new keywords can be used with getFeature for some geometry tests like intersects, crosses, contains, etc.
  • geometry - returns the feature’s geometry
  • transform - returns the transformed geometry
  • Continuous testing framework and QA improvements:
  • In our ongoing quest to improve the stability and quality of QGIS, every commit is now tested against a growing test suite to identify regressions automatically. In the image on the right you can see the list of incoming pull requests on our GitHub page are now automatically annotated with a check or cross based on whether our test suite successfully ran on Travis.ci when the pull request is made or updated.
  • We are also now regularly performing Coverity scans of QGIS codebase. As a result of this, we have identified and fixed over 1000 flagged issues, including memory leaks and potential crashes. QGIS has a defect density of 0.01 wheras the average for programs of similar size is about 1.0.
  • Measure dialog improvements:
  • The measure tool has been improved so that you can now select which units should be used in the measure dialog. There is also a new info section in the dialog that shows which settings are being used during measurement calculations.
  • More responsive browser:
  • In the QGIS Browser items are now expanded in their own threads, speeding up the load time of the browser and making the browser more responsive. Navigating PostGIS sources is now much faster in the browser. The animated snapshot to the right (click image to see the animation) shows the loading of two slow WMS servers in parallel . The browser’s state (tree expansion) is restored on startup.
  • Support for contextual WMS legend graphics:
  • If your WMS server supports contextual legends, you can make use of them in QGIS now too. Contextual legends are getLegendGraphic requests which return only the relevant legend for your current view extent, and thus do not include legend items for things you can’t see in the current map.
  • Custom prefix for joins:
  • You can now define a custom prefix in the joins manager in the layer properties dialog. When using a prefix, the attribute table in will show joined attribute names with your preferred prefix.
  • Support for creation of temporary memory layers:
  • This release add support for creating new temporary scratch layers within QGIS core. Scratch layers can be created in the Layer --> Create layer --> New Temporary Scratch Layer menu option.
  • Support for calculations on selected rows:
  • In the attribute table you can now do calculations on selected rows only thanks to the new button added to the field calculator bar.
  • Advanced digitizing tools:
  • If you ever wished you could digitise lines exactly parallel or at right angles, lock lines to specific angles and so on in QGIS, now you can! The advanced digitizing tools is a port of the CADinput plugin and adds a new panel to QGIS. The panel becomes active when capturing new geometries or geometry parts
  • Improved simplify tool:
  • The simplify tool has been overhauled, adding:
  • OTF reprojection support
  • user can specify exact tolerance (not just non-sense relative value)
  • tolerance can be specified either in map units or layer units or pixels
  • tolerance settings are stored in settings
  • simplify multiple features at once (drag a rectangle instead of just clicking)
  • support for multi-part features
  • statistics about reduction of the number of vertices
  • Snapping improvements:
  • There is a new snapping mode : snap to all layers which makes it quick to enable snapping between all layers. Also the underlying snapping architecture of QGIS has been overhauled making snapping much faster on large projects and improving the precision with which snapping takes place. ​There’s also less confusion with snapping tolerances being to map units or layer units, so those anticipated 1 metre tolerances don’t become 1 degree tolerances without you knowing.
  • Show rule-based renderer’s legend as a tree:
  • Advanced users who leverage QGIS’s rule based renderer system will be pleased to see that the rules are now presented as a tree in the legend. Better still, each node in the tree can be toggled on/off individually providing for great flexibility in which sublayers get rendered in your map.
  • Composer GUI Improvements:
  • View menu option to hide bounding boxes. This allows users to hide the bounding boxes for selected items within a composition. It’s a handy feature for allowing interaction with items while previewing exactly how they will look when the composition is exported, without large boxes blocking the view.
  • Full screen mode for composer
  • Option to toggle display of panels in composer, available by both the view menu, using the shortcut F10 and by pressing Tab when the composer canvas is selected. It’s useful for maximising the space when planning a map layout.
  • Grid improvements:
  • In the composer you now have finer control of frame and annotation display. Previously, for rotated maps or reprojected grids, the composer would draw all coordinates for every map side. This resulted in a mix of latitude/y and longitude/x coordinates showing on a side. Now you can control whether you want all coordinates, latitude only or longitude only for each map frame side. Similar options have also been added for controlling how a map grid frame is divided.
  • New vertical descending direction for annotations. This change adds a new descending vertical direction mode for map grid annotations. Previously only ascending text was supported for vertical annotations.
  • Label item margins:
  • You can now control both horizontal and vertical margins for label items. Previously only a single margin setting would apply to both horizontal and vertical margins. This change allows users to specify different horizontal and vertical margins.
  • You can now specify negative margins for label items, allowing text to be drawn slightly outside of a label item’s bounds. This is desirable for aligning label items with other items while allowing for optical margin alignment for the label type.
  • Python console improvements:
  • You can now drag and drop python scripts into QGIS window and they will be executed automatically. We also added a toolbar icon to the plugins toolbar and a shortcut ( Ctrl-Alt-P ) for quick access to the python console.
  • New geometric predicate parameter type:
  • With this new parameter type, used in Select by location, Extract by location and Join attributes by location algorithms, the user can select precisely the spatial operator to use.
  • New algorithms:
  • A number of new algorithms have been added to the processing framework:
  • Regular points algorithm (addresses #5953)
  • Symetrical difference algorithm (addresses #5953)
  • Vector split algorithm (addresses #5953)
  • Vector grid algorithm (addresses #5953)
  • Hypsometric curves calculation algorithm
  • Split lines with lines
  • Refactor fields attributes manipulation algorithm
  • Add comment functionality to expressions:
  • Comments can now be added to expressions using an SQL style -- prefix.
  • Custom expression function editor:
  • You can now define custom expression functions in the expression widget.
  • Qt5 support:
  • QGIS can now be built using Qt5 libraries. Note that currently most binaries will still with Qt4 by default.
  • Bulk loading spatial index:
  • In the API we have added support for bulk loading of spatial index. This is much faster way of initializing a spatial index. From python it is as simple as:
  • index = QgsSpatialIndex( layer.getFeatures() )
  • From a simple test with 50K points in a memory layer:
  • bulk loading ~ 100 ms
  • inserting features ~ 600 ms
  • The index tree should be also in theory be better constructed and may result in faster lookups.
  • Run only the selected part of a SQL query:
  • In the DB Manager SQL editor, it is now possible to highlight a portion of the SQL and only that portion will be executed when you press F5 or click the run button
  • Server python plugins:
  • Python plugins support for QGIS server brings the power of python to server side, allowing for fast and efficient development and deployment of new features.
  • Support for layer styles:
  • QGIS Server now supports predefined layer styles in GetMap requests
  • QGIS Server now supports multiple styles in GetStyles request (see symbology section below)
  • Add DescribeLayer Method to WMS:
  • Styled Layer Descriptor profile of the Web Map Service : DescribeLayer
  • Defining a user-defined style requires information about the features being symbolized, or at least their feature/coverage type. Since user-defined styles can be applied to a named layer, there needs to be a mechanism by which a client can obtain feature/coverage-type information for a named layer. This is another example of bridging the gap between the WMS concepts of layers and styles and WFS/WCS concepts such as feature-type and coverage layer. To allow this, a WMS may optionally support the DescribeLayer request.
  • DescribeLayer method has been thought to be a better approach than overloading the WMS capabilities document even more.
  • For each named layer, the description should indicate if it is indeed based on feature data and if so it should indicate the WFS/WCS (by a URL prefix) and the feature/coverage types. Note that it is perfectly valid for a named layer not to be describable in this way.
  • Raster image fill type:
  • This new symbol layer type allows for filling polygons with a (tiled) raster image.
  • Options include (data defined) file name, opacity, image size (in pixels, mm or map units), coordinate mode (feature or view), and rotation.
  • Live heatmap renderer:
  • The new heatmap vector layer renderer allows for live, dynamic heatmaps for point layers.
  • Options include specifying heatmap radius in pixels, mm or map units, choice of color ramp,weighting points by field, and a slider for selecting a tradeoff between render speed and quality.
  • Multiple styles per layer:
  • It is now possible to set multiple styles for a layer and then easily toggle between them. This functionality is available in the legend context menu --> styles sub-menu where it is possible to add/remove styles and quickly switch between them. Layer sets remember styles, and different styles can also be applied to individual composer map items. The multiple styles defined are also available when the project is served via QGIS Server as a WMS layer. For more information on this see also this blog post.
  • More data-defined symbology settings:
  • The user interface for data defined symbology settings has been improved - moving the data defined option next to each data definable property (in keeping with other parts of QGIS such as the labeling properties). Also many new properties have been made data definable for symbology. This user interface improvement also provides a way to immediately see if a data defined override is defined as well as easier access to the data-defined settings.
  • DXF export: improve marker symbol export:
  • The exporter functionality for DXF files has been improved, with better fidelity of exported marker symbols to the original QGIS symbology.
  • Map rotation in canvas, improved rotation in composer:
  • This release includes preliminary support for rotation in the map canvas. You can rotate the canvas using the new rotation widget in the status bar. Rotation support has been extended into the map composer too so that it correctly handles labelling and symbology, etc.
  • Improved/consistent projection selection:
  • All dialogs now use a consistent projection selection widget, which allows for quickly selecting from recently used and standard project/QGIS projections.

New in Quantum GIS 2.0.1 (Sep 28, 2013)

  • User Interface:
  • New icon theme: We have updated our icon theme to use the ‘GIS’ theme introducing an improved level of consistency and professionalism to the QGIS user interface.
  • Side tabs, collapsable groups: We have standardised the layout of tabs and introduced collapsible group boxes into many of our dialogs to make navigating the various options more easy, and to make better use of screen real estate.
  • Soft notifications: In many cases we want to tell you something, but we don’t want to stop your work or get in your way. With the new notification system QGIS can let you know about important information via a message bar (colour depends on the importance of the message) that appears at the top of the map canvas but doesn’t force you to deal with it if you are busy doing something else. Programmers can create these notification (e.g. from a plugin) too using our python API.
  • Application custom font and Qt stylesheet: The system font used for the application’s user interface can now be set. Any C++ or Python plugin that is a child of the QGIS GUI application or has copied/applied the application’s GUI stylesheet can inherit its styling, which is useful for GUI fixes across platforms and when using custom QGIS Qt widgets, like QgsCollapsibleGroupBox.
  • Live color chooser dialogs and buttons: Every color chooser button throughout the interface has been updated to give visual feedback on whether the current color has a transparent, or ‘alpha,’ component. The color chooser opened by the new color buttons will now always be the default for the operating system. If the user has Use live-updating color chooser dialogs checked under Options -> General -> Application, any change in the color chooser will immediately be shown in the color button and for any item currently being edited, where applicable.
  • SVG Annotations: With QGIS 2.0 you can now add SVG annotations to your map - either pinned to a specific place or in a relative position over the map canvas.
  • Data Provider:
  • Oracle Spatial support: QGIS 2.0 now includes Oracle Spatial support.
  • Web Coverage Service provider added: QGIS now provides native support for Web Coverage Service layers - the process for adding WCS is similar to adding a WMS layer or WFS layer.
  • Raster Data Provider overhaul: The raster data provider system has been completely overhauled. One of the best new features stemming from this work is the ability to ‘Layer -> Save As...’ to save any raster layer as a new layer. In the process you can clip, resample, and reproject the layer to a new Coordinate Reference System. You can also save a raster layer as a rendered image so if you for example have single band raster that you have applied a colour palette to, you can save the rendered layer out to a georeferenced RGB layer.
  • Raster 2% cumulative cut by default: Many raster imagery products have a large number of outliers which result in images having a washed out appearance. QGIS 2.0 intoduces much more fine grained control over the rendering behaviour of rasters, including using a 2% - 98% percent cumulative cut by default when determining the colour space for the image. The image here shows QGIS 1.8 (left) versus QGIS 2.0 (right) when rendering the same image with default settings.
  • WMS identify format: It is now possible to select the format of the identify tool result for WMS layers if multiple known formats are supported by the server. The supported formats are HTML, feature (GML) and plain text. If the feature (GML) format is selected, the result is in the same form as for vector layers, the geometry may be highlighted and the feature including attributes and geometry may be copied to clipboard and pasted to another layer.
  • WMTS Support: The WMS client in QGIS now supports WMTS (Web Mapping Tile Service) including selection of sub-datasets such as time slices. When adding a WMS layer from a compliant server, you will be prompted to select the time slice to display.
  • Symbology:
  • Data defined properties: With the new data defined properties, it is possible to control symbol type, size, color, rotation, and many other properties through feature attributes.
  • Improved symbol layer management: The new symbol layer overview uses a clear, tree-structured layout which allows for easy and fast access to all symbol layers.
  • Support for transparency in colour definitions: In most places where you select colours, QGIS now allows you to specify the alpha channel (which determins how transparent the colour should be). This allows you to create great looking maps and to hide data easily that you don’t want users to see.
  • Color Control for Raster Layers: QGIS 2.0 allows you to precisely control exactly how you’d like raster layers to appear. You now have complete control over the brightness, contrast and saturation of raster layers. There’s even options to allow display of rasters in grayscale or by colorising with a specified color.
  • Copy symbology between layers: Its now super easy to copy symbology from one layer to another layer. If you are working with several similar layer, you can simply right-click on one layer, choose Copy Style from the context menu and then right-click on another layer and choose Paste-Style.
  • Save styles in your database: If you are using a database vector data store, you can now store the layer style definitions directly in the database. This makes it easy to share styled layers in an enterprise or multi-user environment.
  • Colour ramp support: Colour ramps are now available in many places in QGIS symbology settings and QGIS ships with a rich, extensible set of colour ramps. You can also design your own and many cpt-city themes are included in QGIS now ‘out of the box’. Color ramps even have full support for transparency!
  • Set custom default styles for all layer types: Now QGIS lets you control how new layers will be drawn when they do not have an existing .qml style defined. You can also set the default transparency level for new layers and whether symbols should have random colours assigned to them.
  • Map Composer:
  • HTML Map Items: You can now place html elements onto your map.
  • Auto snap lines: Having nicely align map items is critical to making nice printed maps. Auto snapping lines have been added to allow for easy composer object alignment by simply dragging an object close to another.
  • Manual Snap Lines: Sometimes you need to align objects a curtain distance on the composer. With the new manual snapping lines you are able to add manual snap lines which allow for better align objects using a common alignment. Simply drag from the top or side ruler to add new guide line.
  • Map series generation: Ever needed to generate a map series? Of course you have. The composer now includes built in map series generation using the atlas feature. Coverage layers can be points, lines, polygons, and the current feature attribute data is available in labels for on the fly value replacement.
  • Multipage support: A single composer window can now contain more then one page.
  • Expressions in composer labels: The composer label item in 1.8 was quite limited and only allowed a single token $CURRENT_DATE to be used. In 2.0 full expression support has been added too greater power and control of the final labels.
  • Automatic overview support in map frame: Need to show the current area of the main map frame in a smaller overview window. Now you can. The map frame now contains the ability to show the extents of other and will update when moved. Using this with the atlas generation feature now core in the composer allows for some slick map generation. Overview frame style uses the same styling as a normal map polygon object so your creativity is never restricted.
  • Layer blending: Layer blending makes it possible to combine layers in new and exciting ways. While in older versions, all you could do was to make the layer transparent, you can now choose between much more advanced options such as “multiply”, “darken only”, and many more. Blending can be used in the normal map view as well as in print composer. For a short tutorial on how to use blending in print composer to make the most out of background images, see “Vintage map design using QGIS”.
  • HTML Label support: HTML support has been added map composer label item to give you even more control over your final maps. HTML labels support full css styles sheets, html, and even javascript if you are that way inclined.
  • Multicolumn composer legend: The composer legend now supports multiple columns. Splitting of a single layer with many classes into multiple columns is optional. Single symbol layers are now added by default as single line item. Three different styles may be assigned to layer/group title: Group, Subgroup or Hidden. Title styles allow arbitrary visual grouping of items. For example, a single symbol layer may be displayed as single line item or with layer title (like in 1.8), symbols from multiple following layers may be grouped into a single group (hiding titles) etc. Feature counts may be added to labels.
  • Updates to map composer management: The following improvements have been made to map composer management:
  • Composer name can now be defined upon creation, optionally choosing to start from other composer names
  • Composers can now be duplicated
  • New from Template and from Specific (in Composer Manager) creates a composer from a template located anywhere on the filesystem
  • Parent project can now be saved directly from the composer work space
  • All composer management actions now accessible directly from the composer work space
  • Labelling:
  • New labelling system: The labelling system has been totally overhauled - it now includes many new features such as drop shadows, ‘highway shields’, many more data bound options, and various performance enhancements. We are slowly doing away with the ‘old labels’ system, although you will still find that functionality available for this release, you should expect that it will disappear in a follow up release.
  • Expression based label properties: The full power of normal label and rule expressions can now be used for label properties. Nearly every property can be defined with an expression or field value giving you more control over the label result. Expressions can refer to a field (e.g. set the font size to the value of the field ‘font’) or can include more complex logic.
  • Older labelling engine deprecated: Use of the older labelling engine available in QGIS New from template menu.
  • System environment variables: Current system environment variables can now be viewed and many configured within the application Options dialog. Useful for platforms, such as Mac, where a GUI application does not necessarily inherit the user’s shell environment. Also useful for setting/viewing environment variables for the external tool sets controlled by the processing toolbox, e.g. SAGA, GRASS; and, for turning on debugging output for specific sections of the source code.
  • User-defined zoom scales: A listing of zoom scales can now be configured for the application and optionally overridden per project. The list will show up in the Scale popup combo box in the main window status bar, allowing for quick access to known scales for efficiently viewing and working with the current data sources. Defined scales can be exported to an XML file that can be imported into other projects or another QGIS application.
  • General:
  • Quantum GIS is now known only as ‘QGIS’: The ‘Quantum’ in ‘Quantum GIS’ never had any particular significance and the duality of referring to our project as both Quantum GIS and QGIS caused some confusion. We are streamlining our project and as part of that process we are officially dropping the use of the word Quantum - henceforth we will be known only as QGIS (spelled with all letters in upper case). We will be updating all our code and publicity material to reflect this.
  • Layer Legend:
  • Legend visual feedback and options
  • Total count for features in layer, as well as per symbol
  • Vector layers in edit mode now have a red pencil to indicate uncommitted (unsaved) edits
  • Active layer is now underlined, to indicate it in multi-layer selections or when there is no selection
  • Clicking in non-list-item whitespace now clears the selection
  • Right-clicks are now treated as left-clicks prior to showing the contextual menu, allowing for one click instead of two
  • Groups and layers can optionally be in a bold font style
  • Raster layer generated preview icons can now be turned off, for projects where such rendering may be slow
  • Duplicate existing map layer: Duplicate selected vector and raster layers in the map layer legend. Similar to importing the same data source again, as a separate layer, then copy/pasting style and symbology attributes.
  • Multi-layer toggle editing commands: User can now select multiple layers in legend and, if any of those are vector layers in edit mode, choose to save, rollback, or cancel current uncommitted edits. User can also choose to apply those actions across all layers, regardless of selection.
  • Browser:
  • Improvements to in-app browser panel:
  • Directories can be filtered by wildcard or regex expressions
  • New Project home (parent directory of current project)
  • View Properties of the selected directory in a dialog
  • Choose which directories to Fast scan
  • Choose to Add a directory directly to Favourites via filesystem browse dialog
  • New /Volumes on Mac (hidden directory for access to external drives)
  • New OWS group (collation of available map server connections)
  • Open a second browser (View -> Panels -> Browser (2)) for drag-n-drop interactions between browser panels
  • Icons now sorted by item group type (filesystem, databases, map servers)
  • Layer Properties now have better visual layout

New in Quantum GIS 1.8.0 (Jul 21, 2012)

  • QGIS Browser: a stand alone app and a new panel in QGIS. The browser lets you easily navigate your file system and connection based (PostGIS, WFS etc.) datasets, preview them and drag and drop items into the canvas.
  • DB Manager: the DB manager is now officially part of QGIS core. You can drag layers from the QGIS Browser into DB Manager and it will import your layer into your spatial database. Drag and drop tables between spatial databases and they will get imported. You can use the DB Manager to execute SQL queries against your spatial database and then view the spatial output for queries by adding the results to QGIS as a query layer. You can also create, edit, delete, and empty tables, and move them to another schema.
  • Importing a layer into a database between QGIS Browser and DB Manager.
  • Importing a layer into a SpatiaLite database from a PostGIS database in DB Manager.
  • New symbol layer types: Line Pattern Fill, Point Pattern Fill.
  • Examples of point and line fills.
  • Terrain Analysis Plugin: a new core plugin was added for doing terrain analysis - and it can make really good looking colored relief maps.
  • Colored relief map created with the new plugin.
  • Ellipse renderer: a new symbol layer type to render ellipse shapes (and also rectangles, triangles, crosses) by specifying width and height. Moreover, the symbol layer allows you to set all parameters (width, height, colors, rotation, outline with) from data fields, in mm or map units.
  • Examples of symbols that can be rendered.
  • Support for nesting projects within other projects: embed content from other project files.
  • The menu item to embed content.
  • Select content from another project in this dialog.
  • Layer grouping: Option to add layers to selected or active group.
  • The new, convenient layer grouping method.
  • Message log: Lets you keep an eye on the messages QGIS generates during loading and operation.
  • New message log window.
  • Customization: Allows setting up simplified QGIS interface by hiding various components of main window and widgets in dialogs.
  • The list of elements to select from.
  • Action Tool: accessible from the map tools toolbar. It allows you to click on a vector feature and execute an action.
  • Configure an action
  • Activate the action tool and click on a feature ...
  • to execute the action.
  • New scale selector: select from a list of predefined scales
  • Select a predefined scale, or enter your own as before.
  • Pan To Selected tool: Pans the map to selected feature(s); does not change the zoom level.
  • The toolbar icon for the new tool.
  • Copy and paste styles between layers
  • The menu item to copy a style.
  • Updated CRS selector dialog
  • The new dialog.
  • New plugin repository: Note that the old repository is now no longer supported by default; plugin authors are kindly requested to move their plugins to the new repository.
  • The new repository's pretty (inter)face!
  • Legend-independent drawing order: The order seen in the legend can be different from the display order. This allows you to order your layers in order of importance, for example, but to still display them in the correct order.
  • The new layer order list is optional. Checking the "control rendering order" box underneath the list of layers will cause a revert to default behavior.
  • Other noteworthy changes with this release:
  • Action Tool - now there is a tool on the map tools toolbar that will allow you to click on a vector feature and execute an action.
  • MSSQL Spatial Support - you can now connect to your Microsoft SQL Server spatial databases using QGIS.
  • Composers - have multiple lines on legend items using a specified character
  • Expression based labelling
  • Heatmap tool - a new core plugin has been added for generating raster heatmaps from point data. You may need to activate this plugin using the plugin manager.
  • GPS Tracking - The GPS live tracking user interface was overhauled and many fixes and improvements were added to it.
  • Menu Re-organisation - The menus were re-organised a little - we now have separate menus for Vector and Raster and many plugins were updated to place their menus in the new Vector and Raster top level menus.
  • Offset Curves - a new digitising tool for creating offset curves was added.
  • Option to add layers to selected or active group
  • New tools in Vector menu - densify geoemtries, Build spatial index
  • Export/add geometry column tool can export info using layer CRS, project CRS or ellipsoidal measurements
  • Model/view based tree for rules in rule-based renderer
  • Improvements in Spatial Bookmarks
  • Plugin metadata in metadata.txt
  • Refactored postgres data provider: support for arbitrary key (including non-numeric and multi column), support for requesting a certain geometry type and/or srid in QgsDataSourceURI
  • Added gdal_fillnodata to GDALTools plugin
  • Support for PostGIS TopoGeometry datatype
  • Python bindings for vector field symbol layer and general updates to the python bindings.
  • Benchmark program
  • Row cache for attribute table
  • UUID generation widget for attribute table
  • Added support of editable views in SpatiaLite databases
  • Expression based widget in field calculator
  • Creation of event layers in analysis lib using linear referencing
  • Load/save layer style (new symbology) from/to SLD document
  • WFS support in QGIS Server
  • Option to skip WKT geometry when copying from attribute table
  • Support for zipped and gzipped layers
  • Test suite now passes all tests on major platforms and nightly tests
  • Set tile size for WMS layers

New in Quantum GIS 1.7.4 (Apr 17, 2012)

  • Line intersection non fatal error
  • Use native Separators in Filename-edit-widget
  • 'Save as...DXF' does not add file extension
  • Ftools: Input layers are not presented in alphabetical order
  • Use project title as default filename in Save and Save as dialogs
  • GPS plugin: 'Save as...' does not add file extension
  • Remove "unsynced" EPSG CRS that are not listed in GDAL
  • Enable wait cursor when WMS search is ongoing
  • Add support for modulo operator (%) in rule based rendering
  • GRASS Rasters are not drawn with user-defined style
  • Fix crash when project is not yet saved
  • 'Stretch Histogram to full dataset' toolbar button does not work with GRASS rasters
  • More precise composer map rotation
  • Fix label orientation with line dependent position
  • Fix Query builder from layer properties when layer name in cyrrilic
  • Skip attribute values with invalid variant type
  • Update QgsGenericProjectionSelector bindings
  • GDAL provider: add statusChanged signal and fix debugging output
  • If set 'prompt for CRS', CRS is asked when creating new shapefile layer
  • Hourglass not shown when classifying
  • Actions using %% do not work from identify results
  • Editing of table of attributes goes Wild
  • Crash when applying a graduated vector style
  • Gps Tools: Allow user to add new ports
  • QGIS crashes displaying overview if diagrams are used
  • Identify tool does not work with reprojected WMS layers
  • Query builder: added ' ' around numeric fields (wrong)
  • Allow up to 5 decimal places for width/size Scale Field
  • Support for cyrillic symbols in raster metadata
  • Enhancements in OGR Provider
  • Show warning when user tried to create field 'shape' in shapefile
  • Do not create the .gislock file under Windows (as native GRASS now does)
  • Several Nodetool fixes
  • Crash when adding field to a shape file's attribute table
  • There is no default value of Categorized symbol in new symbology
  • Always save last used directory in Raster terrain analysis plugin
  • Fix Union tool to produce correct attribute table
  • Save last used directory and last used filter in GPSTools plugin
  • (partial) Remember dialog size and position and restore them
  • Display real band number for multiband rasters when single band gray drawing style used
  • Display plugins from additional paths in Plugin Manager
  • Use native file dialogs wherever possible
  • Increase scale range
  • Fix highlighting for identify tool when OTF enabled
  • Attribute table edit button: only changes to columns are refreshed when Discarding changes
  • Save-as to 'original CRS' incorrectly reprojects if OTF reprojection is disabled
  • Fix Intersect lines tool
  • Make the GRASS plugin working with GRASS 6.4.2RC2
  • Make r.sunmask.position and r.sunmask.datetime work
  • Enable toggle editing button depending on layer type
  • minor UI fix in New SpatiaLite Layer dialog
  • Merge shapefile to one crash when used layers mode
  • Reload default color table
  • Fix for attribute shift in form when invoked from table
  • Postgres provider: remove ctid limitation to 32bit
  • Add extension to new SpatiaLite database if user ommits it
  • Disable rendering while legend group is removed
  • Query builder: support null values in values lists
  • Avoid useless canvas redraw when user interacts with scale selector
  • Clear collected plugins path before collecting svg path
  • Case insensitive search for CRS in WMS provider
  • New icons for RGB to PCT and PCT to RGB tools
  • New gis theme icon for Merge shapefiles tool
  • Several other small fixes
  • Improved and updated Translation

New in Quantum GIS 1.7.0 (Sep 1, 2011)

  • Symbology labels and diagrams:
  • New symbology now used by default!
  • Diagram system that uses the same smart placement system as labeling-ng
  • Export and import of styles (symbology-ng).
  • Labels for rules in rule-based renderers.
  • Font marker can have an X,Y offset.
  • Line symbology
  • Option to put marker on the central point of a line.
  • Option to put marker only on first/last vertex of a line.
  • Allow the marker line symbol layer to draw markers on each vertex.
  • Polygon symbology
  • Rotation for svg fills.
  • Added "centroid fill" symbol layer which draws a marker on polygon's centroid.
  • Allow the line symbol layers to be used for outline of polygon (fill) symbols.
  • Labels
  • Ability to set label distance in map units.
  • Move/rotate/change label edit tools to interactively change data defined label properties.
  • New Tools:
  • Added GUI for gdaldem.
  • Added field calculator with functions like $x, $y and $perimeter.
  • Added 'Lines to polygons' tool to vector menu.
  • Added voronoi polygon tool to Vector menu.
  • User interface updates:
  • Allow managing missing layers in a list.
  • Zoom to group of layers.
  • 'Tip of the day' on startup. You can en/disable tips in the options panel.
  • Better organisation of menus, separate database menu added.
  • Add ability to show number of features in legend classes. Accessible via right-click legend menu.
  • General clean-ups and usability improvements.
  • CRS Handling:
  • Show active crs in status bar.
  • Select default CRS for new projects.
  • Allow setting CRS for multiple layers at once.
  • Default to last selection when prompting for CRS.
  • Rasters:
  • Added AND and OR operator for raster calculator
  • '''On-the-fly reprojection of rasters added!'''
  • Proper implementation of raster providers.
  • Added raster toolbar with histogram stretch functions.
  • Providers and Data Handling:
  • New SQLAnywhere vector provider.
  • Table join support
  • Feature form updates
  • Make NULL value string representation configurable.
  • Fix feature updates in feature form from attribute table.
  • Add support for NULL values in value maps (comboboxes).
  • Use layer names instead of ids in drop down list when loading value maps from layers.
  • Support feature form expression fields: line edits on the form which name prefix "expr_" are evaluated. Their value is interpreted as field calculator string and replaced with the calculated value.
  • Support searching for NULL in attribute table.
  • Attribute editing improvements
  • Improved interactive attribute editing in table (adding/deleting features, attribute update).
  • Allow adding of geometryless features.
  • Fixed attribute undo/redo.
  • Improved attribute handling.
  • Optionally re-use entered attribute values for next digitized feature.
  • Allow merging/assigning attribute values to a set of features.
  • Allow OGR 'save as' without attributes (for eg. DGN/DXF).
  • Api and Developer Centric:
  • Refactored attribute dialog calls to QgsFeatureAttribute.
  • Added QgsVectorLayer::featureAdded signal.
  • Layer menu function added.
  • Added option to load c++ plugins from user specified directories. Requires application restart to activate.
  • Completely new geometry checking tool for fTools. Significantly faster, more relevant error messages, and now supports zooming to errors. See the new QgsGeometry.validateGeometry function
  • QGIS Server:
  • Ability to specify wms service capabilities in the properties section of the project file (instead of wms_metadata.xml file).
  • Support for wms printing with GetPrint-Request.
  • Plugins:
  • Support for icons of plugins in the plugin manager dialog
  • Removed quickprint plugin - use easyprint plugin rather from plugin repo.
  • Removed ogr convertor plugin - use 'save as' context menu rather.
  • Printing
  • Undo/Redo support for the print composer

New in Quantum GIS 1.6.0 (Mar 14, 2011)

  • General Improvements:
  • Added gpsd support to live gps tracking.
  • A new plugin has been included that allows for offline editing.
  • Field calculator will now insert NULL feature value in case of calculation error instead of stopping and reverting calculation for all features.
  • Allow user specific PROJ.4 search paths and update srs.db to include grid reference.
  • Added a native (C++) raster calculator implementation which can deal with large rasters efficiently.
  • Improved interaction with extents widget in statusbar so that the text contents of the widget can be copied and pasted.
  • Many improvements and new operators to the vector attribute table field calculator including field concatenation, row counter etc.
  • Added --configpath option that overrides the default path (~/.qgis) for user configuration and forces QSettings to use this directory, too. This allows users to e.g. carry QGIS installation on a flash drive together with all plugins and settings.
  • Experimental WFS-T support. Additionally ported wfs to network manager.
  • Georeferencer has had many tidy ups and improvements.
  • Support for long int in attribute dialog and editor.
  • The QGIS Mapserver project has been incorporated into the main SVN repository and packages are being made available. QGIS Mapserver allows you to serve your QGIS project files via the OGC WMS protocol. Read More
  • Select and measure toolbar flyouts and submenus.
  • Support has been added for non-spatial tables (currently OGR, delimited text and PostgreSQL providers). These tables can be used for field lookups or just generally browsed and edited using the table view.
  • Added search string support for feature ids ($id) and various other search related improvements.
  • Added reload method to map layers and provider interface. Like this, caching providers (currently WMS and WFS) can synchronize with changes in the datasource.
  • Table of contents (TOC) improvements:
  • Added a new option to the raster legend menu that will stretch the current layer using the min and max pixel values of the current extent.
  • When writing shape files using the table of contents context menu's 'Save as' option, you can now specify OGR creation options.
  • In the table of contents, it is now possible to select and remove several layers at once.
  • Labelling (New generation only):
  • Data defined label position in labeling-ng.
  • Line wrapping, data defined font and buffer settings for labeling-ng.
  • Layer properties and symbology:
  • Three new classification modes added to graduated symbol renderer (version 2), including Natural Breaks (Jenks), Standard Deviations, and Pretty Breaks (based on pretty from the R statistical environment). Read More
  • Improved loading speed of the symbol properties dialog.
  • Data-defined rotation and size for categorized and graduated renderer (symbology-ng).
  • Use size scale also for line symbols to modify line width.
  • Replaced raster histogram implementation with one based on Qwt. Added option to save histogram as image file. Show actual pixel values on x axis of raster histogram.
  • Added ability to interactively select pixels from the canvas to populate the transparency table in the raster layer properties dialog.
  • Allow creation of color ramps in vector color ramp combo box.
  • Added "style manager..." button to symbol selector so that users will find the style manager more easily.
  • Map Composer:
  • Added capability to show and manipulate composer item width/ height in item position dialog.
  • Composer items can now be deleted with the backspace key.
  • Sorting for composer attribute table (several columns and ascending / descending).

New in Quantum GIS 1.5.0 (Mar 14, 2011)

  • Main GUI:
  • There is a new angle measuring tool that allows you to interactively measure angles against the map backdrop.
  • Live GPS Tracking tool
  • User configurable WMS search server
  • Allow editing of invalid geometry in node tool
  • Choice between mm and map units for new symbology. Scaling to use new symbology in print composer as well
  • SVG fill symbol layer for polygon textures
  • Font marker symbol layer
  • Added --noplugins command line options to avoid restoring the plugins. Useful when a plugin misbehaves and causes QGIS to crash during startup
  • Allow hiding of deprecated CRSes
  • Add point displacement renderer plugin - allows points to be shifted to avoid colliding with other points
  • Allow saving vector layers as ogr vector files
  • Raster provider: reduce debugging noise
  • Allow adding parts to multi points and lines
  • Text and form annotation tools are now in gui and app
  • Added possibility to place a set of default composer templates in pkgDataPath/composer_templates
  • Gradient color ramps now support multiple stops - for adding intermediate colors
  • Center map if user clicks into the map
  • New plugin for carrying out spatial selections
  • Data-defined size and rotation for single symbol renderer in symbology-ng
  • IdentifyAsHtml to raster layer and use it in identify
  • Export legend groups and layers with legendinterface and use this information to display groups in the composer legend.
  • Show selected feature count in status bar
  • Query option added to layer menu to subset vector layers
  • Option to label only selected features (on the 'old' labelling tool)
  • Load/save queries created in the query builder.
  • Manual adding of categories in symbology-ng.
  • Georeferencer: possibility to configure if residuals should be showed in pixels or map units
  • Delimited text provider: allow empty values in numeric columns
  • Added rule-based renderer for symbology-ng
  • Ability to create spatial lite databases from within QGIS
  • Inclusion of GDAL Raster tools plugin into QGIS core
  • New python console (with history)
  • Add validation to capture tool
  • Allow postgres layers without saved username & password by asking for credentials
  • Support NULL values in search strings
  • Optionally add new layers to the selected group
  • Map composer can add attribute Tables in layouts. It is possibile to show only visible features in composer table or all features
  • Identify tool attribute form now non-modal in view mode (since r12796)
  • Identified features' highlight disappear when window is deactivate or closed and reappears when reactivated.
  • WMS and WMS-C Support:
  • WMS-C support, new spatial authorities, wms selection improvements
  • Resolved EPSG dependency in spatial reference systems and included french IGNF definitions in srs.db
  • WWM provider makes requests asynchronously through QNetworkAccessManager now
  • WMS selection allows inserting of all layers of a branch
  • WMS has support for more mime types
  • Added load/save to WMS dialog
  • WMS-C scale slider gui added and more selection improvements
  • API Updates:
  • QgsDataProvider & QgsMapLayer: add dataChanged() signal, so that a provider can signal that the datasource changed
  • Use QNetworkAccessManager instead of QgsHttpTransaction (including caching and dynamic authentification to website and proxies)
  • Allow opening layer properties from plugins
  • Support for custom plugin layers.
  • Allow refreshing of plugins programmatically
  • Support for custom plugin directories using QGIS_PLUGINPATH environment variables. More paths can be passed, separated by semicolon.
  • Legend interface added to retrieve layers in legend order
  • Support more GEOS operators

New in Quantum GIS 1.4.0 (Mar 14, 2011)

  • Plugin Installer polishing, updates, new repositories for the 1.x
  • add usb: to list of gps device on linux
  • rotate point tool (r11671)
  • Round rotation to 15 degree values if ctrl-key is pressed
  • attribute table: report number of matching rows in status bar
  • Show point symbol in rotation preview and a little arrow.
  • Cache is default preview mode for newly added composer map now
  • Usability improvements to the new vector layer dialog
  • Remove confusing descriptions in the Options dialog
  • Inject a bit of layman into field names to help those not familiar with computer terms
  • plugin installer update: more default repos
  • Use snapping settings of digitizing module also for measuring
  • field calculator (r11735)
  • Use nicer looking resize boxes in print composer
  • HIG compliance for composer and its dialogs
  • HIG compliance for Identfy Mode
  • HIG compliance for snap mode combo list
  • User interface cleanups to copyright, delim text and n-arrow plugins
  • plugin installer update: handle ports != 80
  • Fix for shifted values in interpolation plugin
  • wider support for vector layer queries:
  • grass plugin update and typos:
  • Add export to pdf to composer menu
  • Patch from Borys to fix resizing of the min-max combo boxes
  • allow entering of srid up to 1000000000
  • Possibility to have annotations horizontally or vertically in the composer grid
  • Grid annotation can be with coordinates or 1A, 1B, ...
  • Checkbox to set composer grid widget visible / invisible
  • Allow field calculator also for layers where adding new fields is not possible (user will have to use one of the existing fields)
  • support user specific svg path in the map composer
  • Possibility to choose the precision of composer grid annotations
  • Possibility to add/remove attributes also in attribute table. Small modification to attribute table such that adding / removing columns is visible
  • Dont show all other file types as it makes the dialog box unusable on many screens
  • Rename option to lock layers
  • Move composers menu into the file menu
  • make database (aka SID) optional for OCI connections
  • Allow more decimal places in interpolator plugin
  • Use horizontal layout for interp plugin
  • Lots of Gui layout cleanups
  • change 'Tools' menu to 'Vector' menu
  • Cubic tin interpolation in interpolation plugin
  • zonal statistics (r11931)
  • coordinate capture cleanup (r11939,r11944)
  • bunch of string updates
  • Further ui cleanups for map composer
  • mapserver patch issues and updates for mapserver export plugin
  • Added 50 more North arrow, made and donated by Silvio Grosso
  • add numeric validator field width and precision in new vector dialog
  • Add save to / load from template actions to composer file menu
  • Change rotate point icon on theme change
  • udpate to fTools basics stats plugin. Adds new statistics/outputs to basic statistics plugin
  • add overlay analyzer
  • Added newgis theme which is a revision by Anita Graser of the original GIS theme by Robert
  • north arrow cleanup
  • ui cleanup to buttonbox. small ui update in messageviewer
  • changed OK button to Open as it's a open dialog
  • Initialize portrait / landscape in print dialog based on composition width and height
  • Layout cleanups for actions widget
  • Symbology-NG branch merged to trunk. This includes also work on labeling done during my GSoC'09
  • labeling plugin
  • Add a new composer item to draw basic shapes (atm ellipse, rectangle, triangle)
  • More options for v.buffer
  • Better preview for composer picture
  • Vector layer properties dialog can convert layer to new/old symbology
  • Implement property list ui for raster props dialog
  • Add arrow icon to image resource file
  • shapefile projection fix: save the real projection in .qpj next to the .prj file
  • Added AGG output format to mapserver export
  • Make spatial lite dialog smaller
  • Configure shortcuts dialog
  • Make labeling plugin work with on-the-fly projections
  • also remove highlights when identify results is closed with the close button
  • enable test and clear to search query builder
  • Updated various GRASS modules. Closes #2229 and #2046, Applied #2004
  • Plugin installer update: one-step plugin install and uninstall in QGIS>=1.4

New in Quantum GIS 0.8.1 (Jun 20, 2007)

  • Numerous bug fixes
  • Improvements in how segment lengths appear in the measure tool. The current segment length is shown/updated in the list of segments
  • Improvement to zoom-in speed for rasters
  • Improve line/area measuring behaviour when the user has been informed that they are probably using the wrong projection for the map canvas
  • Added tooltips to the scale and coordinate position displays in the status bar
  • Removed ugly console on WIN32 when not debugging
  • Added icons to all GRASS tools. All GRASS tools are now on the toolbar
  • New GRASS modules added to the GRASS toolbox
  • The GRASS plugin is now fully internationalized
  • Launcher plugin added to core plugins