Edit on GitHub

Changelog for QGIS 3.44

Release date: 2025-06-20

The QGIS Project proudly announces the release of QGIS 3.44, a momentous release that marks the culmination of the QGIS 3 series. This release arrives within a vibrant and ever-expanding ecosystem of free and open-source geospatial tools, libraries, and community support that empowers users worldwide. Building upon the solid foundations of previous releases, QGIS 3.44 provides a stable and refined experience for all users as the project transitions to the modern Qt6 framework with the upcoming release of QGIS 4.0 in October 2025.

As the final feature release of the QGIS 3.x branch, this version ensures a reliable environment for existing workflows, and plugin developers can anticipate a smooth transition between releases, as QGIS 4.0 will retain deprecated APIs to minimize compatibility efforts and allow the ecosystem to evolve alongside the core application.

While focused on stability and refinement, the release still includes a range of notable enhancements that refine workflows and empower users in their geospatial endeavors. Such enhancements include refinements to database management and connectivity, improved data provider flexibility, and new project settings. Old favourites such as the Processing toolbox and QGIS Expressions also see their fair share of improvements, and cartographic capabilities get a boost with new labelling and layout updates.

For a whirlwind tour of all the new functionalities introduced, you can view the highlight reel video on YouTube.

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

Temporal

Feature: Allow WMS-T group node to expose time dimension

A new option to allow the layer tree group node to expose the time dimension has been added on WMS-T layers.

A checkbox on the WMS group properties allows toggling the computation of this time dimension. If enabled, it would recursively generate the time dimension based on the child layer time dimensions.

A group whose time dimension computation is disabled would not propagate the time dimension of its children to its parent.

Date range for the time dimension has also been added in line with the OGC WMS and ISO8601 standards.

This feature was funded by Ifremer

This feature was developed by Julien Cabieces

Feature: Add fixed date/time to raster temporal mode

Allows the user to select a fixed date/time on a raster layer’s temporal properties, allowing the start and end of a temporal range to be inferred by a single input value.

This feature was funded by Ifremer

This feature was developed by Julien Cabieces

User Interface

Feature: Open a specific tab in the Message Log Panel

QGIS now supports opening messages in a specific tab of the Message Log Panel.

This can be used, for instance, to open a specific tab directly for a given provider or plugin.

This is achieved by extending the openMessageLog method to accept the tab name as a parameter. If the provided tab name cannot be found, the panel will be displayed using its existing state.

Included with this change is the extension of the iface method, iface.openMessageLog( tab_name ).

This feature was funded by City of Frankfurt – Stadtplanungsamt

This feature was developed by Germán Carrillo

Symbology

Feature: Add an option to delete unused categories in the categorized symbol renderer widget

A new option has been added to the categorized symbol widget to allow users to bulk remove unused categories.

Using this option will automatically identify and remove any categories which are not matched in the attribute field or expression used to categorize the layer.

This is especially useful when utilizing a clipped subset of data that inherited a large set of categorized styles.

This feature was developed by Ben Wirf

Labelling

Feature: Add settings for controlling margin around labels and preventing duplicate labels

Two new settings have been introduced for vector layer labels, namely:

  • Margin around labels: This allows setting a margin around a layer’s labels, which prevents all other labels from being placed closer than this margin distance to the layer’s labels.
  • Prevent duplicate labels: Removes labels within a minimum distance across ALL layers using case sensitive matching.

This can be used to improve the appearance of labels in the rendering of complex geographic situations such as road network data, where elements such as dual carriageways, service roads, and other entities can result in many identical label elements appearing close together.

This feature was developed by Nyall Dawson

3D Features

Feature: Cross-section tool

A new tool has been added for creating cross sections in a 3D scene. User can pick a region of interest in the 2D map canvas (by clicking three points - start point, end point and cross-section thickness), which will make 3D view filter out everything outside of the region. The camera in the 3D view also gets moved to look at the region of interest from the side.

Compared to the configuration of the extent of the 3D view, cross section tool is both faster to use (it does not need to reload the whole scene when cross section is enabled/disabled) and allows rotated rectangular regions.

This feature was funded by Septima, Klimadatastyrelsen

This feature was developed by Matej Bagar

Feature: Globe view

There is a new mode for 3D scenes - globe view - in addition to the traditional 3D view based on a projected CRS.

