Project: QGIS

Changelog for version: 3.10 LTR

Release date: 25 October, 2019


Sustaining members for QGIS version 3.10 LTR


Large : 9000 EUR

QGIS user group Denmark

QGIS user group Denmark

QGIS user group Germany

QGIS user group Germany

QGIS user group Sweden

QGIS user group Sweden

QGIS user group Switzerland

QGIS user group Switzerland


Medium : 3000 EUR

AERO ASAHI Corporation

AERO ASAHI Corporation

ARTOGIS a/s

ARTOGIS a/s

GAIA mbH

GAIA mbH

GIAP Sp. z o.o.

GIAP Sp. z o.o.

Land Vorarlberg

Land Vorarlberg

Lutra Consulting Limited

Lutra Consulting Limited

MIERUNE INC.

MIERUNE INC.

OPENGIS.ch GmbH

OPENGIS.ch GmbH

OSGeo:UK

OSGeo:UK

Office of Public Works, Flood Risk Management and Data Management Section

Office of Public Works, Flood Risk Management and Data Management Section

QGIS España Association (QGIS user group Spain)

QGIS España Association (QGIS user group Spain)

SECON Private Limited

SECON Private Limited

Spatial Networks, Inc.

Spatial Networks, Inc.

Terraplan

Terraplan

WIGeoGIS

WIGeoGIS

WhereGroup GmbH

WhereGroup GmbH


Small : 500 EUR

2D3D.GIS

2D3D.GIS

Agresta S. Coop.

Agresta S. Coop.

Alta ehf

Alta ehf

Asociación Geoinnova

Asociación Geoinnova

BGEO Open GIS, SL

BGEO Open GIS, SL

Bathurst Regional Council

Bathurst Regional Council

Baumsicht

Baumsicht

Beacon Environmental

Beacon Environmental

CADaGEO

CADaGEO

CHARTWELL Resource Group Ltd.

CHARTWELL Resource Group Ltd.

City of Canning

City of Canning

Datarock Pty Ltd.

Datarock Pty Ltd.

Dr. Kerth + Lampe Geo-Infometric GmbH

Dr. Kerth + Lampe Geo-Infometric GmbH

EFN eifel-net Internetprovider GmbH

EFN eifel-net Internetprovider GmbH

EPrime Formacion Ltda

EPrime Formacion Ltda

Forest Design SRL

Forest Design SRL

GFI - Gesellschaft für Informationstechnologie mbH

GFI - Gesellschaft für Informationstechnologie mbH

GIS Mexico - Soluciones Geográficas de México SC

GIS Mexico - Soluciones Geográficas de México SC

GIS Support Sp. z o.o.

GIS Support Sp. z o.o.

GKG Kassel, (Dr.-Ing. Claas Leiner)

GKG Kassel, (Dr.-Ing. Claas Leiner)

Gaia3D, Inc.

Gaia3D, Inc.

Gemeente Gouda

Gemeente Gouda

GeoS Geodätische Software Andreas Hellinge

GeoS Geodätische Software Andreas Hellinge

Gispo Oy

Gispo Oy

Gistree, Lda.

Gistree, Lda.

HermeSys, Inc.

HermeSys, Inc.

InfraGIS GmbH

InfraGIS GmbH

Infraplan Engineering Services Pvt. Ltd.

Infraplan Engineering Services Pvt. Ltd.

Ingenieurbüro Kauppert

Ingenieurbüro Kauppert

Ingenieurbüro Reinhard Beck GmbH & Co. KG

Ingenieurbüro Reinhard Beck GmbH & Co. KG

Integrate Sustainability Pty Ltd

Integrate Sustainability Pty Ltd

K + D Landschaftsplanung AG

K + D Landschaftsplanung AG

Kaplan Open Source Consulting Ltd

Kaplan Open Source Consulting Ltd

Le Groupe SYGIF inc.

Le Groupe SYGIF inc.

Liverpool School of Tropical Medicine

Liverpool School of Tropical Medicine

MHTC Ltd

MHTC Ltd

MappingGIS S.L.U.

MappingGIS S.L.U.

Natural GIS LDA

Natural GIS LDA

OPGK Kraków

OPGK Kraków

OSGeo.JP

OSGeo.JP

Oester Messtechnik GmbH

Oester Messtechnik GmbH

Omkeere B.V.

Omkeere B.V.

Open Geo Groep

Open Geo Groep

Orbitalnet Inc.

Orbitalnet Inc.

Pixalytics

Pixalytics

QGIS user group México

QGIS user group México

QTibia Engineering

QTibia Engineering

RaumRegionMensch ZT GmbH

RaumRegionMensch ZT GmbH

Region Midtjylland (Central Denmark Region)

Region Midtjylland (Central Denmark Region)

SIGMOÉ

SIGMOÉ

SOLTIG (Soluciones en Tecnologías de Información Geográfica)

SOLTIG (Soluciones en Tecnologías de Información Geográfica)

Septima

Septima

Sherborn Forest Trails

Sherborn Forest Trails

Solargis s.r.o.

Solargis s.r.o.

Spacescape AB

Spacescape AB

Studio Bereikbaar

Studio Bereikbaar

Syddjurs Kommune

Syddjurs Kommune

TYC GIS

TYC GIS

TerreLogiche

TerreLogiche

Trage Wegen vzw

Trage Wegen vzw

Urbsol

Urbsol

Veitch Lister Consulting

Veitch Lister Consulting

Västra Götalandsregionen

Västra Götalandsregionen

WAGNER-IT

WAGNER-IT

con.sens verkehrsplanung zt gmbh

con.sens verkehrsplanung zt gmbh

map-site

map-site

thinkWhere

thinkWhere

tkt teleconsult Kommunikationstechnik GmbH

tkt teleconsult Kommunikationstechnik GmbH


General


Feature: Show news items on welcome page

A curated QGIS news feed is now shown on the welcome page. This finally gives us a direct channel to push project news to ALL our users! Expect to see lots of interesting QGIS news, tips, and events coming your way!

This feature was funded by QGIS.org

This feature was developed by Nyall Dawson (North Road)


Feature: Milliradians (SI definition) and mil (NATO) units

QGIS 3.10 allows you to measure angles in two new units, milliradians (SI definition) and mil (NATO) units.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Interface Customization dialog filtering

