Changelog for QGIS 3.18

image1

Release date: 2021-02-19

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!

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.

User Interface

Feature: Hide derived attributes from the Identify results

Previously, the QGIS Desktop Identify utility would expose a large number of derived attributes, such as geometry information. Although incredibly valuable, for many use cases this information is verbose. Users will now have the option to toggle the display of derived attributes to create a more concise view of the Identify results.

image2

image3

This feature was developed by Richard Duivenvoorde

Feature: Close all tabs at once from message logs interface

The QgsMessageLogViewer now includes an “Empty tab and close others” to the log viewer panel context menu, supporting a quicker action to a clean interface when debugging.

image4

This feature was developed by Olivier Dalang

Feature: API for layer source widgets

An API has been added in the provider GUI to allow a provider to create a custom widget, which exposes options to customize and change the layer’s source. For example, a file-based layer provider could expose a widget for selecting a new file path, or an online provider could expose widgets for changing the host or authentication information.

Two implementations have been added for this:

  1. A file picker widget for GDAL file-based layers.

  2. A widget for customizing XYZ layer properties.

image5

image6

This feature was developed by Nyall Dawson

Feature: GUI for dynamic SVGs

QGIS now supports dynamic standard vector graphic elements, as outlined in QEP #199. This allows QGIS to dynamically replace attributes or node values in the XML of the SVG and apply data-driven values to SVG elements. QGIS Desktop has additionally added a GUI editor to ensure that users are able to properly leverage this new functionality.

image7

This feature was developed by Denis Rouzaud

Feature: Zoom to multiple layers

The “Zoom to Layer” function available from the context menu, the View menu and the Map Navigation toolbar can now zoom to the extent of all the selected layers in the layer tree.

image8

This feature was developed by Patrice Pineault

Feature: Zoom and pan to selection for multiple layers

The “Zoom to Selection” and “Pan Map to Selection” functions available from the context menu, the View menu or the Map Navigation toolbox now offer the ability to navigate to the extent of the selection from the selected layers in the layer tree.

image9

This feature was developed by Patrice Pineault

Feature: Zoom in/out by scrolling mouse wheel over map overview panel

Users can now zoom in and out from the Map Overview panel using the mouse scroll.

image10

This feature was developed by Mathieu Pellerin

Accessibility

Feature: Improved color vision deficiency simulation

This modifies the previous support for grayscale and LMS-based simulation for protanopia and deuteranopia, bringing it in line with the methodology currently used in Chromium and Firefox. QGIS now uses updated grayscale luminance calculations (renamed to achromatopsia), a precomputed protanopia matrix (renamed from protanope), a precomputed deuteranopia matrix (renamed from deuteranope), and an additional mode for tritanopia using a similarly precomputed matrix.

This feature was developed by Will Cohen

Feature: Rotation widget for the Georeferencer

The georeferencer canvas can now be rotated in order to facilitate the placement of reference points. This is especially useful for scanned images which may not have uniform orientations.

image11

This feature was developed by uclaros

Symbology

Feature: Data defined overall symbol opacity

While it was previously possible to set the opacity for individual symbol layer colors via data defined expressions, it is now possible to set a data defined expression to control the overall symbol opacity.

This feature was developed by Nyall Dawson

Mesh

Feature: New mesh export algorithms

New export options have been added for mesh layers. These allow the following options when exporting a mesh to a vector layer:

  • Export faces

  • Export edges (1D mesh)

  • Export as grid

image13

This feature was funded by Lutra Consulting

This feature was developed by Lutra Consulting (Vincent Cloarec)

Feature: Native export for mesh layers

Previous versions of QGIS required the utilization of the crayfish plugin, however, this functionality has now been incorporated into QGIS core and allows users to export mesh layers to vectors and add the dataset value as an attribute.

image14

This feature was funded by Lutra Consulting

This feature was developed by Lutra Consulting (Vincent Cloarec)

Feature: Mesh simplification for 3D

Mesh data can now be simplified by defining a level of detail for 3D rendering. This helps performance for complex datasets and ensures a smoother experience when 3D navigation is required.

image15

This feature was developed by Vincent Cloarec

