Changelog for QGIS 3.36

image1

Release date: 2024-02-23

The QGIS project continues to push the boundaries of open-source geospatial technology, as highlighted by the release of QGIS 3.36. The project continues to empower users to make even better spatial decisions with new features and improvements, and introduces a new core data provider for OGC SensorThings API data sources.

About our release name: Windsor and Maidenhead borough council was one of the first UK local authorities to move to QGIS (at version 1.8!) back in 2010/11. It was at Windsor and Maidenhead that Simon Miles and Matt Travis started the UK QGIS user group. It even hosted the first ever UK user group meeting. Windsor and Maidenhead also contributed financial to many an QGIS plugin and was also a bronze sponsor.

Among the exciting new features added to this release is a new “Movie Mode” for the temporal controller that facilitates the production of animated maps. This release also brings new functionalities for map tips (on Desktop and Server) and improvements to the growing collection of 3D functionality, giving users the power to take advantage of advanced data types, such as Meshes, Point Clouds, and 3D Tiles.

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=WS9W1fo9Aso

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 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.

Breaking Changes

Feature: OTB Processing provider removed

Due to a lack of ongoing maintenance, we’ve made the difficult decision to remove the Orfeo ToolBox (OTB) Processing provider from QGIS. Any users, plugins or scripts which require this functionality will need to be modified accordingly.

Motivated members from the QGIS community are encouraged to create a 3rd party community maintained plugin to restore OTB support.

Temporal

Feature: “Movie Mode” for the temporal controller

We’ve added a brand new “Movie” mode to the temporal controller. This mode has been designed to facilitate creating animated movies from maps. Unlike the other temporal controller modes, while movie mode is activated no time-based filtering of data is performed.

In movie mode, you can set the total number of frames for your movie and the animation will progress frame by frame for that number of frames, advancing the current map settings frame (and @frame_number expression variable) at each step. You can then use animated symbols, or alter your symbology using the @frame_number expression variable, to create dynamic, animated maps.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

User Interface

Feature: Custom layer properties in map layer properties

We’ve added display of custom layer properties for map layers within the layer properties information tab, making it easy for users to view any additional metadata and properties attached to their map layers.

image3

This feature was developed by Jorge Alexandre Delesderrier da Silva

Feature: Easier project and image saving

In 3.36, we’ve made QGIS a little bit cleverer in the way it handles saving of projects and images. The project type (.qgz, .qgs) or image format (.png, .jpg, .tif, etc.) is now (by default) determined by any file extension you’ve typed in the save dialog. This allows for a faster user experience when changing from one format to another, as you don’t need to manually set an explicit format in advance via the format combo box!

image4

This feature was developed by Mathieu Pellerin (OPENGIS.ch)

Symbology

Feature: Control image height for raster fill symbol layers

We’ve introduced a new setting for the “raster fill” symbol type, which allows you to control the width and height of the fill pattern independently. (Previously these settings were locked to each other). You’re now able to create stretched raster fills in the horizontal or vertical directions, giving more flexibility for your custom symbol creation.

This feature was funded by North Road, thanks to SLYR

This feature was developed by Nyall Dawson (North Road)

Feature: New “Filled line” symbol layer type

We’ve added a brand new line symbol type for “filled lines”. Much like the older “Filled marker” symbol type offers for marker symbols, this option will render lines using any QGIS fill symbol. This means you can now render lines filled with gradients, line hatches, raster fills, and much more!

image5

This feature was funded by North Road, thanks to SLYR

This feature was developed by Nyall Dawson (North Road)

Mesh

Feature: Mesh labeling

In 3.36 we’ve added labeling support for mesh layers. Labels can be applied to mesh vertices, or mesh faces, and can take advantage of all the advanced formatting options and appearance settings that you get for vector labels. Labelling settings are available through layer properties dialog and the layer styling panel. Toggling mesh labels on and off can also be conveniently done through the layer panel’s context menu.

image6

This feature was funded by GÖTEBORGS STAD

This feature was developed by Stefanos Natsis (Lutra Consulting)

3D Features

Feature: Data defined color control for simple 3d line rendering

You can now set a data-defined, dynamic color for 3D lines rendered using the “Render as simple 3D lines” option. This is extremely useful for visualising line features in 3D, eg displaying underground pipelines in different colors based on their classifications.

image7

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

Feature: Improved “Phong” material and lighting

The Phong shader is used as the default material for showing vector features in QGIS 3D views. For 3.36, this shader has been improved to better handle ambient and shininess parameters. Additionally, we’ve taken care to ensure that the exact same shading will apply regardless of the underlying geometry type (points, lines or polygons), and regardless of whether data defined symbol colors are in use. This gives users a much more predictable and easy-to-configure material for their 3D views.