We've added a new "search" box to the Interface Customization dialog, which allows you to filter through the widgets and easily find the widget you are trying to customize...

This feature was developed by DelazJ


Feature: Improved auto-fix broken layers

When a layer path is fixed in a project, QGIS 3.10 will automatically scan through all other broken paths and try to auto-fix any others which were also pointing to the same original broken file path. Any change which speeds up fixing broken layer paths is a welcome change in our view!

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Spatial bookmarks supercharged!

We've totally revamped how spatial bookmarks are exposed and managed in QGIS 3.10. Spatial Bookmarks are now shown in the browser panel, and can be regrouped into custom, categorized folders. This offers a much easier way to navigate and manage your bookmarks.

We also added a brand new bookmark editor dialog, which features an extent widget that greatly facilitates bookmark editing.

Bookmarks can also now be dragged and dropped onto canvases, allowing secondary canvases to zoom to a particular bookmark. This allows bookmarks to play nice in multi-canvas projects, since you can drop them onto a specific canvas to zoom.

This feature was developed by Mathieu Pellerin, Nyall Dawson


Feature: "Reselect Features" action in Edit -> Select menu

Ever spend 10 minutes painstakingly creating an interactive selection of features, only to accidentally deselect them all through an errant mouse click? If so, this feature is designed just for you! Now, you can restore a layer's selection following a selection clear operation via the new "Reselect Features" option in the Edit menu.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Parallelize snap index build

The idea was to parallelize for each layer the snap cache computing (sequential at the moment) and to make it non blocking. As a consequence it is still possible to use QGIS even if snap cache is currently building. User can for instance start to edit node while the snap cache build is in progress.

This feature was developed by Oslandia


Feature: Templates for QGIS Projects

QGIS 3.10 includes the ability to directly use Project Templates from the welcome page. Additionally, you can now ship project templates to your whole organisation by placing them in a system folder, next to the already existing possibility to put it into a user profile folder.

This feature was funded by The QGIS Project

This feature was developed by Matthias Kuhn (OPENGIS.ch)


Map Tools


Feature: 3D line lengths shown in identify tool results

Using the Identify Features tool on a 3D linestring now includes the 3d Cartesian length of the line in the results (alongside the existing 2D Cartesian and 2D ellipsoidal lengths).

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Symbology


Feature: Default resampling setting for newly-added raster layers

In QGIS 3.10 we've added a new setting for the default resampling mode to use when for newly-added raster datasets. (This setting can be found in the rendering panel of the options dialog).

This feature was developed by Mathieu Pellerin


Feature: Improved copy/paste of symbols

We're passionate about making QGIS a user-friendly cartographic tool which is a joy to work with, so we've added a bunch of new shortcuts throughout the interface which allow you to copy and paste symbols from one part of QGIS to another. E.g, you can copy a symbol from a category and paste it directly onto another category, or a layout shape item, or inside the style manager dialog!

This feature was funded by SMEC/SJ

This feature was developed by Nyall Dawson (North Road)


Feature: "Center of segment" placement mode for marker and hash line symbol layers

We've added a brand new "Center of segment" mode for placement of marker line or hashed lines symbols. This allows you to place markers or hash lines over the center point of individual line segments, exposing cartographic effects which were not possible before (and improving the quality of layers converted from ArcMap using the SLYR tool).

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: More flexible data defined offset expressions

In previous QGIS releases, only string values of the format 'x,y' would be permitted for data-defined symbol and label offsets. We've listened to user feedback that this was confusing, and in QGIS 3.10 we now allow arrays of numbers as a valid expression result for offsets. E.g. "array(3,5)".

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Labelling


Feature: Create and manage text formats and label settings in QGIS styles

In QGIS 3.10 we've finally implemented a long-awaited feature, allowing users to manage their own libraries of custom text formats and label settings alongside their existing symbol libraries!

Now, the Style Manager dialog can be used to manage text formats (which store the font, color, buffers, shadows, and backgrounds of text formats) and layer-wide label settings. (A "text format" includes just font settings and other appearance related settings, while a "labe setting" also includes layer-type specific settings such as label placement, priority, and rendering settings).

Text Formats and Label Settings offer all the same functionality as you're used to for managing symbols and color ramps within styles, including import and export to XML files, tagging, smart groups, favoriting etc...

This feature was funded by North Road

This feature was developed by North Road


Feature: Marker symbols as label backgrounds

Alongside all the other exciting labeling improvements which we've landed in 3.10, we now allow use of marker symbols as a background for labels. This allows you to use all the rich functionality available for marker symbols as a background to labels, and complements the existing shapes and SVG background choices!

This feature was funded by North Road

This feature was developed by North Road


Feature: Label callouts!

A common practice when placing labels on a crowded map is to use 'callouts' - labels which are placed outside (or displaced from) their associated feature, with a line connecting the label and the feature. In QGIS 3.10, we've added native support for quickly and easily creating beautiful label callouts (no more expression mangling or drawing by hand!).

We've added many settings for controlling exactly how these label callouts are drawn, and naturally, you can take full advantage of the richness of QGIS line symbol support within your callouts! This includes all the existing line symbol styles, layer effects, and even support for data-defined settings!

In 3.10, we expose options for either a "simple" (direct line) or "Manhattan" (straight lines) callout styles. If you're interested in sponsoring additional callout styles in a future release, get in contact with the QGIS team to find out how you can make this happen!

This feature was funded by SMEC/SJ

This feature was developed by Nyall Dawson (North Road)


Feature: Change multi-line label alignment for individual labels

We've added an additional option to allow you to control multi-line alignment on a label-by-label basis. Just active the Label Properties tool and click on your map labels, and a new setting for the text alignment is now available.

This feature was developed by Mathieu Pellerin


Feature: Show unplaced labels

If you've ever been concerned about automatic label placement hiding away important labels on your map -- this feature is for you! In QGIS 3.10 we've added an option to show "Unplaced labels" on your map, so you can see immediately exactly what's been hidden from view (AKA "see what others can't")!

This new setting (which is accessed through the Labeling toolbar) will render these Unplaced Labels in a red color (but the color can be changed from the project Label Settings dialog). After identifying any missing labels in your map, we suggest you use the existing Labeling tools such as the "move label" or "show/hide label" tool to rearrange your map and make these labels visible again.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Overrun distance for line labels