Feature: Multiple native mesh processing algorithms

A number of new processing algorithms have been ported from the crayfish plugin, including:

  • Rasterize mesh layer

  • Export contour to vector layers

  • Export cross section to text file (csv)

  • Export time series to text file (csv)

image16

This feature was funded by Lutra Consulting

This feature was developed by Lutra Consulting (Vincent Cloarec)

Rendering

Feature: “Merged feature” renderer for polygon and line layers

A new rendering option allows area and line features to be “dissolved” into a single object prior to rendering to ensure that complex symbols or overlapping features are represented by a uniform and contiguous cartographic symbol.

image17

This feature was developed by Nyall Dawson

Feature: Smarter Map Redraws

Previously, map redraws would attempt to redraw all elements in the frame. The map rendering has been significantly improved and now the existing map frame elements are used during the redraw process. This work was completed as a part of QEP #181 and was funded by the QGIS Grant program for 2020.

The following display outlines the redraw behavior before enhancement:

image18

This feature was funded by QGIS grant 2020

This feature was developed by Lutra Consulting (Peter Petrik)

3D Features

Feature: Eye dome lighting

Eyedome lighting (EDL) is a post-processing effect which compares the depth of each pixel (distance from the camera) with the neighboring pixel depths and highlights edges according to the calculated differences.

An EDL configuration element has been added to the advanced settings tab of the 3D view configuration dialog. EDL strength has the effect of increasing the contrast, allowing for better depth perception (which may need to be adjusted when zooming in). EDL distance is the distance of the used pixels from the center pixel and it has the effect of making edges thicker.

The eye dome lighting is, by principle, an image-based rendering solution similar to SSAO (screen space ambient occlusion), and therefore works on the whole scene and doesn’t differ between point clouds or regular 3D objects.

image19

This feature was funded by Lutra Consulting

This feature was developed by Lutra Consulting (Nedjima Belgacem)

Feature: Data defined 3D material colors

3D material colors may now be data defined, allowing feature colors to be determined using the value of an attribute or expression.

Rendering of polygons may be currently done with multiple material types, each having distinct appearance and configuration of colors:

  • Realistic (Phong) material - calculated using 3 colors (diffuse, ambient, specular), which utilizes the 3D view lighting configuration

  • CAD (Gooch) material - calculated using 4 colors (diffuse, warm, cool, specular), which ignores the 3D view lighting configuration

Textured materials are unsupported at this time.

image20

image21

This feature was funded by Kristianstad

This feature was developed by Lutra Consulting (Vincent Cloarec)

Feature: 3D Orthographic projection support

QGIS now offers orthographic projection support for 3D scenes, a feature often desired in the context of architecture, archeology, and more.

image22

This feature was developed by Mathieu Pellerin

Point Clouds

Feature: Point Cloud Support

Following the successful crowdfunding campaign for point cloud support in QGIS, the engineers at Lutra, North Road, and Hobu have been able to introduce the ability for QGIS to import and render point cloud data.

This includes the ability to add point cloud layers to QGIS projects, with support for the EPT format, and render them in 2D and 3D contexts.

image23

This feature was funded by Point Cloud data support in QGIS

This feature was developed by Lutra Consulting (Peter Petrik)

Feature: Add point clouds to browser

The QGIS Browser and data source management interface now support the basic structure of PDAL supported point cloud layers.

image24

This feature was funded by Point Cloud data support in QGIS crowd funding campaign

This feature was developed by Lutra Consulting (Peter Petrik)

Feature: Untwine PDAL Provider Integration

Ability to generate EPT index for (smaller) laz files directly in QGIS via the untwine library

This feature was funded by Point Cloud data support in QGIS crowd funding campaign

This feature was developed by Lutra Consulting (Peter Petrik)

Expressions

Feature: Optional formatting of UUID results

There is now a string format parameter available for the uuid() function in QGIS expressions. Users now have various options that they can use to stipulate the format of the returned UUID value, including the following options:

  • uuid(): {0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}

  • uuid('WithoutBraces'): 0bd2f60f-f157-4a6d-96af-d4ba4cb366a1

  • uuid('Id128'): 0bd2f60ff1574a6d96afd4ba4cb366a1