Any map layer type can be used as a 2D texture for the globe, and 3D renderers of tiled scene layers and point cloud layers are supported.

Globe view uses the ellipsoid of the project to generate globe mesh. It is even possible to use other celestial bodies, such as Mars or Moon, if the project’s CRS is set up accordingly.

More info:

This feature was funded by Cesium Ecosystem Grant

This feature was developed by Lutra Consulting & North Road

Feature: Large 3D scene support

In earlier versions of QGIS, 3D map views would not behave correctly with scenes larger than 50-100 kilometers due to numerical precision issues - the camera would move erratically (to the point of being unusable) or features would jitter when zoomed in. This has been fixed now - for both local scenes and globe scenes, as outlined in QEP 301.

This feature was funded by Cesium Ecosystem Grant

This feature was developed by Lutra Consulting & North Road

Point Clouds

Feature: Update pdal_wrench to v1.2

This provides:

  • Improved support of Virtual Point Clouds (VPC) in processing algorithms
  • The possibility to output directly to Cloud Optimized Point Cloud (COPC) for various formats

See the pdal_wrench changelog for more details on other improvements.

This feature was funded by Landesamt für Vermessung und Geoinformation Vorarlberg

This feature was developed by Jan Caha

Feature: Allow COPC output for PDAL Algorithms

By leveraging the upgraded pdal_wrench dependency, PDAL Algorithm outputs can be generated as Cloud Optimized Point Clouds

This feature was funded by Landesamt für Vermessung und Geoinformation Vorarlberg

This feature was developed by Jan Caha

Feature: Automatic utilization of COPC index files in processing tools

If a COPC file has an index available, QGIS will now automatically utilize it by default when performing processing operations. This will make some operations faster (e.g. clip).

This feature was funded by Landesamt für Vermessung und Geoinformation Vorarlberg

This feature was developed by Jan Caha

Feature: Point cloud editing

It is now possible to edit point cloud layers in the 3D map views. Users can pick which attribute to modify, the target value and then interactively select points that should be modified.

There are several map tools to select points for editing:

  • Select by Polygon
  • Select by Paintbrush
  • Select Above/Below Line

Users can set up filtering of edited points using QGIS expressions, so that only some points get their attribute value modified.

An error has occurred.

Watch this video on www.youtube.com or enable JavaScript if it is disabled in your browser.

This feature was funded by Septima, Klimadatastyrelsen

This feature was developed by Lutra Consulting

Feature: Add auto-wrap after setting for layout legends

The auto-wrap setting allows legend text to be automatically wrapped after a fixed line length (set in millimeters).

This can be used to prevent excessive widths on auto-generated legends.

This feature was funded by North Road, thanks to SLYR

This feature was developed by Nyall Dawson

Expressions

Feature: Add repeat function and reverse variant for strings

New expressions include:

  • A new ‘repeat’ function, which repeats a string a specified number of times
  • A string variant for ‘reverse’ that allows the reversing of strings

This feature was developed by Nyall Dawson

Feature: Expression functions to create CRS from string definition and to get authid from CRS

New expression functions have been added that support the management of coordinate reference systems, namely:

  • crs_from_text: Creates a coordinate reference system from a string definition. The string definition can be represented using a CRS code in auth:id format, a WKT definition, or a PROJ string definition of the CRS.
  • crs_to_authid: Returns the identifier string for a coordinate reference system in the format authority:id, e.g., EPSG:4326.

This feature was developed by Alexander Bruy

Digitising

Feature: Add merge policies

Similar to the already existing Split and Duplicate “policies”, QGIS now supports Merge Policies, which can be configured to determine the initial values in the Merge Features dialog.

Policies can be set per field in the Attributes Form of the Layer Properties dialog, under the “Policies” section of the field configuration.

Policy methods include:

  • Sum: (Numeric fields only) Sum of values
  • Geometry Weighted: (Numeric fields only) Uses weighted average by geometry
  • Default Value: Uses the default value set in QGIS
  • Unset Field: Clears the field and uses the default value from the data provider (if it exists). If no value is specified, the value from the first feature is used (current default)
  • Largest Geometry: Uses the value from the feature with the biggest geometry (determined by length (line types), area (polygon types), number of parts (multipoint types))
  • Minimum Value: (Numeric fields only) Lowest value
  • Maximum Value: (Numeric fields only) Highest value
  • Set to Null: Sets the value of the field for the feature to NULL