We understand that making a cartographic masterpiece is a demanding task, so in QGIS 3.10 we've extended the capabilities of curved labels by adding a new "overrun distance" setting. This setting allows you to control exactly how far a curved label is allowed to extend past to ends of a line feature. Bumping up the distance will result in giving the labeling engine more flexibility in placing your labels, resulting in more labels being placed in better locations on your map! Win! The setting works for both curved and parallel label modes, and supports distances in mm/map units/pixels/etc, and data-defined distances.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Data defined control for "label every part of multipart features" setting

The "label every part" option was one of the very few settings which couldn't be previously data-definable for labels. We've remedied this omission in QGIS 3.10, and you can now control whether you want all parts labelled on a feature-by-feature basis!

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Control "label all parts" via the label properties tool

We aren't lying when we say that QGIS 3.10 is a love-letter to map labelling! Another new option we've added in this version is interactive control over whether all parts of a feature should be labeled via the Label Properties tool.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Vertical text orientation

As of 3.10, QGIS is now fully equipped to render vertically oriented labels. To our Chinese, Japanese, and Korean users: spread the word! :)

You can choose between two vertical orientation mode: one that always renders labels vertically, or an alternative mode that dynamically picks the orientation based on the label rotation.

This feature was developed by Mathieu Pellerin


Feature: Control over font kerning

Another option we've added for improving the conversion of ArcMap symbology to QGIS (via SLYR) is a new setting for controlling whether label fonts are kerned (or not).

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Rendering


Feature: Rendering raster layers outside the reported extent

Depending on the server technology used, sometimes the map extent reported by raster layers may be smaller than the actual area which can be rendered (especially notably for WMS servers with symbology which takes more space than the data extent). Previous version of QGIS would crop raster layers to the reported extents, resulting in truncated symbols on the borders of these layers. Now, there's a new option to allow you to override this behaviour and ignore the reported extent for affected servers.

This feature was developed by Matthias Kuhn (Opengis.ch)


Feature: Georeference PDFs and TIFs when saving the map canvas as image/PDF

In QGIS 3.10 we've implemented support for embedded georeferencing within PDFs and TIFs when using the save [map canvas] as image or PDF.

This feature was developed by Mathieu Pellerin


Feature: New map canvas image decoration

We've added a brand new decoration for the QGIS main canvas, allowing you to add a bitmap and SVG image overlay (logo, legend, etc.) to your map window.

As with other parts of QGIS, the image decoration supports customizable fill and outline color for parameter-enabled SVGs.

This feature was developed by Mathieu Pellerin


Feature: Logarithmic scale classification

You can now use a logarithmic based classification technique when creating ranges for the graduated renderer.

This feature was developed by OPENGIS.ch


3D Features


Feature: Measurement tool in 3D map view

Now you can measure distances in 3D map views! This new tool is available in the 3D map view toolbar, and has the same workflow as the 2D measurement tool (with the same configuration settings of rubber band color, units, decimal place, etc). It also has the same behavior (left-click to add a new point, middle-click to delete the last point, and right-click to restart the measurement). This allows you to measure distances in 3d, e.g. the distance between two building’s roofs or the length of a river running down a mountain. See the 3D measurement tool in action:

This feature was funded by Google Summer of Code Program

This feature was developed by Ismail Sunni


Feature: Billboard Rendering for Points

We added a new kind of rendering style for point layers. It allows you to show the point with a QGIS symbol (e.g. marker, SVG, etc) that always faces the user and always has the same size. You can see sample usage in the video.

This feature was funded by Google Summer of Code Program

This feature was developed by Ismail Sunni


Feature: 3D On-Screen Navigation

In earlier QGIS versions, you could already navigate the 3D world by using a mouse and keyboard. Unfortunately, for a new user, it is not easy to start using them! 3D On-Screen Navigation will help to navigate the 3D world. There are buttons to zoom in/out, tilt up/down, pan up/down/left/right, and rotate the 3D map view. This feature can be activated from the 3D map view toolbar. See how to use it in this video:

This feature was funded by Google Summer of Code Program

This feature was developed by Ismail Sunni


Print Layouts


Feature: Right-to-left arrangement for legends

Thanks to funding from our right-to-left locale users, we've added a new choice for arrangement of legend elements. These include symbols to the left OR symbols to the right of the legend text, and alignment options for groups, subgroups and item text.

This feature allows creation of right-to-left locale friendly legends. To make things user-friendly, we even default to this right-to-left style alignment when creating new legends under a RTL based locale.

This feature was funded by Kaplan Open Source

This feature was developed by Nyall Dawson (North Road)


Feature: Control margin under legend group and subgroup headings

If you're after pixel-perfect control over your legend appearance -- this one's for you! QGIS 3.10 now allows you to tweak the spacing applied under group or subgroup headings.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Data defined settings in text formats

Since so much of QGIS' cartographic power comes from the flexibility of data-defined symbol settings, we've now allowed them to be used for text formats too! This means you can now use data defined properties wherever text formats are used, e.g. within layout scalebar text.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: @scale_value variable

To complement the new support for data-defined settings within text formats, we added a new @scale_value expression variable. This can be used when evaluating data defined text format properties while rendering scale bar text, and ultimately allows you to have per-label customisation of the text format inside scale bars (e.g. showing certain distance labels in bold).

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: Scalebar label placement options

We've extended layout scale bars with additional styling options, adding a pair of settings to refine the placement of scalebar labels. Now you can define whether labels are shown above or below the scalebar itself, as well as setting whether labels are centered in the middle of a segment or placed at its end.

This feature was developed by Mathieu Pellerin


Feature: Simplify PDF or SVG exports

Previous QGIS versions would often generate HUGE PDF (or SVG) outputs, as these outputs included many redundant vertices which were not discernably different at the export DPI. Now, by default, we apply a simplification while writing out PDF or SVG files, causing geometries to be simplified and automatically removing any redundant vertices which are (e.g. if export DPI is 300 dpi, vertices less then 1/600 inch different from each other will be removed).

This new setting, "Simplify geometries to reduce output file size", is exposed in the SVG or PDF export settings dialogs shown when exporting a layout/atlas/report to PDF or SVG.

No more ridiculously complex and large export file size for your QGIS print layouts! Aside from the file size issues, these also cause problems when trying to load into other applications, e.g. Inkscape, which chokes on the huge number of vertices and grinds to a crawl.... ouch!