For easier configuration of nicer-looking materials, we also added new controls for modifying the strength of the ambient, diffuse, and specular lighting contributions.

image8

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

Feature: “Physically based” metal rough material

For even more beautiful 3D maps, we’ve added a new material choice for a “physically based rendering” (PBR) material. This material lets you define the base color of the surface, and how “metal” and “rough” it should appear. This material is simple to configure and get great results from, and is expected to become the default material in a future QGIS release.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

Feature: Define 3D scene extents on 2D maps

We added a shortcut action to the 3D map toolbar that allows users to quickly draw an extent limit for the scene on a 2D map.

image9

This feature was funded by Natural Resources Canada

This feature was developed by Stefanos Natsis (Lutra Consulting)

Point Clouds

Feature: Size overrides for point cloud classification

In QGIS 3.36 you can now override the default point size for discrete categories in both 2D and 3D views.

A new “Size” column was added to the categories widget, which will appear blank when a category inherits the default point size but allows you to manually specify the size with numeric input. Setting the Size value to 0 for a category will reset it to use the layer’s default point size.

You can also use the right-click context menu to set the point size for multiple selected categories at once.

image10

This feature was funded by Natural Resources Canada

This feature was developed by Stefanos Natsis (Lutra Consulting)

Feature: Render point clouds as a surface in 2D maps

We’ve added a new option for 2D styling of Point Clouds that for “Render as a Surface (Triangulate)”.

When enabled, QGIS will perform an on-the-fly Delaunay triangulation of the points in the current map view and render the layer as filled triangles instead of individual points. The color of each point is maintained and interpolated within each triangle.

Global map shading is also supported with the new option so that, when enabled, the elevation of points is retained and a rasterized instance of the triangles with interpolated elevations can be provided to the elevation map.

When “Render as a surface” is enabled, drawing order is ignored and all input points participate in the triangulation.

We also added an option to filter large triangles (based on the maximum length of an edge of a triangle), which allows for visualizing data gaps, but the 2D rendering only provides filtering based on the horizontal length of triangles.

Be sure to check out the feature Pull Request on GitHub for a showcase of the new functionality in different modes and contexts.

image11

This feature was funded by National Resources Canada

This feature was developed by Martin Dobias (Lutra Consulting)

Feature: Faster point cloud rendering by caching decoded data blocks

Want even faster point cloud rendering? Well, QGIS now supports rendering point clouds faster by using a cache for storing nodes which have already been decoded.

This optimisation avoids decompressing the same nodes multiple times when panning or zooming, especially when using compressed data sources such as LAZ formatted files.

(A fixed size cache of 200MB is used and shared across all point cloud layers and canvases (2D, 3D, and Profile Plots).)

This feature was funded by Natural Resources Canada

This feature was developed by Stefanos Natsis (Lutra Consulting)

Feature: Metadata preservation during COPC conversion

The Untwine tool (which is responsible for conversions of point clouds to the COPC format within QGIS) has been updated to version 1.3. This includes various fixes and small enhancements. Among the enhancements, the conversion to COPC now preserves the following metadata from LAS/LAZ files:

  • Global encoding

  • Creation time (year+day)

  • XYZ offset

This feature was funded by Natural Resources Canada

This feature was developed by Stefanos Natsis (Lutra Consulting)

Feature: Better handling of classification flags

LAS/LAZ files may include four flags for each point (synthetic, key-point, withheld, overlap). In older QGIS releases, they have all been exposed in ClassificationFlags as a combined single value. This has been impractical when a user needs to use one of those flags for filtering or visualization.

For version 3.36, we reworked things so that these flags are available as separate attributes both for visualization (eg using the Classification renderer) and for filtering in expressions. Accordingly, we’ve removed the older ClassificationFlags attribute.

This feature was funded by National Resources Canada

This feature was developed by Stefanos Natsis (Lutra Consulting)

Expressions

Feature: Alias of minimum/maximum for min/max in aggregates

We’ve added some new aliases for arguments to the aggregate expression functions, so that “minimum” and “maximum” can be used instead of “min” and”max” for these functions.

image12

This feature was developed by Harrissou Sant-anna

Feature: @counter variable for array_foreach

We’ve added a new “@counter” variable to the array_foreach function in expressions. Among other things, this lets you combine values across multiple array fields.

Example:

array_foreach( "field_1", @element || ' ' || "field_2"[@counter] )

This feature was developed by Björn Hinkeldey

Feature: Improved expression insertion