This feature was funded by the National Land Survey of Finland.

This feature was developed by Juho Ervasti

Data Management

Feature: Use HEIGHT_AVERAGE from RPC when available

QGIS can now more accurately position satellite images, especially those from DIMAP / Pleiades NEO products.

This improvement means that these types of satellite images will be displayed in their correct geographical location with greater precision, even without additional elevation data.

This feature was developed by Even Rouault

Feature: Allow field customisation when importing db tables

The database table import dialog has been expanded to include a new field mapping section, which gives users control over the fields in the created table.

Users can rename, set the exact destination field types, and tweak the source expression for each output field.

Fields can also be excluded from the import, or new fields created that don’t exist in the source table.

This feature was funded by City of Canning

This feature was developed by Nyall Dawson

Feature: Add optional extent, expression based filter when importing tables to database

When a table is imported to a database via the browser, the user now has an option to filter the copied records by extent or expression.

This feature was funded by City of Canning

This feature was developed by Nyall Dawson

Feature: Add stored query support to Execute SQL window

The “Execute SQL” dialog now supports stored queries, replicating the functionality from the DB Manager in the new browser tools.

Users can insert stored queries into their current query, save new stored queries, and remove queries via a new toolbar action.

Queries can be stored in the current project or in the local user profile.

This feature was funded by City of Canning

This feature was developed by Nyall Dawson

Feature: Saving/Loading SQL queries from Execute SQL/Update SQL dialogs

Support has been added to the Execute SQL dialog and Update SQL dialogs that allows users to save and load SQL queries to/from .sql text files. This replicates the functionality available in the DB Manager over to the core browser-based database connection facilities.

The UX has been designed to mimic the same functionality from other standard parts of QGIS, such as the Processing Script Editor with Toolbar actions for Save/Load as well as new actions for other standard operations, including copy, paste, undo, and redo.

This feature was funded by City of Canning

This feature was developed by Nyall Dawson

Feature: Allow for extra OAuth2 token(s) to be added into headers

OAuth2 advanced configuration options can now attach extra tokens sent by the OAuth2 token endpoint as HTTP(S) request headers. This allows for more flexible handling of OAuth configurations, such as when certain providers append OpenID tokens to their token replies.

This change is integrated into the credential management and is available for all OAuth2 services.

This feature was developed by Mathieu Pellerin

Feature: Convert field name Casing when importing vector layers

The Import Vector dialog for migrating vector layers to data sources now supports the option to automatically transform all field names to lowercase or uppercase.

This feature was funded by Ocean Winds

This feature was developed by Jan Caha

Feature: Import selected features only to database table

When importing layer features into a database table, a new dialog option allows for filtering the import to only the selected features. This option is only available if there is a current selection on the imported layer.

This feature was funded by Ocean Winds

This feature was developed by Jan Caha

Forms and Widgets

Feature: Switch between field names and field aliases in forms

In line with QEP 401, the Vector Layer Properties has been switched to model-based tree views.

This has enabled new functionality, including the ability to switch between field names and field aliases in both the Available Widgets and Form Layout panels.

Additional enhancements include:

  • Orphan fields are highlighted in the Form Layout, emulating the UX of broken relations.
  • Improvements in broken relations: retain relation names when the relation is still available in the relation manager,

This feature was funded by the QGIS user group Switzerland

This feature was developed by Germán Carrillo

Feature: Add a search box to Atrributes Form Designer

In line with QEP#401, the Drag and Drop form designer now includes a search box to filter items by name or alias, making it much easier to work with tables and datasets that include a lot of attribute fields.

This filter works across both the Available Widgets and the Form Layout panels.

This feature was funded by the QGIS user group Switzerland

This feature was developed by Germán Carrillo

Analysis Tools

Feature: Add input parameters to the toolbox in the modeler

A single “Toolbox” panel has been added to the Graphical Modeler, which merges the objects from the Input and Algorithm panels into a single panel. This simplifies the UX of the Graphical Modeler, allowing users to use the search filters rather than manage separate tabs for modeelr tools.

This feature was funded by Hauts-de-France

This feature was developed by Valentin Buira

Processing

Feature: Port SAGA “Fill Sinks Wang & Liu” to native tool

This highly in-demand tool seemed to be fragile and error-prone when run via the SAGA Processing Plugin.