This feature was funded by GeoPDF export group: Land Vorarlberg; Cantons of Zug, Thurgovia and Neuchâtel; Cities of Vienna and Dornbirn; Biodiversity Information Service for Powys & Brecon Beacons National Park

This feature was developed by Nyall Dawson (North Road)


Feature: Improved SVG layered exports

User feedback told us that the way we created layered SVG files in past releases was frustrating to work with. So, in QGIS 3.10, we've revamped this feature and now SVG layer names will match the layer names from QGIS, making it much easier for designers to understand the contents of the document! Read more about this are related features here.

This feature was funded by GeoPDF export group

This feature was developed by Nyall Dawson (North Road)


Feature: Layout map redraw indicator

In earlier QGIS releases, there was no way to tell whether a map refresh had finished inside a QGIS print layout designer window. So, we've added a new indicator in the status bar which shows whenever there's a redraw is humming away in the background. No more user confusion!

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: GeoPDF Export

If you export PDF's from QGIS now, there is an option to export it as GeoPDF. If you open this PDF with a compatible PDF viewer, you will then be able to toggle layers on and off, pan and zoom around the PDF and interactively interrogate features! Futhermore, you can re-import these GeoPDF documents back into QGIS as vector layers, and see all the features in their original locations and with their original attribute values.

GeoPDF export is available for either print layouts or map canvas exports. We've added lots of flexibility to this new option, e.g. with options for controlling which layers will be exported as interactive layers. You can even choose to export multiple map themes into a single GeoPDF document, so that your readers can interactive switch between these themes! (Wow!)

Note that GeoPDF export requires a QGIS build based on GDAL 3.0 or later.

Read more at QGIS 3.10 Loves GeoPdf

This feature was funded by GeoPDF export group: Land Vorarlberg; Cantons of Zug, Thurgovia and Neuchâtel; Cities of Vienna and Dornbirn; Biodiversity Information Service for Powys & Brecon Beacons National Park

This feature was developed by Nyall Dawson (North Road)


Feature: Data defined control grid properties

We've added data defined control over layout map grids, to give you extra flexibility in the appearance and behaviour of these grids, and to allow you to create layout templates and atlases with grids which dynamically respond to map scale changes.

Now, you're able to set data-defined control for:

  • grid enabled state
  • grid x/y intervals
  • grid x/y offsets
  • grid frame size and margin
  • annotation distances from the grid frame
  • grid cross size
  • grid frame line thickness

This feature was funded by Andreas Neumann

This feature was developed by Nyall Dawson (North Road)


Feature: Dynamic grid segment sizes

Just like the existing scalebar setting of the same name, this new setting allows you to set a page-size-based range for map grid intervals. The grid interval will be dynamically calculated based on the map extent and scale to pick the largest possible "pretty" interval which results in grid sizes inside the desired range.

This change makes it possible for you to create layouts and layout templates with grids which respond elegantly to a wide range of map scales!

This feature was funded by Andreas Neumann

This feature was developed by Nyall Dawson (North Road)


Feature: Spatial bookmarks for layout maps

Another long-requested feature we've implemented for QGIS 3.10 is a new button in the layout map item properties toolbar, which allows you to directly set a map item to the extent of a spatial bookmark!

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Expressions


Feature: New expression functions

  • attributes(): returns a map containing all attributes from a feature, with field names as map keys. We've got flexible, robust support for working with map values in expressions now, so this allows rapid conversion of all feature attributes to a map to use with these handy functions!
  • New optional "format" parameters were added to the to_date, to_datetime, and to_time functions
  • collect_geometries: this new function collects a set of geometries into a multi-part geometry object. Geometry parts can either be specified as separate arguments to the function or (more flexibly), as an array of geometry parts. This function allows geometries to be generated using iterator based approaches, such as transforming an array generated using generate_series, e.g: collect_geometries( array_foreach( generate_series( 0, 330, 30), project($geometry, .2, radians(@element)) ) ) Gives a nice radial effect of points surrounding the central feature point when used as a MultiPoint geometry generator

  • A new make_line expression function variant which accepts an array of points. This allows creation of lines from variable numbers of points, and from sequences from aggregates/dynamically generated sequences.


Digitising


Feature: GPS timestamp support

We've overhauled the existing GPS based functionality in QGIS 3.10, adding new options for automatically retrieving and storing GPS timestamps alongside GPS based features.

This feature was funded by NIWA

This feature was developed by Alessandro Pasotti (North Road)


Feature: Allowed gap exceptions

In QGIS 3.4 we introduced the ability to configure QGIS layers to run topological checks on every save operation. For 3.10, we have now added a new option to the check for "gaps" which allows you to actively mark some gaps as allowed. These exceptions will be saved on a separate, configurable layer. Whenever a gap is detected, you either have the possibility to fix it or to add it to the allowed exceptions with the press of a button.

This feature was funded by Kanton Solothurn

This feature was developed by Matthias Kuhn (OPENGIS.ch)


Data Management


Feature: Composite Foreign Keys

In QGIS 3.10, we added the possibility to create layer relationships which utilise composite foreign keys. QGIS now fully supports editing parent and child features which are linked with more than one attribute. This functionality is accessed in the Project Properties -> Relations tab.

This feature was funded by California Geological Survey

This feature was developed by OPENGIS.ch


Feature: Add circular data dependencies

Ever had issues with snapping when editing a feature that is modified by someone else (or a nasty database trigger)? Data dependencies allow refreshing the content of the dependent layers when the data is changed. We improved the dependencies support in QGIS by allowing refreshing the modified layer itself, which is kind of a circular dependency (a point layer and a line layer depending on each other for instance). No more snapping on ghost features!

More info in the pull request

This feature was funded by QGIS.org

This feature was developed by Julien Cabieces (Oslandia)


Forms and Widgets


Feature: Update depending widgets real-time

Updates widget values on real time while editing the referenced fields. When widget A contains a default value depending on widget B, it updates as soon as widget B is edited.

This feature was funded by Kanton Schaffhausen

This feature was developed by David Signer (OPENGIS.ch)


Analysis Tools


Feature: Stored filter expressions for attribute tables

While previous versions of QGIS allowed you to filter attribute tables using a custom expression, these expressions were lost whenever the attribute table was closed. Now, we've added the ability to store and manage your custom expression filters to the attribute table dialog. You can now build up your own personal collection of useful filters, which will always be available for re-use with a few simple mouse clicks!

