QGIS 3.32 is a major release of the QGIS Project that brings a significant advancement in geospatial technology to the Open Source World. 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.
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=ZtE1Az-zpf0
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.
A map tip preview window has been added to the Raster and Vector layer properties dialog to enrich the experience of designing map tips.
This feature was developed by Yoann Quenach de Quivillic
The measurement dialog has been extended with the following functions:
Copy all
action is provided in a context menu on the tableAdditional settings for managing the "Copy All" button behavior are provided to configure aspects such as separator, or including header information.
This feature was developed by Yoann Quenach de Quivillic
A new feature in the layer properties allows for the disabling mapTips on a specific layer.
On the QGIS API, a mapTipsEnabled
Q_PROPERTY was added to the QgsMapLayer
class to enable this functionality.
This feature was developed by Yoann Quenach de Quivillic
A description tooltip is now available when hovering the cursor over the value in the relation editor widget's combobox. The description tooltip matches that of the currently selected item's description as defined in the 'description column' on the value relation configuration panel.
This feature was developed by Mathieu Pellerin
The action to dock and undock to 2d map canvas views has been added to match the behaviour of 3d canvas views.
This feature was developed by Nyall Dawson
The ability to remove "recently used" CRS information has been implemented invarious ways, including:
This feature was developed by Yoann Quenach de Quivillic
A setting is now available to reverse the zoom direction of the mouse wheel (scrolling forwards zooms out)
This setting will affects wheel zooms in multiple contexts, including:
QgsMapCanvas
)QgsMapOverviewCanvas
)QgsLayoutView
)QgsLayoutViewToolMoveItemContent
)QgsElevationProfileCanvas
)QgsModelGraphicsView
)This feature was developed by Yoann Quenach de Quivillic
Map rotation can now be stored and applied in Spatial bookmarks, which includes a new context menu in the Spatial Bookmark Manager Panel.
This feature was developed by Yoann Quenach de Quivillic
A number of improvements have been made to the behavior of annotation tools including:
toggleTextItemVisibilities
(toggled Text annotations visibility with Ctrl+T)This feature was developed by Yoann Quenach de Quivillic
A "live update" checkbox in the annotation editors allows for on the fly review of rendered annotation content.
This feature was developed by Yoann Quenach de Quivillic
With 3.32, the move label map tool has gained support for manipulating labels for polygons that are set to perimeter placement. The tool will permit users to snap the label on a point along the perimeter or detach it from the perimeter altogether.
This feature was developed by Mathieu Pellerin
The following improvements have been implemented to the measuring tool in 3d scenes:
The object selection logic has also been refactored for more control, and the 3d identify tool was also enhanced to prevent interference with camera navigation as well as a bug fix for where the wrong FIDs were returned on specific cases.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Stefanos Natsis
A new native processing provider has been provided for point cloud algorithms, in line with QEP 263.
Under the hood provider utilizes the pdal_wrench command line tool and currently supports the following algorithms:
As pdal_wrench requires PDAL >= 2.5.0, the new processing provider will be available only where the PDAL version requirement is satisfied.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Alexander Bruy
A new point cloud expression builder widget is available within the GUI to create filters for point clouds in a user friendly manner consistent with the existing QGIS Expression Builder interfaces.
Within the QGIS API, the QgsProcessingParameterExpression
parameter has been extended with the types Qgis
and PointCloud
. If parameter has a PointCloud
type, it will use the point cloud expression builder widget. To maintain backward compatibility, by default an expression parameter will use the Qgis
expression type.
The QgsPointCloudExpression
class was also extended with a new method to convert QGIS point cloud expressions to PDAL expressions.
Existing PDAL algorithms using expression filters have been updated to use expression parameters instead of strings.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Alexander Bruy
Added the option to filter input point cloud by rectangle (extent) and expression in the following PDAL algorithms:
This allows the processing of only a subset of points from the input file(s), without the need to performing an intermediate filtering step or generating temporary files.
For these who need only filtering there is also a separate Filter algorithm capable of filtering either by extent, by expression or by their combination.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Alexander Bruy
Useful for point cloud algorithms involving attributes, like exporting specific attribute values as raster or filtering point clouds.
This also deprecates parameterAsFields
API call, and parameterAsStrings
should be used both for fields and point cloud attributes instead.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Alexander Bruy
Virtual point clouds can be rendered within 3d views. For performance management, a sub index threshold is specified so that the view will render the chunked entity of the point cloud only when appropriate and will instead render the bounding region of a particular sub index when the threshold criteria is not met.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Stefanos Natsis
A new data provider is available for Virtual Point Cloud (VPC) files created by the pdal_wrench utility and the Build virtual point cloud (VPC) tool in the newly introduced Native point cloud Processing provider.
The VPC file is handled as a single layer in QGIS and may contain a large number of point cloud files whose indexes are lazy loaded when the canvas is zoomed in enough. An extent renderer is used for the individual indexes while their extent fits the canvas' width and the user defined renderer is only used when zoomed in further.
A Virtual Point Cloud is a JSON container file with a .vpc
extension, referring to other files/URLs that contain the actual point cloud data. This is a concept similar to virtual rasters (VRTs) in GDAL. The JSON content is actually a STAC API ItemCollection. See VPC specification for more details.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Stefanos Natsis
QGIS labels which contain HTML content will now support embedding functional hyperlinks in relevant layouts exports, such as PDFs.
Instead of limiting layout legend filtering to a single linked map, this change permits legends to be filtered instead by multiple linked maps. It is designed to accommodate the use case where a layout has multiple maps, potentially at different scales and showing different extents, and a single legend is required which includes all symbols visible across all the maps.
The UX has been designed to avoid changing the current user workflows, in that legends will still be linked to a single main map item. This map is used when determining the scale (and other map dependent properties) at which to render the legend's symbols. Checking the "Only show items inside linked maps" option will still automatically filter the legend by the content of the main linked maps. However, there's a new "..." options button next to the "Only show items inside linked maps" checkbox which allows users to select also other maps from their layout to consider when determining visible items:
Allows trimming spaces or other characters from just the start or end of strings
This feature was developed by Nyall Dawson
When merging features, users may now select from a list of available values from the selected features, rather than manually capturing a manual value for a field.
This feature was developed by Denis Rouzaud
The advanced digitizing options for common angles have been extended with the following functionalities:
This feature was funded by ChartWorld International
This feature was developed by Alessandro Pasotti
A new configuration setting for the advanced digitizing tool allows users to toggle the display of the "floater" contextual menu which follows the cursor during digitizing. Additional options are included for adding information to the floater panel, such as the display of bearing and azimuth information.
This feature was funded by ChartWorld International
This feature was developed by Alessandro Pasotti
Allows selection of a range of cells to copy to clipboard. Results are copied as both plain text and html, so can be pasted easily into spreadsheet apps/etc as tables
This feature was developed by Nyall Dawson
When creating new fields, the 'Comment' option is now only exposed for datasources which support editing comments (preventing QGIS from silently discarding the information).
This addition also adds support for setting field aliases within the new field dialog, and extends field comments and aliases for supported OGR formats.
This feature was developed by Nyall Dawson
Inches are now included as valid map units within QGIS.
This feature was developed by Nyall Dawson
A new "field split policy" choice item is exposed in the layer properties form dialog, that allows users to easily determine the current policy for splitting a field and change as required.
The following policies have been provided:
This feature was developed by Nyall Dawson
This functionality exposes two new "size" options for edit form widgets, allowing control over the horizontal and vertical stretch factors for the widget. By setting a horizontal or vertical stretch, users can control how edit widgets will relatively resize when resizing an attribute form.
For example, a user can set a higher horizontal stretch value for widgets which should "grab" more of the available horizontal space, such as for those widgets which are expected to have longer values. Similarly, the vertical stretch setting (available for select widget types) will control how widgets grow vertically when resizing forms, relative to the form dialog.
Together these options give more control to users over the exact layout and sizing of their attribute forms.
By default, the stretch values are set to "Default" which is the same as the behavior exhibited in previous versions of QGIS.
This feature was developed by Nyall Dawson
This container always lays out child widgets in a horizontal row, where the number of columns is automatically determined by the number of child widgets.
It's useful for creation of compact forms, where no space will be wasted by assigning extraneous horizontal width to widgets where the expected values will always be short.
Eg: creating 3 rows with 3, 2, 1 child widgets respectively results in the layout:
Attr 1: [...] Attr 2: [...] Attr 3: [...]
Attr 4: [..........] Attr 5: [..........]
Attr 6: [...............................]
Without the option of row containers then the all horizontal rows will have the same number of columns, eg:
Attr 1: [...] Attr 2: [...] Attr 3: [...]
Attr 4: [...] Attr 5: [...] Attr 6: [...]
(leaving insufficient horizontal length for attributes 4-6), or
Attr 1: [..........] Attr 2: [..........]
Attr 2: [..........] Attr 3: [..........]
Attr 4: [..........] Attr 5: [..........]
Attr 6: [..........]
(resulting in wasted horizontal space next to attribute 6, and an extra row taking up vertical space)
A new Processing algorithm has been added which enables the downloading of vector tiles from a remote server. This functionality includes vector tile support for the map layer parameter, as well as a new vector tile destination parameter for Processing algorithms. The output MBTiles format files can also be automatically added to the canvas after processing.
A new "Reorder Output Layers" action to the model designer menu has been added which allows model creators to set a specific order which the outputs from their model must use when loading the results into a project. This gives the model creator a means of ensuring that layers are logically ordered on the canvas when running a model, such as placing a vector layer output over a raster layer output, or a point layer over a polygon layer.
The model creator can also set an optional "Group name" for the outputs for automatically grouping outputs within the layer tree using a new group name or by adding them to an existing group.
A new algorithm adds the "Create COPC" option to the PDAL provider for generating Cloud Optimized Point Clouds. The algorithm creates a COPC file for each input point cloud file and can be useful for indexing files before using them in QGIS, or when building a VPC.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Alexander Bruy
A new button has been added to the field management interface of the refactor fields processing tool button which allows users to invert the selection. This allows for more efficient management of fields such as enabling bulk field deletes.
This feature was added during the QGIS Contributor Meeting 2023, s-hertogenbosch
This adds support for handling field comments and aliases in the processing "add field to attributes table" and "refactor fields" algorithms. Additionally, it ensures that field comments and aliases are copied from source layers to destination layers when present.
If the output layers do not support comments/ aliases then user-friendly warnings are shown in the processing log advising users of the limitation.
This feature was developed by Nyall Dawson
The new algorithm allows user to build virtual point cloud (VPC) files that reference multiple existing point cloud datasets. This allows then visualization and processing of many point cloud files as a single layer in QGIS.
Additional options are available for the "Build VPC" Processing algorithm, which provide the following utilities for building Virtual Point Clouds:
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Alexander Bruy
A handy new environment configuration setting has been created for the configuration of the number of threads an algorithm should use when an algorithm is capable of using several cores, such as TauDEM or PDAL.
This functionality has been applied to the PDAL and TileXYZ algorithms.
This feature was developed by Alexander Bruy
Individual processing algorithms may now include an environment setting to specify a custom temporary folder which overwrites the configured temporary file path. This is useful in situations where a particular tool may use a lot of temporary disk space and a dedicated location or scratch disk is required, or when a particular operation requires performance enhancements offered by a particular disk or path.
This feature was developed by Nyall Dawson
A new "Algorithm Settings" action has been added to the Advanced button of the processing algorithms interface. Selecting it shows a panel which allows users to control general processing settings which apply to a particular instance of the algorithm execution. It's intended to be a place where a user can override their global processing settings on an ad-hoc basis without having to change their usual default settings.
Includes settings for:
This feature was developed by Nyall Dawson
The gdal2xyz processing algorithm from the GDAL processing provider now includes parameters for skipnodata
and src
, and dstnodata
.
This feature was developed by Luke Pinner
If checked, then any disjoint parts in the buffer results will be output as separate single-part features. This setting is designed to expose a similar functionality as is available for the 'dissolve' algorithm.
This change adds a new "feature filter" option alongside the existing feature limit and invalid geometry handling options available for all vector inputs to processing layers.
It allows users to enter an expression to subset the layer dynamically when running the tool, avoiding the need for separate steps to set layer filters or create layer subsets.
The Import Photos algorithm now allows importing *.heic
images with GDAL's HEIF image support.
This feature was developed by Chris Shucksmith
The interface for settings editors have seen a major overhaul and the advanced settings interface has the following user facing changes:
In addition, the settings API has undergone significant changes including:
New API classes introduced include:
This feature was developed by Denis Rouzaud
In previous versions of QGIS, when QGIS Desktop was closed the current profile would be saved in the profiles.ini configuration file, so the default profile was the profile used in the last instance of QGIS that was closed.
A new User selection policy feature allows users to select how default profiles are defined, in accordance with the following three options:
When "Let user choose" is selected, if there are 2 or more profiles, a selection dialog is displayed before the SplashScreen which will allow the user to choose which profile to use or to create a new profile which will be loaded automatically.
Regardless of the selected policy, if only one profile exists it will be used, and if no profile exist, the default profile will be created and used.
User profile icons are also provided to allow users to visually differentiate between their active profiles.
This feature was developed by Yoann Quenach de Quivillic
A core sensors framework provides a sensor types registry, a sensor manager, and three simple QIODevice-based sensor types as follows:
A sensor manager is attached to project instances that allows users to register sensors within their project files. Contrary to other inputs such as a positioning device, sensors are considered to be much more project-specific data inputs. The big advantage of project-based sensors is that it makes those much more portable and easier to share across users.
A new sensor_data()
function is added to the project scope which is available using expressions, that returns the latest captured sensor data values for a specific sensor name. An optional expiration (in milliseconds) parameter allows for expressions that will reject a specific sensor value is older that the provided expiration value.
This feature was funded by Sevenson Environmental Services
This feature was developed by Mathieu Pellerin
Configuration widgets are provided for the TCP, UDP, and serial port sensor types which will allow users to configure, add, and remove sensors within the project properties dialog's sensors panel.
The implementation includes a sensor GUI registry to easily allow for additional python sensors to be created and shipped as plugins.
This feature was funded by Sevenson Environmental Services
This feature was developed by Mathieu Pellerin
A sensor table widget is provided that displays registered sensors within a project, along with with actions to connect and disconnect from sensors. The table is accessible via a new sensors panel in the project properties dialog.
This feature was funded by Sevenson Environmental Services
This feature was developed by Mathieu Pellerin
Users may now choose from a selection of distance units to override the default (Canvas CRS map units) for elevation profiles in both the interactive elevation profiles (via the settings toolbar button) and for layout elevation profiles.
In layout profiles, there is an additional option which controls where the distance unit suffixes should be placed. The following options are available to manage the display of unit suffixes:
Note that it is currently not possible to expose unit selection for the vertical axis, as this is currently dimensionless and will require the development of vertical CRS handling in QGIS as outlined in QEP 267.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Nyall Dawson
A new item has been added to the elevation profile toolbar, which includes various options for exporting elevation profiles.
Profile plots can now be exported as:
The results can be saved as DXF files, CSV files, or any of the standard writable vector spatial formats shapefile geopackages.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Nyall Dawson
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Nyall Dawson
The new fill above drawing mode for profile plots also includes additional options to limit the extent of "fill above" and "fill below" elevation ranges for a layer.
This feature was developed by Nyall Dawson
When activated, this option ensures that the horizontal and vertical scales are always kept equal. For instance, a 45 degree slope will always appear as a 45 degree slope in the profile.
This feature was funded by Point cloud processing and 3D data enhancements crowdfunding
This feature was developed by Nyall Dawson
When supported by providers, a new browser context menu action for fields allows for users to set/change the field's comments in the datasource.
Currently supported for OGR formats with field comment capabilities such as GPKG, ESRI File Geodatabase, NetCDF, or Geoparquet, as well as PostgreSQL data sources.
This feature was developed by Nyall Dawson
When supported by providers, a new browser context menu action for fields allows for users to set/change the field's alias in the datasource.
Currently supported for OGR formats with field comment capabilities such as GPKG, ESRI File Geodatabase, NetCDF, or Geoparquet.
This feature was developed by Nyall Dawson
QGIS will now load supported layers in parallel when loading a project, significantly improving project load times in certain instances such as when a project includes numerous remote layers.
To load a layer on a parallel worker thread, the layer data provider must support parallel loading (currently GDAL and PostgreSQL providers).
A new advanced setting is available to deactivate this behavior when necessary.
The WFS/ OGC API for Features (OAPIF) data provider has been extended to support enhanced filtering criteria in line with open standards.
New functionalities include:
For the CQL2text compatibility, the server /conformance
implementation is required to declare at least the following data:
- http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter
- http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter
- http://www.opengis.net/spec/cql2/1.0/conf/cql2-text
- http://www.opengis.net/spec/cql2/1.0/conf/basic-cql2
The /collections/{collid}/queryables
endpoint is requested to get the queryable properties.
Additional conformance classes for advanced filtering include the following items:
- http://www.opengis.net/spec/cql2/1.0/conf/advanced-comparison-operators: for IN, BETWEEN, LIKE
- http://www.opengis.net/spec/cql2/1.0/conf/case-insensitive-comparison: for ILIKE
- http://www.opengis.net/spec/cql2/1.0/conf/basic-spatial-operators: for `intersects(geomcolumn, geomFromWkt('POINT(x y)'))` and `bbox_intersects(geomcolumn, geomFromWkt('WKT LITERAL'))`
This feature was developed by Even Rouault
The Vector Tile tab now includes choices for selecting from a "Service" (the existing, connection based approach for adding vector tiles from online sources) or "File" (a new option which allows directly adding a data source using VTPK or MBTiles vector tile files).
This feature was funded by Landesamt für Vermessung und Geoinformation, Feldkirch, Austria
This feature was developed by Nyall Dawson
Vector tile data sources now support user defined controls for layer opacity and blending modes.
Additionally, it adds the standard "Source" and "Rendering" tabs to the vector tile layer properties dialog. The Rendering tab contains the layer's scale based visibility (just like for other layer types), and the source tab contains the layer name, crs override and provider-specific source controls.
Source widgets are also for the VTPK and MBTiles vector tile providers, allowing control over the source vtpk/mbtiles file path.
This feature was developed by Nyall Dawson
Vector tile layers now expose all the required API items for supporting broken layer handling and discovery, making their behavior consistent with other layer types. Additionally, by implementing the modern provider metadata APIs for the VTPK provider we ensure that VTPK files are shown in the browser panel for easy discovery.
This feature was funded by Landesamt für Vermessung und Geoinformation, Feldkirch, Austria
This feature was developed by Nyall Dawson
In QGIS Server, there is now a FORMAT_OPTIONS
parameter which can pass format options for DXF format to WMS GetPrint. This allows more control in GetPrint requests when generating GeoPDF outputs, such as Georeference or Geometry Simplification settings.
This feature was developed by mhugent
The QGIS Server GetCapabilities request cache size can now be configured with the QGIS_SERVER_CAPABILITIES_CACHE_SIZE
parameter, which uses an integer input specifying the number of requests to cache. A notice of "Removed cached WMS capabilities document" will be logged when all slots are taken and a cachd document is dropped.
This feature was developed by Jürgen Fischer
A new WITH_DISPLAY_NAME
parameter will add the display name in the GetFeatureInfo
response if needed, similar to the existing WITH_MAPTIP
parameter.
To make browsing the features more user friendly and provide more information, the following was implemented and added to the HTML template: - full pagination which shows always the total number of pages - configurable pagesize via dropdown - number of matching items - number of returned items - pagesize/pagination controls also at the bottom of the page
This feature was developed by Björn Hinkeldey
A special ?
command has been added to the python console which displays a useful help message, identifies some key variables, and provides helper functions for improving the developer experience within QGIS Desktop.
The _pyqgis
and _api
helper functions will take a parameter (an instance or class), and will display the matching object page from the QGIS or Qt documentation.
This feature was developed by Yoann Quenach de Quivillic
The QGIS Python ConsoleMimics IPython behavior to run system commands.
!<cmd>
. The console will start a subprocess, and forward its output to the Python Console Output.var = !cmd
This feature was developed by Yoann Quenach de Quivillic
A "format code" action has been added to the Python Console Editor which allows for the automated linting/ pretty printing of code in line with the capabilities of modern code editors.
Additional configuration settings for this action include:
The Formatter options allow for a selection between the autopep8 or black linting tools and provide the following additional options: - Level (autopep8 only) See Autopep8 aggressiveness level - Normalize quotes (black only): Replace all single quotes with double quotes if possible
Sorting operations are provided using isort, which will allow for sorting import statements in three different groups:
These operations will facilitate consistent development in line with industry best practices and improve code quality, consistency, readability, and operational efficiency (especially when coupled with version control systems).
This feature was developed by Yoann Quenach de Quivillic
Adds the same toggle button 3d map canvases and attribute tables to make it super-easy to switch the Python console to a full main window or back to a docked widget.
This feature was developed by Nyall Dawson
Editors using the QgsCodeEditorHTML
class will be able to use the code reformatting functionality to pretty print HTML data within QGIS. Note that this functionality will require the BeautifulSoup4 or lxml libraries to be installed within the python environment to parse the XML/ HTML data.
This feature was developed by Yoann Quenach de Quivillic
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- GeoJSON IDs are barely supported (only reading string IDs is supported) | #53214 | Just analysis - fix out of scope | unreported - [cleanup] QgsOgrFeatureIterator(): remove (hopefully!) useless code in subset string case | PR #53264 | N/A "Order by" memory leak | #53198 | PR #53266 | N/A Browser very slow when opening directory containing several GDB | #53265 | PR #53267 | Doesn't build with armv7 on openSUSE Tumbleweed | #53093 | already fixed in master | #53093 Add .pgwx as potential world file types for georeferenced png | #53125 | GDAL PR 7864 | N/A - GDAL fix Assertion failed when filtering a GeoParquet layer | #53301 | GDAL PR 7882 | N/A - GDAL fix Given URL parameters do not persist for WFS OGC API - Features connection | #49154 | tryed to reproduce - too complicated | Field domain created incorrectly | #52318 | PR #53314 | PR #53349 Field domain created incorrectly | #52318 | PR #53314 | PR #53349 Longer opening time of GPKG file in newer versions | #53525 | PR #53566 | TODO
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Even Rouault (Spatialys)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- QGIS offset line shows perpendicular tags issue | #53165 | PR #53234 | PR #53308 strange behaviour of single sided buffer algorithm | #52795 | geos PR 912 | N/A - GEOS fix
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Sandro Santilli (strk)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- Legend filter expression has an incomplete context | #53229 | PR #53296 | queued LineString showing offset in CRS 3857 when using Vertex Tool and "Clip Features to Canvas Extent" is enabled | #45200 | PR #53384 | queued Qgis Server WMTS returns wrong WGS84BoundingBox for the layer | #53213 | cannot reproduce | Form not showing (randomly) values except when triggering "Editing Mode" | #53211 | won't fix (there is no bug IMO) | Browser project home folder does not work with GPKG stored projects | #53304 | PR #53331 | TODO OGC API Features ignores "X-Qgis-Service-Url" header | #53367 | won't fix | Fixed legend size is not respected when exporting a layout | #53263 | cannot reproduce | XYZ Tiles Connection 'Referer' parameter cannot be defined | #53195 | PR #53389 | N/A Snap to random vertices after splitting features | #53040 | cannot reproduce | Cartographic label placement with "Distance Offset: From Symbol Bounds" shows offset for MultiPoint features | #53030 | PR #53408 | queued but PR is still unreviewed Layers rendered as a group seem to bypass the "Lock Layers" option in my print composer. | #53379 | PR #53428 | queued but PR is still unreviewed Map Layout composer - Legend item expression not displaying correctly | #53244 | PR #53434 | not worth it, not critical opacities parameter doesn't apply to labels in GetMap requests | #48020 | PR #53438 | queued but PR is still unreviewed The list in "Link to existing child features" does not help in selecting the right child features | #53410 | won't fix | Object Snap on Lines does not work for arc-elements | #53197 | cannot reproduce | Layer name automatically changes to Atlas legend | #52621 | PR #53523 | queued Attribute form widgets are not disabled when "Editable" state is data-defined and layer is not in edit mode | #53031 | PR #53506 | N/A
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Alessandro Pasotti (itOpen / qcooperative)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- [Expressions]: missing "//" operator help | #52094 | PR #53355 | PR #53396 Resample or rescale of a raster image cannot be found in a menu item or in the processing toolbox | #49208 | PR #53356 | Error produced by closing algorithm dialogs: RuntimeError: wrapped C/C++ object of type QgsMapToolCapture has been deleted | #53294 | PR #53357 | PR #53395 Model designer export as/run as python didn't catch newline in algorithm comments | #50715 | PR #53358 | PR #53397 Add' button for adding XYZ layer through Data Source Manager remains disabled | #52622 | PR #53359 | PR #53404 Output of Algorithm jumps top left when moving | #51757 | PR #53363 | PR #53402 Name column always shows alias instead of field name in refactor fields algorithm | #53028 | PR #53365 | PR #53407 Sentinel 1 data set not working properly | #52694 | Not a bug, wrong selection of data format for huge and complex geometries | Generate XYZ tiles (MBTiles) - error when run | #51298 | Not a bug, input data have incorrect (actually ridiculous) extent | CRS selector not working in Define Shapefile projection processing algorithm | #53309 | PR #53388 | Package Layers Algorithm Not Honoring Save only selected features for Layers with no Selected Features | #50400 | PR #53390 | How to change the font color of tooltips on qgis icons? | #53143 | won't fix (not a bug, behaviour depends on the theme) |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Alex Bruy (LutraConsulting)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- QgsRasterIterator.readNextRasterPart() has a memory leak | #53412 | PR #53444 | PR #53445 Options for some values in Processing are not saved after close window | #53204 | PR #53458 | no Unable to import layer from Postgis view or materialized view , if it has no no primary key | #52943 | Not a bug | Unwanted vertices when tracing | #52935 | | Topology checker does not highlight all overlap errors in the canvas | #52903 | PR #53470 | Unable to enter interval size for fixed Interval in Graduated Renderer | #52356 | PR #53479 | PR #53508 Vector Tile Layers do not clip to layout map frame when mask enabled | #52347 | Qt upstream issue | Splitfeatures function | #52145 | PR #53526 |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Julien Cabieces (Oslandia)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- Erased profile plot is redrawn after a layer toggles on/off | #48117 | PR #53468 |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Jean Felder (Oslandia)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- Legend not updating dynamically when using an atlas | #53442 | Still WIP |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Jacky Volpes (Oslandia)
Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.28 backport commit (GitHub) -- | -- | -- | -- Many fixes for regressions on hidpi displays following improved approach implemented for 3.32 | Multiple | PR #53556 , PR #53533 , PR #53531 | , PR #53517 | NA Implement proper support for new vsi archive formats added in GDAL 3.7 | PR #53515 | NA Store updated postgres credentials in layer source | #37632 | PR #53465 | NA Cleanup iface signal connections when unloading processing plugin | #53455 | PR #53461 | Too risky / low reward Avoid UI lock when closing Execute SQL window | Unreported | PR #53448 | Too risky Gracefully cleanup empty python faulthandler log files | #50609 | PR #53417 | Too risky Fix a crash on QGIS close | Unreported | PR #53414 | PR #53418 Correctly cleanup project archive files before attempting to clear/replace archive | #53034 | PR #53400 | Too risky Don't open datasets when populating browser directories to determine layer drop support | #53265 | PR #53398 | Deferred Fix crash when writing processing history entry | Unreported | PR #53394 | NA Fix issue causing CRS selection to be ignored | #53309 | PR #53393 | Fix blurry style icons in project properties dialog on hidpi displays | #53370 | PR #53373 | NA Fix grass provider points to out of date help documents | #53105 | PR #53372 | PR #53375 Fix point text annotation rotation, alignment issues | Unreported | PR #53337 | NA Expand range of z index spin for annotations | Unreported | PR #53319 | PR #53326 Fix incorrect scaling of text background markers in annotations | Unreported | PR #53318 | Fix crash on invalid grass layer paths | #32130 | PR #53317 | Fix grass new mapset dialog | Unreported | PR #53316 | NA Flag OneDrive remote folders as remote, slow to open paths on Windows | #51710 | PR #53315 | Too risky Fix crash when creating new grass mapsets when "set" is pressed and no region is selected | Unreported | PR #53293 | PR #53311 Fix custom coordinate transform test results | #52184 | PR #53292 | PR #53353 Don't create alpha bands for non-rotated, south up rasters | #50879 | PR #53290 | PR #53310 Greatly speed up browser when a large number of files are visible | #53265 | PR #53268 | PR #53299 Pass renderer usage from download vector tile algorithm | #53183 | PR #53258 | NA
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Nyall Dawson (North Road)