A new native tool has been provided to provide an optimized out-of-the-box tool that is stable and effective.

Note that, as this implementation is a clone of the SAGA implementation, bugs present in the source will be present in the new native tool.

This feature was developed by Nyall Dawson

Feature: Add creation options UI to raster calculator

Raster creation options are now exposed in the raster calculator UI for both the native dialog and within the Processing Algorithm dialog.

This feature was developed by Alexander Bruy

Feature: Batch processing temporary output

Temporary output layers are now supported in the Batch processing utility, improving the ability to generate intermediate data sources or perform experiments more efficiently.

This feature was funded by Ocean Winds

This feature was developed by Jan Caha

Feature: Add basic drag and drop support in the model designer

The QGIS Graphical Modeler now supports independent sockets connected to model nodes, which can be interactively connected via drag and drop.

This allows users to quickly and easily connect an output from one node to a specified input on another without configuring each node’s inputs individually.

This feature was developed by Valentin Buira

Feature: Processing raster rank algorithm

The new “Raster rank” algorithm takes a collection of rasters as input and creates an output with cell values matching the rank order of a list of cell values taken from the input collection of rasters.

For example, if the list of input values for a given cell is [10,20,30,40] and the rank is 2, the output value will be 20.

The algorithm also allows for a negative index rank. Given the same list of input values, [10,20,30,40], and using the rank value -2, the output value would be 30.

Finally, the algorithm offers to nodata handling behavior. By default, nodata values are excluded from the list, and a given output cell will only be set to nodata if the rank is greater than the values list size. Users can also pick an alternative behavior, whereas one or more nodata values for a given cell in the input layers will result in a nodata value for that output cell.

This feature was developed by Mathieu Pellerin

Application and Project Options

Feature: Add project setting for scale calculation, including new “scale at equator” method

A new project-level setting for the scale calculation method has been added, with choices for:

  • at top of map
  • at bottom of map
  • at middle of map
  • horizontal average
  • scale at equator

Changing the scale method impacts numerous system behaviors, including:

  • New layout scale bars will default to the project’s scale calculation method
  • The scale calculations will be adjusted, affecting project aspects including:
    • status bar widget map renders
    • @map_scale and similar scale-related API methods
    • scale based visibility of layers and symbols
  • Processing algorithms which render maps will respect the project scale calculation method
  • Scale method affects QGIS server map rendering

Note that symbology sizes determined in map units are NOT affected by this setting.

The new “scale at equator “scale calculation method always calculates the scale at the equator, regardless of the actual visible map extent. It can be used to provide a consistent, static scale for maps in geographic reference systems, regardless of the latitudes actually visible in the map. Note that this method is only applicable when calculating scales with a degree-based reference system.

This feature was developed by Nyall Dawson

Feature: Add multiple country codes filter to Nominatim Geocoder Locator

A new optional configuration value for the Nominatim Geocoder Locator allows filtering results to one or more countries by providing a comma-separated string of the Two-letter country codes a user would like to restrict their results to.

This feature was funded by level2

This feature was developed by Uroš Preložnik

Profile Plots

Feature: Add support for subsections indicator

Profile plots now support the display of subsection indicators, which are rendered as vertical lines in the profile tool. This is based on outcomes from QEP#260 and supports custom indicator symbology as well as providing subsection indicators on both the Elevation Profile view and Print Layout elements.

This feature was funded by BRGM

This feature was developed by Jean Felder

Browser

Feature: Port SQL Query History to Browser

The database query history panel is now displayed in the Execute SQL dialog on the browser, in line with QEP#332.

This adds a new top-level action to open the query history window.

This feature was funded by QGIS grant program 2025

This feature was developed by Nyall Dawson

Feature: Improved project management for PostgreSQL stored Projects

QGIS now includes options in the browser that allow manipulating QGIS Projects stored in a PostGIS database. New functionalities include the ability to:

  • Rename Project
  • Delete Project
  • Duplicate Project
  • Move Project to Schema

This feature was funded by Ocean Winds

This feature was developed by Jan Caha

Feature: Show dialog when importing tables via browser and give users options to control import

A new dialog will prompt users for more comprehensive import configuration when dragging layers into data sources in the QGIS Browser, emulating functionality provided by the DB Manager Plugin for data imports.

Note that this only works when a single layer is selected, and using multiple selections will continue to execute an immediate import.