image32

This feature was developed by signedav

Feature: Layer CRS variable for expressions

QGIS expressions now support a layer_crs variable which will return the AuthID for a particular layer’s coordinate reference system. This allows expressions to identify the layer CRS dynamically and perform transformations without needing to manually specify the CRS.

This feature was developed by Alex

Feature: Support for min, max, majority, sum, mean, and median functions on numerical arrays

QGIS expressions now include aggregate functions for arrays, which allow the easy retrieval of specific values from an array that may be used in QGIS elements such as symbologies. The following functions have been introduced:

  • array_min

  • array_max

  • array_majority

  • array_sum

  • array_mean

  • array_median

This feature was developed by uclaros

Feature: Negative index for array_get function

The function array_get now supports the use of negative index positions.

This feature was developed by Alex

Feature: Add map_credits function

A map_credits function was added that collates a list of all the layer metadata attribution strings for the layers shown inside a specified map item.

For example:

array_to_string( map_credits( 'Main Map' ) )

Returns a comma-separated list of layer credits for layers shown in the ‘Main Map’ layout item, e.g ‘CC-BY-NC, CC-BY-SA’

There’s an optional include_layer_names argument you can use to include layer names before their attribution:

array_to_string( map_credits( 'Main Map',
   include_layer_names := true,
   layer_name_separator := ': ' ) )

This would return a comma-separated list of layer names and their credits for layers shown in the ‘Main Map’ layout item, e.g. ‘Railway lines: CC-BY-NC, Basemap: CC-BY-SA’

This feature was funded by SLYR

This feature was developed by Nyall Dawson

Digitising

Feature: Select features context menu

It is now possible to select features using a context menu on the map canvas. Right-clicking on the map will intelligently identify the features below the mouse cursor and allow the available features to be added or removed from the current selection. Where multiple features are available, a short delay may persist whilst the system attempts to search for available features that will become available in a nested menu item for selection, or users may simply use the select all function to select all available features at the given position.

image33

This feature was funded by Kristianstad

This feature was developed by Lutra Consulting (Vincent Cloarec)

Feature: Curve tracing settings added to UI

Existing curve tracing settings were introduced previously and have now been exposed in the user interface to enable users to incrementally modify settings to optimize their results when capturing curve data.

image34

This feature was developed by Olivier Dalang

Feature: Feature scaling tool

A new digitizing tool allows for selected features to be scaled when in editing mode. This implementation was based on the work of @roya0045 with #40650.

image35

This feature was developed by Nyall Dawson

Data Management

Feature: New export to spreadsheet algorithm

Users may export a selection of vector layers as sheets in a new spreadsheet or append them as additional sheets to an existing spreadsheet

This feature was developed by Nyall Dawson

Feature: Reproject coordinates in the Georeferencer

The georeferencer now reprojects data points in a desired output projection, rather than using the map canvas CRS for determining data point positions. This allows users more flexibility and control when capturing control points.

image36

This feature was developed by Alex

Feature: Polymorphic relations/ Document management system

A new GUI is available to manage polymorphic relations, implemented as a part of the dynamic relations described in QEP #79.

The “Add relation” button in the relation manager screen now has additional options for adding and editing polymorphic relations:

The “Add polymorphic relation” and “Edit polymorphic relation” open the same dialog, although in the latter case it will automatically be populated with existing values.

Once saved, the list of relations appear as a tree widget, where the generated relation objects for a polymorphic relation appear as children. The names of the generated relations cannot be changed.

Polymorphic relations are stored within a project and currently cannot be exported.

image37

This feature was developed by Ivan Ivanov

Forms and Widgets

Feature: Soft and hard constraints in forms

Historically, required fields would prevent a form from being saved entirely. Using soft constraints allow forms to notify users that expected information has been omitted, without preventing the form submission. Hard constraints, by contrast, function identically to the previous “required fields” functionality and will prevent form submissions unless data is correctly captured for the field.

This feature was funded by Lutra Consulting

This feature was developed by Lutra Consulting (Viktor Sklencar)

Analysis Tools