To make QGIS 3.36 even more user-friendly, we’ve tweaked the “Insert/Edit Expression” behavior. Now,

  • If some text is selected and your selection is within an expression (i.e. between “[%” and “%]”), the expression editor will select the whole expression

  • If no text is selected, and your cursor is inside an expression, the whole expression is selected

  • Otherwise, the expression editor will open with your existing selection.

Additionally, we added a new “Insert/Edit Expression” button to the vector layer properties MapTip tab.

This new expression editing behavior also applies to Print Layout labels, Titles, and Copyright decorations, as well as Annotation items.

image13

This feature was developed by Yoann Quenach de Quivillic

Data Management

Feature: Toggle Selection in the Organize columns window

We added a Toggle Selection button to the Organize Columns dialog to improve your ability to manage datasets with a large number of fields.

The new Toggle Selection button (as well as the Deselect or Select All buttons) will only appear when there are more than 5 fields in a layer.

image14

This feature was developed by Valentin Buira

Processing

Feature: –skip-loading-plugins flag for qgis_process

The qgis_process command line interface tool benefits from a new --skip-loading-plugins argument. If specified, this can result in faster execution times for commands such as qgis_process plugins, which can now list the installed plugins **without** loading them.

This feature was funded by Research Institute for Nature and Forest (INBO)

This feature was developed by Nyall Dawson (North Road)

Feature: Click to open output paths in processing logs

A super-helpful new shortcut we added to 3.36 is that any output paths (such as file, folder, or HTML outputs) in the Processing log are now clickable, allowing you to directly open the containing folder and preselect the generated file!

image15

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

Feature: Vector coverage algorithms

QGIS 3.36 introduces a number of new tools for working with vector coverage layers. “Vector coverages” are polygon layers where the features are expected to neighbour each other, without overlaps or gaps, such as administrative boundary layers. These new Processing algorithms expose tools for working with coverages, including:

  • Validate coverage: This algorithm analyzes a coverage to find places where the assumption of exactly matching edges is not met.

  • Simplify coverage: This algorithm applies a Visvalingam–Whyatt simplification to the edges in a coverage, while retaining a valid coverage (ie no edges will cross or touch after the simplification)

  • Dissolve coverage: This algorithm provides a heavily optimised approach for unioning polygons from a coverage layer, when compared against the standard Dissolve tools.

These new tools rely on functionality from the GEOS geometry handling library. Our thanks go to the GEOS maintainers for making this work possible!

image16

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

Feature: Improved Export Layers to DXF algorithm

We’ve introduced a number of new parameters to the “Export Layers to DXF” algorithm , to match the functionality of its non-Processing counterpart:

  • An extent parameter to filter features to be exported

  • A map theme parameter to override the layers’ symbology when exporting

We’ve also fixed several shortcomings in the algorithm, including skipping layers within which no features were exported.

image17

This feature was funded by QGIS Swiss User Group (QGIS-CH)

This feature was developed by Mathieu Pellerin (OPENGIS.ch)

Feature: Faster GRASS Provider startup

We’ve reworked the backend of the Processing GRASS Provider, which helps reduce the startup times for this plugin (especially on Windows installations!). This is especially beneficial for users of the qgis_process tool, who will experience noticeably faster execution times for this tool.

This feature was funded by Research Institute for Nature and Forest (INBO)

This feature was developed by Nyall Dawson (North Road)

Feature: Faster qgis_process startup

For 3.36, we’ve substantially improved the startup speed of the qgis_process command. This was done by applying a variety of optimisations inside QGIS, such as lazy loading of the authentication and style library frameworks so that these frameworks are only initialised when required, and by reworking the logic for migrating user settings between different QGIS versions to avoid unnecessary work.

Together, these improvements have reduced qgis_process startup times from multiple seconds to less than one second!

This feature was funded by Research Institute for Nature and Forest (INBO)

This feature was developed by Nyall Dawson (North Road)

Application and Project Options

Feature: “localhost” option for OAuth2 Redirects

Some OAuth2 providers, like Microsoft Sharepoint, require specific redirect hosts for security reasons. They may not accept the standard “http://127.0.0.1” redirect, but instead allow only “https://127.0.0.1” or “http://localhost”.

To ensure compatibility with these providers without the complexity of setting up HTTPS, we added a new option to use “localhost” as the redirect host for OAuth2 authentication.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)

Feature: Serial port sensor baudrate selection

For 3.36 you can now customize the connection speed (baud rate) to use for serial port sensors. Previously, this parameter was hardcoded at 9600 baud, limiting compatibility with various sensor types, such as NMEA sensors requiring 4800 baud. You can now connect to a wider array of sensors by adjusting the baud rate to meet specific requirements.

image18

This feature was developed by Jorge Tornero

Browser

Feature: Open layers with Datasource Manager from browser