A new “Import Vector Table..” context menu item is also provided to allow importing directly from the current project layers into a target schema.

The dialog options include:

  • Renaming the destination table
  • Replace destination
  • Set primary key
  • Set geometry column
  • Set destination CRS
  • Set output table comment

This work entailed refactoring a number of internal architectural elements regarding the implementation of the QGIS Browser and data providers. It partly based on efforts by @JanCaha to port the DB Manager Postgres import functionality to the QGIS Browser.

Note that this feature does not currently support Oracle databases, due to legacy functionality leveraged by the oracle data provider.

This feature was funded by City of Canning

This feature was developed by Nyall Dawson

Feature: Move table to another schema for PostgreSQL Provider

PostgreSQL Tables can now be moved to another schema directly in the QGIS Browser.

This feature was funded by Ocean Winds

This feature was developed by Jan Caha

Feature: Enable field rename for PostgreSQL

QGIS now supports renaming fields for PostgreSQL tables directly in the QGIS Browser interface.

This feature was funded by Ocean Winds

This feature was developed by Jan Caha

Data Providers

Feature: Add a WFS parameter for featureMode

The WFS Provider URI and UI now support a “featureMode” parameter, which supports options for :

  • default (Use the server default configuration)
  • SimpleFeatures (Enable simplification on returned features)
  • ComplexFeatures (Disable simplification on returned features)

This feature was developed by Even Rouault

Feature: Add connection setting for restricting PostgreSQL Schema

This feature allows users to specify a single schema to limit a Postgres connection to, much like the equivalent Oracle provider setting.

When set, only tables from the matching schema will be included in the browser panel and data source select for the connection.

This can be used to limit the database work required to populate tables for a connection pointing to a large database store.

This feature was funded by Regiodata

This feature was developed by Nyall Dawson

Feature: Add option to use POST requests for WFS connections

By default, connecting to a WFS server will be done using GET requests; however, users will now be able to switch specific WFS connections to utilize the POST HTTP method, allowing more flexibility in web service configurations.

This feature was funded by Dorset Council

This feature was developed by Nyall Dawson

Feature: Allow SQL queries as layer sources from SQL Server

QGIS now allows loading SQL Server queries as map layers from the browser and updating the SQL for existing query layers.

This feature was funded by City of Canning

This feature was developed by Nyall Dawson

QGIS Server

Feature: Allow configuring the server project cache size

A new QGIS_SERVER_PROJECT_CACHE_SIZE environment variable has been added, which allows the configuration of the QCache cost, which was previously a hardcoded value.

This feature was developed by Sandro Mani

Feature: Add server properties on layer tree group

Users can now edit additional server properties on a layer tree group that will be returned in the GetCapabilities request. Available properties have been extended beyond the previous options of short name, title, and abstract to include:

  • Keywords
  • Data URL (with format)
  • Attribution title and URL
  • Metadata URLs
  • Legend URL and format (by default, one will be generated)

This feature was funded by Ifremer

This feature was developed by Julien Cabieces

Programmability

Feature: Add method to convert shapely geometry to QGIS Geometry

In line with QEP#227, a new QgsGeometry.from_shapely() method for generating a QgsGeometry object from a shapely object has been provided to improve integration with the shapely geometry library, while keeping it an optional dependency.

This feature was developed by Till Frankenbach

Feature: Expose QGIS GPS Tools to Python API and Plugins

The GPS tools class is now available in the PyQGIS API via a brand new QgsAppGpsTools class, accessed via QgisInterface::gpsTools(), so that plugins have more control on the QGIS GPS tracking session.

From QGIS 3.44 on, plugins can create a vector layer feature from the current GPS track, using the method iface.gpsTools().createFeatureFromGpsTrack().

This also exposes additional functionalities, such as setting the GPS track line symbol by changing the corresponding setting in QgsOptions and updating the eventual current GPS track geometry accordingly, e.g. iface.gpsTools().setGpsTrackLineSymbol( line_symbol )

This feature was funded by the Danish Nature Agency, Naturstyrelsen

This feature was developed by Germán Carrillo

Notable Fixes