Feature: Nominatim geocoder API

Although not exposed through the locator or as an algorithm, QGIS now includes a Nominatim API geocoder class. The geocoder class’ implementation insures that it respects the OpenStreetMap Foundation Terms of Use by caching results and throttling requests by default.

This feature was developed by Mathieu Pellerin

Processing

Feature: Allow expression for order fields in PointsToPath algorithm

$id may be used as an expression for a csv with ordered values, and the ORDER_EXPRESSION parameter has been added to the PointsToPath algorithm.

This feature was developed by Matthias Kuhn

Feature: Override CRS for Clip Raster by extent output

In some instances, the Clip raster by extent algorithm may output features without a CRS specified, which can now be modified by explicitly enforcing the output to inherit it’s CRS from the input layer.

This feature was developed by rldhont

Feature: Add “retain fields” algorithm

Allows users to select a list of fields to keep, and all other fields will be dropped from the layer. Helps with making flexible models where input datasets may have a range of different fields and only a certain subset of them need to be retained. This work was inspired by #39114

image38

This feature was developed by Nyall Dawson

Feature: Reference common field parameter for multiple layers

Processing tools field parameters may support processing a common field for multiple vector layers, in an implementation inspired by the behavior of some processing algorithms in Orfeo ToolBox.

This feature was developed by Julien Cabieces

Feature: Extend import geotagged photos to include exif_orientation

The “Import geotagged photos” tool has been updated so that the exif_orientation parameter value is extracted to the output table. This ensures that maptips and other HTML widgets can be configured to correctly transform the photos to be correctly displayed based on the orientation value.

This feature was developed by Pelle Rosenbeck Gøeg

Feature: Export layer information algorithm

A new algorithm in the processing toolbox called export layers information has been added to support the creation of a polygon layer corresponding to extent of user-defined layer(s) with additional layer details which are attached as attributes to each polygon feature. The information collected currently supports the following elements:

  • CRS

  • Provider name

  • File path

  • Layer name

  • Subset filter

  • Abstract

  • Attribution

This feature was developed by Mathieu Pellerin

Feature: Cell stack percentile and percentrank algorithms

The characteristics of the Cell Statistics processing tool have been replicated and modified to allow for three new processing algorithms, which allow QGIS to calculate cell statistics in a similar manner to common percentage functions used in spreadsheet programs. The new processing algorithms are:

  • Cell stack percentile

  • Cell stack percentrank from value

  • Cell stack percentrank from raster layer

While the percentile algorithm only offers the possibility of calculating percentiles based on an input fraction value (ranging between 0 and 1), a percentrank raster can also be calculated based on an input value raster. This gives the user the opportunity to calculate per-cell percentranks based on dataset driven value input (eg. sample layers).

All algorithms provide different methods for calculating percentiles and percentranks:

Percentile: - Nearest Rank - Inclusive linear interpolation (see LibreOffice’s and Microsoft Excel’s PERCENTILE.INC function) - Exclusive linear interpolation (see LibreOffice’s and Microsoft Excel’s PERCENTILE.EXC function)

Percentrank: - Inclusive linear interpolation (see LibreOffice’s and Microsoft Excel’s PERCENTRANK.INC function) - Exclusive linear interpolation (see LibreOffice’s and Microsoft Excel’s PERCENTRANK.EXC function)

image39

This feature was developed by Clemens Raffler

Feature: Points to lines processing algorithm

A native processing algorithm has been added in c++ that creates line layers from point layers, similar to the existing python Points to path but with extended functionality:

  • Added support for natural sorting ( ‘10’ > ‘9’ )

  • Avoid creating invalid lines with a single vertex

  • Avoid creating closed lines with two vertices

This feature was developed by uclaros

Application and Project Options

Feature: Hidden layers

QGIS Projects now support the inclusion of hidden layers, which are capable of being included in a project but are not visible in the table of contents.

The layer property is configurable from the Data Sources tab of the project properties and includes API support for text filtering.

image40

This feature was funded by ARPA Piemonte

This feature was developed by Alessandro Pasotti

Feature: Custom “Full Extent” definition