We’ve introduced a new option in the QGIS browser context menu for “Open with Datasource Manager…”. This option is available for layers which use the OGR provider (including GPKG sources), GDAL provider (raster layers), and Spatialite layers. When activated, a dialog will open on the data source tab of the layer properties, with relevant field values prepopulated to open the layer directly in QGIS, which allows you to set more comprehensive file opening options directly from the browser.

This functionality brings with it the ConfigureFromUri method which has been developed for the Python and C++ APIs. This method will enable source selection widgets to open and configure the data source manager directly from a data source URI, allowing the development of more sophisticated data loading options such as within plugins and when using the Change Data Source utility.

image19

This feature was funded by NOAA

This feature was developed by Alessandro Pasotti

Data Providers

Feature: SensorThings Data Provider

For version 3.36 we’ve introduced a brand new core data provider for OGC SensorThings API data sources.

The SensorThings API is an OGC specification for Internet of Things sensors which complements existing communication protocols within the IoT ecosystem.

This functionality was developed in line with QEP 257 and introduces new panels within the QGIS Browser, Data Source Manager, and Layer Properties Source tab for users to configure connections to SensorThings data sources.

We’ve taken care to ensure that SensorThings data sources are loaded in the most optimised way possible, providing an streamlined, user-friendly way to load SensorThings data into your QGIS projects. This is just the beginning though, and we’ve more functionality and improvements planned for access to SensorThings sources in QGIS 3.38!

image20

This feature was funded by BRGM and Water4All Partnership

This feature was developed by Nyall Dawson (North Road)

Feature: Support for WFS documents with complex feature schemas

We enhanced the WFS Provider to add support for complex feature schemas. The implementation exposes properties of complex WFS types as JSON content, converted from their original XML representations.

For more details, see the QGIS Enhancement Proposal.

image21

This feature was funded by QGIS user group Germany

This feature was developed by Even Rouault

QGIS Server

Feature: WMS GetMap in PDF Format

QGIS Server will now support responses in PDF format for GetMap requests.

This feature was developed by mhugent

Feature: QGIS Server Properties Tab for Vector Tile Layers

The Layer Properties Dialog for Vector Tile layers will now include a section for editing the QGIS Server layer settings, providing the ability to configure layer-specific settings such as shortname, abstract, and other metadata.

image22

This feature was developed by Sandro Mani

Feature: GetLegendGraphics JSON rule

We’ve added a new SHOWRULEDETAILS parameter for WMS services, which will append a rule item in the legend entry. The rule describes the filter expression used on the respective layer when performing a GetLegendGraphic request using the JSON format option.

For example, the request:

text GET /?SERVICE=WMS&VERSION=1.30&REQUEST=GetLegendGraphic&LAYERS=layer1&FORMAT=application/json&SHOWRULEDETAILS=1

Will return the JSON response which includes a rule field when appropriate:

json {"nodes":[{ "symbols":[{ "icon":"...", "title":"Detaljplaner","rule": "plantyp = '1'"}

This feature was funded by Kristianstadt

This feature was developed by Alessandro Pasotti

Feature: Add maptip for raster layer GetFeatureInfo

Maptip support was added for raster layer GetFeatureInfo responses, when requesting with parameter WITH_MAPTIP=TRUE. This matches the existing behavior which was in place for vector layers.

In this context, the variable layer_cursor_point holds the GetFeatureInfo position, so that maptips which are working in QGIS desktop are working also with QGIS Server GetFeatureInfo.

This feature was developed by Björn Hinkeldey

Feature: WMS parameter to request only maptip for HTML feature info responses

We added a new value HTML_FI_ONLY_MAPTIP for the existing WMS vendor parameter WITH_MAPTIP.

If set, the feature info HTML response includes only the maptip, which gives full control over the HTML response using e.g. the built-in maptip editor which has a nice preview.

This feature was developed by Björn Hinkeldey

Feature: Option to skip “name” attribute for groups in WMS GetCapabilities

We’ve added a new project level setting to Skip name attribute for groups. This is disabled by default, but enabling it allows you to exclude group names from a GetCapabilities response on a WMS request. This prevents name duplication in instances where a layer and group share the same name, whilst preserving the group element and bringing the QGIS Server capabilities more in line with the OGC WMS Specification.

For example:

text <Layer queryable="1">   <Name>layer_name</Name> <--- this will be skipped when option is enabled   <Title>Human readable name</Title>

This feature was developed by Tomas Straupis

Plugins

Feature: Use active layer when importing vector data with DB Manager

When importing vector data in the DB Manager core plugin, the “Input” combo box, which is populated with all the vector data in the layer tree, is now automatically set to the active layer whenever possible. This small change makes it much more user-friendly, especially when working with large and complex projects!

image23

This feature was developed by Patrice Pineault

Programmability

Feature: Expose 3D views to PyQGIS

You now have the ability to create, list, and close 3D views from Python, matching the functionality of their 2D counterparts.

We refactored a number of application classes to introduce support the following iface methods:

  • createNewMapCanvas3D: Creates a named 3D view instance

  • closeMapCanvas3D: Closes a 3D view by name

  • mapCanvases3D: List existing 3D views in the project context

This feature was funded by Natural Resources Canada

This feature was developed by Stefanos Natsis (Lutra Consulting)

Feature: Optimised methods to convert GeoJSON geometries to QgsGeometry

We’ve added some highly optimised methods which allow direct construction of geometries (QgsGeometry) from raw JSON objects, instead of requiring translation through another library’s geometry structures. These methods are exposed through the new API call QgsJsonUtils.geometryFromGeoJson.

This feature was developed by Nyall Dawson (North Road)

Feature: Qt WebEngine classes can now be used by plugins

In older QGIS versions, an incompatibility between the modern Qt “WebEngine” classes and QGIS’ 3D framework prevented QGIS plugins from using any WebEngine widgets. This was a significant shortcoming, as the older Qt “WebKit” widgets were very limited, slow, and did not support many modern JavaScript essentials.

In 3.36, we’ve reworked how QGIS 3D is initialised to remove this incompatibility. Scripts and plugins can now safely use Qt’s WebEngine classes without issue!

This feature was funded by https://qgis.org

This feature was developed by QGIS.org

Feature: Vertical and compound Coordinate Reference System support in CRS widgets

As part of the ongoing QGIS grant project for vertical CRS handling (see QEP 267), all of QGIS’ coordinate reference system can now be set to show only vertical or compound CRS. This allows plugins and scripts to present users with choices of vertical CRS, ready for use in QgsCoordinateTransform objects for vertical CRS transformations.

See QgsCoordinateReferenceSystemProxyModel.Filter for the available CRS filtering options for use in these widgets.

This feature was funded by QGIS.org

This feature was developed by Nyall Dawson (North Road)

Feature: Python support in Qt6 builds

While version 5.15 remains the recommended Qt version for compiling QGIS, we’ve been hard at work adding full support for Qt 6 builds of QGIS. This is necessary in order to support modern desktop requirements, such as full compatibility with Wayland based Linux environments and for optimised Apple silicon builds.

QGIS 3.36 brings support for running Python under Qt 6 builds, and enables use of the PyQGIS library within Qt 6. This is a significant milestone in our ongoing journey towards full support for Qt 6!

This feature was funded by QGIS.org

Feature: Add meshMenu to QGIS Interface

meshMenu has been added to the iface object, giving plugins and scripts an easy way to extend the Mesh menu.

This feature was developed by Loïc Bartoletti

Feature: Server: onProjectReady method for filter plugins

The new onProjectReady method is called after the QgsProject instance is ready for a server request and before entering the main logic for core services.

The onRequestReady method is called after the QgsRequestHandler is ready and populated with parameters, but before the QgsProject instance is ready.

You can use onProjectReady to perform operations at the project level, like adding variables, checking vector layer categories, etc.

This feature was funded by 3Liz

This feature was developed by rldhont

Feature: Add fuzzy comparisons methods

We’ve added new methods for fuzzyEquals and fuzzyDistanceEquals to the QGIS geometry classes. These methods compare geometric objects with a tolerance for small variations, enhancing the precision of equality and distance calculations. They will be particularly useful in scenarios where exact matches may not be feasible or necessary.

```python epsilon = 0.001 geom1 = QgsLineString(QgsPoint(0.0, 0.0), QgsPoint(0.001, 0.001)) geom2 = QgsLineString(QgsPoint(0.0, 0.0), QgsPoint(0.002, 0.002))

self.assertNotEqual(geom1, geom2) # epsilon = 1e-8 here

self.assertTrue(geom1.fuzzyEqual(geom2, epsilon)) self.assertFalse(geom1.fuzzyDistanceEqual(geom2, epsilon)) ```

This feature was funded by QGIS.ORG (through GRANT)

This feature was developed by Loïc Bartoletti

Feature: Measured line methods

In QGIS 3.36 we’ve introduced a measuredLine method within Qgs(Multi)LineString. This method builds upon the code from PostGIS behind ST_AddMeasure.

This feature was developed by Loïc Bartoletti

Notable Fixes

Feature: Bug fixes by Alessandro Pasotti (itOpen / qcooperative)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

QGIS Server WMS wrong tile boundary

#55747

Works for me (awaiting feedback)

SLD: Hang when saving sld with linepattern orientation greater then 90

SLD saving ignores setting for exporting polygon fills as png tiles

#55921

PR #55928

PR #55933

Drill down widget not working when parent field has the completer option activated

#55922

PR #55940

PR #55951

Open Feld Calculator Crash

#55898

feedback

Secured WMS regression in 3.28 / 3.34?; service does not load but loads in earlier QGIS versions / other wms clients.

Attribute table frame, with “allow url to be read as HTML format” has not expected result like hyperlink when output PDF file is maked from “GetPrint” request from QGIS Server

#52370

Not a bug

WMS provider Cannot calculate extent error adding a WMTS layer from QGIS server

Expanding PostGIS table/schema in browser panel triggers slow inspection of all tables in schema

#56069

PR #56090

PR #56385

Secured WMS regression in 3.28 / 3.34?; service does not load but loads in earlier QGIS versions

#55984

Turned into a feature request after debugging

QGis crashes when digitizing with snapping

Ellipse symbol size units are lost when closing the dialog

#56236

PR #56237

PR #56248

QgsFields are viewed as the same despite having different QgsEditorWidgetSetup’s

#55873

PR #56264

PR #56272

Expression with newline and quotes in mulExpression with newline and quotes in multiline comment leads to syntax errortiline comment leads to syntax error

#55518

PR #56315

PR #56339

Linebreak and text vanish in HTML label

#55532

PR #56334

no (risky)

Postgres raster: sparse values of rasters are not displayed correctly

#55784

PR #56363

Failed with unrelated error

Running VACUUM via browser shows an error messages without identififiers

#56377

PR #56380

TODO

SHP: Fix unreported issue with spatialindex

unreported

PR #56366

PR #56399

WFS sublayer is missing when FeatureType is added from QGIS browser

#56403

PR #56404

TODO

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

This feature was developed by Alessandro Pasotti (itOpen / qcooperative)

Feature: Bug fixes by Even Rouault (Spatialys)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

Sort WFS layers ASC by default (and not DESC)

#55693

PR #55947

PR #55953

Value Relation widget with Filter Expression makes QGIS crash in editing mode

#55854

PR #55948

PR #55952

Hang/Crash when attempting to drag&drop multiple layers into gpkg

#29510

PR #55950

TODO

Crash on KML load

#55963

GDAL PR 9131

GDAL PR 9204

Value Relation widget with Filter Expression makes QGIS crash in editing mode

#55854

PR #55980

PR #55986

QGIS crashes when move tool is active and non-vector layer is selected

#55492

PR #55981

PR #55985

Trailing slashes are silently removed from filter strings

#55975

PR #55988

PR #55993

Vector layer points are not being imported/shown from MySQL datasource

#55463

GDAL PR 9152

GDAL PR 9180

OAPIF: Adding layer with lot of vertices freezes QGIS

#56059

PR #56066

PR #56095

[PostgreSQL provider] Add missing namespace escaping in SQL requests

unreported

PR #56173

PR #56186

Export Save features to gpkg does not keep Field Domains, but using Convert Format does

#56184

PR #56209

Not appropriate

QGIS crashes after making a connection to a GeoPackage

#56203

PR #56210

PR #56214

Catch potential QgsCsException at various places; improve qgscoordinatetransform.h doc

unreported

PR #56212

PR #56244

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

This feature was developed by Even Rouault (Spatialys)

Feature: Bug fixes by Jacky Volpes (Oslandia)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

Oracle database connection lists table multiple times

#55961

TODO

Boolean discrepancy between expression editor and layer property

#55923

PR #56369

No

Using TypeVectorAnyGeometry in multiple input parameter not filtering non-spatial layers

#55636

PR #56453

PR #56459

Remove expression evaluation in layout legend widget

#53442

PR #56372

No

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

This feature was developed by Jacky Volpes (Oslandia)

Feature: Bug fixes by Alexander Bruy

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

Raster band descriptions are shown twice

#55156

PR #55971

Bad_alloc when using Outline: Simple Line with Align dash pattern to line length

#45432

PR #55969

PR #55991

DBManager uses deprecated constructor for QgsCoordinateReferenceSystem

#54916

PR #55968

Harmonize use of pasword lineedit in auth method editors

not reported

PR #55970

[Data-defined Assistant] Symbols preview doesn’t update if “Apply transform curve” checkbox is unchecked

#24961

PR #55967

Data defined assistant dialogs do not use the right title case for their name

#26925

PR #55967

Identify features tool does not display the ellipsoid units when “Map units” is chosen

#26995

PR #56003

(api) Use of None in QgsMeshRendererScalarSettings raises Python issues

#51033

PR #55999

Crash/freeze during Voronoi Analysis with large input dataset

#37263

works for me (fixed in QEP #217)

Filling the Raster attribute tables tab with buttons should not be systematic in Layer Styling panel

#55501

works for me

List of predefined scales in 2D map view does not update

#51327

works for me

Data defined Assistant: closing the dialog without setting an expression invalidates the widget

#24665

works for me

Harmonize point layer behavior regarding vertices extraction/filtering algorithms

#33502

PR #55996

Image export is truncated at 32768 pixels

#41045

PR #56054

Using the Assistant for Data Defined Colors incorrectly shows ‘custom ramp’ instead of the correct colour ramp name

#48889

PR #56057

Project predefined scales do not override global scales in labels and 2D map view widgets

#51326

PR #55998

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

This feature was developed by Alexander Bruy

Feature: Bug fixes by Loïc Bartoletti (Oslandia)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

Select by Location - Point that is snapped along a linestring, is only being selected when using ‘Disjoint’ predicate

#53826

Not a bug (tolerance and snapping problem)

[Topology Checker] Allow check does not have dangles on a second layer

#52881

Not a bug. Marked as a feature request

DWG Import Tool default polyline layer style - thick symbol applied when “width” field is NULL

#55512

PR #56187

PR #56228

Random Points in Polygons - Crash

#55445

Can’t reproduce

Buggy validation of closed QgsLineString

#54022

PR #56130

PR #56229

TIN: Enable fromWkb/fromWkt

unreported

PR #56071

no

[OGC] Polygon: fix rings order

unreported

PR #55306

no

Unable to add layers with M (measure) geometries from PostGIS

#55223

PR #56199

PR #56211

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

This feature was developed by Loïc Bartoletti (Oslandia)

Feature: Bug fixes by Jean Felder (Oslandia)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

[3D] disable altitude binding if altitude clamping is absolute

unreported

PR #56154

PR #56198

Improper cast of textual primary key during import with DB Manager

#55856

PR #56243

PR #56259

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

This feature was developed by Jean Felder (Oslandia)

Feature: Bug fixes by Stefanos Natsis (LutraConsulting)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

[Processing] “Points to path” algorithm calculates incorrect attributes values

#55860

PR #55917

PR #55932

Fix GUI freezing when changing raster renderer

unreported

PR #56000

PR #56077

Point Cloud Property window resizing issue

#43276

PR #55976

PR #56253

Dialog windows are too tall for some screens, rendering them unusable

#32021

PR #55978

Point Cloud renderer treats Unsigned8 data as Signed8

#55236

PR #56159

PR #56252

Dublicating a layer with pushing the ctrl-key while dragging, results in a layer that can’t be renamed individually

#28674

PR #56188

PR #56193

Prevent opening of Layer Properties when double-clicking on visibility checkbox in Layers Panel

#38179

PR #56190

PR #56231

After angle/bearing measurement QGIS crashes

#54773

PR #56202

PR #56216

Closing “Measure Bearing” or “Measure Angle” results dialog causes crash

#46151

PR #56202

PR #56216

Measure angle dialog may appear off-screen

#56192

PR #56205

PR #56217

Loading a remote COPC gets stuck when calculating stats and in 3D view

#55210

PR #56265

PR #56278

Crash after right click during drawing shape annotations

#56106

PR #56157

Allow deleting geometry part of singlepart features

unreported

PR #56279

The Settings->Options dlg no longer opens at the specific Processing options page and GPS options page

#56381

PR #56384

master only

3d map view - point clouds classification symbology changes (check/uncheck classes) not honored

#56109

PR #56391

PR #56398

Problem with Georeferencing Tool-QGIS 3.28.12 Firenze

#55167

Not a bug

Not possible to open LAS file with very small X/Y/Z scale

#49317

Fixed upstream

No error is shown when indexing and untwine crashes

#48307

Untwint PR #159

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

This feature was developed by Stefanos Natsis (LutraConsulting)

Feature: Bug fixes by Mathieu Pellerin

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

Text in new version available message bar is poorly visible in Night mapping theme

#56091

PR #56455

PR #56469

Text of title bars in database manager is poorly visible with Night Mapping theme

#56105

PR #56448

PR #56474

Crash after right click during drawing shape annotations

#56106

PR #56447

PR #56470

WMS source select interpretation combobox not setting proper index on empty interpretation string

PR #56418

PR #56441

PR #56473

QGIS: Snap geometries to layer - not all points are snapping

#56424

PR #56426

PR #56449

Cannot delete vertices when attribute table is docked

#56262

PR #56423

PR #56439

Add missing tooltip for “Custom Properties” style category

#56362

PR #56421

PR #56440

Insure that saving map [canvas] as image/PDF take high DPI scaling factor into account

unreported

PR #56400

mbtiles layers are valid when dataset is missing

unreported

PR #56296

PR #56298

The check result of constraints sometimes differs in the form and attribute table view

#55390

PR #56287

PR #56318

Constraints are not behaving on range widget correctly when a field is displayed twice in a form

#55607

PR #56163

PR #56254

DXF map theme style override not respected

unreported

PR #56162

PR #56164

Tileservers always blurry

#55644

PR #56047

PR #56088

Blurry layouts in v3.32.2, not after v3.28.2

#54579

PR #56085

PR #56101

Pixelated QGIS logo in user profile selector dialog on high DPI screens

unreported

PR #56053

PR #56065

Pixelated overview panel rendering on high dpi screens

unreported

PR #56050

PR #56087

Welcome screen issues on high DPI screens

unreported

PR #56048

PR #56084

Merge vector layers also adds dbf files using Add Directory

#56010

PR #56020

PR #56056

composition relations: only the first relation is taken into account

#55892

PR #55944

PR #56038

qgis_process errors with ‘native:dissolve’ if SEPARATE_DISJOINT=true and if OUTPUT is an explicit file

#55587

PR #55966

PR #55982

“Delete Seleted” button not working properly in a not geometric layer

#55618

PR #55965

PR #56006

ui-file-based (combo-box-containing-) forms are not working in QGIS 3.34 any longer

#55621

PR #55964

PR #55987

Can’t change spatial bookmark storage or group by drag and drop

#55819

PR #55957

print layout: cursor jumps when changing cell size of fixed table

#50257

PR #55941

PR #55992

Need to close the layer properties dialog before a newly created field appears in Attribute form

#26350

PR #55938

too risky

Missing checkbox partially checked state styling for non-default themes

unreported

PR #56290

PR #56306

Unable to read MBTiles in paths containing multibytes

#56023

PR #56462

[Data Source Manager] Adding a local raster XYZ Tiles directory as layer is no longer possible

#56371

PR #56418

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

This feature was developed by Mathieu Pellerin

Feature: Bug fixes by Nyall Dawson (North Road)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

Fix broken coordinate transforms on qt6 builds

unreported

PR #55914

PR #55935

Fix crash in QgsRasterPipe when removing roles

unreported

PR #55955

PR #56008

Fix broken data defined override buttons in text format widget when no layer is associated

unreported

PR #55989

N/A

Avoid use of pygments in metasearch

unreported

PR #56160

N/A

Fixes filters applied to a duplicated AFS layer also incorrectly apply to the original layer

unreported

PR #56195

PR #56221

[processing] Don’t try to interpret distance widget value as CRS

unreported

PR #56292

PR #56297

[3dtiles] Skip completely transparent primitives

#55579

PR #56303

PR #56323

Fix calculation of string stats when nulls are present

unreported

PR #56305

PR #56322

Don’t use (broken) QgsCoordinateReferenceSystem::createFromSrsId method for virtual point clouds

unreported

PR #56325

PR #56333

Make datetime stats range type consistent across Qt versions

unreported

PR #56355

PR #56437

Fix crash in QgsStringUtils::truncateMiddleOfString on qt 6

unreported

PR #56356

N/A

Fix handling of font family from HTML on Qt 6 builds

unreported

PR #56358

PR #56436

Missing expression scope in batch processing expression builder

#56132

PR #56411

PR #56435

Fix crash when applying vector properties dialog

unreported

PR #56412

N/A

Don’t force calculate layer extents when saving layers

unreported

PR #56433

PR #56444

Don’t force full calculation of layer extent when cloning layers

unreported

PR #56434

N/A

Fix running plugins are not restarted after upgrading

#56277

PR #56443

PR #56475

Regenerate primary keys for Split Lines by Length outputs

#56486

PR #56490

PR #56494

Fix saving “ and \ to ArcGIS REST sources

#55946

PR #56492

Hundreds of fixes to PyQGIS for qt6 compatibility

N/A

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

This feature was developed by Nyall Dawson (North Road)

Feature: Bug fixes by Martin Dobias (LutraConsulting)

Bug Title

URL issues.qgis.org (if reported)

URL Commit (Github)

3.34 backport commit (GitHub)

3D Tiles dataset without textures not shaded correctly

#55752

PR #56185

N/A

Crash when creating 3D view

#53941

PR #56320

PR #56330

Fix a deadlock in remote COPC handling (3D views)

unreported

PR #56388

PR #56419

Fix a crash in point cloud renderer when cleaning up preview painter

unreported

PR #56409

N/A

Fix a deadlock with local COPC files in 2D rendering

unreported

PR #56432

PR #56458

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

This feature was developed by Martin Dobias (LutraConsulting)