Feature: Bug fixes by Even Rouault (Spatialys)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
CSV Import to Geopackage ( x/y data) ignores more than 5 Mio rows#60966Not reproducible
OGC API: Feature Creation Request Fails When Location Header is in Lowercase#61729PR #61814PR #61835
[Backport 3.40] Pick missing commitsmailing listPR #61843
Processing : unable to import non spatial table into PostGreSQL with OGR command with processing#61655PR #61868PR #62023
Impossibility to save a Null value in a Interger64 field for geopackage files#61787can’t reproduce
Error in GML handling in response to a GetFeature request in the WFS service#60879PR #61872PR #61895
[Tests] Fix and unblock PyQgsLayerDefinition on QT6PR #61874N/A
[Tests] Fix test_core_ogcutils on QT6PR #61876N/A
[Tests] Fix PyQgsDelimitedTextProvider on QT6PR #61877N/A
[Tests] Fix PyQgsSymbolLayerReadSld on QT6PR #61878N/A
weird include paths including cmake keywords#61887PR #61894N/A
QGIS Server GetProjectSettings doesn’t output the EX_GeographicBoundingBox anymore for reverse axis projectsions#61999PR #62002PR #62036
Spilhaus not displayed complete in QGIS 3.42.1#61318PR #62002PR #62036
QT6 tests: fix PyQgsServerAccessControlWFSTransactionalPR #62034N/A
OAPIF: CQL layer filter expression is not used in request#60092PR #62156PR #62186

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

This feature was developed by Even Rouault (Spatialys)

Feature: Bug fixes by Alessandro Pasotti (QCooperative)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
Qgis server - Labels background get transparent based on layer transparency#61801Won’t fix (not a bug)
Inconsistent contents in ogcapi openapi spec#61848PR #61903PR #61922
QGIS Server does not list one layer in WMS GetCapabilities if datum transformation is used#61293Feedback
QGIS server 3.40.4 - Invalid cache strategy#60947PR #61907N/A
Server LTR: OAPIF/WFS3 describe collections malfunction - empty pg layer with UTM zone SRID#60686can’t reproduce
Wrong rendering for HIGHLIGHT_LABEL_ROTATION above 89°#54598Old issue: asked the OP and put on feedback
CGIDIR default for UNIX is wrong (bin, should be libexec/cgi-bin or at least not bin)#54424Old issue: asked for feedback
Performance issue on editing large PostGIS layers.#61879Not enough info: put on feedback and recommended to hire a consultant
New HTTP (WMS & friends) connection dialog too tall#61867PR #61912Not critical
Problems with <NULL> value in Value map#61865PR #61915PR #61939
Expression constraint requires case-sensitive field names while form is open#61740PR #61928PR #61949
JSON array attribute fields are not supported#61728PR #61938Risky
WMS: The parser incorrectly assumes that PositionType contains only a single space (but multiple spaces may exist)#61399PR #61963PR #61986
Graduated classification offers date/datetime fields but does not support them#61767PR #61964PR #61987
Advanced Digitizing: Floater not working correctly#61587PR #61979PR #62114
QGis Server quotes html maptip#61380won’t fix (not a bug)
Hidden coverage layer option remains active after disabling atlas generation in layout#61946PR #61993PR #62066
Distance/area user selected unit unwanted reset in processing tools#61470PR #61997PR #62021
PG: Can’t add/update feature when numeric field with numeric default is set to default#61529PR #62010Risky
In Refactor Fields algorithm, field for “Source Expression” are loaded from the wrong layer when “selected features only” option is checked#62019PR #62124PR #62235
Wrong timezone from default value when adding child feature#62121won’t fix (not a bug)
Ellipsoidal measurement not working when the project is using a custom CRS#61299PR #62212PR #62252
[Processing] “Select by Expression” doesn’t works with some expressions#62231PR #62233N/A

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

This feature was developed by Alessandro Pasotti (QCooperative)

Feature: Bug fixes by Jacky Volpes (Oslandia)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
QgsOptions: Locale value is saved only if it is not empty#52359PR #62137PR #62171
Extent not updated after digitizing features in a memory layer#60830PR #62159PR #62189
Issue with the geometry combine and mergeLines#61136PR #62184
Atlas activation crash#59610PR #62260PR #62288

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

This feature was developed by Jacky Volpes (Oslandia)

Feature: Bug fixes by Jean Felder (Oslandia)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
QgsOptions: Locale value is saved only if it is not empty#52359PR #62137PR #62171
Extent not updated after digitizing features in a memory layer#60830PR #62159PR #62189
Issue with the geometry combine and mergeLines#61136PR #62184
Atlas activation crash#59610PR #62260PR #62288

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