A new “View Settings” tab has been added to the project properties, with the option to manually defined the full extent of a project. The extent defined here will be the extent used when zooming to the full map extent, instead of the calculated or maximum extent of all layers. This is useful for defining a particular area of interest for a project and does not limit user’s ability to “zoom out” further than the defined extent.

image41

This feature was developed by Nyall Dawson

Feature: Toggle network caching to QgsNetworkAccessManager

A checkbox in the network logger panel now allows users to temporarily disable the network cache, which is useful when debugging QGIS network activity, or when using QGIS to test server-side changes.

This is a transient setting by design and is forgotten as soon as QGIS is closed.

image42

This feature was developed by Nyall Dawson

Browser

Feature: Unify ArcGis Feature Service and ArcGIS Map Service connections in browser

The separate “ArcGis Feature Service” and “ArcGIS Map Service” browser connections have been replaced with a single, unified, “ArcGIS Rest Servers” connection and browser node, which shows a definitive view of the server and exposes both service types.

This feature was developed by Nyall Dawson

Feature: Allow browsing ArcGIS REST by content groups

ArcGIS Feature Service connections which have their corresponding Portal endpoint URLS set can be explored by content groups in the browser panel.

If a connection has the Portal endpoints set, then expanding out the connection in the browser will show a “Groups” and “Services” folder, instead of the full list of services usually shown. Expanding out the groups folder will show a list of all content groups that the user is a member of, each of which can be expanded to show the service items belonging to that group.

This feature was funded by SRK Consulting

This feature was developed by Nyall Dawson

Data Providers

Feature: Native DXF export algorithm

Allows exporting individual or multiple layers into a single DXF file. For each input layer, users can select which attribute to use for splitting a single layer into multiple output layers.

Implements a native DXF export algorithm using QgsDxfExport functionality, which is also used by Project -> Import/Export -> Export Project to DXF.

image43

This feature was developed by Alexander Bruy

Feature: Additional geometry types for PostGIS Export

Some available geometry types from the GDAL ogr2ogr operation used for exporting data to PostGIS databases have been added to the tool interface. This functionality also includes the option to specify vector dimensions for exported data and resolves issue 39003.

image44

This feature was developed by mazano

Feature: Improved network requests with GDAL

A QgsCPLHTTPFetchOverrider utility class was added and used in the OGR provider which redirects GDAL’s CPL HTTP calls through QgsBlockingNetworkRequest. This ensures that GDAL can use the QGIS network provider rather than redirecting requests through cURL. Additional head(), put() and deleteResource() methods were added to QgsBlockingNetworkRequest.

This feature was developed by Even Rouault

Feature: Read only generated fields

An API method has been added to ensure that readonly generated columns are not exposed in editors.

This feature was developed by Julien Cabieces

Feature: Improve MSSQL loading with predefined parameters

To reduce layer loading times, the map layer extent can be precomputed, and primary keys can be specified, removing the need for QGIS to calculate these characteristics and improving performance.

This is done by extending dbo.geometry_columns tables and adding the following extra columns, which may be populated accordingly by database administrators:

  • Extent : qgis_xmin, qgis_xmax, qgis_ymin, qgis_ymax

  • Primary key : qgis_pkey

In the database connection configuration widget, there are now two extra checkboxes which make use of these parameters:

  • Use layer extent from the extra columns

  • Use the primary key from the extra column

image45

This feature was funded by ms.GIS

This feature was developed by Lutra Consulting (Vincent Cloarec)

Feature: Filter schemas for MS SQL

Users may now filter the available schemas for MS SQL connections. The database connection widget now contains options for filtering available schemas, so that only the expected schemas are available from the QGIS browser.

image46

This feature was funded by ms.GIS

This feature was developed by Lutra Consulting (Vincent Cloarec)

Feature: SAP HANA database support

QGIS now supports SAP HANA databases. SAP HANA is an in-memory database with an OGC-compliant spatial engine with a free express edition available from www.sap.com

This feature was developed by Maxim Rylov

Feature: Deprecate support for DB2

The DB2 data provider has been marked as deprecated, and is hidden from the QGIS UI by default.