This feature was funded by Kanton Schaffhausen

This feature was developed by David Signer (OPENGIS.ch)


Feature: New operators for Raster Calculator

You ask, we listen: abs , min and max are now available in the Raster Calculator user interface!

This feature was developed by Alessandro Pasotti


Processing


Feature: New algorithm "Point to layer"

This algorithm creates a new vector layer which contains a single feature with geometry matching a point parameter. It can be used in models to convert a point input into a layer, which can then be used for other algorithms which require a layer based input.

This feature was developed by Olivier Dalang


Feature: Advanced model parameters

When creating inputs for a Processing model, you can now mark these input parameters as "Advanced" options. (Advanced parameters are hidden by default when users run your model through the Processing toolbox)

This feature was developed by Alex Bruy


Feature: All GDAL based algorithms now support free-form "additional parameters"

We added an optional "Additional command-line parameters" parameter to all GDAL algorithms , useful for cases when you need to pass a specific command-line argument(s) which is not exposed in the algorithm UI.

This feature was developed by Alex Bruy


Feature: Metatile size for XYZ tiles

You can now specify a custom metatile size when generating XYZ tiles. Larger values may speed up the rendering of tiles and provide better labelling (fewer gaps without labels) at the expense of using more memory.

This feature was developed by Martin Dobias


Feature: New parameter type for colors

QGIS 3.10 brings a new parameter type for use in Processing models and scripts, which allows for users to pick a color value. Useful for any models and algorithms which require a color value as an input!

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: New algorithm "Create style database from project"

This algorithm extracts all style objects (symbols, color ramps, text formats and label settings) from a QGIS project and stores them in a new style XML database, which can then be managed and imported via the Style Manager dialog.

This feature was funded by SMEC/SJ

This feature was developed by Nyall Dawson (North Road)


Feature: File filter and default values for file and folder inputs in models

For file or folder inputs in Processing models we've added a new file filter setting (with some standard file formats available as an optional preset), and now allow you to set a default value for these inputs.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: New algorithm "Combine style databases"

The new "Combine style databases" algorithm combines multiple QGIS style databases into a single output style database. If any symbols exist with duplicate names between the different source databases these will be renamed to have unique names in the output combined database. It's designed to give users an easy way to condense multiple separate style databases into a single unified database.

It works brilliantly with results generated by running the "Create style database from project" in a batch mode!

This feature was funded by SMEC/SJ

This feature was developed by Nyall Dawson (North Road)


Feature: Generate XYZ tiles using multiple threads

The existing Generate XYZ tiles algorithm has been optimised and can now generate tiles using multiple processing threads.

This feature was developed by Isghj5


Feature: New algorithms for exporting and importing bookmarks to/from map layers

To complement the spatial bookmark overhaul in QGIS 3.10, we've added new Processing algorithms which allow you to create a bunch of new bookmarks corresponding to the features from a layer, or to export existing spatial bookmark extents to a new polygon layer.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: New algorithm "Split features by character"

This brand new algorithm splits features into multiple output features, by splitting a field value with a specified character.

For instance, if a layer contains features with multiple comma separated values contained in a single field, this algorithm can be used to split these values up across multiple output features. Geometries and other attributes remain unchanged in the output.

Optionally, the separator string can be a regular expression for added flexibility.

This algorithm was designed for use in models which need to process input files with multiple concatenated values in a single attribute, e.g. geocoding a table with "address1,address2,address3" format strings.

This feature was funded by SMEC/SJ

This feature was developed by Nyall Dawson (North Road)


Feature: New algorithm Climb Along Line

Previously available as a plugin, the "Climb Along Line" algorithm has been added to the out-of-the-box QGIS toolset. This algorithm calculates the accumulated height differences for lines in an input line layer, calculated using the Z values of the line vertices. A copy of the input line layer is returned with additional attributes for accumulated climb and descent, as well as the minimum and maximum Z values for each line.


Feature: Port Create Grid algorithm to C++

We ported the Create Grid algorithm from Python to C++ in order to speed up the algorithm. The algorithm now performs much faster for you and is also capable of creating point|line|rectangle|diamond|hexagon regular vector grids in high resolution in huge extents (eg. whole nations) in a reasonable amount of time.

This feature was funded by Clemens Raffler

This feature was developed by Clemens Raffler


Browser


Feature: Extract symbols from QGIS projects within the browser

QGIS' Browser panel just keeps getting more and more powerful! In 3.10, we've added a new option when right-clicking a QGIS project within the browser: "Extract Symbols". Selecting this option opens a style manager dialog showing all symbols, color ramps, text formats and label settings from the selected project, allowing you to easily export the browse these symbols.

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Data Providers


Feature: Read-write support for .shz and .shp.zip

For QGIS builds based on GDAL 3.1, you can now open and edit single-layer ZIP compressed shapefiles (.shz), or multi-layer ones (.shp.zip). Regardless of where you sit on the Shapefile vs Geopackage battle, you'll welcome this ability to de-clutter your folders and store shapefiles as a single file!

This feature was developed by Even Rouault


Feature: Oracle provider authentication

We've updated the Oracle database provider to add full support for QGIS built-in authentication system.

This feature was developed by Jürgen Fischer


Feature: Improved PostGIS raster support

PostGIS raster layers are now shown in the Browser panel and from the Data Source Manager dialog, allowing you to easily manage and add these layers to your projects. Currently only read support from browser is supported - you cannot drag rasters into a PostGIS database using the browser.

This feature was developed by Alessandro Pasotti


Feature: Oracle - Database transaction support

For version 3.10, we've enhanced the Oracle database provider and added support for editing layers via transactions.

This feature was developed by Nyall Dawson (North Road)


Feature: Z/M dimensions in delimited text layers

We've added optional support for Z and M fields to QGIS' delimited text provider, allowing you to create Z or M enabled layers directly from CSV files.

This feature was developed by Mathieu Pellerin


Feature: Static data providers

One huge behind-the-scenes job we completed for QGIS 3.10 is a refactoring of the provider infrastructure. Now, providers allow both dynamic and static linking. This was a pre-requisite to be able to build QGIS libraries on platforms that do not support dynamic linkage (iOS), and allows for QGIS based tools like the Input data collection app to be distributed for iOS based devices!