This feature was developed by Jean Felder (Oslandia)

Feature: Bug fixes by Alexander Bruy (QCooperative)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
Better support for SQL and virtual layers as inputs in Processing#39138PR #61880PR #61902
Using virtual layer gives error in GDAL processing algorithms#59364PR #61880PR #61902
enable GdalAlgorithmsVectorTest on QT6PR #61882N/A
fix PyQgsFloatingWidget test on Qt6PR #61885N/A
fix PyQgsNetworkAccessManager test on Qt6PR #61886N/A
enable QGIS algorithms tests (part 2) on Qt6PR #61888N/A
Geopackage vocabulary harmonization#60990PR #61893N/A
unbalanced QSettings.beginReadArray/endArray calls#61373PR #61904PR #61923
Mesh styling, precision seems too small?#50950PR #61905PR #61926
Inconsistency in PostgreSQL / PostGIS connection / layer dialog windows#59886PR #61908N/A
Translate geometry does not create a 3D vector from 2D if deltaZ is an expression#56495PR #61906PR #61933
After deleting the newly added XYZ layer…still exists#53933can’t reproduce
TypeError: EnumType.call()…#58312can’t reproduce
projects/anonymize_*_projects doesn’t affect projectMetadata.author#42413PR #61945PR #61959
Inconsistencies in providers connection dialogs#43951PR #61948N/A
Source manager and WMS configuration dialog too tall#60477PR #61948N/A
New HTTP (WMS & friends) connection dialog too tall#61867PR #61948N/A
duplicated objectName in the oracle dialogunreportedPR #61944N/A
“Save as” does not work…#30130PR #61960N/A
Modifying project CRS…does not update coordinate CRS display#61684PR #61995N/A
CRS selection widget not updated when project CRS changes#56454PR #61989PR #62022
Choice for default/project styles missing…#58653PR #62012N/A
Changing a new project’s CRS does not change the annotation CRS#48046can’t reproduce, already fixed
“editable” property misleading in JSON view#47755PR #62064N/A
‘Current CRS’ icon shows previous CRS#53768PR #62209PR #62236
Crash when clicking on relation table node#56481can’t reproduce
Documentation file grass7.txt is not up-to-date#29140PR #62210N/A
AttributeError: ‘NoneType’ object has no attribute ‘fields’#62224PR #62253PR #62291
Selected field not cleared when changing layer in processing#39351PR #62241PR #62305
pyqgis: QgsGraph#56172PR #62316N/A
qgsidentifyresultsdialog.cpp: ‘best approach’ vs. ‘old fragile approach’#61499can’t reproduce
exporting to .dxf sets units to imperial inch#50579works for me, fixed upstream

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

This feature was developed by Alexander Bruy (QCooperative)

Feature: Bug fixes by Stefanos Natsis (LutraConsulting)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
STAC client connection failing#62232PR #62258N/A
[browser] Inappropriate menus in Postgres connection context menu#62183PR #62270N/A
QGIS master crashes when trying to use reshape features tool#55859PR #62295PR #62326
Reshape Features can’t handle resulting exclaves#24884PR #62312
Reshape tool doesn’t obey ‘Avoid Overlaps’ when a feature is selected.#61720PR #62312
Fix reshaping when snapping to segmentunreportedPR #62315
Unhandled GEOS exception when reshapingunreportedPR #62322
Reshape returns Success instead of NothingHappenedunreportedPR #62323PR #62336
Reshape tool tries to run with a single digitized pointunreportedPR #62324
Fix crash when undoing first digitized point in shape map toolsunreportedPR #62335
Fix crashing shape tools when not enough points digitizedunreportedPR #62338
Crash any time I try to modify a polygon with “Enable tracing” activated.#60856PR #62345
trace function on snap toolset causes QGIS to shutdown when initiated#60978PR #62345
Crash on vector digitizing with trace tool#62163PR #62345
QGIS 3.40.7 Bratislava crashes every time I try to use the tracing tool to create polygons#62342PR #62345
Misbehavior of advanced topology settings on independant layersnot a bug

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

This feature was developed by Stefanos Natsis (LutraConsulting)