QGIS has adopted a gentle approach to removing unmaintained core providers, and users of deprecated providers may enable support for them by setting the hidden “providers/showDeprecated” settings key to true.

This feature was developed by Nyall Dawson

Feature: Oracle connection API

The QGIS API now includes QgsAbstractDatabaseProviderConnection for the Oracle provider.

This feature was funded by Metropole de Lille

This feature was developed by Julien Cabieces

Feature: Add advanced options for raster data imports

New functionality has been introduced which allows advanced parameters to be specified when importing layers using the GDAL data provider, opening a vast range of new possibilities, especially when working around expected dataset issues and shortcomings.

image47

This feature was developed by Mathieu Pellerin

QGIS Server

Feature: GetLegendGraphics Symbol Scale

The QGIS Server WMS GetLegendGraphics request now supports the inclusion of min/max scale denominators to json symbol exports

This feature was developed by Alessandro Pasotti

Feature: Drag and drop for WMS GetFeatureInfo response

With the drag and drop editor form, it is possible to reorder the attributes and add groups or subgroups from within the edit form. This functionality has been extended so that the WMS GetFeatureInfo response may be modified to include groups and subgroups, as well as allow the response content to be modified and reordered using the editor form, with support for drag and drop functionality.

This feature was developed by mhugent

Programmability

Feature: Run multiple items from command history dialog

The QGIS Python Console now supports the execution of multiple selected commands from the history dialog by adding a new Paste button.

image48

This feature was developed by Salvatore Larosa

Feature: Enable or disable plugins from the command line

The qgis_process command line tool has had new commands added which allow users to enable or disable plugins using the commands as outlined below:

  • qgis_process plugins enable plugin_name: enables the named plugin

  • qgis_process plugins disable plugin_name: disables the named plugin

This improves the automation capabilities of QGIS and allows the use of plugins on headless environments with the qgis_process tool.

This feature was developed by Nyall Dawson

Notable Fixes

Feature: Bug fixes by Alessandro Pasotti

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.16 backport commit (GitHub)

Crash with VRT layers using Python pixel functions

#41048

Works for me

Cannot enter attributes and save edits on PostGIS table when user has only the INSERT privilige

#40922

PR #41059

no

GeoPackage layer name truncated when filename contains more that one dot

#40864

PR #41061

no

Unable to right click GeoPackage table from browser

#40856

Works for me

Empty Temporary scratch layer made permanent is not editable

#38834

PR #41075

no

Update MXE build, several issues

multiple issues

Commit afff8ba7be2794fe521a462feaf83b1a5d7cce63 PR #40923

yes (CI)

can’t change value in vertex editor if “locale” settings use commas as decimal separator

#29682

PR #41082

PR #41607

Empty String ‘’ is shown as NULL with a spatialite layer using OGR provider

#41076

PR #41109

PR #41123

Wrong WFS 2.0.0 request returns duplicate features

#41087

PR #41169

no

Server WMS GetFeatureInfo feature ID inconsitencies

#41124

PR #41137

PR #41148

WMS throws LayerNotDefined when layer name contains plus sign (+)

#41116

PR #41211

PR #41331

QGIS Server WFS 1.1: issue with axis order

#36584

PR #41242

PR #41608

raster export (save as…) not working if QGIS locale uses commas as decimal separator

#41284

PR #41316

PR #41330

QGISserver WFS returns invalid GML in case of cascading WFS

#41292

PR #41335

PR #41387

Better handling of duplicated FIDs in GPKGs

#41156

Works for me

Cannot Create New Tables in a Geopackage (browser)

#41342

PR #41355

PR #41403

QGIS crashes when cancelling add child form

#41295

PR #41375

N/A

Group has no name when importing sublayers from browser panel

#41343

PR #41379

PR #41402

Identifty tool does not work anymore on arcgis map services layers

#41311

PR #41427

PR #41430

Signal committedAttributeValuesChanges not emitted when project in auto transaction mode

#41477

PR #41539

risky

The project file does not store variables with formatted text

#41541

Upstream bug in QT

New spatial table in a geopackage with index always throw a warning

#41436

PR #41556

PR #41609