This feature was funded by Lutra Consulting Ltd.

This feature was developed by Peter Petrik, Martin Dobias


QGIS Server


Feature: Using SVG in QGIS Server

Earlier QGIS server versions had rendering issues when remote SVG files were used in a project (e.g. those hosted via external http servers). We've improved how QGIS Server fetches these resources, and it's now possible to use remote SVG paths in your layers and publish them as WMS without rendering issues in QGIS Server.

This feature was funded by Ifremer

This feature was developed by René-Luc D'Hont (3Liz)


Feature: WMS dimension

In QGIS 3.10 a WMS server can provide support for several type of dimensions such as time, elevation or other types of dimensions. The dimension has to be defined as the layer level and can be used by the WMS client to filter requested information. WMS Time is part of the WMS Dimension.

This feature was funded by Ifremer

This feature was developed by René-Luc D'Hont (3Liz)


Feature: Server OAPIF (aka WFS3) support

QGIS 3.10 Server is one of the very first geospatial servers which supports the new OGC API - Features - Part 1: Core standard (also known as WFS3)!

This is a completely new implementation that provides an HTML and JSON based service for your web mapping developments, including a simple WebGIS interface which is available out of the box and it is easily customizable through an HTML template system.

More information is available in the documentation

This feature was developed by Alessandro Pasotti


Programmability


Feature: New class QgsBookmarkManager

Attached to QgsProject and QgsApplication, this new class provides a stable, supported method of managing project and global bookmarks (vs the old undocumented, not stable approach of directly manipulating project keys or a sqlite database). Now your plugins and scripts are capable of reading, modifying, and managing spatial bookmarks!

This feature was funded by North Road

This feature was developed by Nyall Dawson (North Road)


Feature: New API for provider database connections

Thanks to funding from the QGIS grant program, you can now use a new API aimed to manage DB connections in a unified way. The new connection API also provides a set of useful methods that can be used by plugin authors to access information about tables, schemas etc. and to run SQL arbitrary queries and get the results back into a handy Python array.

This feature was funded by QGIS

This feature was developed by Alessandro Pasotti


Notable Fixes


Feature: Bug fixes by Alessandro Pasotti

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- Crash when deleting print layout items | #31549 | DB manager python error | #31457 | QGIS 3.4.11: Clicking a PDF URL in GetFeatureInfo response generates error | #31542 | Already fixed (by me) on 3.8 and Master | Watch file not adding new columns | #31452 | Loss of labels background from older project/style | #31427 | PR #3164 | "Text formats" dialog shows modifiable buffer properties while the "draw text buffer" is unchecked | #31428 | PR #3173 | Symbology tab widget does not horizontally expand in the layer properties dialog extent | #31449 | PR #3166 | Watch file not adding new columns | #31452 | Unreported but related to #31452 | PR #3168 | Unable to add WMS service in QGIS, same URL works in other clients | #31661 | QGIS Server - Download of capabilities failed: SSL handshake failed | #31675 | apparent regression in raster calculator multiplying conditionals | #31193 | PR #3169 | Broken GPKG browser actions | #31730 | PR #3173 | Resizing the data source manager dialog fails to resize unfocused panels | #31732 | PR #3174 | In place processing multipart to singleparts does not handle unique constraints | #31634 | PR #3175 | PR #3181 crash when adding legend via python | #31713 | UI: Legend does not refresh after classifincation bounds updated | #31643 | Not affected | PR #3183 UI: PostGIS layer error message not helpful, disappears and shouldn't happen | #31799 | PR #3184 | Server GetLegendGraphics contextual (BBOX) fails if no WIDTH and HEIGHT are supplied | #31846 | PR #3186 | PR #3188 extend/trim crash | #31864 | UI: any click on number of classes updown triggers twice | #31635 | PR #3187 | GPKG project is not marked dirty after it is deleted from the storage | #30550 | PR #3187 | Fix unreported issue with QVariantList to JSON conversion in QgsJsonUtils | unreported | PR #3192 | Crash on adding WMS | #31927 | #31927 | PR #3197 Raster calculator change sign does not work when OpenCL is on | #32023 | PR #3202 | Snapping map units always show "meters even when the project is in different units | #31961 | PR #3201 | QGIS Raster Calculator outputs nodata only rasters | #32025 | PR #3202 | Opening projects from PostgreSQL issue | #32050 | PR #3206 | GetLegendGraphic shows all identical symbols for content based legend | #32020 | WFS doesn't recognize advertised GeoJSON outputFormat string | #32065 | PR #3210 | creating indexes on geopackage failes (QGIS 3.8.3) | #32094 | DB manager import option "Create single-part geometries instead of multi-part" is broken | #32089 | PR #3210 | GetLegendGraphic shows all identical symbols for content based legend | #32020 | PR #3212 | WFS contextual legend issue when canvas CRS is different than layer's CRS | unreported | PR #3212 | PostGIS/geojson: Cannot input negative numbers in int fields | #32149 | PR #3216 | Information tab in WMS layer properties is unresponsive if a WMS service contains many layers | #32213 | PR #3226 | Data Source UI - PostgreSQL table multi-line comments make the grid table hard to read | #32257 | PR #3233 | More null pointer dereferences when plugins are off | #32347 | PR #3235 | null pointer dereferences when plugins are off | #32338 | PR #3234 | "Merge features" and "merge feature attributes" have broken numerical functions | PR #3236 | PR #3236 |

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

This feature was developed by Alessandro Pasotti