Feature: Bug Fixes by Germán Carrillo (OPENGIS)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
Old relations in form (after exporting layer to new file and applied old style) can’t be deleted#44683Can’t reproduce
[Processing toolbox] Search box (result) not updated when list of providers change#26435PR #62162No
Ambiguous JSON errors#42832PR #62247PR #62262
Disallow point layer as input to Oriented Minimum Bounding Box#62126PR #62300PR #62330
When saving SLD to DB, make sure errors are reported to callers (like Package layers algorithm)unreportedPR #62332

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

This feature was developed by Germán Carrillo (OPENGIS)

Feature: Bug fixes by Mathieu Pellerin (OPENGIS)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
QGIS fails to import sprites from OpenStreetMap vector tile stylesunreportedPR #62175
Menu bar not respecting set font size on qt6 build#62007PR #62086
QGIS Qt6 the gui to select the Profile is not well visible#61557PR #62083
Clip by extent prints error on console#61365PR #62075PR #62094
QGIS freeze/is not responding, big CPU usage when setting horizontal and vertical spacing units in “point pattern fill” to “meters at scale”#53550PR #62074PR #62106
Project translation only happening for .qgs, not .qgz#61485PR #62070PR #62101
Stuck in pan mode when using both middle mouse and space pan in model or layout#61528PR #62069PR #62093
Unchecking “Include Z-dimension” still includes Z when Geometry Type is Automatic#61554PR #62068PR #62092
Label font style reverts to Regular in non_english UI (LTR, Qt5)#61660PR #62067PR #62080
Custom shortcuts are not replacing default ones when imported from XML#61717PR #62063
QGIS fails to handle of source containing a relative path to the root of the server hosting the style jsonunreportedPR #62062PR #62084
Can’t save layers as gpkg.zip#61773PR #62049PR #62185
appearance input attributes box do not appear checked#61994PR #62047PR #62056
QGIS-Locator, Behavior changed between 3.22 and 3.4x#62013PR #62043PR #62058
Various new connection dialog spacing and size issuesunreportedPR #62041

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

This feature was developed by Mathieu Pellerin (OPENGIS)

Feature: Bug fixes by Julien Cabieces (Oslandia)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
Colours in PDF outputs appear washed out and don’t render properly#61674PR #62091PR #62107
[Oracle] Fix PyQgsProviderRegistry testqt6 test failingPR #62109No
Model Designer - Python Converter not generating unique keys#54150PR #62261PR #62329

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

This feature was developed by Julien Cabieces (Oslandia)

Feature: Bug fixes by Nyall Dawson (North Road)

Bug TitleURL issues.qgis.org (if reported)URL Commit (Github)3.40 backport commit (GitHub)
Fix walk mode key handlingUnreportedPR #62331N/A
Increase QImageReader allocation limit for qt6 buildsUnreportedPR #62320N/A
Don’t try to pass unset attributes to ArcGIS REST backends#61673PR #62061PR #62249
Fix serious regression in boolean handling in expressions#61072PR #62217PR #62248
Don’t render effects which require rasterisation when forcing vector#58230PR #62218N/A
Fix categorized symbol renderer feature counts for null values#52690PR #62174PR #62203
Try to extract only polygons from Voronoi results#62158PR #62173PR #62194
[processing] Fix show feature count option, output layer ordering#61146PR #62143PR #62172
Don’t finalize string stats after every value addition#62122PR #62170PR #62192
Fix build with SIP >= 6.11#61951PR #62113PR #62142
Use protected, not private virtual methods for map tool classesUnreportedPR #62097PR #62112
Avoid corrupted overlapping docks when first changing from dialog to dockUnreportedPR #62102N/A
Fix jumpy scroll area when using mouse wheel on qt6 buildsUnreportedPR #62099N/A
Fix comparators#62045PR #62081PR #62118
[processing] Fix execution of nested models#60883PR #62079PR #62100
Fix calculation of cost for speed strategy with null/negative values#61667PR #62044PR #62059
Fix variables available for grid annotations missing for grid symbolUnreportedPR #61943PR #61957
Add new enum for rasterised rendering policy#58230PR #61942N/A
Fix blend modes ignored when label masking is enabled#43141PR #61901N/A
Delimited text test can be run on qt6 nowUnreportedPR #61900N/A
Fix mesh layer labeling tests not actually runUnreportedPR #61899PR #61909
[ogr] Handle auto addition of vsizip prefix for vsicurl archives#61561PR #61854PR #61896

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

This feature was developed by Nyall Dawson (North Road)