Project: QGIS

Version: 3.20

Feature: Bug fixes by Nyall Dawson

Bug Title | URL issues.qgis.org (if reported) | URL Commit (Github) | 3.16 backport commit (GitHub) -- | -- | -- | -- Fix browser panel scanning on remote locations can hang QGIS | many PRs | [3d] Fix rendering of curved lines using simple line renderer | unreported | Commit 700390a | Fix layer preview through browser panel | #43303 | Commit 7bf85a0 | [expressions] Fix evaluation of round(...) where input value is a string containing a decimal number | #36467 | Commit 42c2061 | Fix label masking settings get dropped for layers with "," or ";" characters in the text | #37473 | Commit 3d4e2f4 | Fix orphaned symbol masking can force maps to be rasterized | unreported | Commit ffc500d | Fix selection of features which use variables in filter rules | #42006 | Commit d41c234 | PR #43235 [labeling] Default to "from symbol bounds" for cartographic point label placement | #25866 | Commit 4ad5d36 | Fix PyQGIS QgsLineString constructor only accepts lists of QgsPoint, not QgsPointXY as indicated by the documentation | #43200 | Commit 2b6c3c1 | Fix crash when changing symbol levels through style dock | #42671 | Commit f3f4c17 | PR #43235 Allow clearing data defined buttons which are set to non-existing fields | unreported | Commit ee03ad5 | [processing] Python entry in history dialog should be processing.run line, not processing.execAlgorithmDialog | unreported | Commit 61ac64c | Don't try to render font marker symbols in massive font sizes, avoid crash | #42270 | Commit 12d1078 | PR #43235 Fix Qgis::MessageLevel::None is not available in PyQGIS | #42996 | Commit 02266ef | Fix marker symbol bounds incorrectly include bounds of disabled symbol layers | unreported | Commit ca54e8f | PR #43235 Fix hang in rendering joined layers | #38551 | Commit ca00377 | Commit cdbf722 [temporal] Fix broken animations when a non-integer interval value is used (e.g. 1.5 hours) | unreported | Commit 81ec79c | Fix allowing attribute selection for DXF layer name | #42575 | Commit 66c6ef9 | Fix papercut in rule based labeling widget where it's possible to uncheck BOTH the filter and else radio buttons | unreported | Commit 1fcb9752 | PR #43235 Fix it's impossible to change a rule based labeling "else" rule back to a normal rule | unreported | Commit de92ca0 | PR #43235 Fix data defined properties which bind to a field can have incorrect values when the linked field has a null value | unreported | Commit 4e25c6b | Commit 2a3bcc3 Fix broken coordinate transform when exporting features to DXF | #43449 | Commit 65c02e0 | Commit 044f6a1 [processing] Don't show model child algorithm outputs as choices for multi-layer input parameters when running a model | #41210 | Commit f4477b2 | Expand on QgsPoint/QgsPointXY documentation to clarify when each class should be used | #43598 | Commit ae83444 | Fix crash when canceling union tool | #43553 | Commit b1f50bb | Commit 1f25ba5 Fix "force layer to render as raster" setting wasn't correctly copied | #43535 | Commit 1313786 | Commit dcd016b Fix massive performance regression in attribute table | unreported | Commit 5fdb88b | Commit 4970c3a Fix performance issue when using attribute table with "edited or new features" filter in place | unreported | Commit af021f1 | Fix invalid error message when creating expression for layout text item | #42884 | Commit db74013 | Clarify labels in temporal controller | unreported | Commit ed346d8 | Correctly redraw canvas when applying project properties changes | unreported | Commit 41f9842 | Commit 607b44b Make interactive labeling tools correctly work with data defined properties which aren't bound to fields | unreported | Commit c6bd366 | Fix crash in labeling if label has data defined x/y set and projection error occurs transforming these coordinates | unreported | Commit 8943ac7 | Commit 2fe68cc [temporal] Fix filter generation for vector temporal layers | #38468 | Commit 544708f | Fix formatting of exception blocks in PyQGIS docs | unreported | Commit 8359281 | PR #43235 Fix zonal statistics does not correctly handle coordinate transforms | #26858 | Commit e70cf8d | Commit c82678d Don't assume that owslib >= 0.20 is available | #38074 | Commit 3cf9083 | Commit eb1a55a Fix crash in geometry checker when empty geometries are found | #38983 | Commit 73a4948 | Commit 6938593 [temporal] Fix incorrect frame duration in last frame in animation mode | #40777 | Commit f76747b | Default to a time range of the last 24 hours, in 1 hour increments, instead of a confusing "zero length" range | #40868 | Commit 5f5a3a7 | Fix temporal fields reset if previously set to no value | #43643 | Commit 9de5d25 | PR #43235 [processing] Fix broken execution of models via browser/drag and drop | #43698 | Commit cbe2678 | Commit 9e0cdcb Fix QgsDistanceArea.bearing() | unreported | Commit 0b499d3 | Don't restrict adding crs selections to list of recent CRSes to only a few select dialogs | unreported | Commit 870945c | [processing] Fix use of data defined parameter values when editing features in place | #43758 | Commit 3ae9625 | [layouts] Fix bounding rectangle for shapes doesn't include stroke width after loading from xml | #43748 | Commit fad1800 |

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

This feature was developed by Nyall Dawson