Empty “Exclude layers” selection list in Server settings dialog when using projects saved in GPKG files or PGSQL databases

#40552

PR #41605

This feature was funded by QGIS.ORG (through donations and sustaining memberships)

This feature was developed by Alessandro Pasotti

Feature: Bug fixes by Peter Petrik

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.16 backport commit (GitHub)

Skipping unknown layer type circle in vector tiles

#41529

PR #41584

todo

Passwords cannot be saved into keychain on macOS with QGIS 3.16

#40541

QGIS-Mac-Packager PR #112

automatic

Symbol not found: _curl_mime_addpart with GDAL merge

QGIS-Mac-Packager Issue #111

QGIS-Mac-Packager PR #112

automatic

initGUI() results in Segmentation fault on macOS in standalone PyQgis

#40378

answered with the fix to the script

QgsCompoundColorWidget instance crash when QgsApplication::colorSchemeRegistry() is empty \

#28208

invalid

Include missing fonts in build

QGIS-Mac-Packager Issue #105

PR #41412

not needed?

Mishandling Grib Data Values

#37504

unable to replicate in qgis 3.16 macos

Error opening .2dm and .xmdf mesh data

#40385

PR libspatialindex #221

automatic

r.watershed error on macOS

#40996

QGIS-Mac-Packager Commit 7238782

QGIS-Mac-Packager Commit 7238782

OpenCL Acceleration not found on macOS

#41182

PR #41374

Github commit

Proj.db not found for SAGA tools on QGIS 3.17 Mac nightly

#41606

QGIS-Mac-Packager Commit 7a71390

automatic

[mesh][ui] Changing settings for 2D Contour color ramp shader shows confusing widgets

#39571

PR #41442

not needed?

QGIS crashes when “open directory” is selected from the recent projects contextual menu

PR #41591

PR #41591

todo

Data-defined setting in html frame does not work

#41590

investigation done

This feature was funded by QGIS.ORG (through donations and sustaining memberships)

This feature was developed by Peter Petrik

Feature: Bug fixes by Even Rouault

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.16 backport commit (GitHub)

PostgreSQL provider doesn’t support special characters for authentication on Windows

#41132

PR #41144

PR #41179

WMS/WFS connections XML import fails silently if there are two connections with the same name

#39758

PR #41145

PR #41195

QgsAttributeWidgetRelationEditWidget::setRelationEditorConfiguration(): avoid crash on corrupted relation

#40495

PR #41147

PR #41175

[Processing] Rescale Raster gives bad results

#41084

PR #41155

PR #41194

QGIS not using PostGIS spatial index on geography column

#39453

PR #41296

PR #41301

Geopackage with DateTime field (temporal selection) behave different for painting and attributetable

#41074

Analysis of the issue

Crash with VRT layers using Python pixel functions

#41048

GDAL PR 3424

GDAL Commit a2ed089

Empty layer names adding Raster layer from GDAL / OGCAPI driver

#41428

PR #41452

not appropriate

Imported GeoTIFF not using data extent to select CRS - NAD83 vs NAD83(CSRS)

#41456

invalid

Georeferencer: fix crash on .points files generated by older QGIS versions

not reported

PR #41480

N/A

Crash trying to load ArcGis community map vector tiles

#41401

PR #41481

PR #41516

This feature was funded by QGIS.ORG (through donations and sustaining memberships)

This feature was developed by Even Rouault

Feature: Bug fixes by Julien Cabieces

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.16 backport commit (GitHub)

Record count regression on views

#41188

Won’t fix

Integer overflow errors creating and saving virtual layers

#40503

PR #41332

PR #41054

Vertex Tool uses old cached data resulting in corrupted data in db

#40720

PR #41357

PR #41509

WMS layer metadata - count for available CRS is not correct

#40318

PR #41363

Layer variables missing from Field Calculator algorithm on QGIS 3.16.1

#40255

PR #41417

PR #41510/

Filter is not applied in duplicated layers

#40349

Feedback

Unable to save results to PostgreSQL database when iterating features in processing algorithms

#39620

PR #41446