Feature: Bug fixes by Alexander Bruy

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- GDAL scripts in Processing need quoting on attribute names | #30878 | PR #3171 | PR #3171 Processing GDAL algorithms does not handle correctly WFS input layers | #29663 | PR #3173 | shp files in zip files files cannot be used in Processing with 3rd party providers (SAGA, GRASS...) | #29001 | PR #3174 | PR #3178 Not possible to toggle use selected features in the Processing layer combobox | #30636 | PR #3173 | Connect to postgis database fails in "Layer - Add Postgis layer" on databases with weird table names | #27040 | PR #3176 | GRASS v.build.polylines dosn't work in Qgis 3.4.10 | #31037 | Processing Algorithms written with the @alg decorator don't get the gear icon | #31252 | PR #3188 | v.drape - no 25D export with SpatiaLite format | #30066 | Service url cannot include custom query parameters | #26761 | Processing: python error on startup | #29535 | Saving Processing's Package Layers algorithm's output to default temporary output leaves no result | #30535 | [Georeferencer] GDAL script does not set target SR | #31353 | PR #3189 | Processing "Build virtual vector" now fails in certain cases | #29336 | PR #3190 | Unreported issue with missed import in the Processing algorithms dialog | unreported | PR #3190 | db manager: python error when clicking "edit table" if the table is a postgis raster | #30214 | PR #3190 | DB Manager: Renaming a PostGIS geometry column causes it to lose its geometry type and SRS | #27613 | PR #3192 | Georeferencer incorrectly shows last image when reopened | #26700 | PR #3193 | DB Manager: Create Layer dialog should be closed or cleared once the new layer is generated | #25535 | PR #3195 | [Vector Save As...] Extension is not replaced in filename when switching format | #26054 | PR #3196 |

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

This feature was developed by Alexander Bruy


Feature: Bug fixes by Peter Petrik

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- Reproducible Crash: retrieving QgsHighlight instance stored as a widget property | #30766 | PR #3173 | PR #3197 Layer styling Mesh layer does not respond to change of Color ramp (first time) | #29188 | PR #3198 | qgis crashed on close in QSortFilterProxyModel | #31721 | QGIS freezes | #29742 | Crash when trying to save a project | #29896 | Crash on exit with advanced digitizing active | #29143 | Renaming macOS app causes authentication error | #32163 | QGIS cannot be opened after updating to Mac OS Catalina | #32167 |

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

This feature was developed by Peter Petrik


Feature: Bug fixes by Even Rouault

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- QGIS master crash upon exit @ QgsCoordinateTransformPrivate::freeProj on Windows platform | #31762 | PR #3176 | Commit 08bb3fe QGIS master crash upon exit @ QgsCoordinateTransformPrivate::freeProj on Windows platform | #31762 | PR #3184 | PR #3185 QGIS WFS stripping of viewparam KVP from WFS Feature Requests | #31026 | PR #3176 | PR #3188 Crash: right click on image ->export ->save as->"save raster layer as" | #30937 | PR #3176 | PR #3178 crash in discover relations for postgresql layers | #31213 | PR #3176 | PR #3177 Exporting raster as raw data to GeoPackage fails silently | #30644 | PR #3177 | PR #3178 QGIS crashes after deactivating a GDAL driver in use in the project | #29212 | PR #3177 | PR #3180 Crash exporting to GS7BG format | #31775 | PR #3178 | PR #3183 pgdump is no longer a recognized format for the GDAL/OGR convert format algorithm | #31421 | PR #3181 | not worth PBF files not loading correctly | #31062 | PR #3181 | PR #31835 Error importing cover from Geoserver WFS service | #29844 | PR #31813 | PR #31867 Feature count from online Geojson not updated upon refresh | #30518 | PR #31860 | not worth Edits in GeoJson datasources are not saved anymore | #28580 | GDAL https://github.com/OSGeo/gdal/pull/1846 | Backported to GDAL 3.0 and 2.4 maintenance branches

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

This feature was developed by Even Rouault


Feature: Bug fixes by Sandro Santilli

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- Adding Postgis rasters from DB Manager ask for password for each add | #31162 | [processing] segmentizebymaxdistance puts qgis in endless CPU loop | #31832 | Commit 6942b4b9 | Commit 3225f491 file INSTALL cannot find doc/api/html | #31842 | Commit 3225f491 | n/a QGIS died on signal 11 # at start up | #31350 | repository files modified by make check | #25830 | PR #31980 | CMake Error at cmake/FindGEOS.cmake:162 | #32170 | Commit bc9bb888 | Commit 27f13936 False success from ogr provider's committChanges | #32144 | Commit f421dc4f | Commit 136cec24 TestSagaAlgorithms: line 139, in check_algorithm: 'NoneType' object has no attribute 'checkParameterValues' | #32143 | Commit 76b39de1 | n/a PostGIS Data Loads Extemely Slow | #26186 | PR #31858 |

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

This feature was developed by Sandro Santilli


Feature: Bug fixes by Matthias Kuhn

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- Crash when opening symbology tab of invalid layer | #32041 | #32041 | n/a PR reviews | Many :D | qgz are marked as temporary on windows | #32118 | Allow selecting geometry type in context | #32121 | PR #32125 | n/a

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

This feature was developed by Matthias Kuhn


Feature: Bug fixes by Paul Blottiere

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- Fixes invalid schemaLocation in GetCapabilities doc | #32085 | PR #32352 | Invalid WMS GetFeatureInfo response with json info_format | #32326 | PR #32386/files | QGIS Server SELECTION doesn't work with Postgres ids of type bigint or text | #29779 | Regression with opacities for the WMS GetPrint request | #29317 | Unreported regression: Invalid renderer type after loading a QML style file | unreported regression | PR #32388 |

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

This feature was developed by Paul Blottiere


Feature: Bug fixes by Nyall Dawson