Closed Python call to –processing.run(‘qgis:fieldcalculator’– fails to catch divide by zero

#37737

Already Fixed

Expression widget does not list fields when Selected features only is checked

#40055

PR #41457

PR #41511

This feature was funded by QGIS.ORG (through donations and sustaining memberships)

This feature was developed by Julien Cabieces

Feature: Bug fixes by Nyall Dawson

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.16 backport commit (GitHub)

Fix text edit widget wrapper incorrectly shows “NULL” string for indeterminate state

not reported

Commit fa91357

PR #41054

[layouts] Expose the correct expression context for attribute and manual table text format widgets

not reported

Commit f337271

PR #41054

Fix incorrect error when saving attribute modifications to layers with joins

not reported

Commit 01889d9

PR #41054

Fix misleading JSON error message when an attribute form fails to save changes

not reported

Commit fd657be

PR #41054

Fix project “avoid tile artifacts” setting has no effect on server

#37679

Commit 04d6ea9

Not appropriate

Don’t crash when a relation is created where the field names defined in the relation differ in case from the layer’s field names

not reported

Commit 0f49cb9

Commit c708ca58

Fix add/remove buttons have no icons in create relationship dialogs

not reported

Commit 2e81dbc

N/A

Fix restoring previous GDAL alg raster creation options when running an algorithm from processing history

not reported

Commit 645397e

Commit c708ca5

Fix setting the current GDAL profile options temporarily overwrites the definition of one of the stored GDAL profiles

#41378

Commit 7ff0187

Commit c708ca58e

Fix crash when running model from file through qgis_process with the –json switch

not reported

Commit ccd4fb6

Commit 8bda37c

When labelling job takes a long time to render, don’t clear the map canvas between the finished layer render state and final state

not reported

Commit 1beb1bd

N/A

Don’t loop through all selected features multiple times (once per field) when the attribute form is opened

#41366

Commit c661359

PR #41054

Fix incorrect feature request filter expression generated when rule based renderer uses a NOT IN rule

not reported

Commit a895598

Commit 5eec9e4

Ask users for existing destination fields for Sum Line Length and Count Points In Polygons result fields when running in in-place mode

#39807

Commit 12e8130

Not appropriate

Fix crash when no layers exist in project

not reported

Commit 039bc20

N/A

[processing] Fix exception in algorithm locator filter if an algorithm has no group set

not reported

Commit 46dbd8b

Commit 7ef7b17

Expose additional GDAL supported resampling methods as options for “early” raster resampling

#40746

Commit 13fbcd1c

Not appropriate

[processing] Add commands to qgis_process tool to enable or disable plugins from the command line

#41218

Commit d140970

PR #41054

Fix transparency for ImageServer layers added via browser

#41126

Commit 9fb554f

Not appropriate

[server] Just skip any broken projects on the landing page, instead of blocking the whole landing pag

not reported

Commit e4a4b83

Not appropriate

Automatically update map canvas and layouts if set to a user crs and the user changes that crs definition

not reported

Commit ea57cfe

Not appropriate

Don’t show duplicate “source”/”path” rows for local files

not reported

Commit 8aa9c6a

N/A

Fix retrieval of sql results from geopackages

#40856

Commit f65fe3d

Don’t default to input field for optional expression parameters

#41063

Commit 1fed902

PR #41054

[layouts] Always update label after text changes

#40203

Commit 5d14c61

PR #41054

Fix fill symbol only related properties (like ring filters) show for line symbols in some contexts.

#33398

Commit 9cba248

Not appropriate

Ensure layer style dock is updated when toggling legend items through layer tree menu

#40630

Commit 457d661

PR #41054

Fix rendering of Vector Field marker symbol layer when map is rotated

#40916

Commit 157bdca

PR #41054

Fix marker line symbol layer renders vertices for segmentized versions of curved geometries instead of the actual vertices

#39750

Commit 71090b0

PR #41054

Fix scalebar decoration uses incorrect map extent when restoring a project

#40748

Commit f1ea5a9

Commit 6b1e67d

Fix missing identify results right click menu items for non vector layer types

not reported

Commit 176e972

Not appropriate

This feature was funded by QGIS.ORG (through donations and sustaining memberships)

This feature was developed by Nyall Dawson