Bug Title | URL issues (if reported) | URL PR or commit | 3.4 backport PR or commit -- | -- | -- | -- Fix crash when deleting layouts from designer window | #32465 | Commit e643e7f6 | n/a Fix model to python when model has no input parameters | Commit 6f1c42e7 | n/a Fix string escaping when converting models to python code | #32451 | Commit e3eb4f54 | n/a Fix memory leak | Commit 5be31915 | n/a Fix potential overflow in raster renderer | Commit 1ba8db41 | n/a Restore project variables early in the project read cycle | #32382 | Commit d76835fe | n/a Improve docs for Join by Nearest, raise warning in log | #32317 | Commit 670c81f9 | n/a Catch some reprojection exceptions during raster rendering | #32301 | Commit 1dfc0c1e | n/a [labeling] Fix broken numeric formatting settings, add tests | #32393 | Commit b58dd674 | n/a Fix uncaught transform exception when determining AFS layer bounds | unreported | Commit 857697dd | n/a Fix qt warning thrown when converting a 2.18 project | unreported | Commit 12ad9fca | n/a Add option to take no action ("Leave as an unknown CRS") when a layer is loaded which has no CRS | #19762, #27634, #24815 (and probably others) | Commit ffe66bff | n/a Don't force fallback to WGS84 for unknown layer CRSes | unreported | Commit 93741566 | n/a Fix memory layers cannot use non-EPSG CRS codes | unreported, but likely a cause of many bugs | Commit 2dad68f7 | n/a Fix crash after deleting report sections | #31302 | Commit 3356460c | Commit d3230ac0 Ensure polygon rings generated for rendering are always closed | unreported | Commit a69e38d9 | n/a Don't crash QgsTessellator when an empty polygon is added | unreported | Commit 761b2e77 | n/a Fix crash in topology checker plugin after a check is canceled | unreported | Commit 606bcd35 | n/a Fix topology checker multipart check | #28361 | Commit 5101386b | n/a Fix crash on exit when topology checker dock is open with visible results | unreported | Commit 64375ad4 | n/a Don't load print layouts when opening project browser items | via email | Commit 9f1ce084 | n/a Add QgsProject flag to avoid loading print layouts when reading a project file, avoids crashes when project is loaded in background thread | via email | Commit d0ed3746 | n/a Don't try to load HTML content when a layout is created in a background thread | via email | Commit 53252496 | Commit 5fcab0e7 Huge speed up to QgsTessellator | Commit 577e1e96 | n/a [processing] Ensure all objects used by the model are correctly imported | #32004 | Commit e5e3fe47 | n/a [processing] Avoid confusing use of expression parameter type in Random Points in Polygon algorithm | #27640 | Commit 196e15a0 | n/a [layouts] Update map settings variables in UI when map extent/rotation changes | #24136 | Commit 86c83537 | n/a [layouts] Fix layout variables set programmatically do not show in GUI | #28837 | Commit 1afdd935 | n/a [layouts] Ensure variable panels are updated when layout or atlas properties change | #26402 | Commit 2b31e03a | n/a [layouts] Move page background setting to a per-page option | #25695 | Commit 45e847ef | n/a Optimize QgsContrastEnhancementFunction | Commit f5c21a0f | n/a [layouts] Prevent removal of the last remaining page in a layout | via email | Commit e6ecfdd3 | Commit b65f23f8 [layouts] Fix crash when exporting layout with no pages | via email | Commit b784d698 | Commit f8355cbb Fix conditional formatting panel high dpi issues | Commit 1f033fe8 | n/a Fix loss of font setting when editing conditional format | Commit 72efc1ed | n/a Avoid overflow in QgsImageOperation | Commit aefbf662 | Commit 9f4d3a87 [processing] Extend api for retrieving a layer in a compatible format | via 3rd party plugin bug tracker | Commit 651c5071 | n/a Fix conditional styles in feature list view do not update when the layer's conditional styles are changed | Commit bccd5a46 | n/a Fix broken display of conditional styles in feature list view | Commit 5f7264d4 | n/a Fix incorrect conditional styling applied to rows in some cases | Commit c15c7271 | n/a Use invalid colors, not transparent colors, to indict not set colors in conditional formats, fixes incorrect colors used for conditionally styled rows | Commit bc82cffd | n/a "[labeling] When an extreme number of features are being labeled from a single layer, place additional limits on the maximum number of labeling candidates to generate for features in this layer" | Commit 61bfced6 | n/a [layouts] Fix incorrect alignment of items when the align or distribute tools are used with items with a non-top-left reference point | #31900 | Commit b4550dc4 | n/a [processing] Respect user set default vector output format in vector split algorithm | Commit 90bac82f | n/a Fix GUI is not updated when layout atlas is set to use the default filename expression | #20786 | Commit a4da849e | n/a [reports] Remove useless extra set of export actions | #26384 | Commit d6b41813 | n/a [reports] Fix crash when print button clicked before a report section is opened | unreported | Commit c93fd0a4 | n/a [reports] Reduce minimum width of report organiser dock | #25916 | Commit 7c490848 | n/a [layouts] Add a page number selection combo box at the top of the guide manager dock | #25700 | Commit 2f22aeaf | n/a Show color button style "Pick color" and "Chooe Color" and symbol button menu | #25696 | Commit 39cfd0f9 | n/a Fix out of sync layout bounds after page removal | #26665 | Commit d498eed0 | n/a [layouts] Fix odd selection behavior when keyboard modifiers are pressed when rectangular selection ends | Commit 37b5af54 | n/a Fix interaction with group members in items panel | #26674 | Commit 5154240f | n/a [layout] Fix invalid svg exports when including metadata | #28130 | Commit cc94aebc | n/a [legends] Fix missing symbols for inverted polygon layers when using filter by map content | #22718 | Commit abc9f47c | n/a Use a slightly larger font size in CRS details on Windows | #31297 | Commit 757017c2 | n/a [processing] Add warning when packaging a geopackage with no layers | #31888 | Commit f11e6603 | n/a [layouts] Fix crash when opening layout with dynamic image in html label | #28996 | Commit 5db6165f | Commit e29865cd Expose report feature settings when an attribute table is used in an atlas | #28441 | Commit 9fd17c8f | n/a [layouts] Fix attribute table ignores cell margin for top/bottom aligned text | #31259 | Commit 7b356fe4 | n/a Fix truncated legend symbol borders when layer has opacity set | Commit 30e14938 | n/a Fix adding/moving legend is very slow with large projects | #29058 | Commit 758ac909 | n/a [reports] Fix predefined scale mode is incompatible with report outputs | #29196 | Commit fcd21e48 | n/a Ensure atlas expression evaluation has access to coverage layer scope | #31807 | Commit 3de05939 | n/a Resizing pages to content should not create empty page size if no items are present | #29034 | Commit 421e68cf | n/a Fix map rotation does not immediately restore in reports | #31217 | Commit f5afebe5 | n/a Do not return nan values when an assistant is used with min val == max val | #31242 | Commit 97923751 | n/a [layouts] Fix label items don't update when their opacity < 100 | #29079 | Commit f9a47738 | n/a Fix project load status indicator can get "stuck" after project load | unreported | Commit 40d95b69 | n/a Fix corrupted expressions in filter indicator tooltips | Commit 393e623b | Commit 8e0e368f Fix cannot use GPS panel to draw features in multi polygon/line | #29144 | Commit dc2b209d | n/a Fix loss of label background settings when restoring projects. | #31427 | Commit aa4a8da3 | n/a Fix crash in point displacement renderer | Commit 7043933f | n/a

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

This feature was developed by Nyall Dawson