From 1aaef4175a33adb1365397817fdcc0409307cd4f Mon Sep 17 00:00:00 2001 From: "Juergen E. Fischer" Date: Fri, 25 Oct 2024 14:08:44 +0200 Subject: [PATCH] changelog and news update for 3.40 --- ChangeLog | 10214 +++++++++++++++++++++++++++ NEWS.md | 71 + doc/NEWS.html | 527 +- linux/org.qgis.qgis.appdata.xml.in | 1 + 4 files changed, 10705 insertions(+), 108 deletions(-) diff --git a/ChangeLog b/ChangeLog index 070f9327692c..13759b082c28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10188 @@ +Jürgen E. Fischer 2024-10-25 + + translation update for 3.40.0 from transifex + +Stefanos Natsis 2024-10-24 + + Address review + +Stefanos Natsis 2024-10-23 + + Skip saving asset if request has failed + +Stefanos Natsis 2024-10-23 + + Fix listing collections in stac apis when available through /collections endpoint + Be less strict for json null items and treat them as empty strings in some cases + +Stefanos Natsis 2024-10-22 + + Fix duplicated li bullets for conformance classes + +Stefanos Natsis 2024-10-22 + + Allow null collection license + +David Koňařík 2024-10-19 + + Add test for Identify tool on VPC + +David Koňařík 2024-10-14 + + Fix Identify tool on virtual point cloud + + (fix #54729) + +Mathieu Pellerin 2024-10-25 + + [processing] Fix clipping of long WKT strings for geometry parameters by using our geometry widget (#59209) + +Nyall Dawson 2024-10-25 + + Fix cmake warnings when building with internal meshOptimizer + + simplifier.cpp is not a directory + +Loïc Bartoletti 2024-10-24 + + fix(QgsAdvancedDigitizingTools): Add precision (decimals) to Circle X/Y + +qgis-bot 2024-10-25 + + auto sipify 🍺 + +Nicolas Godet 2024-10-24 + + Report GRASS warnings with pushWarning instead of reportError and check translated warning or error + +Jacky Volpes 2024-10-24 + + Improve QgsExpressionUtils::getGeometry logic + +Jacky Volpes 2024-10-24 + + Larger symbol for geometry generator test + +Jacky Volpes 2024-10-23 + + Fix use of QgsReferencedGeometry in expressions + + Fix handling of QgsReferencedGeometry in expressions for them to be + usable for instance in the geometry generator symbology feature, and all + geometry related functions. + +Denis Rouzaud 2024-10-24 + + use TransferBack + +Denis Rouzaud 2024-10-15 + + isinstance + +Denis Rouzaud 2024-10-15 + + ensure enums are saved as strings in settings + +Denis Rouzaud 2024-10-15 + + const + + Co-authored-by: Mathieu Pellerin + +Denis Rouzaud 2024-10-14 + + allow to set specific settings editors + add test + +Nyall Dawson 2024-10-25 + + Revert "[processing] Fix clipping of long WKT strings for geometry parameters by using our geometry widget" + +Merge: 20073da1dfd 78dd6c3b0d6 +Matthias Kuhn 2024-10-24 + + Merge pull request #59197 from qgis/meshopt + + Prefer external packages when building with vcpkg + +Merge: bb5caef18f7 2077dc4b168 +Matthias Kuhn 2024-10-24 + + Merge pull request #59201 from qgis/vcpkg-update-comment + + Create vcpkg package update report + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-10-24 + + Bump http-proxy-middleware + + Bumps the npm_and_yarn group with 1 update in the /resources/server/src/landingpage directory: [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware). + + + Updates `http-proxy-middleware` from 2.0.6 to 2.0.7 + - [Release notes](https://github.com/chimurai/http-proxy-middleware/releases) + - [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md) + - [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7) + + --- + updated-dependencies: + - dependency-name: http-proxy-middleware + dependency-type: indirect + dependency-group: npm_and_yarn + ... + + Signed-off-by: dependabot[bot] + +Matthias Kuhn 2024-10-24 + + fix target + +Matthias Kuhn 2024-10-24 + + Remove leftover lines + +Matthias Kuhn 2024-10-24 + + Prefer external packages when building with vcpkg + +Matthias Kuhn 2024-10-24 + + Bump package baseline + +Matthias Kuhn 2024-10-23 + + Quality of life improvement: report on library updates + +Matthias Kuhn 2024-10-24 + + Allow reports from vcpkg updates + +David Koňařík 2024-10-24 + + Fix elevation profile on virtual point cloud (#59073) + + * Fix elevation profile on virtual point cloud + + (fix #54728) + + * Update src/core/pointcloud/qgspointcloudlayerprofilegenerator.cpp + + --------- + + Co-authored-by: Nyall Dawson + +Merge: 70f43eee28e ea7805301a0 +Mathieu Pellerin 2024-10-24 + + Merge pull request #59090 from nirvn/processing_geometry_parameter_fix + + [processing] Fix clipping of long WKT strings for geometry parameters by using our geometry widget + +qgis-bot 2024-10-23 + + auto sipify 🍺 + +David Koňařík 2024-10-10 + + Fix elevation profile on intersecting polyline + +Nyall Dawson 2024-10-21 + + Add test for buffer blend mode + +Nyall Dawson 2024-10-21 + + assert -> assertTrue + +Nyall Dawson 2024-10-21 + + QgsMultiRenderChecker: avoid misleading console output noise + + When the checker passes comparison against ANY reference image, + don't output mismatch failure message for all the other variants + +Nyall Dawson 2024-10-21 + + Update tests/src/python/test_qgstextformat.py + +Mathieu Pellerin 2024-10-20 + + [fonts] Insure that text formats written to XML will save the loaded family name on system missing the font family unless the font has been changed + +Jean Felder 2024-10-23 + + qgselevationprofilecanvas: Remove the current job on clear + + When the canvas is cleared, the current job is not deleted. Therefore, + snapping is still active. + + This issue is fixed by calling `cancelJobs` on clear. + + Closes: https://github.com/qgis/QGIS/issues/50766 + +Jean Felder 2024-10-23 + + qgselevationprofilecanvas: Directly call cancelJobs in refresh + +Merge: 0a36a1bce12 186b2ba456e +Matthias Kuhn 2024-10-23 + + Merge pull request #59178 from nicogodet/patch-9 + + Update INSTALL.md TOC + +Nicolas Godet 2024-10-23 + + Update INSTALL.md TOC + +Merge: 8f1a6e30482 0215bd00343 +Matthias Kuhn 2024-10-23 + + Merge pull request #59169 from qgis/fix_untwine_include_dir + + Fix missing include dir for untwine + +Stefanos Natsis 2024-10-23 + + Apply fix from 8a94723 + +Loïc Bartoletti 2024-10-22 + + fix(QgsCurve): properly handle area cache when reversing geometry + +Matthias Kuhn 2024-10-22 + + Fix missing include dir for untwine + +Merge: 8e6ffb16bc5 a255a56b4d6 +Matthias Kuhn 2024-10-22 + + Merge pull request #59148 from qgis/add_py_libs + + Cleanup python libraries + +Matthias Kuhn 2024-10-22 + + remove lxml for now + +Nyall Dawson 2024-10-22 + + Add QgsSetRequestInitiatorClass macro to cppcheck + +Harrissou Sant-anna 2024-10-21 + + fix: Add scrollbars to WMS and virtual layers tab in Data Source Manager dialog + + fixes #59140 + +Ben 2024-10-21 + + Override checkParameterValues() method in align rasters processing algorithm + to ensure that output files have been configured for all input rasters. + +Stefanos Natsis 2024-10-21 + + try UNIX instead of LINUX + +Stefanos Natsis 2024-10-21 + + Pull untwine 1.4.0 from upstream + +Martin Dobias 2024-10-21 + + Do not preload providers when DontResolveLayers flag is used + + By a mistake, even when DontResolveLayers flag was used when reading + a project file, providers that support parallel loading would still + get created. This commit fixes that - they will not get created anymore. + +Matthias Kuhn 2024-10-21 + + GDAL 3.9.3 + +Matthias Kuhn 2024-10-21 + + Manually copy gdal libs + +Merge: dc1060b9b05 9bccb894663 +Matthias Kuhn 2024-10-21 + + Merge pull request #59159 from danodom-tcb/patch-1 + + Adding missing parameters for Windows CMAKE + +Martin Dobias 2024-10-20 + + Handle addition of quantized mesh from Cesium ion + + Using the same logic as how it is done for 3D tiles... + +danodom-tcb 2024-10-21 + + Adding missing parameters for Windows CMAKE + + Adding missing parameters on the Configure CMAKE for building out the Visual Studio solution. + +Loïc Bartoletti 2024-10-21 + + fix(QgsAdvancedDigitizingTools): Add precision (decimals) to Circle Distance) (#59155) + +qgis-bot 2024-10-21 + + auto sipify 🍺 + +Mathieu Pellerin 2024-10-20 + + Adjust test coverage + +Mathieu Pellerin 2024-10-20 + + [fonts] Fix download of fonts from google repository by encoding [ and ] + +Nyall Dawson 2024-10-17 + + Use standard naming + +Nyall Dawson 2024-10-17 + + Remove unnecessary duplicate enum + +Nyall Dawson 2024-10-17 + + Add docs + +Nyall Dawson 2024-10-17 + + Fix rendering of line direction symbols in labels + + Fixes #59107 + +Nyall Dawson 2024-10-17 + + Avoid some copies + +Nyall Dawson 2024-10-17 + + Add methods to insert content into QgsTextBlock/QgsTextDocument + +Nyall Dawson 2024-10-17 + + Make label size calculation correctly account for line direction + +Nyall Dawson 2024-10-17 + + Remove dead code, use QSizeF + +Nyall Dawson 2024-10-17 + + Simplify code a bit + + Avoid confusing condition checks + +Nyall Dawson 2024-10-17 + + Remove a bunch of dead code + +Nyall Dawson 2024-10-17 + + Make API a little less confusing, a little less fragile + +Nyall Dawson 2024-10-17 + + Make "archive" copy of QgsPalLayerSettings::calculateLabelSize + + For stable API use only, and then cleanup the private version + of this to remove all the consideration of 3.0 API compatibility. + + Mark the archive copy as deprecated and remove in 4.0 + + This method has become completely unweildy because of all the + compatibility code. By making this private only we can rip + out all this old code and make the method much simpler and + easy to understand. + +Germán Carrillo 2024-10-15 + + [app] Avoid locator searches in current layer if it has been marked as not searchable + +Even Rouault 2024-10-20 + + [PostgreSQL provider] Add support for BIT and BIT VARYING data types + + Fixes #59129 + +Even Rouault 2024-10-20 + + [BUGFIX] [PostgreSQL] Properly take into account 'name' type + +Matthias Kuhn 2024-10-20 + + Add .gitkeep + +Matthias Kuhn 2024-10-20 + + Remove py-qscintilla overlay + +Matthias Kuhn 2024-10-20 + + Bump python libs, add six, isort and autopep8 + +qgis-bot 2024-10-18 + + auto sipify 🍺 + +Germán Carrillo 2024-10-18 + + [ux] Stacked diagram list in GUI: Match Diagram type column to names from the main diagram combobox + + This helps us to better differentiate between a stacked bars diagram and a stacked diagram (using the diagram name alone was a bit confusing: e.g., Stacked). + +Germán Carrillo 2024-10-18 + + [fix] When passing from Stacked Diagram to a single one, take the first one (if it exists) in the stacked diagram as a basis for the new single one + + Before this commit, the stacked diagram properties were taken as a basis, losing valuable diagram settings in the process. + Note this reverts commit 2f9a0758b309ef162d6390b7411cba71af3375be + +Germán Carrillo 2024-10-17 + + [fix] Avoid code layout error by adding an explicit empty constructor for mDiagramRenderers, indicating that we won't copy that field + +Germán Carrillo 2024-10-17 + + Address review: Avoid autos in stacked diagrams code + +Germán Carrillo 2024-10-17 + + [gui] Rename subDiagram related methods to subDiagramRenderer in QgsStackedDiagramProperties + +Germán Carrillo 2024-10-17 + + [core] Remove unused method in QgsStackedDiagramRenderer + +Germán Carrillo 2024-10-17 + + [gui] Document and handle ownership in QgsStackedDiagramProperties and underlying model + +Germán Carrillo 2024-10-17 + + [core] Implement StackedDiagramRenderer's copy constructor (called by clone()) and operator= + +Germán Carrillo 2024-10-16 + + [core] Make sure QgsStackedDiagramRenderer::addRenderer() takes ownership + +Nyall Dawson 2024-10-18 + + Add test blocking any new introduction of QgsProject::instance() in core + +Nyall Dawson 2024-10-18 + + Fix test, properly add layers to project + + Layers which don't belong to a project can't participate in + relationships + +Nyall Dawson 2024-10-17 + + Fix unsafe use of QgsProject::instance from vector layer classes + +Nyall Dawson 2024-10-18 + + [gps] Be tolerant to talker IDs which don't start with 'G' + + From the nmea specifications it is clear that the talker ID + does not have to start with 'G'. Accordingly remove ALL these + incorrect hardcoded checks against (a very small subset) of + known talker IDs, and permit any two-character string + as a valid talker ID + + Fixes connection to NMEA devices which use "IN" for + talker ID (and others) + +Matthias Kuhn 2024-10-18 + + Add python libs + + - lxml + - jinja2 + - dateutil + - owslib + - pytz + +Even Rouault 2024-10-17 + + QgsRasterFileWriter::driverForExtension(): make sure querying the tif/tiff extension returns the GTiff driver + + Not strictly necessary since has been adressed on GDAL side per https://github.com/OSGeo/gdal/pull/11037 + but might be prudent for future similar situations. + + Fixes #59112 + +mazano 2024-10-17 + + [ogr2ogr] Fix promote to multipart logic and add makevalid option (#58440) + +qgis-bot 2024-10-17 + + auto sipify 🍺 + +gisn8 2024-10-17 + + Set raise error to DbError + + Thanks! Much more user-friendly. + + Co-authored-by: Nyall Dawson + +gisn8 2024-10-08 + + Fix: clean up whitespace and formatting issues caught by Flake8 + +gisn8 2024-10-08 + + Handle invalid view names with more than one period + + I've updated the code as recommended and added an error message should there there be too many periods. Thanks for the suggestion! + +gisn8 2024-10-04 + + Addressing Issue #35767 to allow for view creation into specified schema from [ Create a view ] in DBManager + +Julien Cabieces 2024-10-17 + + fix(PdfExport): Set output condition + + If not, Qt sRGB default is automatically set + +Nyall Dawson 2024-10-16 + + Hide Draw on Canvas option from QgsExtentWidget in modal dialogs + + When widget is shown in a modal dialog, we can't offer the + option to draw the extent on the canvas + + Refs #59063 + +Nyall Dawson 2024-10-16 + + Prevent picking point on canvas when widget is shown in modal dialog + + Fixes #59063 + +qgis-bot 2024-10-17 + + auto sipify 🍺 + +Jean Felder 2024-10-02 + + testqgspointcloud3drendering: Add a test for pointcloud clipping + +Jean Felder 2024-10-02 + + testqgsmesh3drendering: Add a test for mesh clipping + +Jean Felder 2024-10-02 + + testqgs3drendering: Add a test for instanced rendering clipping + +Jean Felder 2024-10-02 + + testqgs3drendering: Add a test for line clipping + +Jean Felder 2024-10-02 + + testqgs3drendering: Add a test for simple line clipping + +Jean Felder 2024-10-02 + + testqgs3drendering: Add a test for gooch datadefined with clipping + +Jean Felder 2024-10-02 + + testqgs3drendering: Add a test for phong datadefined with clipping + +Jean Felder 2024-10-01 + + testqgs3drendering: Add a test for polygon clipping + +Jean Felder 2024-08-16 + + qgs3dmapscene: Add support to setup clipping + + This adds two functions to setup clip planes on a 3d scene: + - enableClipping() to enable opengl clipping + - disableClipping() to disable opengl clipping + + The `enableClipping()` function achieves 3 things: + - it stores the clipping plane equations + - it adds clip planes to the framegraph + - it enables the clipping on the material of the existing entities + + `disableClipping()` does the opposite things. + + The clip planes equations need to be stored to handle the dynamic + addition of new entities. Indeed, when a new entity is added, clipping + needs to be enabled on its material if necessary. This is achieved + in `finalizeNewEntity` which is called on all new entities. + However, this is not true for the terrain entity. That's why, + `mTerrain` now listens to the `newEntityCreated` signal to call + `handleClippingOnEntity()`. + +Jean Felder 2024-08-16 + + shaders/mesh: Add support for gl_ClipDistance + + This is achieved by calling `setClipDistance` in the geometry shader + if the clipping is enabled. + +Jean Felder 2024-08-16 + + shaders/pointcloud: Add support for gl_ClipDistance + + This is achieved by calling `setClipDistance` in the vertex shader if + the clipping is enabled. + +Jean Felder 2024-08-16 + + shaders/instanced: Add support for gl_ClipDistance + + This is achieved by calling `setClipDistance` in the vertex shader if + the clipping is enabled. + +Jean Felder 2024-08-16 + + shaders/lines: Add support for gl_ClipDistance + + This is achieved by computing `worldPosition` and calling + `setClipDistance` in the geometry shader if the clipping is enabled. + +Jean Felder 2024-06-24 + + shaders/goochdatadefined: Add support for gl_ClipDistance + + This is achieved by calling `setClipDistance` in the vertex shader if + the clipping is enabled. + +Jean Felder 2024-06-24 + + shaders/phongdatadefined: Add support for gl_ClipDistance + + This is achieved by calling `setClipDistance` in the vertex shader if + the clipping is enabled. + +Jean Felder 2024-08-16 + + shaders/texture: Add support for gl_ClipDistance + + This is achieved by computing `worldPosition` and calling + `setClipDistance` in the vertex shader if the clipping is enabled. + +Jean Felder 2024-08-16 + + shaders/default: Add support for gl_ClipDistance + + This is achieved by calling `setClipDistance` in the vertex shader if + the clipping is enabled. + +Jean Felder 2024-08-16 + + shaders: Introduce clipplane.shaderinc + + This adds the `setClipDistance` function which allows to compute + `gl_ClipDistance`. It will be added to the different shaders in the + following commits. + +Jean Felder 2024-07-18 + + qgsmaterial: Add methods to setup clipping + + This changes allows to enable or disable clip planes on a + material. Indeed, to enable clipping, it is necessary to compute + `gl_ClipDistance` in the vertex or the geometry shader (where the + `gl_Position` is computed). `gl_ClipDistance` needs to have the clip + plane equations. + + With this change, two `uniform` parameters are set in the shaders of a + `QgsMaterial` if clipping is enabled: + - the clip plane equations as an array + - the number of equations + + Also, it is necessary to ensure that the clipping is not computed if + is not needed. This is achieved by adding a `#define CLIPPING` macro + to the shaders if the clipping is enabled. + + There are two opposites functions: + - `enableClipping` which adds the `#define CLIPPING` macro + to the relevant shaders and adds the two uniform parameters + - `disableClipping` which disables the `#define CLIPPING` + macro from the relevant shaders and removes the two uniform parameters + if necessary + +Jean Felder 2024-08-16 + + qgs3dutils: Add a function to remove define macros from shader code + + This is the opposite of `addDefinesToShaderCode`. + +Jean Felder 2024-08-16 + + testqgs3dutils: Add a unit test for addDefinesToShaderCode + +Jean Felder 2024-06-07 + + qgsframegraph: Add methods to define clip planes + + `Qt3DRender::QClipPlane` enable OpenGL clipping plane that can be used + in shaders using gl_ClipDistance. + + This change allows to enable `N` clipPlanes. This change has no effect + at the moment because `gl_ClipDistance` needs to be computed in each + vertex or geometry shader file. This will be achieved in the following + commits. + +Jean Felder 2024-07-16 + + 3d: Introduce QgsMaterial + + With this change, the materials used by the renderers now inherit from + `QgsMaterial`. `QgsMaterial` is just a child of + `Qt3DRender::QMaterial` and does nothing at the moment. In the + following commits, `QgsMaterial` will be extend to allow to enable or + disable clip planes on the material. + +Jean Felder 2024-10-01 + + qgsgltf3dutils: Use qgstexturematerial instead of Qt3D TextureMaterial + + `QgsTextureMaterial` does exactly the same things as + `Qt3DExtras::QTextureMaterial`. However it has 2 advantages: + - it allows to easily customize the shader code if necessary + - it will inherit from `QgsMaterial` in the next commit which will + allow to add support gl_clipDistance + +Jean Felder 2024-10-01 + + qgspointcloud3dsymbol: Remove empty line at the end of file + +Jean Felder 2024-07-16 + + 3d: Remove useless QMaterial include + +Nyall Dawson 2024-10-17 + + Properly disable test_core_tiledownloadmanager + +Nyall Dawson 2024-10-17 + + Add a bit more test tolerance so test passes on qt 6 + +Nyall Dawson 2024-10-17 + + Enable selective masking test on qt6 + +Nyall Dawson 2024-10-17 + + Test mask updates for qt6 + +Nyall Dawson 2024-10-17 + + pyqt5_to_pyqt6.py run + +Nyall Dawson 2024-10-17 + + When excluding tests, only exclude exact matches + + Otherwise eg an entry in the blocklist for PyQgsAnnotation will + prevent the PyQgsAnnotationRectTextItem test from running + +Even Rouault 2024-09-22 + + QgsRasterLayer: readXml(): read layer notes even when opening with FlagDontResolveLayers + + Fixes #58818 + +Germán Carrillo 2024-10-15 + + Add missing \since and \see in method docs, replace @param by \param + +Germán Carrillo 2024-10-15 + + Address review: rename method to be more API compliant + +Germán Carrillo 2024-10-15 + + [gui] Fix enabled/disabled diagram handling by adding a checkbox to QgsDiagramProperties, so that's explicit whether the diagram is enabled or not as well as to toggle its enabled status + +Even Rouault 2024-10-16 + + Make OAuth2 HTML brower page translatable + + Currently the HTML page returned after logging in to the authentication + server is hardcoded in English. Let's make it translatable. + + Funded by Régie de Gestion des Données Savoie Mont Blanc (rgd.fr) + +qgis-bot 2024-10-16 + + auto sipify 🍺 + +Stefanos Natsis 2024-10-11 + + Make the QgsTracer not add unnecessary points on intersections + +qgis-bot 2024-10-16 + + auto sipify 🍺 + +Merge: 9e12573fac8 d60e9878292 +Alessandro Pasotti 2024-10-16 + + Merge pull request #59105 from elpaso/bugfix-wms-max-tile-size + + [wms] Fix unreported issue max tile size from capabilities ignored + +Alessandro Pasotti 2024-10-16 + + Update src/core/raster/qgsrasterlayerrenderer.cpp + +Alessandro Pasotti 2024-10-16 + + Update src/core/raster/qgsrasterlayerrenderer.cpp + + Co-authored-by: Nyall Dawson + +Alessandro Pasotti 2024-10-16 + + [wms] Fix unreported issue max tile size from capabilities ignored + + Fix an unreported issue with WMS client ignoring the advertised tile + size from GetCapabilities (because the raster iterator always used + its own hardcoded default). + + A new method was added to retrieve this information from data providers + only implemented for WMS at the moment. + + The test has been reformatted for consistency with other core tests + by moving the implementation outside of the class. The actual change is + the addition of TestQgsWmsProvider::testMaxTileSize(). + + Funded by: M.O.S.S. Computer Grafik Systeme GmbH https://www.moss.de/ + +Mathieu Pellerin 2024-10-15 + + [processing] Fix clipping of long WKT strings for geometry parameters by using our geometry widget + +qgis-bot 2024-10-16 + + auto sipify 🍺 + +Nyall Dawson 2024-10-16 + + Simplify method + +Nyall Dawson 2024-10-16 + + Add banned keyword test for @annotation doxygen format + + \annotation must be used for sipify to work correctly + +Nyall Dawson 2024-10-16 + + Cleanup docs, use \param instead of @param + +qgis-bot 2024-10-16 + + auto sipify 🍺 + +Nyall Dawson 2024-10-16 + + Avoid resizing group children to nan sizes when layout groups are resized + +Nyall Dawson 2024-10-16 + + Don't try to resize layout map items when extent is invalid + + This causes the map item to have nan pos or size, which corrupts + the layout + +Nyall Dawson 2024-10-15 + + Use asserts instead of warnings + +Nyall Dawson 2024-09-30 + + Catch another case where nan values from scalebars mess up rendering + +Nyall Dawson 2024-09-30 + + Don't restore corrupted sizes/positions when restoring layout items + + This can happen when eg a broken item size causes a nan position, + which breaks the layout size calculation and results in nan or + massive x/y values. Restoring these leads to a broken + layout which cannot be interacted with. + + Refs #55240 + +Nyall Dawson 2024-09-30 + + Throw warnings on debug builds when layout items get nan sizes/positions + +Nyall Dawson 2024-10-15 + + Re-enable some tests on ci + +Nyall Dawson 2024-10-15 + + Enable text renderer tests on qt 6 + +Nyall Dawson 2024-10-15 + + Swap deprecated method + +Nyall Dawson 2024-10-15 + + Fix check for stretch fix on qt 6 + +Nyall Dawson 2024-10-15 + + Add text renderer masks for qt 6 + +Nyall Dawson 2024-10-15 + + Update test for qt 6 + +Nyall Dawson 2024-10-15 + + Update test for newer geos + +Jean Felder 2024-10-03 + + test_qgsvectorlayerprofilegenerator: Add a test for purely vertical lines + + See the two previous commits + +Jean Felder 2024-10-10 + + Properly handle Z vertical lines in distanceWithin + + This is similar to the change done on `QgsGeos::distance` in the + previous commit. + +Jean Felder 2024-10-10 + + qgsgeos: Properly handle Z vertical lines in distance + + `GEOSPreparedDistance_r` is not able to properly handle a purely + vertical line (LineString Z((X Y Z1, X Y Z2, ..., X Y Zn))). In that + case, it always `inf`. However, `GEOSDistance_r` works. + + This issue is fixed by checking if one of the geometry is vertical 3d + line by introducing `isZVerticalLine`. This function checks if a + geometry is a 3d line. If that's the case, it loops through the points + of the line. If two points do not have the same X Y corrdinates, it + means that the line is not purely vertical. + + If `geom` is a vertical line, it is replaced by its first point. + It the prepared geometry is a vertical line, fallback to the non + prepared case. + +qgis-bot 2024-10-16 + + auto sipify 🍺 + +Nyall Dawson 2024-10-15 + + When layout scalebar settings are invalid, show warning message + + Instead of rendering a messed up zero width scale bar, show + a descriptive error instead (in preview renders only!) + +Nyall Dawson 2024-10-15 + + Add isValid() method for QgsScaleBarRenderer::RendererContext + +qgis-bot 2024-10-16 + + auto sipify 🍺 + +Nyall Dawson 2024-10-15 + + Mark QgsOptional bool operator as explicit + + And reimplement for Python + +Nyall Dawson 2024-10-15 + + Mark QgsDefaultValue bool operator as explicit + + This does not impact Python bindings, as this method was already + patched via Python code + +Nyall Dawson 2024-10-15 + + Mark another bool operator as explicit + +Nyall Dawson 2024-10-15 + + Fix incorrect use of QgsProperty bool implicit conversion + +Nyall Dawson 2024-10-15 + + Mark QgsProperty bool operator as explicit + + And reimplement in Python, as sip can't handle explicit bool + operator from c++ + +Merge: 1431d2c70e0 d651383582f +Denis Rouzaud 2024-10-15 + + Merge pull request #59092 from nyalldawson/pointxy_equality + + Remove duplicate equality operator for QgsPointXY + +Denis Rouzaud 2024-10-15 + + fix layout + +Nyall Dawson 2024-10-15 + + Fix build + + I'm not 100% sure if the point == mSnapMatch.point() comparison was + intended be done using QgsPointXY or QgsPoint objects here! + + Use QgsPointXY to keep the behavior the same from + before the duplicate QgsPointXY == operator was removed... + +qgis-bot 2024-10-15 + + auto sipify 🍺 + +Nyall Dawson 2024-10-15 + + Remove duplicate equality operator for QgsPointXY + + We had two different(!!!!) implementations for equality operator + for QgsPointXY, with different logic (one handled empty points, + the other didn't). This compiled only because one was not marked + as const. So we'd get a DIFFERENT equality check logic depending + on whether or not the first point was const... eeek! + + Remove the duplicate one, mark the better one as const + +Merge: 89d834382e6 ca250d13691 +Alessandro Pasotti 2024-10-15 + + Merge pull request #58916 from elpaso/bugfix-gh58875-exp-compiler-with-plus-strings + + Fix SQL expression compiler plus operator with strings + +qgis-bot 2024-10-15 + + auto sipify 🍺 + +Nyall Dawson 2024-10-15 + + Suppress more duplInheritedMember warnings + +Nyall Dawson 2024-10-15 + + Fix unused return value warning + +Nyall Dawson 2024-10-15 + + Fix duplicate check + +Nyall Dawson 2024-10-15 + + Suppress some possibly valid cppcheck copy member warnings + + Add TODO for someone to validate later + +Nyall Dawson 2024-10-15 + + Fix out of bound access + +Nyall Dawson 2024-10-15 + + Fix assert with side effects warning + +Nyall Dawson 2024-10-15 + + Fix/suppress more duplInheritedMember warnings + +Nyall Dawson 2024-10-15 + + Remove broken swap methods, replace with standard assignment op + + which correctly sets all members + +Nyall Dawson 2024-10-15 + + Suppress cppcheck warning + +Nyall Dawson 2024-10-15 + + Avoid false-positive cppcheck missingMemberCopy warnings + +Nyall Dawson 2024-10-15 + + Suppress some duplInheritedMember warnings + +Nyall Dawson 2024-10-15 + + Fix ignored release value warning + +Nyall Dawson 2024-10-15 + + Remove duplicate inherited members + +Nyall Dawson 2024-10-15 + + Remove duplicate methods defined in subclasses + +Nyall Dawson 2024-10-15 + + Uninitialized member fixes + +Nyall Dawson 2024-10-15 + + Fix some (false positive) cppcheck uninitialized variable warnings + +Nyall Dawson 2024-10-15 + + Avoid some cppcheck false positives + +Nyall Dawson 2024-10-15 + + Define macros for cppcheck + +Nyall Dawson 2024-10-15 + + Add docs + +Nyall Dawson 2024-10-15 + + Const + +Nyall Dawson 2024-10-15 + + Fix cppcheck 'function can be const' warnings + +Nyall Dawson 2024-10-15 + + Remove unused legacy pal class + +Nyall Dawson 2024-10-15 + + Rename private method to sensible name + +Nyall Dawson 2024-10-15 + + Fix flipped docstrings + +Nyall Dawson 2024-10-15 + + Avoid some false-positive cppcheck functionConst warnings + +Alessandro Pasotti 2024-10-14 + + [ogr][transactions] Fix transaction group + + Fix #58845 + +Nyall Dawson 2024-10-15 + + Use a scoped proj logger to avoid user data lifetime issues + + Previously we incorrectly tried to reset the proj logger by + calling proj_log_func with a nullptr function in some exit + paths. This leads to crashes, as the nullptr arg makes + proj_log_func a no-op, and then later proj tries to + log using the now destroyed user data string list. + + Make all this more robust by switching to a scoped + QgsScopedProjCollectingLogger class, which automatically + correctly restores the default QGIS proj logger + on destruction and ensures there's no object lifetime + issues for the log function vs the user data object. + + Fixes #36125, other crashes seen in the wild + +Nyall Dawson 2024-10-15 + + De-duplicate proj logging functions + +qgis-bot 2024-10-15 + + auto sipify 🍺 + +Nyall Dawson 2024-09-30 + + Test mask updates + +Nyall Dawson 2024-09-30 + + Add scale method option for layout scale bars + + Instead of always calculating the scale along the bottom of the + map, expose a choice of methods to the user (along bottom, + middle, top, or average of the three measurements) + + For new scalebars, default to the average method, which better + handles the scenario where the scale at the top or bottom of + the map cannot be calculated (eg when the top/bottom of the map + falls just outside valid areas for the map's crs) + + This fixes one of the most common scenarios which cause scale + bar widths to blow out to massive sizes + + Refs #55240 + +Jürgen E. Fischer 2024-10-14 + + update INSTALL.md + +qgis-bot 2024-10-14 + + auto sipify 🍺 + +Nyall Dawson 2024-10-11 + + Include variable name in result + +Nyall Dawson 2024-10-08 + + Fix aggregate function returns incorrect results + + When the aggregate uses variables, we need to ensure that the + cache key correctly considers the current value of ALL those + variables. Otherwise we'll return incorrect results when + an expression is re-evaluated after changing the variable + value for the context. + + Fixes use of aggregate function with @symbol_label in legends. + + Fixes #58221 + +Andrea Giudiceandrea 2024-10-14 + + Fix QgsVectorLayerEditUtils::addRingV2 (#59066) + +Merge: 8191f2952a7 69198200f14 +Matthias Kuhn 2024-10-13 + + Merge pull request #59059 from jef-n/fixes + + Fixes + +Julien Cabieces 2024-10-09 + + explicitly force std::as_const + + Co-authored-by: Alessandro Pasotti + +Julien Cabieces 2024-10-08 + + fix(AttributeForm): Update same field widgets before firing signals + + If not, saveEdits would be called when we fire widgetValueChanged + signal and widgets containing non updated old values could potentially + overwrite new ones, leading to discard user modifications. + +Stefanos Natsis 2024-10-09 + + Delete equality operator of QgsMapLayerRef and make its bool operator explicit + + This will avoid implicit conversion to bool when comparing QLists in the future. + +Jürgen E. Fischer 2024-10-11 + + debian packaging: include gui binding additions + +Jürgen E. Fischer 2024-10-11 + + translation string fixes + +Merge: 8d17ad37709 fdb3bfa6e4e +Matthias Kuhn 2024-10-12 + + Merge pull request #59046 from qgis/pydeps + + Update python dependencies + +Alessandro Pasotti 2024-10-11 + + Add test + +Alessandro Pasotti 2024-10-11 + + Introduce QgsVariantUtils::isNumericType + +Matthias Kuhn 2024-10-11 + + Indentation + +Matthias Kuhn 2024-10-11 + + Consume packages from python-registry + +Matthias Kuhn 2024-10-11 + + Update python dependencies + +qgis-bot 2024-10-11 + + auto sipify 🍺 + +Nyall Dawson 2024-10-04 + + Only render main annotation layer in main map canvas or docked maps + + Don't show it in other map canvas instances, eg the coordinate + bounds preview map + + Fixes #58766 + +qgis-bot 2024-10-11 + + auto sipify 🍺 + +ViperMiniQ 2024-09-20 + + [api] add QgsLayerTreeView::setCurrentNode + +qgis-bot 2024-10-11 + + auto sipify 🍺 + +Nyall Dawson 2024-10-11 + + Test mask updates + +Nyall Dawson 2024-10-11 + + Fix clang-tidy warnings + +Nyall Dawson 2024-10-10 + + Expose PreferText mode in all export widgets + +Nyall Dawson 2024-10-10 + + Add test masks + +Nyall Dawson 2024-10-09 + + Optimise text rendering for a common scenario + + Reduces a lot of overhead when rendering non-buffered, non-shadowed + text. Cuts render time by ~50% in my testing. + + Also introduces a "PreferText" render option, where we default + to using text painting methods in all scenarios where we know + there's no loss in rendering quality to do so. This mode should + become the new default in a future QGIS release, as it is + designed to be faster with no visible rendering differences. + + Expand unit testing by covering all text render modes in all + text renderer rendering tests. + +qgis-bot 2024-10-11 + + auto sipify 🍺 + +Alessandro Pasotti 2024-10-10 + + Fix docstring + +Alessandro Pasotti 2024-10-09 + + Update test_qgsvectorlayer.py + +Alessandro Pasotti 2024-10-08 + + Exception for constraint expression + +Alessandro Pasotti 2024-10-08 + + Return NotSet when not set + +Alessandro Pasotti 2024-10-07 + + Fix style constraint save when strength is NotSet + + Fix #58431 + + I feel that the underlying issue remains (which is that setting + the strength to NotSet removes it from the field but not + from the layer and that the default strength is Hard) but + since it was clearly made in purpose 8 years ago I am + not keen to change it lightly. + +Julien Cabieces 2024-10-09 + + fix(ValueRelation): Update on widget value change when multi mode + + In multi edit mode feature is not updated (so attributeChanged is false) until user validate it but we need to update the + value relation which could have an expression depending on another modified field + +Nyall Dawson 2024-10-10 + + Reduce duplicate code + +Nyall Dawson 2024-10-10 + + Optimise grid decoration rendering + + When rendering the annotations, only calculate text metrics once + instead of three separate times + + Greatly speeds up rendering of the canvas grid decoration + +qgis-bot 2024-10-10 + + auto sipify 🍺 + +Jean Felder 2024-10-10 + + qgspolyhedralsurface: Implement isValid (#59031) + + `QgsPolyhedralSurface` inherits from `QgsSurface` which implements + `QgsAbstractgeometry::isValid` by calling `isValid` from + GEOS. However, GEOS does not handle polyhedral surface. This means + that `isValid` will always return False even if the polyhedral surface + is valid. + + This issue is fixed by implementing + `QgsPolyhedralSurface::isValid`. It checks that all the polygons of + the polyhedral surface are valid. + +Martin Dobias 2024-10-10 + + Fix a crash when embedding layers to a project with invalid layers + +David Koňařík 2024-10-10 + + Work around Cesium 3D tiles regression + +qgis-bot 2024-10-10 + + auto sipify 🍺 + +Nyall Dawson 2024-10-10 + + Apply suggestions from code review + +Yoann Quenach de Quivillic 2024-10-01 + + Handle wrap mode in calltips + +qgis-bot 2024-10-10 + + auto sipify 🍺 + +Nyall Dawson 2024-10-04 + + Non-default blend mode should force raster render of layer + + Fixes rendering of vector tile and annotation layers with non + default blend modes in layouts + + Fixes #55629 + +Nyall Dawson 2024-10-10 + + Don't override cursor in pin labels map tool + + This tool was setting the application cursor after every map render. + It's unnecessary and impolite, and causes bad UX. + + Fixes #59016 + +Nyall Dawson 2024-10-04 + + Fix edit/copy/paste symbol action for layers with inverted polygon renderer + + Fixes #55426 + +Nyall Dawson 2024-10-10 + + Remove dead code + + [ci skip] + +Nyall Dawson 2024-10-03 + + Calculate text wrapping in QgsTextDocumentMetrics + + Fixes incompatibility between text wrapping and HTML text formatting, + because currently the text wrapping is applied on the raw HTML + and does not consider text sizes calculated from the HTML. This + results in raw html content showing for layout item labels + when the item box is too narrow and forces wrapping. + +Nyall Dawson 2024-10-03 + + Refactor to extract text fragment processing to separate function + + No code logic change + +Nyall Dawson 2024-10-03 + + Refactor to extract finalize block logic to separate function + + No logic change, code move only + +Nyall Dawson 2024-10-03 + + Prep for calculating word wrapping in text document metrics + +Nyall Dawson 2024-10-09 + + Remove broken AlwaysText rendering for vertical text render + + This was always broken and untested, so disable for now and just always render vertical text using outlines + +qgis-bot 2024-10-09 + + auto sipify 🍺 + +Germán Carrillo 2024-10-08 + + [core] Address review: switch from string comparison to static const members + +Germán Carrillo 2024-10-08 + + [gui] Fix issue in Stacked diagrams's sync to layer + +Germán Carrillo 2024-10-09 + + [gui] Add tooltip for scale dependent visibility widgets (labeling) to indicate that min scale is exclusive and max scale is inclusive + +Germán Carrillo 2024-10-08 + + [core] Make labeling more robust when handling scale dependent visibility: handle exclusive/inclusive behavior on edge cases (non-round numbers) + +Alessandro Pasotti 2024-10-09 + + [georeferencer] Use QLocale for number format + + Fix #58765 + +qgis-bot 2024-10-09 + + auto sipify 🍺 + +Merge: 079d21fe14a c2ef9ea1256 +Denis Rouzaud 2024-10-09 + + Merge pull request #59014 from 3nids/settings.fup.2 + + python implementation of enum settings editor widget wrapper + fix crash + +Nyall Dawson 2024-10-08 + + Update test + +Nyall Dawson 2024-10-08 + + Fix layout table filtering with atlas point geom filter + + The filter rect was NOT being set in this situation, because + the atlas geom filter has an empty (but non-null) extent + + Fixes #58274 + +Nyall Dawson 2024-10-08 + + Avoid useless loop through all features + + When a layout attribute table is set to show features in atlas + only, but atlas geometry is NOT available, then just early + exit instead of looping through every feature just to show + none of them + +Nyall Dawson 2024-10-09 + + Add some more html text rendering variations + + These are seen on Fedora 40, with the qt5 build + +Nyall Dawson 2024-10-09 + + Add test masks + +qgis-bot 2024-10-09 + + auto sipify 🍺 + +Merge: 666983c678b 816da02398f +David Signer 2024-10-09 + + Merge pull request #58729 from signedav/categorizelegate + + Improve UX of layer style categories with html + +Denis Rouzaud 2024-10-09 + + set editor only if it is a combobox + +Denis Rouzaud 2024-10-09 + + access dynamic key part list for editor wrappers + +Denis Rouzaud 2024-10-09 + + fix mixup + +Matthias Kuhn 2024-10-09 + + Update python deps, add numpy (#59010) + + * Update python deps, add numpy + + * Fix master build failures + + * One ccache per target branch + +qgis-bot 2024-10-09 + + auto sipify 🍺 + +Stefanos Natsis 2024-10-08 + + Removed isValid() method and expanded missing docstrings + +Stefanos Natsis 2024-10-02 + + stac gui for browser implementation + +Stefanos Natsis 2024-10-02 + + stac initial tests + +Stefanos Natsis 2024-10-02 + + stac core implementation + +Denis Rouzaud 2024-10-09 + + fix import + +Nyall Dawson 2024-10-09 + + Don't try to show highlights for zero-length matches (#59019) + + Fixes #59002 + +qgis-bot 2024-10-09 + + auto sipify 🍺 + +Denis Rouzaud 2024-10-09 + + make QgsSettingsTree::treeRoot() available in Python bindings (#59011) + + * make QgsSettingsTree::treeRoot() available in Python bindings + + * fix layout + + * fix layout + +Even Rouault 2024-10-09 + + Don't use the The Word Which Must Not Be Used + + I limited the renaming to things that are not in the public API and + are not setting names. This is probably more than we strictly need to + do, but at least this will help doing potential future similar 'grep' + exercises. + +Nyall Dawson 2024-10-08 + + Fix warning + +Nyall Dawson 2024-10-08 + + Add export time warning when exporting layouts with html items + + When webkit is not available + + Fixes #58975 + +Nyall Dawson 2024-10-08 + + Show warning in html items when qgis built without webkit support + + When a layout is shown in the designer dialog which contains a html + item, but qgis was built without webkit support, show a user- + friendly warning in the item instead of rendering it blank + + Fixes #58975 + +Alessandro Pasotti 2024-10-08 + + Update wms_getfeatureinfo_geometry_and_exp_filter_exclude.txt + +Alessandro Pasotti 2024-10-08 + + Test file for issue 58998 + +Alessandro Pasotti 2024-10-08 + + [server] WMS GFI fix FILTER_GEOM with FILTER + + Fix #58998 + +ostr00000 2024-10-08 + + use directly relation id from private variables + +Nyall Dawson 2024-10-09 + + Fix typo + +Denis Rouzaud 2024-10-08 + + Python implementation of enum settings editor widget wrapper + +Denis Rouzaud 2024-10-08 + + use a custom type id for python implementation + + otherwise, QgsSettingsEditorWidgetRegistry is creating a wrapper for this setting type and expects the cpp implemetnation + (QgsSettingsEntryBaseTemplate and not QgsSettingsEntryBase) + +Merge: 464f7e74968 2c894317375 +Matthias Kuhn 2024-10-08 + + Merge pull request #58993 from qgis/winvcpkg + + Windows Qt6 builds based on vcpkg + +Merge: 91d5676680c 263d5bbc7bd +D'Hont René-Luc 2024-10-08 + + Merge pull request #58937 from dmarteau/fix-wms-access-control-performance + + [server] Fix sub-optimal checks in wms access control + +Matthias Kuhn 2024-10-08 + + Document development workflow in INSTALL.md + +David Koňařík 2024-09-27 + + Fix parsing 2-byte LAS scan angle + +Nyall Dawson 2024-10-08 + + Fix exception with older shapely versions + +qgis-bot 2024-10-07 + + auto sipify 🍺 + +Germán Carrillo 2024-10-04 + + Address review: move qgsLessThanMaximumScale and qgsEqualToOrGreaterThanMinimumScale functions to QgsScaleUtils + +Germán Carrillo 2024-10-03 + + [tests] Test functions qgsLessThanMaximumScale and qgsEqualToOrGreaterThanMinimumScale + +Germán Carrillo 2024-10-03 + + [core] Introduce functions qgsLessThanMaximumScale and qgsEqualToOrGreaterThanMinimumScale to make robust checks between map scale and maximum/minimum rendering scales in a scale dependent visibility context, taking non-round scales (denominators) + +Germán Carrillo 2024-10-03 + + [core] Mark Qgis::SCALE_PRECISION as deprecated, since scale dependent visibility became more robust on range limits (namely, on non-round numbers). + +Germán Carrillo 2024-10-03 + + [app] Making scale dependent visibility more robust leads us to get rid of the 'scale * SCALE_PRECISION' expression to set (visible) layer scale. We now move to layer->minimumScale - 1, which is assured to be in the scale range, since we'll only show the 'Zoom to Visible Scale' option if scale is not in range and there IS a range difference equal to or greater than 1. + +Germán Carrillo 2024-10-02 + + [core] Make mapLayer->isInScaleRange more robust when handling scale dependent visibility: handle exclusive/inclusive behavior on edge cases (non-round numbers) + +Germán Carrillo 2024-10-01 + + [core] Make rule-based rendering more robust when handling scale dependent visibility: support inclusive behavior and handle exclusive/inclusive behavior on edge cases (non-round numbers) + +Germán Carrillo 2024-10-01 + + [core] Make rule-based labeling more robust when handling scale dependent visibility: support inclusive behavior and handle exclusive/inclusive behavior on edge cases (non-round numbers) + +Nicolas Godet 2024-10-07 + + remove useless characters in comment body + +Denis Rouzaud 2024-10-07 + + fix deprecated Q_OS_MACX (#58987) + +qgis-bot 2024-10-07 + + auto sipify 🍺 + +Denis Rouzaud 2024-10-07 + + make QgsVectorTilesUtils available to Python bindings (#58989) + +Matthias Kuhn 2024-10-07 + + Remove Mingw msys2 build + +Matthias Kuhn 2024-10-07 + + Post comment + +Matthias Kuhn 2024-10-06 + + Add github action + +Matthias Kuhn 2024-10-06 + + Build with vcpkg deps + +qgis-bot 2024-10-07 + + auto sipify 🍺 + +Denis Rouzaud 2024-10-07 + + Update src/gui/settings/qgssettingseditorwidgetwrapperimpl.cpp + + Co-authored-by: Matthias Kuhn + +Denis Rouzaud 2024-10-07 + + also set the widget value when configuring editor + +Denis Rouzaud 2024-10-07 + + settings edtior wrappers: add direct constructor + add combo box editor for strings + + this improves the usage from Python plugins + +qgis-bot 2024-10-07 + + auto sipify 🍺 + +Nyall Dawson 2024-10-03 + + Regenerate primary key when making layer permanent if layer property set + + Respect the OnConvertFormatRegeneratePrimaryKey layer property when + making a temporary layer permanent. + + This ensures that processing outputs which require primary key + regeneration will correctly get new primary keys when they are + initially run with a memory layer output, and then later that + memory layer is made permanent + + Fixes #58942 + +Nyall Dawson 2024-10-03 + + [api] Allow sink flags to be specified for QgsVectorFileWriterTask + +Andrea Giudiceandrea 2024-10-05 + + Fix typos in QgsUnitTypes + +Matthias Kuhn 2024-10-07 + + Fixup leftovers from test env + +qgis-bot 2024-10-07 + + auto sipify 🍺 + +Denis Rouzaud 2024-10-07 + + rename settings editor widget wrappers (#58974) + + to allow more than 1 widget type to be supported for each type of setting + +Merge: 93ce9bf5c90 c78be25fc00 +Matthias Kuhn 2024-10-06 + + Merge pull request #58983 from m-kuhn/commentify + + Isolate "post sticky comment" logic + +Matthias Kuhn 2024-10-06 + + Make code more solid + +Matthias Kuhn 2024-10-06 + + Isolate post sticky comment logic + +ValPinna <60293692+ValPinnaSardinia@users.noreply.github.com> 2024-10-05 + + Update qgsunittypes.cpp + + A possible type founded during Translation + +Nyall Dawson 2024-10-01 + + Only use threaded legend hit test for preview renders + + In other cases we'll need a blocking hit test anyway, and we + run a risk of deadlocks if a non-preview render is then started + on the main thread. + + Fixes #58496 + +Harrissou Sant-anna 2024-09-27 + + Adjust tests + +Harrissou Sant-anna 2024-09-27 + + Revert pluralization of strings with accuracy not being integer + +Harrissou Sant-anna 2022-02-10 + + Candidate strings for plural forms in translation + +Martin Dobias 2024-10-03 + + Gently bump up the number of allowed mismatched pixels + +Martin Dobias 2024-10-02 + + Make coordinates in point cloud chunks independent from scene origin + + Until now, coordinates of chunks of point clouds were using "world" coordinates, + i.e. they were relative to the 3D scene origin point. As a part of preparation + for large scene support (QEP #301), we need coordinates inside chunks to be + independent from the scene origin point. For each point cloud chunk, we pick + origin point as a corner of the chunk's 3D box, which should guarantee that + coordinates within chunk (floats) will have reasonable numerical precision. + + I have also used the opportunity to simplify the code that handles point cloud + chunk coordinates: rather than having flipped coordinates (x,-z,y) inside chunks, + we are using map coordinates without flipping (x,y,z), only relative to the origin + point of the chunk. The flipping of axes is handled by QTransform attached + to each chunk. (Hopefully when all chunked entity implementations get updated, + we will be able to remove all the axis flipping everywhere by just removing + the rotation in associated QTransforms.) + + There's also a fix for a crash, when point cloud uses coloring based on classification + and triangulation is enabled (the pointSize array was not getting populated for parent + nodes). + +Martin Dobias 2024-10-02 + + Allow early cancellation of point cloud chunk loader + + If point cloud rendering uses triangulation, the chunk loader + now may get cancelled before triangulation actually starts. + (So if e.g. user changes 3d renderer's properties, the refresh is faster) + +Merge: b3aad567c8c 25116f2076b +Alessandro Pasotti 2024-10-03 + + Merge pull request #58955 from elpaso/bugfix-gh58809-mssql-nvarchar-length + + [mssql] Fix nvarchar length #58809 + +Jean Felder 2024-08-14 + + qgswfsgetfeature: Use createFromUserInput everywhere for crs + +Jean Felder 2024-08-10 + + qgswfsgetfeature: Properly handle ogc urns in post requests + + There are 2 different parameters to check to define the output crs: + - the request parameter (`SRSNAME` from the request) + - the query crs parameter + + For a `GET` request, if `SRSNAME` is set, both parameters are set and + equal. + For a `POST` request, only the query parameter is set if defined. + + In `writeGetFeature()`, the `outputCrs` correctly takes into account + the query parameter. However, this is not the case for the output srs + name (`srsName`) which only takes into account the query CRS as an + auth id. + Therefore, the output srsName will always be defined as an authid + even if the parameter is an ogc urn. + + This issue is fixed by first computing the output srs + name (`outputSrsName`) by taking + into account the query and the query parameters. Then, this name is + used to compute `outputCrs`. + +Jean Felder 2024-08-10 + + test_qgsserver_wfs: Add some post tests with version 1.1.0 + +Jean Felder 2024-08-10 + + qgswfsgetfeature: Rename srsName to ouptutSrsName in startGetFeature + + This makes it easier to understand its usage. + +Jean Felder 2024-08-09 + + qgswfsgetfeature: Properly check axis inversion in startGetFeature + + The axis inversion needs to be checked on the output crs, not the + input one. + + The existing test does not detect this issue because the requested + output crs is the same as the input one. + To cover this case, a new test with a output crs different from the + input one is added. + +Jean Felder 2024-08-09 + + qgswfsgetfeature: Fix outputCrs in startGetFeature if defined as ogc urn + + The `srsName` used in `QgsWfsGetFeature::startGetFeature` can be + defined with the `urn:ogc:def:crs:EPSG::X` syntax. In that case, the + destination crs is not valid because it is created with the default + `QgsCoordinateReferenceSystem` constructor which does not handle this + syntax. + Therefore, in that case, the requested transformation fails and the + envelope coordinates are always in the input crs (the layer one). + + This issue is fixed by using + `QgsCoordinateReferenceSystem::setDestinationCrs` which handles the + ogc urn syntax. + + The test suite already covers the `urn:ogc:def:crs:EPSG::X` syntax + case. However, this issue is not detected because the requested output + crs is the same as the input one. + +qgis-bot 2024-10-03 + + auto sipify 🍺 + +Nyall Dawson 2024-10-03 + + QgsMapLayer::setDataSource don't require layer name, provider + + Make them optional, and default to current layer name/provider + when not specified + +Alessandro Pasotti 2024-10-03 + + Add QMetaType import + +Alessandro Pasotti 2024-10-03 + + [mssql] Fix nvarchar length #58809 + +Loïc Bartoletti 2024-10-03 + + Update CONTRIBUTING.md + + Fix a typo: INSTALL.md vs install.md + +qgis-bot 2024-10-03 + + auto sipify 🍺 + +Nyall Dawson 2024-10-03 + + Update src/core/symbology/qgssymbol.cpp + +Nyall Dawson 2024-10-03 + + Update src/core/symbology/qgssymbol.cpp + + Co-authored-by: Julien Cabieces + +Nyall Dawson 2024-10-01 + + Fix clipped render when using geometry generator symbol in layout items + + Fixes #58909 + +Nyall Dawson 2024-10-01 + + Add render context flag to always disable symbol clipping + +Tom Kralidis 2024-10-02 + + do not translate log messages + +Tom Kralidis 2024-10-01 + + update string translation + +Tom Kralidis 2024-10-01 + + add default + +Tom Kralidis 2024-10-01 + + add default + +Tom Kralidis 2024-09-30 + + MetaSearch: add logging + +qgis-bot 2024-10-02 + + auto sipify 🍺 + +Alessandro Pasotti 2024-10-02 + + [labeling] Fix SLD export of negative offset + + Fix #58862 + +Stefanos Natsis 2024-07-04 + + clang-tidy + +Stefanos Natsis 2024-07-04 + + tidy up includes + +Stefanos Natsis 2024-07-04 + + preview residuals while moving points + +Stefanos Natsis 2024-07-04 + + fix newly added points preview when zooming/panning + +Martin Dobias 2024-10-02 + + Add API to temporarily disable updates in 3D map scene + + This is useful for debugging 3D views, to pause scene updates and + inspect some parts of the scene in detail. + +Nyall Dawson 2024-10-01 + + Fix horizontal expansion of some symbol layer widgets + +Nyall Dawson 2024-10-02 + + Fix border for page properties widget + +Nyall Dawson 2024-10-02 + + Make "Page Properties" action set properties for visible page + + And reflect which page it refers to in the action text + +Nyall Dawson 2024-10-01 + + Cleanup diagram properties UI + + - Don't use underline for headings + - Fix layout margins for all tabs to be consistent + +Nyall Dawson 2024-10-01 + + Cleanup stacked diagram UI + + - Use group box for layout settings + - Add title for layout settings + - Align layout widgets + - Fix tab order + - Use 6 decimal places for spacing spin, max 99999999 to match + other size widgets and be usable for map unit size ranges + +Nyall Dawson 2024-10-02 + + Fix test for qt6 + +Nyall Dawson 2024-10-02 + + Fix use of custom object values from QGIS expressions in virtual layers + + Fixes #58644 + +qgis-bot 2024-10-02 + + auto sipify 🍺 + +Nick Bowsher <55232428+nstrahl@users.noreply.github.com> 2024-10-02 + + [feature] Add extra mesh layer legend node for currently displayed vector datasets + +qgis-bot 2024-10-02 + + auto sipify 🍺 + +Nyall Dawson 2024-10-01 + + Mark models as security risk if they contain algs with security risks + +Nyall Dawson 2024-10-01 + + Show warning when loading batch params for algs with security risk + + If the algorithm has the security risk flag, warn the user before + they can open stored batch parameter files + +Nyall Dawson 2024-10-01 + + Show warning in help for algorithms for known issues or security risk + +Nyall Dawson 2024-10-01 + + Add processing algorithm flag for SecurityRisk + + And add to "Advanced Python field calculator" algorithm, as that + algorithm uses the Python exec() function and is a security + risk if run with untrusted/unchecked inputs + +Jean Felder 2024-07-16 + + testqgs3drendering: Add a unit test for phong textured material + + This test does not work on CI for Qt 5. + +Harrissou Sant-anna 2024-08-28 + + Make the Profile Chart Appearance group collapsible + +Harrissou Sant-anna 2024-08-28 + + Allow line symbol to appear in mesh elevation tab + + Also fix and rename widgets in GUI for easy identification + +Vedran Stojnović 2024-09-12 + + added Page Properties qAction to layout main menu + +Denis Rouzaud 2024-10-01 + + const fixes + +Denis Rouzaud 2024-10-01 + + make create annotation map tools available in public API + +Raymond Nijssen 2024-10-01 + + Put back the removed wink, this time including a nose ;-) + +Raymond Nijssen 2024-10-01 + + Added hackfest Bratislava + +Harrissou Sant-anna 2024-10-01 + + Use bold font for Date group in sensors filter dialog operators widget + +David Marteau 2024-10-01 + + [server] Fix sub-optimal checks in wms access control + +Nyall Dawson 2024-10-01 + + [processing] Fix translation of elapsed strings + + Fixes #58635 + +Nyall Dawson 2024-10-01 + + Don't use reserved identifier in global namespace + +Nyall Dawson 2024-09-30 + + Fix missing canvas variables in some expression editors + + Always use the canvas method to create an expression context + for expression widgets (when available), as it will always + contain all the available variables. + + Fixes missing variables (eg @animation_*) in some contexts, + eg in the labeling widget. + +Nyall Dawson 2024-10-01 + + [processing] Replace format for saving batch processing parameters + + The older approach of storing parameters was insecure, and required + eval()ing the unchecked contents of the batch parameter file. This + is a security risk, as a malicious file could leak user information + or damage the system. + + So, + + - Switch to a newer ".batch" format which uses safe JSON objects + only for serializing parameter values. + - Allow loading the older .json files, but first show a warning + that they are a security risk and require to user to explicitly + agree to open the file + +Nyall Dawson 2024-10-01 + + Remove unused code + +Alessandro Pasotti 2024-10-01 + + Handle binary operators as sum operands + +Merge: b6673532410 75e699a3b14 +David Signer 2024-10-01 + + Merge branch 'master' into categorizelegate + +Alessandro Pasotti 2024-09-30 + + [gui] Fix attr property load + + Fix #58887 by reverting #58787, with this modification + I cannot reproduce #58767 anymore. + +Juho Ervasti 2024-09-30 + + Vertex tool: add topopoints to all editable layers + +Juho Ervasti 2024-09-27 + + Vertex tool: Test topopoints with multiple layers + +Viper MiniQ 2024-09-16 + + change to 17 decimals + + Co-authored-by: Loïc Bartoletti + +ViperMiniQ 2024-09-09 + + remove unnecessary const bool ok + +ViperMiniQ 2024-09-06 + + fix vector digitizing truncating geometry precision decimals + +Julien Cabieces 2024-09-02 + + feat(OverrideButton): Support also project_color_object function + +Julien Cabieces 2024-09-02 + + fix(ColorProject): Add new methods in sql_dictionary + +Julien Cabieces 2024-09-02 + + fix(ColorProject): Don't convert color to RGB on writing + +Julien Cabieces 2024-08-29 + + feat(Expression): Add project_color_object function + + Which contrary to project_color doesn't return a string + representation there is no rgb conversion involved + +Julien Cabieces 2024-08-29 + + feat(Expression): Add ramp_color_object function + + Which contrary to ramp_color doesn't return a string + representation there is no rgb conversion involved + +Julien Cabieces 2024-09-19 + + fix(LayoutLegend): Correctly fix position while painting + + While painting, it happens that other code can modify current item + position, but this new position will be really used on the new draw, + not the current one. So we have to backup it early enough (at the very + beginning of paint) so we can translate to this new position at the + end of the paint method. + + Fixes #37566 (Again) + +Ben 2024-09-30 + + Update unit tests + +Ben 2024-09-29 + + Fix issue whereby toggling the 'Move selected to top' action in the attribute table dialog + breaks the current sort column and sort order due to the column and order being + hard-coded to 0 and Qt::AscendingOrder respectively. + +Florian Neukirchen 2024-09-30 + + Fix indentation + +Florian Neukirchen 2024-09-27 + + value field must be numeric + +Florian Neukirchen 2024-09-27 + + Fix AttributeError: module 'plotly.graph_objs' has no attribute 'Area': it is go.Barplot in recent plotly versions + +Germán Carrillo 2024-09-30 + + [gui] Add icon for Stacked Diagrams + +Harrissou Sant-anna 2024-09-30 + + Fix buttons tab order and vertical expansion + +Germán Carrillo 2024-09-30 + + [core] Fix restoring projects using stacked bar diagrams + +Alessandro Pasotti 2024-09-30 + + Fix SQL expression compiler plus operator with strings + + Fix #58875 + +Merge: 6f3e33e1448 4a0d2a367aa +Matthias Kuhn 2024-09-30 + + Merge pull request #58879 from m-kuhn/install-3d-headers + + Install 3D headers + +Merge: 0118590a6c9 6f3e33e1448 +Matthias Kuhn 2024-09-30 + + Merge branch 'master' into install-3d-headers + +Mathieu Pellerin 2024-09-30 + + Follow up a27fecf: use pre-existing key naming + +merydian 2024-09-12 + + Use QByteArray.data() for as_shapely + +merydian 2024-09-11 + + Improve performance of as_shapely + + By utilizing QgsGeometry.asWkb() this is ~8.45 times faster than the previous implementation. + +merydian 2024-09-11 + + Remove unnecessary import + +merydian 2024-09-06 + + Place shapely related things in separate try statement + +merydian 2024-09-05 + + Implement QgsGeometry.as_numpy and .as_shapely + +Hannes 2024-09-30 + + Add info about usable "expression dialect" to filter dialog (#58730) + + Show SQL dialect used for layer filtering + +Yoann Quenach de Quivillic 2024-09-27 + + Add comment on style index + +Yoann Quenach de Quivillic 2024-09-26 + + Fix syntax highlighting after exception + +David Signer 2024-09-19 + + fix texts + +David Signer 2024-09-13 + + Use QgsBlockingRequest and add possiblity to choose output file and add possilbity of authentication config + +David Signer 2024-09-11 + + Lightweight HTTP(S) request algorithm performing post / get requests and passing back the replys to the output. + +Ben 2024-09-16 + + Remove isSpatial() check from QgsMapToolAdvancedDigitizing overridden + canvas event methods. + +Ben 2024-09-15 + + Disable snapping when the add feature tool is activated on a non-spatial vector layer. + Also manage digitizing cursors properly when switching between spatial and + non-spatial vector layer with both in edit mode and add feature tool active. + + Fixes #56152 + +ostr00000 2024-09-26 + + delays `PYQGIS_STARTUP` logs until `qgis` module is loaded + +Even Rouault 2024-09-28 + + Save Raster Layer as: do not propose PDF as possible format, which is not supported + + The PDF driver only supports 'random' creation for vectors, not raster. + For raster, it only supports CreateCopy() mode + + Refs #58891 + +David Koňařík 2024-09-26 + + Support heightAt() on Quantized Mesh terrain + +David Koňařík 2024-09-04 + + Allow converting Quantized Mesh tiles to QgsMesh + +David Koňařík 2024-09-26 + + Initialize terrain generator correctly in tests + +David Koňařík 2024-09-26 + + Fix 3D terrain generator init sequence + +David Koňařík 2024-09-25 + + Improve Quantized Mesh HTTP error handling + +David Koňařík 2024-09-22 + + Add UVs for Quantized Mesh skirt + +David Koňařík 2024-09-22 + + Fix authcfg warnings + +David Koňařík 2024-09-22 + + Limit Quantized Mesh terrain to map extent + +qgis-bot 2024-09-28 + + auto sipify 🍺 + +Nyall Dawson 2024-09-17 + + Test masks + +Nyall Dawson 2024-09-17 + + [feature] Support img tags in HTML label text + + Allows use of img tags in HTML label content. The following logic + is applied: + + - Image path is set via the src="xxx" attribute. Local, HTTP, and + base64 encoded paths are permitted + - Any image format readable by QGIS can be used + - Image sizes can be specified via the width="##" and height="##" + attributes. If width or height is not specified it will automatically + be calculated from the original image size + - If width or height are specified, they are considered to be + in POINTS + - The css width/height settings are NOT respected (this is a Qt + limitation) + - Images are not supported for curved text labels + - Images are placed inline only, floating images are not supported + + Sponsored by City of Freiburg im Breisgau + +Nyall Dawson 2024-09-17 + + Allow QgsTextFragment to represent an inline image object + + Modifies the QgsTextDocument API to extract images from HTML + content, and store in the associated + QgsTextFragment/QgsTextCharacterFormat objects + +Nyall Dawson 2024-09-17 + + Allow HTML data urls for QgsImageCache + + Adds support for base64 encoded image decoding when the path + is a HTML data URL (in addition to the existing "base64:..." + format support) + + Allows use of eg "data:image/jpeg;base64,XXXXXXXX" formats + for image paths, so that the image cache can correctly handle + embedded image paths from HTML/CSS content + +Denis Rouzaud 2024-09-27 + + adapt test + +Denis Rouzaud 2024-09-27 + + [mvt] use scale_exponential expression + +Denis Rouzaud 2024-09-27 + + [mvt] fix opacity incorrectly for low scale (#58882) + + * [mvt] fix opacity incorrectly for low scale + + if the opactiy was defined by expression on the lower scale bound, it was incorrectly set to 0 + + * simplify test + +qgis-bot 2024-09-27 + + auto sipify 🍺 + +Julien Cabieces 2024-09-25 + + fix(SvgSelectorWidget): Correctly use QPixmapCache + + With previous code, pixmap was never taken from cache + +qgis-bot 2024-09-27 + + auto sipify 🍺 + +Merge: 9302008d48a b8f976012ab +Denis Rouzaud 2024-09-27 + + Merge pull request #58568 from gacarrillor/stacked_diagrams + + [feature] Introduce stacked diagrams + +Denis Rouzaud 2024-09-27 + + [mvt] support rotations for labels (#58881) + + * [mvt] support rotations for labels + + * fix code style + + * Update src/core/vectortile/qgsmapboxglstyleconverter.cpp + + Co-authored-by: Even Rouault + + --------- + + Co-authored-by: Even Rouault + +Germán Carrillo 2024-09-26 + + [core] Address review, stacked diagrams: include maxScale for rendering with scale dependent visibility + +qgis-bot 2024-09-26 + + auto sipify 🍺 + +Merge: 6a488de21a0 dc1583bd7c8 +Even Rouault 2024-09-26 + + Merge pull request #58864 from rouault/fix_58861 + + QgsJsonUtils: add a way to disable use of field formatters + +David Signer 2024-09-26 + + better notes icon and apply wordwrap on savestyle as well + +Germán Carrillo 2024-09-26 + + [core] Addres review: skip SIP for some static const diagram names + +David Signer 2024-09-26 + + expose model and delegate to the api + +David Signer 2024-09-26 + + Rename delegate to Qgs prefix + +qgis-bot 2024-09-26 + + auto sipify 🍺 + +Denis Rouzaud 2024-09-26 + + add template method to return specific type of layers in map canvas (#58878) + + * add template method to return specific type of layers in map canvas + + * Apply suggestions from code review + + Co-authored-by: Matthias Kuhn + + --------- + + Co-authored-by: Matthias Kuhn + +David Signer 2024-09-26 + + support word wrap in item list + +Matthias Kuhn 2024-09-26 + + Install 3D headers + +Germán Carrillo 2024-09-25 + + [core] Address review: switch from define to static const + +Germán Carrillo 2024-09-25 + + [gui] Switch from string-based connections to functor-based ones + +Germán Carrillo 2024-09-25 + + [gui] Diagram panel: connect effects and font widgets to live updates; switch from string-based connections to functor-based ones + +qgis-bot 2024-09-25 + + auto sipify 🍺 + +Denis Rouzaud 2024-09-25 + + fix Python API compatibility (#58860) + + * fix Python API compatibility + + * Update qgis.h + +Denis Rouzaud 2024-09-25 + + [mvt] fix line dash arrays using literals (#58857) + + * [mvt] fix line dash arrays using literals + + * Update src/core/vectortile/qgsmapboxglstyleconverter.h + + Co-authored-by: Nyall Dawson + + --------- + + Co-authored-by: Nyall Dawson + +Germán Carrillo 2024-09-24 + + [core] Stacked diagrams: use one-liner to reverse renderers (std::reverse) + +Even Rouault 2024-09-24 + + QgsJsonUtils: add a way to disable use of field formatters + + Fixes #58861 + +Germán Carrillo 2024-09-24 + + [gui] Diagrams panel: make sure color and effects buttons can open a subpanel + +Jorge Gustavo Rocha 2024-09-24 + + Change default WKT output to honor a space between geometry type and Z, M or ZM (#58010) + + * Change default WKT output to honor a space between geometry type and Z, M ou ZM + + * Update src/core/geometry/qgsabstractgeometry.cpp + + Co-authored-by: Nyall Dawson + + * Suffix spell fix + + * Fix remaining tests + + * more tests fixed + + * Fix failing test + + * Fix last failing test after git merge master + + * Tests against ORACLE + + --------- + + Co-authored-by: Nyall Dawson + +Vincent Cloarec 2024-09-24 + + update vcloarec location + +David Signer 2024-09-24 + + missing doc + +Merge: 7eaec14105b 71ed3020939 +Alessandro Pasotti 2024-09-24 + + Merge pull request #58852 from pathmapper/fix_link_rel_property + + [server][oapif] Fix link rel property + +Merge: e688fb104eb c7c8ece44af +Alessandro Pasotti 2024-09-24 + + Merge pull request #58844 from elpaso/bugfix-gh58620-advanced-digitizing-coords-display + + [digitizing] Advanced: fix distance input with non-meter CRSs + +pathmapper 2024-09-24 + + [server][oapif] Fix link rel property + +Germán Carrillo 2024-09-23 + + [gui] Diagrams: Promote 'increase small diagrams' check box to group box to remove horizontal scroll bar in panel; bring back default values that had been lost in recent changes + +Andrea Giudiceandrea 2024-09-22 + + [gui][pocessing][modeler] Fix window's title + +Nyall Dawson 2024-09-23 + + Don't apply reset-to-zero step size logic in spin boxes when no special value text is set + + In these cases it's odd to jump from a negative number to a positive one + when we're actually showing the numeric clear value + + Followup 87d9a3e + +Germán Carrillo 2024-09-23 + + [core] Stacked diagrams: make sure scale dependent visibility works on subdiagrams; test included + +Alessandro Pasotti 2024-09-23 + + [digitizing] Advanced: fix distance input with non-meter CRSs + + Always internally store the distance in canvas's CRS units, + transform for display. + + Fix #58620 where the CRS units are US Feet. + +Merge: 0b11a7c36c4 a84e852ecef +Alessandro Pasotti 2024-09-23 + + Merge pull request #58819 from elpaso/bugfix-gh49469-relation_aggregate-cachekey + + [expressions] Relation aggregate: fix cache key + +David Signer 2024-09-23 + + better icons for style categories + +qgis-bot 2024-09-23 + + auto sipify 🍺 + +Merge: 588e8d430b8 11211e9fe53 +Alessandro Pasotti 2024-09-23 + + Merge pull request #58389 from agiudiceandrea/fix-58386-layout-grid-offset + + [Print Layout] Fix missing grid lines and labels in some circumstances when a grid offset is set (Fix #58386) + +Even Rouault 2024-09-20 + + QgsRasterInterface::colorInterpretationName(): return a translated string + +Even Rouault 2024-09-19 + + Update RasterColorInterpretation enumeration with constants added in GDAL 3.10 + + per https://github.com/OSGeo/gdal/pull/10721 + +qgis-bot 2024-09-23 + + auto sipify 🍺 + +Merge: 061cf7a7e22 1f86ad11b7a +Julien Cabieces 2024-09-23 + + Merge pull request #58790 from elpaso/bugfix-gh57422-server-cascading-legend-size + + [server] WMS GetLegendGr.. cascading size + +Alessandro Pasotti 2024-09-20 + + [expressions] Relation aggregate: fix cache key + + Fix #49469 + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-09-21 + + Bump body-parser + + Bumps the npm_and_yarn group with 1 update in the /resources/server/src/landingpage directory: [body-parser](https://github.com/expressjs/body-parser). + + + Updates `body-parser` from 1.20.1 to 1.20.3 + - [Release notes](https://github.com/expressjs/body-parser/releases) + - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) + - [Commits](https://github.com/expressjs/body-parser/compare/1.20.1...1.20.3) + + --- + updated-dependencies: + - dependency-name: body-parser + dependency-type: indirect + dependency-group: npm_and_yarn + ... + + Signed-off-by: dependabot[bot] + +qgis-bot 2024-09-21 + + auto sipify 🍺 + +Nyall Dawson 2024-09-12 + + QgsDistanceArea methods should raise QgsCsException when errors occur + + Instead of just silently return "0", which is misleading and + can result in data corruption/incorrect analysis results. Better + to be safe and force callers to handle transformation errors + appropriately. + + In this case we: + + - raise QgsProcessingExceptions when the failed measurement is coming + from a processing tool, so that the user is forced to deal with the + issue and we aren't providing meaningless/misleading measurements + - report evaluation errors if the measurement is coming from a + QGIS expression, so the user must appropriately handle the situation + - for all other cases we currently just write a console error and + maintain the current behavior of treating the measurement length + as 0. TODO notes have been added to handle this cases better. + +Harrissou Sant-anna 2024-09-21 + + fix: Adjust point cloud export dialog title + +Harrissou Sant-anna 2024-09-21 + + Add precision to area output field in raster layer unique values report algorithm + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-09-21 + + Bump the npm_and_yarn group across 1 directory with 4 updates + + Bumps the npm_and_yarn group with 1 update in the /resources/server/src/landingpage directory: [express](https://github.com/expressjs/express). + + + Updates `express` from 4.19.2 to 4.21.0 + - [Release notes](https://github.com/expressjs/express/releases) + - [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md) + - [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0) + + Updates `path-to-regexp` from 0.1.7 to 0.1.10 + - [Release notes](https://github.com/pillarjs/path-to-regexp/releases) + - [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md) + - [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.7...v0.1.10) + + Updates `send` from 0.18.0 to 0.19.0 + - [Release notes](https://github.com/pillarjs/send/releases) + - [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md) + - [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0) + + Updates `serve-static` from 1.15.0 to 1.16.2 + - [Release notes](https://github.com/expressjs/serve-static/releases) + - [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md) + - [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2) + + --- + updated-dependencies: + - dependency-name: express + dependency-type: indirect + dependency-group: npm_and_yarn + - dependency-name: path-to-regexp + dependency-type: indirect + dependency-group: npm_and_yarn + - dependency-name: send + dependency-type: indirect + dependency-group: npm_and_yarn + - dependency-name: serve-static + dependency-type: indirect + dependency-group: npm_and_yarn + ... + + Signed-off-by: dependabot[bot] + +Denis Rouzaud 2024-09-21 + + fix locator usage (#58821) + + * fix locator usage + + correctly enable items, description and trigger + + * enable item only for results + +Julien Cabieces 2024-09-19 + + fix(TaskManager): Release "not started" semaphore on waitForFinished + + If not, several call to waitForFinished would be blocking + +Alessandro Pasotti 2024-09-20 + + Simpler approach + +Alessandro Pasotti 2024-09-20 + + [processing] Random points in polygons: fix NULL exp returning 1 + + When POINTS_NUMBER is set to an expression and the expression + evaluation returns an invalid value, set the value to 0 instead + of 1 (which is logically the min value for the fixed number option). + + Fixes #58737 + +Alessandro Pasotti 2024-09-20 + + Add a blocking variant + +Denis Rouzaud 2024-09-20 + + const correction + +Andrea Giudiceandrea 2024-09-19 + + Fix Help->About "Libraries" + +Andrea Giudiceandrea 2024-09-19 + + Fix Help->About for "QGIS code branch" + +Nyall Dawson 2024-09-12 + + Avoid layout scalebar resizing to huge widths in extreme situations + + Eg when trying to show a 1m scalebar for a global map + +David Signer 2024-09-19 + + Improve texts and gray description + +Nyall Dawson 2024-09-19 + + Update src/core/qgsabstractgeopdfexporter.cpp + + Co-authored-by: Even Rouault + +Nyall Dawson 2024-09-19 + + Standardize nullptr checks + + For the majority of QGIS code we just directly test pointers + instead of comparing to nullptr, adjust remaining checks + against nullptr to match + +Nyall Dawson 2024-09-19 + + Modernize code, don't use NULL for nullptr + +Nyall Dawson 2024-09-19 + + Doxygen comments should use "NULLPTR", not "NULL" + + NULLPTR will get correctly formatted in both c++ and Python docs + +Alessandro Pasotti 2024-09-18 + + [forms] Fix default exp stored on rollback + + Fix #58767 default value stored even when clicking "Cancel" + +qgis-bot 2024-09-18 + + auto sipify 🍺 + +Alessandro Pasotti 2024-09-18 + + Address PR comments + +Alessandro Pasotti 2024-09-18 + + Apply suggestions from code review + + Co-authored-by: Nyall Dawson + +Alessandro Pasotti 2024-09-17 + + [layout] Fix missing layer in fixed table editor + + Fix #58774 + +Julien Cabieces 2024-09-18 + + refactor(ReshapeMapTool): resize, not overwrite + + So we keep the existing snapping matches + +Julien Cabieces 2024-09-18 + + refactor(ReshapeMapTool): Reset snapping matches + + When we need curve de-approximation + +Julien Cabieces 2024-09-17 + + fix(ReshapeMapTool): fix snapping matches with tracing + + Fixes #57225 + +Alessandro Pasotti 2024-09-18 + + [server] WMS GetLegendGr.. cascading size + + Fix #57422 by adjusting the legend size considering the + cascaded legend imag size. + +Julien Cabieces 2024-09-18 + + fix(pyqt5To6): Avoid endless recursion because of baseClass (#58785) + + baseClass is an attribute added by sipify script + Fixes #58659 + +Denis Rouzaud 2024-09-18 + + [mvt] support value list for icon size (#58783) + +qgis-bot 2024-09-18 + + auto sipify 🍺 + +Nyall Dawson 2024-09-18 + + Nicer strings for OGR sql dialects + +Nyall Dawson 2024-09-18 + + Move method to utility class + +Nyall Dawson 2024-09-18 + + Populate subset string metadata for provider subclasses + +Nyall Dawson 2024-09-18 + + Add methods to QgsDataProvider for subset string dialect/help URL + + To be used in dialogs for advising users of the subset string dialect + +Merge: ab759516650 0228f9310f5 +Denis Rouzaud 2024-09-18 + + Merge pull request #58741 from 3nids/mvt-fix-2 + + [mvt] line color fixes + +Germán Carrillo 2024-09-17 + + [gui] Move Diagrams properties to a panel widget, showing tabs instead of a list when docked; harmonize stacked diagram configuration with rule-based labeling; allow QgsDiagramProperties to sync to renderers and diagram layer settings, in addition to syncing to layers; when editing a subdiagram of a stacked diagram, only show widgets for diagram layer settings if the subdiagram is the first one, for the rest, hide those widgets and show a note informing users; make sure stacked diagrams handle enabled and disabled subdiagrams (i.e., don't take into account disabled subdiagrams) and add a test for it; switching from single to stacked diagram: take the single diagram definition as the first stacked diagram; fix #58782 (calling twice the apply method for label rendering) + +Germán Carrillo 2024-09-03 + + [core] Introduce QgsStackedDiagramRenderer for rendering stacked diagrams. This allows subdiagrams to define their own sizes and legends; add tests for a stacked diagram composed of mixed renderers (single category and linearly interpolated categories), as well as nested stacked diagrams. + +Germán Carrillo 2024-08-29 + + [gui] Write/read stacked diagram state to/from XML (QGIS project) + +Germán Carrillo 2024-08-28 + + [gui] Implement syncToLayer for QgsStackedDiagramproperties, delegating to subdiagrams' syncToLayer when needed + +Germán Carrillo 2024-08-27 + + [gui] QgsStackedDiagramProperties: Move EngineSettingsButton from QgsDiagramProperties to the side of the main diagram type combobox + +Germán Carrillo 2024-08-27 + + [gui] Move 'No diagram' option from QgsDiagramProperties to QgsStackedDiagramProperties + +Germán Carrillo 2024-08-27 + + [fix] Fix issue on histogram bar orientation in a first set up (fix #58501) + +Germán Carrillo 2024-08-27 + + [gui] In QgsStackedDiagramProperties, make tabs movable to redefine subdiagrams order + +Germán Carrillo 2024-08-26 + + [gui] Implement apply() for QgsStackedDiagramProperties, delegating parts to QgsDiagramProperties for subdiagrams + +Germán Carrillo 2024-08-24 + + [gui] Add methods to add and remove subdiagrams in QgsStackedDiagramProperties; remove subdiagram button disabled when subdiagram count is 2 (minimum value to have a stacked diagram); when switching from stacked to single diagram, extra tabs are hidden + +Germán Carrillo 2024-08-23 + + [gui] Introduce StackedDiagramProperties and use it as dialog and as vector properties page. For the moment, it works with single diagrams, hiding controls for stacked diagrams + +Germán Carrillo 2024-08-21 + + [tests] Vertically stacked diagrams with spacing + +Germán Carrillo 2024-08-20 + + [tests] Subdiagram position in vertically stacked diagrams (iterating subdiagrams backwards) + +Germán Carrillo 2024-08-08 + + [tests] Fix vertical position for horizontally stacked diagrams and viceversa + +Germán Carrillo 2024-07-04 + + [tests] Add test for vertical stacked (pie) diagrams with fixed size + +Germán Carrillo 2024-07-03 + + [tests] Add test for stacked diagrams with spacing + +Germán Carrillo 2024-07-03 + + Adjust documentation links + +Germán Carrillo 2024-07-03 + + Const method; improve new QgsStackedDiagram's docs + +Germán Carrillo 2024-07-02 + + Replace outdated unused in docs; remove outdated unused in code + +Germán Carrillo 2024-07-02 + + [tests] Add first test for stacked diagrams (population pyramid) + +Germán Carrillo 2024-07-02 + + Introduce QgsStackedDiagram to create compound diagrams like population pyramids. Use Stacked as internal name for stacked diagrams and StackedBar for stacked bar diagrams. Add subDiagram parameter to QgsDiagramRenderer::diagramSize() and QgsDiagramRenderer::diagramSettings() (single and interpolated) to get subdiagrams info. + +Denis Rouzaud 2024-09-18 + + [mvt] halo width must not be greater than 1/4 of text size (#58649) + + * [mvt] halo width must not be greater than 1/4 of text size + + * fix halo size + add test + + * fix layout + + * Update src/core/vectortile/qgsmapboxglstyleconverter.cpp + + --------- + + Co-authored-by: Nyall Dawson + +Nyall Dawson 2024-09-18 + + Remove leftover group box + +Even Rouault 2024-09-12 + + [GUI] Save as vector layer dialog: add hints about using TARGET_ARCGIS_VERSION=ARCGIS_PRO_3_2_OR_LATER when needed + + Fixes #58690 + +Even Rouault 2024-09-12 + + Vector file metadata: add the TARGET_ARCGIS_VERSION layer option of the OpenFileGDB driver + + Fixes #58690 + +Denis Rouzaud 2024-09-17 + + fix memory leak + +Merge: 2ef3cded7a9 23ba830bc87 +Even Rouault 2024-09-17 + + Merge pull request #58776 from agiudiceandrea/fix-58772-exporting-geojsonseg + + Fix exporting layer to GeoJSONSeq format using the correct extension + +Denis Rouzaud 2024-09-17 + + add test for nested match + line opacity + +Andrea Giudiceandrea 2024-09-17 + + Fix GeoJSONSeq exported extension + +Even Rouault 2024-09-16 + + Save as vector file: fix re-opening a GeoJSON Newline delimited file + + Fixes #58760 + +qgis-bot 2024-09-17 + + auto sipify 🍺 + +Nyall Dawson 2024-09-17 + + Fix build + +Nyall Dawson 2024-09-17 + + Use plural for consistency + +Nyall Dawson 2024-09-17 + + Remove duplicate values + +Nyall Dawson 2024-09-17 + + Simplify code + +Nyall Dawson 2024-09-16 + + Update tests for correct results + +Nyall Dawson 2024-09-16 + + Fix cppcheck warning + +Nyall Dawson 2024-09-16 + + Expose international chains as distance tool measurement option + +Nyall Dawson 2024-09-16 + + Complete EPSG distance unit mapping by adding historic distance units + + Ensures we don't perform a lossy conversion of units from the EPSG + CRS database to QGIS units + +Denis Rouzaud 2024-09-13 + + fix bad parsing of match list with strings + avoid useless warning + +Mathieu Pellerin 2024-09-12 + + Disable checkable state for the add feature button for geometryless layers, it makes it clearer the button can be repeatedly pressed + +qgis-bot 2024-09-16 + + auto sipify 🍺 + +ViperMiniQ 2024-09-06 + + fix qgsrastercalculator widgets not expanding with window, switch to grid layout + +Ben 2024-09-14 + + Reset to current master and minor edits + +qgis-bot 2024-09-16 + + auto sipify 🍺 + +Denis Rouzaud 2024-09-16 + + Enable QgsClipper::trimFeature on arm architectures (#58762) + + This was apparently a left over from android build on 32 bits. + +Merge: fce8f62ea10 a0ec39af65b +Alessandro Pasotti 2024-09-16 + + Merge pull request #58719 from elpaso/bugfix-authstorage-api-qt6 + + Auth storage API fix debug code with QT6 + +Alessandro Pasotti 2024-09-16 + + Update src/core/auth/qgsauthconfigurationstoragedb.cpp + + Co-authored-by: Julien Cabieces + +qgis-bot 2024-09-16 + + auto sipify 🍺 + +Merge: 09ec5e2c7df c5c31b71d33 +Alessandro Pasotti 2024-09-16 + + Merge pull request #58717 from ismailsunni/fix-56715-add-apply-calculation-button + + Fix 56715 add apply calculation button + +qgis-bot 2024-09-16 + + auto sipify 🍺 + +Nyall Dawson 2024-09-12 + + Fix test + +Nyall Dawson 2024-09-12 + + Add test mask + +Nyall Dawson 2024-09-11 + + [feature] Support horizontal alignment in HTML labels + + For multi-line labels, this allows use of either: + + - HTML

attributes + - CSS "text-align: xxx" + - HTML

some text
tags + + Supported alignments are left, right, center and justify + + Horizontal alignment can be used in all contexts where + HTML text is rendered, EXCEPT for curved labels (since they + are restricted to single-line text) + + Sponsored by City of Freiburg im Breisgau + +qgis-bot 2024-09-16 + + auto sipify 🍺 + +Nyall Dawson 2024-09-16 + + Add missing sip cast for QgsFilledLineSymbolLayer + +Nyall Dawson 2024-09-15 + + Update src/core/qgsrenderchecker.cpp + +Nyall Dawson 2024-09-13 + + Update src/core/qgsrenderchecker.cpp + +Nyall Dawson 2024-09-13 + + Update src/core/qgsrenderchecker.cpp + +Thomas Wessel 2024-09-11 + + qgsrenderchecker.cpp, checks for env.var. QGIS_TEST_REPORT + +Dr. Dystopia 2024-09-13 + + Replace sorting implementation + +Mathieu Pellerin 2024-09-14 + + Fix handling of empty field name in QgsFields' lookupField function + +Andrea Giudiceandrea 2024-09-15 + + [processing] Fix warning in postprocessing + +Even Rouault 2024-09-14 + + [Lint] qgslocatormodel.cpp: remove compiler warning and tidy code + + - gcc 11.4 (false-positively) warns about the `switch ( entry.type )`` at + line 83 to potentially fallback to ``case Description``. Rework a bit + to workaround that + - in data(), ``mResults.at( index.row() )`` is repeated many times. Just + create a variable that is a reference to it to make code more compact + and readable + - in lessThan(), sourceModel() is called many times. Compilers are not + smart enough to realize that the return will always be the same, so + just store it once in a local variable. Also use a typedef to make + code more compact + +Andrea Giudiceandrea 2024-09-15 + + [pocessing] QVariant->QMetaType in "Select by attribute" + + QgsField.type() returns QMetaType.Type + +Andrea Giudiceandrea 2024-09-15 + + [processing] Fix deprecated QgsField constructor + + Using QMetaType.Type in place of QVariant types for: + - "Check validity" qgis:checkvalidity + - "Climb along line" qgis:climbalongline + - "Add geometry attributes" qgis:exportaddgeometrycolumns + - "Advanced Python field calculator" qgis:advancedpythonfieldcalculator + - "Find projection" qgis:findprojection + - "Distance to nearest hub (line to hub)" qgis:distancetonearesthublinetohub + - "Distance to nearest hub (points)" qgis:distancetonearesthubpoints + - "Concave hull (k-nearest neighbor)" qgis:knearestconcavehull + - "Minimum bounding geometry" qgis:minimumboundinggeometry + - "Distance matrix" qgis:distancematrix + - "Generate points (pixel centroids) along line" qgis:generatepointspixelcentroidsalongline + - "Random points along line" qgis:randompointsalongline + - "Random points in layer bounds" qgis:randompointsinlayerbounds + - "Random points inside polygons" qgis:randompointsinsidepolygons + - "Regular points" qgis:regularpoints + - "Statistics by categories" qgis:statisticsbycategories + - "Text to float" qgis:texttofloat + - "Topological coloring" qgis:topologicalcoloring + +Merge: 4109c8dd8c9 c06c7c938e0 +Matthias Kuhn 2024-09-15 + + Merge pull request #58726 from Simon-Lopez/master + + Use CMake's SQLite targets + +Mathieu Pellerin 2024-09-14 + + [clipboard] Do not add a geometry column when copying features from a non-geometry/table layer + +Mathieu Pellerin 2024-09-14 + + [ui][rasters] Fix additional nodata value widget's handling of large double values + +Mathieu Pellerin 2024-09-14 + + [layouts] Fix computation of atlas rectangle for rotated map items when no atlas geometry available + +qgis-bot 2024-09-14 + + auto sipify 🍺 + +Even Rouault 2024-09-13 + + [OGR provider] Fix changeAttributeValues() on GeoJSON files for GDAL 3.9.1 and 3.9.2 + + Running the tests/src/python/test_provider_ogr.py tests against GDAL + master raised a number of failures. I've now realized that the GeoJSON + driver of GDAL 3.9.1 has still a broken implementation of + UpdateFeature(). + Now this will *really* fixed per + https://github.com/OSGeo/gdal/pull/10794 for 3.9.3 + In the meantime disable using UpdateFeature for GeoJSON for GDAL < 3.9.3 + + Fixes https://github.com/qgis/QGIS/pull/57736#discussion_r1636226384 + +Nyall Dawson 2024-09-14 + + Test mask + +Nyall Dawson 2024-09-14 + + Fix dox + +Nyall Dawson 2024-08-28 + + Ensure label cache is invalidated when a vector layer renderer + affects the labeling and is re-drawn + +Nyall Dawson 2024-08-28 + + Add API to determine if feature renderer affects labeling results + +Nyall Dawson 2024-08-28 + + Use labeling engine to render linear referencing labels + + Where possible, we now use the labeling engine to register and + render labels from a linear referencing symbol layer. This ensures + that the linear referencing labels correctly participate in + the map labeling problem, including forcing other map labels + to be repositioned to avoid overlaps. + +Nyall Dawson 2024-08-28 + + Expose private QgsTextRenderer method for drawing document at point + + This allows more efficient rendering when the document and metrics + have already been calculated + +Nyall Dawson 2024-08-28 + + Add API to retrieve label providers from QgsLabelingEngine + +Ivan Barsukov 2024-09-13 + + Fixed typo in allowCommitChanged + +Even Rouault 2024-09-13 + + [OGR provider] Issue syncToDisk() after [add/delete/rename]Attributes() + + Fixes #58669 + +Even Rouault 2024-09-13 + + test_provider_ogr.py: do not alter source test data, to keep 'git status' clean + +Simon Lopez 2024-09-13 + + Use CMake's SQLite targets + + This uses the same targets and variables introduced in + the FindSQLite3 module in CMake starting with version 3.14. + + The other CMakeFiles.txt are modified accordingly. + +Denis Rouzaud 2024-09-13 + + [mvt] support nested match lists for colors + +Denis Rouzaud 2024-09-13 + + [mvt] use symbol opacity for line layers when the color already has opacity + +qgis-bot 2024-09-13 + + auto sipify 🍺 + +Merge: e25bc2089bd c5286e4dcc8 +Denis Rouzaud 2024-09-13 + + Merge pull request #58354 from gacarrillor/save_functions_in_project + + [feature] Allow users to save expression functions in QGIS project file + +qgis-bot 2024-09-13 + + auto sipify 🍺 + +Denis Rouzaud 2024-09-13 + + [locator] add priority per group (#58542) + + * [locator] add priority per group + + * fix test + + --------- + + Co-authored-by: signedav + +Merge: c0813b1f1dd 6e6b8aab102 +D'Hont René-Luc 2024-09-13 + + Merge pull request #58723 from qgis/fix-server-wms-render-context-const-allowed + + QGIS Server: WMS render context const allowed + +David Signer 2024-09-13 + + Improve UX of layer style categories with html (what means we need to introduce a delegate as well) + +Mathieu Pellerin 2024-09-12 + + Add test coverage + +Mathieu Pellerin 2024-09-11 + + [vector tiles] Followup e002547: handle all variants of label marker shield's icon-size + +Merge: adc12249438 a02555b5e57 +Even Rouault 2024-09-13 + + Merge pull request #58706 from rouault/QgsVectorLayerSaveAsDialog_no_button + + QgsVectorLayerSaveAsDialog: use correct test for question + +David Koňařík 2024-09-10 + + Add GUI for adding Quantized Mesh layers + +David Koňařík 2024-09-10 + + Refactor Quantized Mesh to use QgsDataSourceUri + +Ismail Sunni 2024-09-13 + + Fix variable name and tooltip. + +Ismail Sunni 2024-09-13 + + Update text in message box and tooltip. + +D'Hont René-Luc 2024-09-13 + + QGIS Server: WMS render context const allowed + + Based on @elpaso review on https://github.com/qgis/QGIS/pull/58530 + +Mathieu Pellerin 2024-09-13 + + [themes] Fix bad styling of scrollbars in the plugin manager dialog + +Merge: 183ce5ed733 238614c8f9a +Alessandro Pasotti 2024-09-13 + + Merge pull request #58707 from rouault/drop_bna + + Vector file metadata: drop BNA driver + +Merge: 072fe412776 a97ec41287e +Alessandro Pasotti 2024-09-13 + + Merge pull request #58712 from rouault/drop_fme + + Vector file metadata: drop FME driver + +Denis Rouzaud 2024-09-13 + + fix conversion warning + +Denis Rouzaud 2024-09-13 + + [mvt] implement step expression in parseExpression + fix concat + + fixes #57989 + +Denis Rouzaud 2024-09-13 + + fix test + +Denis Rouzaud 2024-09-12 + + fix last (default) value of a match can be a match + +Denis Rouzaud 2024-09-12 + + [mvt] fix in literal expression + +Alessandro Pasotti 2024-09-13 + + Auth storage API fix debug code with QT6 + +Ismail Sunni 2024-09-13 + + Fix typo. + +Denis Rouzaud 2024-09-13 + + [mvt] fix missing retrieveSprites with case expression (#58692) + + * [mvt] fix missing retrieveSprites with case expression + + also add missing support for expression + + * fix test + + * fix the test + +Ismail Sunni 2024-09-13 + + Add proper success message. + +Mathieu Pellerin 2024-09-12 + + [map layer] When saving/loading 'Rendering' category to/from QML, including auto refresh details + +qgis-bot 2024-09-12 + + auto sipify 🍺 + +Even Rouault 2024-09-13 + + Vector file metadata: drop FME driver + + Was removed in GDAL 3.5, but I believe it would have been a challenge + for a bare mortal to build it. I personnally have hardly never built it + before its removal. + +Mathieu Pellerin 2024-09-12 + + [ui] Fix addition of geometryless feature not working after first click on add record toolbar action + +Raymond Nijssen 2024-09-12 + + Fix for error when installing plugin from zip and path contains a single quote + +Nyall Dawson 2024-09-13 + + QString fixup + +Even Rouault 2024-09-13 + + Vector file metadata: drop BNA driver + + This driver was removed in GDAL 3.3. Most recent QGIS builds are + presumably done against newer GDAL versions, so this is effectively dead + code in practice. At worse QGIS 3.40+ won't just support this obscure + BNA driver that nobody has probably ever used, even if the underlying + GDAL still does. + +Even Rouault 2024-09-12 + + QgsVectorLayerSaveAsDialog: use correct test for question + + This doesn't fix a real issue, since that code path is unlikely to be + taken, but when creating https://github.com/qgis/QGIS/pull/58705, I + copied&pasted this wrong code, and was wondering why clicking on No had + the same effect as Yes... + +Pascal Giguère <39274013+pascal-giguere@users.noreply.github.com> 2024-09-12 + + S3 auth: Fix malformed `Authorization` header (#58664) + + Fixes #58643 + +Denis Rouzaud 2024-09-12 + + avoid useless warning (#58691) + + * avoid useless warning + + * Update src/core/vectortile/qgsmapboxglstyleconverter.cpp + + Co-authored-by: Julien Cabieces + + --------- + + Co-authored-by: Julien Cabieces + +kannes 2024-09-12 + + Fix comment + +kannes 2024-09-12 + + Use @geometry instead of deprecated $geometry in 2.5D renderer + +Ismail Sunni 2024-09-12 + + Add message bar to show that the calculation is finished. + +Ismail Sunni 2024-09-12 + + Also enable/disable Apply button like in Ok button. + +Ismail Sunni 2024-09-12 + + Add Apply button to apply the calculation without closing the calculator dialog. + +kannes 2024-09-12 + + Use modern @geometry instead of $ in IDE syntax highlighting example + +kannes 2024-09-12 + + Use modern @geometry instead of $ in Geometry By Expression algorithm + +kannes 2024-09-11 + + Use @geometry instead of deprecated $geometry as initial expression + +qgis-bot 2024-09-12 + + auto sipify 🍺 + +Denis Rouzaud 2024-09-12 + + [settings] support direct connection from widget value change to upda… (#58611) + + * [settings] support direct connection from widget value change to update setting value + + * support automatic setting update on dialog accept + + * add settings entry + + * better name + fix typo + + * Update src/gui/settings/qgssettingseditorwidgetwrapper.h + + Co-authored-by: Mathieu Pellerin + + * sipify + + --------- + + Co-authored-by: Mathieu Pellerin + +Denis Rouzaud 2024-09-12 + + [FEATURE] load MVT layers from style URL only (#58663) + + with support for multiple sources + +Andrea Giudiceandrea 2024-09-12 + + [GUI] Fix project's Ellipsoid option description (adding angle to distance and area) (#58660) + + * [GUI] Fix project's Ellipsoid option description + + * [GUI] Use a tooltip for project's Ellipsoid option description + +Matteo Ghetta 2024-09-12 + + Save edits button in fields properties tab (#58564) + + * save edits button in fields properties tab + + * change button order + + * remove iconset tag, we use theme folder + + * remove whatsthis and add new button to tabstop + +Mathieu Pellerin 2024-09-12 + + [geometry] Handle exporting of empty interior ring as WKT in a manner that will allow for re-creating geometries afterwards (#58616) + + * [geometry] Handle exporting of empty interior ring as WKT in a manner that will allow for re-creating geometries afterwards + + * Address review + +qgis-bot 2024-09-12 + + auto sipify 🍺 + +Alessandro Pasotti 2024-09-12 + + [auth][api] QgsAuthConfigurationStorage classes and tests (#57992) + + Implementation of QEP + Authentication System: allow Database storage for authentication DB + https://github.com/qgis/QGIS-Enhancement-Proposals/issues/248 + +Ben Wirf 2024-09-12 + + Fix inconsistent field name line edit focus behaviour when creating new vector layers (#58538) + + * Fix inconsistent behaviour in create new layer dialogues by returning focus to + the field name line edits in the mAddAttributeButton_clicked slot methods of the + new layer dialogues. + + Fixes #58482 + + * Remove Qt::MouseFocusReason argument from setFocus() calls so that the default + Qt::OtherFocusReason is used. + +David Koňařík 2024-09-08 + + Update Cesium 3D tiles test + +David Koňařík 2024-09-05 + + Add Quantized Mesh 3D terrain generator + +David Koňařík 2024-09-04 + + Add UV coordinates to Quantized Mesh GLTF + +David Koňařík 2024-08-26 + + Refactor Quantized Mesh classes + + This makes the code more usable from outside the tiled scene layer + framework. + +David Koňařík 2024-08-08 + + Fix 3D tiled scene handling of large tiles + + And adapt QgsChunkedEntity to handling "placeholder" nodes that don't + have any renderable data themselves, but whose children might. (Since we + don't render too-large tiled scene tiles, but still want to recurse). + +David Koňařík 2024-08-08 + + Refactor Quantized Mesh data provider + + Pull out metadata parsing and common code to share with other "clients". + +David Koňařík 2024-08-01 + + Parse normals from Quantized Mesh tiles + +David Koňařík 2024-08-01 + + Generate skirt from Quantized Mesh data + +David Koňařík 2024-08-01 + + Remove degenerate triangles from Quantized Mesh + +David Koňařík 2024-07-31 + + Fix parsing some Quantized Mesh dataset metadata + +David Koňařík 2024-07-30 + + Add 3D rendering for Quantized Mesh layers + +Nyall Dawson 2024-09-12 + + Don't show font size preview in font button icons (#58673) + + Just reset the font size to a standard size when generating the + preview, otherwise we end up with invisible text on the buttons + if the font size is too big or too little. + +Nyall Dawson 2024-09-12 + + Fix struct attributes descriptions missing from PyQGIS docs (#58672) + + Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/177 + +Etienne Trimaille 2024-09-11 + + Bump Python minimum version to 3.9 + +qgis-bot 2024-09-12 + + auto sipify 🍺 + +Merge: 8448cf8e907 7fa383dc06e +Mathieu Pellerin 2024-09-12 + + Merge pull request #58584 from nirvn/processing_openstreetmap_policy + + Further safeguards from (perceived or actual) bulk download of OpenStreetMap tiles + +qgis-bot 2024-09-11 + + auto sipify 🍺 + +Mathieu Pellerin 2024-09-11 + + Address comment, fix crash seen on Qt6 CI + +Mathieu Pellerin 2024-09-10 + + Address review + +Mathieu Pellerin 2024-09-09 + + [geos] Add mechanism for empty interior rings to be skipped + +Mathieu Pellerin 2024-09-08 + + [labeling] Remove empty inner rings when preparing label geometries to avoid crashes + +Andrea Giudiceandrea 2024-09-11 + + Fix Geometry Generator expression button's icon + +Raymond Nijssen 2024-09-11 + + Add translator Razan Elnour + +Jean Felder 2024-09-11 + + core/CMakeLists: Remove duplicate HAVE_OPENCL condition + + This is already defined later on the file with the `QGIS_CORE_SRCS` + include. + +Nyall Dawson 2024-09-11 + + Fix malformed docs for register_function, qgsfunction + +qgis-bot 2024-09-11 + + auto sipify 🍺 + +Nyall Dawson 2024-09-10 + + Support h1/h2/.../h6 formatting in html labels + +qgis-bot 2024-09-10 + + auto sipify 🍺 + +Nyall Dawson 2024-09-10 + + [feature] Add support for word-spacing CSS in html labels + + ...and other places HTML text formatting is accepted. + + This allows use of CSS "word-spacing: 12" to increase the word + spacing in a section of HTML text. The word spacing is always + treated as being in point units. + +Jean Felder 2024-09-09 + + qgsvectorlayerprofilegenerator: Add support for polyhedralsurface + + a `QgsPolyhedralSurface` contains a list of polygons. Each of them needs + to be processed. + +Andrea Giudiceandrea 2024-09-10 + + [processing] Fix native:extractbinary output folder + +Andrea Giudiceandrea 2024-09-10 + + [processing][grass] Make some strings translatable + +Andrea Giudiceandrea 2024-09-10 + + [processing] Make some strings translatable + +Jean Felder 2024-09-10 + + test_qgsvectorlayerprofilegenerator: Fix tests for geos 3.13 + +Even Rouault 2024-09-10 + + [GDAL provider] Use base dataset to display metadata in HTML output + + Fix #58489 + +qgis-bot 2024-09-10 + + auto sipify 🍺 + +Nyall Dawson 2024-09-10 + + If a rule is not available on the system (eg geos too old): + + - grey out the rule in the rules list + - show an explanatory tooltip + - don't allow users to create copies of that rule + +Nyall Dawson 2024-09-10 + + Address review + +Nyall Dawson 2024-09-10 + + Sipify + +Nyall Dawson 2024-09-09 + + Generate user-friendly tooltips + +Nyall Dawson 2024-09-09 + + Rule name can be edited via list + +Nyall Dawson 2024-09-09 + + Allow labeling rules to be de-activated + +Nyall Dawson 2024-09-06 + + Fix docs + +Nyall Dawson 2024-09-06 + + Correctly update rules when rule removed + +Nyall Dawson 2024-09-06 + + Don't lose other label settings when configuring engine settings + +Nyall Dawson 2024-09-06 + + Add icon for labeling rules + +Nyall Dawson 2024-09-06 + + Add gui for configuring project advanced labeling rules + +Nyall Dawson 2024-09-06 + + Add __repr__ + +Nyall Dawson 2024-09-06 + + Add tests + +Nyall Dawson 2024-09-06 + + Rules can have user-configurable names + +Nyall Dawson 2024-09-06 + + Fix clang-tidy warnings + +Nyall Dawson 2024-09-06 + + Fix seealso + +Nyall Dawson 2024-09-05 + + Add tests for rules + +Nyall Dawson 2024-09-05 + + Respect engine rules when solving pal problem + + Adds the necessary hooks into the pal classes to give engine rules + a chance to implement their logic + +Nyall Dawson 2024-09-02 + + [api] Implementation of labeling engine rules + + See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/299 + + Implements the API framework for setting advanced labeling engine + rules for a project, and implements 4 initial rule types: + + - QgsLabelingEngineRuleMinimumDistanceLabelToFeature: prevents labels + being placed too *close* to features from a different layer + - QgsLabelingEngineRuleMaximumDistanceLabelToFeature: prevents labels + being placed too *far* from features from a different layer + - QgsLabelingEngineRuleMinimumDistanceLabelToLabel: prevents labels + being placed too close to labels from a different layer + - QgsLabelingEngineRuleAvoidLabelOverlapWithFeature: prevents labels + being placed overlapping features from a different layer + + (note that the first 3 rules require a build based on GEOS >= 3.10, + they are not available for older GEOS builds) + + Also implements a registry for storing available rule classes, + and serialization of rules and configuration in QGIS projects + +Nyall Dawson 2024-09-05 + + pal cleanups - better variable names, comments + +Denis Rouzaud 2024-09-10 + + [mvt] fix scaled icon size (#58640) + +qgis-bot 2024-09-10 + + auto sipify 🍺 + +Merge: c22334440fb 391b61544e3 +Julien Cabieces 2024-09-10 + + Merge pull request #58630 from nyalldawson/sip_out + + Correctly handle multiline SIP_OUT param documentation + +Nyall Dawson 2024-09-10 + + Handle SIP_OUT with void functions + +Nyall Dawson 2024-09-10 + + Correctly handle multiline SIP_OUT param documentation + +Mathieu Pellerin 2024-09-09 + + [ui] Fix unreadable text in the 'Font Install Failed' dialog under night mapping theme + +Mathieu Pellerin 2024-09-09 + + [processing] Fix points to path algorithm's handling of text folder output's temporary destination + +Mathieu Pellerin 2024-09-09 + + [processing] Add the text directory output for points to path alg. when user sets one + +Denis Rouzaud 2024-09-09 + + [mvt] support concat expression (#58623) + + fixes #58364 + +Jeroen Ticheler 2024-09-09 + + Update search_backend.py (#58621) + + Change the request parameter name to offset + +Jean Felder 2024-09-09 + + qgspostgresfeatureiterator: Remove useless triangle to polygon conversion + + TIN and Triangles are now handled by QGIS. There is no need for this + workaround. + + Fixes: commit 3efb87ddb2e8808d5c5819fa82de468ed6335f31 + +Nyall Dawson 2024-09-09 + + [sipify] Minor cleanup to auto additions + + Condense injections into a single block instead of multiple + separate blocks + +Merge: d904c10cae2 e1709a3655a +Julien Cabieces 2024-09-09 + + Merge pull request #58483 from nirvn/interpolation_by_m_expression + + [expression] Add line_interpolate_point_by_m and line_locate_m expressions + +Mathieu Pellerin 2024-09-08 + + [ogr] Fix quoted identifier logic for sqlite-based drivers + +qgis-bot 2024-09-09 + + auto sipify 🍺 + +Jean Felder 2024-09-07 + + qgswkbtypes: Remove comment regarding triangle multiType + + `TIN` support has been added but it is a single type. Therefore, the + multi type of a Triangle is a MultiPolygon. + +Loïc Bartoletti 2024-09-04 + + Triangle: allow to create and edit triangle geometry type + +Loïc Bartoletti 2024-09-04 + + PostGIS/ogr: Remove conversion of PolyhedralSurface/TIN to MultiPolygon + + QGIS now natively supports PostGIS PolyhedralSurface and TIN + geometries. This commit removes the workaround that converted + them to MultiPolygon during loading. + +Loïc Bartoletti 2024-09-04 + + PostgreSQL: Add new geometry types + + Allow PolyhedralSurface and TIN in PostgreSQL table. + Add a new GeometryColumnType and Capabilities : Surfaces. + +Jean Felder 2024-09-05 + + qgsoracleprovider: Ignore TIN type + + This is not handled at the moment. + +Loïc Bartoletti 2024-09-04 + + qgsnewmemorylayerdialog: Add support for TIN + +Jean Felder 2024-08-27 + + qgsgeos: Add support for TIN in asGeos + + This allows to convert a `QgsTriangulatedSurface` to a `MultiPolygon` + geos geometry. + +Jean Felder 2024-08-24 + + qgssymbol: Add support for qgstriangulatedsurface + +Jean Felder 2024-08-13 + + qgsgeometryfactory: Add support for qgstriangulatedsurface + +Jean Felder 2024-08-12 + + geometry: Add triangulatedsurface support + +Jean Felder 2024-08-12 + + qgis: Add support for TIN type + +Jean Felder 2024-09-05 + + qgsoracleprovider: Ignore polyhedralsurface type + + This is not handled at the moment. + +Loïc Bartoletti 2024-09-04 + + qgsnewmemorylayerdialog: Add support for qgspolyhedralsurface + +Jean Felder 2024-08-27 + + qgspolygon3dsymbol_p: Add support for polyhedralsurface + + This allows to process a QgsPolyhedralSurface geometry to display it. + +Jean Felder 2024-08-27 + + qgsgeos: Add support for polyhedralsurface in asGeos + + This allows to convert a `QgsPolyhedralSurface` to a `MultiPolygon` + geos geometry. + +Jean Felder 2024-08-13 + + qgsgeometry: Use QgsPolyhedralSurface in fromBox3D + +Jean Felder 2024-08-27 + + qgsgeometry: Add polygon to polyhedralsurface conversion in coerceToType + + This allows to edit a vector layer of polyhedral surface to add new + polygon features. + +Jean Felder 2024-08-24 + + qgssymbol: Add support for qgspolyhedralsurface + +Jean Felder 2024-08-12 + + qgsgeometryfactory: Add support for qgspolyhedralsurface + +Jean Felder 2024-08-08 + + geometry: Add polyhedralsurface support + +Jean Felder 2024-08-06 + + qgis: Add support for polyhedralsurface type + +Jean Felder 2024-09-05 + + qgssurface: Do not define surfaceToPolygon + + `surfaceToPolygon` is only useful for `QgsCurvePolygon` which inherits + from `QgsSurface`. The next commit will introduce + `QgsPolyhedralSurface` which also inherits from `QgsSurface`. For + `QgsPolyhedralSurface`, it does not make sense to have + `surfaceToPolygon`. + + By moving `surfaceToPolygon` definition in `QgsCurvePolygon` this + allows to keep the functionality. + +Mathieu Pellerin 2024-09-08 + + [temporal] Fix temporal animation export (inc. decorations) on high DPI screens + +Harrissou Sant-anna 2024-09-07 + + fix: Switch name and tooltip + +Harrissou Sant-anna 2024-09-07 + + Display tooltips over decoration items in View menu + +Harrissou Sant-anna 2024-09-07 + + fix: Adjust tooltips for placement widgets in decoration items dialogs + +Harrissou Sant-anna 2024-09-07 + + weird empty whatsThis? + +Harrissou Sant-anna 2024-09-07 + + Create or improve toolTip using the whatsThis description + +Harrissou Sant-anna 2024-09-07 + + Remove whatsThis properties that are empty or duplicate the tooltip + +Mathieu Pellerin 2024-09-09 + + [ui] Fix and improve the plugin manager's look on dark themes (#58606) + +Denis Rouzaud 2024-09-08 + + add comment + +Denis Rouzaud 2024-09-08 + + create a copy of the list to delete children + +Denis Rouzaud 2024-09-08 + + add test for settings unregistration + +qgis-bot 2024-09-08 + + auto sipify 🍺 + +Nyall Dawson 2024-09-05 + + Add missing docs + +Nyall Dawson 2024-08-28 + + Capture signal arguments + +Mathieu Pellerin 2024-09-08 + + Address review + +Mathieu Pellerin 2024-08-26 + + [expression] Add line_interpolate_point_by_m and line_locate_m expressions + +Mathieu Pellerin 2024-09-06 + + Address review + +bdm-oslandia 2024-09-04 + + Remove .github/CONTRIBUTING.md and update .github/PULL_REQUEST_TEMPLATE.md + +bdm-oslandia 2024-08-23 + + Create CONTRIBUTING.md from README `Get involved with the community` section + +Germán Carrillo 2024-09-05 + + [core] Address review: Move loadFunctionsFromProject and cleanFunctionsFromProject to QgsProject::read and ::clear, respectively. Introduce function pythonEmbeddedInProjectAllowed to ask for permissions to load both macros and expression functions, with a parameter enum and rename existing enum for macros. Sort includes. Drop not needed file. Add python/expressions/ to gitignore, to get rid of files produced by the introduced Python test. + +Germán Carrillo 2024-08-19 + + [tests] Add test for unloading Expression Functions from projects (on project close) and reloading user ones, specifically to restore overwritten user functions when opening a project with expressions inside + +Germán Carrillo 2024-08-16 + + [expressions] Unload expression functions from project on project close and reload user expressions (from profile) to avoid any potential overwrite from unloaded project functions + +Germán Carrillo 2024-08-15 + + Make sure python expression functions from project are only loaded if users allow it, just like we do with macros + +Germán Carrillo 2024-08-09 + + Address review (don't expose to public API, remove const to a by value param, tr, string literals) + +Germán Carrillo 2024-05-31 + + [tests] Add tests for project functions + +Germán Carrillo 2024-05-30 + + Add missing docs and SIP files + +Germán Carrillo 2024-05-30 + + [app] Load stored project functions when opening a project + +Germán Carrillo 2024-05-30 + + [gui] Introduce dialog to add function files, allowing users to choose whether to store functions in a .py file (current behavior) or in the QGIS project + +Germán Carrillo 2024-05-30 + + Make sure project functions are correctly loaded from the project (always at the top of the list in the 'Function editor' tab) and never stored in a user profile file + +Germán Carrillo 2024-05-29 + + [feature] Allow to add/save/autosave/remove expression functions in a QGIS project + +Harrissou Sant-anna 2024-08-28 + + Use QgsScrollArea instead of QScrollArea + +Harrissou Sant-anna 2024-08-27 + + Add scrollbar to Project elevation tab + + and make the terrain group collapsible + + Fixes #58497 + +Jean Felder 2024-09-05 + + qgsgeometrycollection: Remove uneeded clearCache call in operator= + + Indeed `QgsAbstractGeometry::operator=()` is already called. This + operator calls the `clear()` method which already clears the cache and + the existing geometries. + +Jean Felder 2024-09-05 + + qgscompoundcurve: Remove uneeded clearCache call in operator= + + Indeed `QgsCurve::operator=()` is already called. As, + `QgsCurve` does not override `operator=`, + `QgsAbstractGeometry::operator=()` is called. This operator calls the + `clear()` method which already clears the cache and the existing + curves. + +Jean Felder 2024-09-05 + + qgscurvepolygon: Remove uneeded clearCache call in operator= + + Indeed `QgsSurface::operator=()` is already called. As, + `QgsSurface` does not override `operator=`, + `QgsAbstractGeometry::operator=()` is called. This operator calls the + `clear()` method which clears the exterior ring, the interior rings + and the cache. + +Jürgen E. Fischer 2024-09-04 + + debian packaging: adapt packaging of 3d python bindings (followup 640f2801f2fb76) + +Merge: 36ebb123340 8ec3a4be162 +Even Rouault 2024-09-05 + + Merge pull request #58585 from dmarteau/fix-unused-parameter + + Fix 'unused parameter' error + +David Marteau 2024-09-05 + + Fix 'unused parameter' error + + Fix 'unused parameter' error when compiling without + HAVE_SERVER_PYTHON_PLUGINS defined + +Mathieu Pellerin 2024-09-05 + + [browsers] Set a tile pixel ratio of 96 DPI for the OpenStreetMap layer shipped in QGIS to avoid large number of tiles fetched when inserting a map into a 300 DPI layout + +Mathieu Pellerin 2024-09-05 + + [browsers] Prevent users from breaching the OSMF tile usage policy when exporting + the layer to file (both via the browser panel as well as the layer tree) + +qgis-bot 2024-09-05 + + auto sipify 🍺 + +Merge: 6aeda2a29eb 734d1d2ebfd +Mathieu Pellerin 2024-09-05 + + Merge pull request #58550 from nirvn/processing_openstreetmap_policy + + [processing] Insure that processing algorithms are not used to breach the OSMF tile usage policy on bulk download + +Björn 2024-09-04 + + [metasearch] Fix missing import + + fix https://github.com/qgis/QGIS/issues/47823 + +qgis-bot 2024-09-04 + + auto sipify 🍺 + +Nyall Dawson 2024-09-03 + + Update test images following switch to flat cap based drawing + +Nyall Dawson 2024-09-04 + + Last row/column style should apply when merged cells touch last row/col + +Nyall Dawson 2024-09-03 + + Make it easy to copy commands from test image report + +Nyall Dawson 2024-09-02 + + [layouts] Add support merging cells in manual tables + + Allows adjacent cells to be merged in layout manual table items. + + From the table editor, select multiple cells in a rectangular + shape and then from the Table menu, click "Merge Selected Cells". + Merged cells can be un-merged via the "Split Selected Cells" + menu action. + + Fixes #51694 + +Merge: b8cf79b7b44 a55451b6fc9 +Julien Cabieces 2024-09-04 + + Merge pull request #58561 from troopa81/feat_fct_compat_color_object + + [Expression] Make color functions compatible with color object + +qgis-bot 2024-09-04 + + auto sipify 🍺 + +Jean Felder 2024-08-08 + + qgsrectangle: Correctly Handle null case in intersects + + If at least one rectangle is null, they do not intersect. However, + this does not work if one of the rectangles only has NaN coordinates. + + This issue is fixed by checking if one of the rectangles `isNull` in + `QgsRectangle::intersects()`. + +Nyall Dawson 2024-09-04 + + Fix malformed enum documentation + + Fixes #50176 + +qgis-bot 2024-09-04 + + auto sipify 🍺 + +Nyall Dawson 2024-09-04 + + Fix numeric format configuration in dialog mode + +Nyall Dawson 2024-09-04 + + Address review + +Nyall Dawson 2024-08-29 + + Pass proper expression context on to numeric format widget + +Nyall Dawson 2024-08-29 + + Set expression context for numeric format + +Nyall Dawson 2024-08-21 + + [feature] Add "Linear Referencing" symbol layer type + + This new symbol layer type allows placing text labels at regular + intervals along a line (or at positions corresponding to + existing vertices). Positions can be calculated using + Cartesian distances, or interpolated from z/m values. + + Functionality includes: + + - Labels can be placed using fixed cartesian 2d distances, + at regular linearly interpolated spacing calculated using + the Z or M values in geometries, or at existing vertices + - Labels can show either the running total distance, or + the linearly interpolated Z/M value + - Uses text rendered to draw labels, so the full range + of functionality is available for the labels (including + buffers, shadows, etc) + - Uses the QGIS numeric format classes to format numbers + as strings, so users have full range of customisation + options for eg decimal places + - An optional "skip multiples of" setting. If set, then + labels which are a multiple of this value will be skipped + over. This allows construction of complex referencing labels, + eg where a symbol has two linear referencing symbol layers, + one set to label every 100m in a small font, skipping multiples + of 1000, and a second set to label every 1000m in a big + bold font + - Labels are rendered using an angle calculated by averaging + the linestring, so sharp tiny jaggies don't result in + unslightly label rotation + - Optionally, markers can be placed at referenced points + in the line string, using a full QGIS marker symbol (this allows + eg showing a cross-hatch at the labeled point, for a "ruler" + style line) + - Data defined control over the placement intervals, skip + multiples setting, marker visibility and average angle + calculation length + + Notes: + + - When using the distance-based placement or labels, the + distances are calculated using 2D only, Cartesian calculations + based on the original layer CRS. This could potentially be + extended in future to expose options for 3D Cartesian distances, + or ellipsoidal distance calculations. + + Sponsored by the Swiss QGIS User Group + +Nyall Dawson 2024-09-04 + + Fix test failure + +Nyall Dawson 2024-08-01 + + Add expression variables for layer vertical crs + + Following the equivalent variables for projects, this adds: + + - @layer_vertical_crs + - @layer_vertical_crs_definition + - @layer_vertical_crs_description + - @layer_vertical_crs_wkt + + Which will be populated whenever a map layer has a valid + vertical CRS set + +Mathieu Pellerin 2024-09-04 + + Create a QgsMapLayerUtils::isOpenStreetMapLayer function + +Julien Cabieces 2024-09-04 + + refactor(ColorExpression): Use QGSCOMPARENEAR + +qgis-bot 2024-09-04 + + auto sipify 🍺 + +Merge: 38c75784be0 fbf9edfb5da +Alessandro Pasotti 2024-09-04 + + Merge pull request #58559 from elpaso/bugfix-gh52219-relation-ref-not-null-followup + + Fix default AllowNotNULL for relation ref wdgt + +Mathieu Pellerin 2024-09-02 + + Address review + +Mathieu Pellerin 2024-09-01 + + [processing] Insure that the convert map to raster algorithm is not used to conduct bulk download OSM tiles + +Mathieu Pellerin 2024-09-01 + + [processing] Insure that the create XYZ directory/mbtiles algorithms are not used to conduct bulk download of OSM tiles + +Mathieu Pellerin 2024-09-01 + + [processing] Add tile creation counts to the create XYZ directory/mbtiles algorithms + +qgis-bot 2024-09-04 + + auto sipify 🍺 + +Nyall Dawson 2024-09-04 + + Fix indentation of fromFunction docs + +Nyall Dawson 2024-09-04 + + Use correct subheader underline + +Nyall Dawson 2024-09-04 + + Fix QgsSvgCache parameter formatting + +Nyall Dawson 2024-09-04 + + Checkin files + +Nyall Dawson 2024-09-04 + + Deprecate signal which is never emitted + +Nyall Dawson 2024-09-04 + + Add missing signal docs + +Nyall Dawson 2024-09-04 + + Cleanup docs + +Nyall Dawson 2024-09-04 + + Add missing signal docs + +Nyall Dawson 2024-09-04 + + Add missing signal docs + +Nyall Dawson 2024-09-04 + + Lint + +Nyall Dawson 2024-09-04 + + Fix list in return value + +Nyall Dawson 2024-09-03 + + Correctly handle \param[in,out] in sipify + +Nyall Dawson 2024-09-03 + + Fix multiline return with SIP_OUT + +Nyall Dawson 2024-09-03 + + Remove private notes, fix malformed notes + +Nyall Dawson 2024-09-03 + + Fix malformed notes + +Nyall Dawson 2024-09-03 + + Add missing docs for signals + +Nyall Dawson 2024-09-03 + + Fix malformed tags + +Nyall Dawson 2024-09-03 + + Fix up \param formatting + +Nyall Dawson 2024-09-03 + + Fix tag + +Nyall Dawson 2024-09-03 + + Fix malformed docs + +Nyall Dawson 2024-09-03 + + Misc doc cleanups + +Nyall Dawson 2024-09-03 + + Fix docs for QgsServerRequest + +Nyall Dawson 2024-09-03 + + Fix inline link + +Nyall Dawson 2024-09-03 + + pass is a reserved keyword in python, use password instead + +Nyall Dawson 2024-09-03 + + Cleanup QgsUnitSelectionWidget docs + +Nyall Dawson 2024-09-03 + + Fix class link + +Nyall Dawson 2024-09-03 + + Add missing docs + +Nyall Dawson 2024-09-03 + + Fix formatting of equation + +Nyall Dawson 2024-09-03 + + Sipify all + +Nyall Dawson 2024-09-03 + + Fix test + +Nyall Dawson 2024-09-03 + + Dead code + +Nyall Dawson 2024-09-03 + + Remove dead code + +Nyall Dawson 2024-09-03 + + Cleanup some CPT city docs + +Nyall Dawson 2024-09-03 + + Correctly format QgsFileUtils examples + +Nyall Dawson 2024-09-03 + + "is" is a reserved keywork in Python + + We can't use it for a named keyword argument. Rename to something + safer. + +Nyall Dawson 2024-09-03 + + Add missing signal docs for QgsDataItem + +Nyall Dawson 2024-09-03 + + Some QgsGml doc cleanups + +Nyall Dawson 2024-09-03 + + Mark globs as code literals + +Mathieu Pellerin 2024-09-03 + + Fix errenous expected image + +Mathieu Pellerin 2024-08-30 + + [rasters] Fix layout map item preview rendering of XYZ layers with known tile DPI + +Julien Cabieces 2024-09-03 + + fix(PdfExport): Check for null project + +Julien Cabieces 2024-09-03 + + style(PdfExport): Avoid ugly static cast + +Julien Cabieces 2024-09-03 + + style(PdfExport): one lining styleSetting condition + + Co-authored-by: Nyall Dawson + +Julien Cabieces 2024-09-03 + + fix(PdfExport): check for null project + + Co-authored-by: Nyall Dawson + +Julien Cabieces 2024-08-29 + + fix(ExportPdf): write correctly utf-8 chars in XML + +Julien Cabieces 2024-08-29 + + style(ExportPdf): make spellcheck happy + +Julien Cabieces 2024-08-29 + + fix(PdfExport): Rewrite XMP metadata writing to escape XML chars + +Julien Cabieces 2023-11-16 + + feat(CMYK): Generate a valid PDF/X-4 file + + When a colorspace has been defined, we generate a valid PDF/X-4 file. + +Jürgen E. Fischer 2024-05-16 + + fix sip_check failure + +Jürgen E. Fischer 2024-05-14 + + apply osgeo4w patches + +qgis-bot 2024-09-03 + + auto sipify 🍺 + +Nyall Dawson 2024-09-03 + + Don't mangle http see links in PyQGIS docs + +Nyall Dawson 2024-09-03 + + Fix missing see also trailing notes in PyQGIS documentation + +Nyall Dawson 2024-09-03 + + More \see cleanups + +Nyall Dawson 2024-09-03 + + Remove broken see also links + +Nyall Dawson 2024-09-03 + + Fix formatting of some \see links + +Jürgen E. Fischer 2024-09-03 + + fix 3d.pyi install (followup da317dd8dea0) + + $ find build -name "*3d*.pyi" + build/python/3d/build/_3d_p/_3d_p.pyi + +Nyall Dawson 2024-09-03 + + Fix CRS flagged as invalid from standalone code + + Correctly handle the situation where multiple + QgsCoordinateReferenceSystemRegistry objects are created. This can + happen when something tries to create a CRS before the + QgsApplication is properly constructed. + + In this situation the std::once calls were incorrectly causing + the member cached objects to only be populated for the FIRST + registry created. + + Move to static objects were possible, and use a local mutex + to protect other create-once, registry specific caches. + + Fixes #55161 + +Julien Cabieces 2024-09-03 + + test(ColorExpression): deal with different rounding behavior + + Depending on Qt versions + +Alessandro Pasotti 2024-09-03 + + Add referencingFieldsAllowNull + +Julien Cabieces 2024-09-03 + + style(ColorExpression): make clang-tidy happy + +qgis-bot 2024-09-03 + + auto sipify 🍺 + +Merge: b53968c771e f0085c622e4 +Mathieu Pellerin 2024-09-03 + + Merge pull request #58548 from nirvn/smart_disk_cache + + [network] Implement a smart cache size + +Julien Cabieces 2024-09-03 + + refactor(ColorExpression): Add a getColorValue method + +Mathieu Pellerin 2024-09-03 + + Upgrade settings + +Julien Cabieces 2024-08-27 + + feat(Expression): Make darker/lighter works with color object + + and not just string representation + +Julien Cabieces 2024-08-27 + + feat(Expression): Make (set_)color_part functions works with object + + not just string representation + +Julien Cabieces 2024-08-27 + + feat(Expression): Add color_mix function + + It takes string representation or color object as arguments so the + function can work with CMYK color without changing its color type and converting it to RGB. + +Julien Cabieces 2024-08-27 + + feat(Expression): Make color_grayscale_average works with object + + So the function can work with CMYK color without changing its color + type and converting it to RGB. + +Alessandro Pasotti 2024-09-03 + + Fix default AllowNotNULL for relation ref wdgt + + Fix #52219 + + Followup #58361 , this fixes the default before the config + is actually saved. + + While #58361 fixed the default in the config dialog, the default + was not effective if the config wasn't saved. + +Mathieu Pellerin 2024-09-02 + + Address review + +Nyall Dawson 2024-09-03 + + Fix warning + +Julien Cabieces 2024-09-02 + + fix(Expression): clamp color components + +Julien Cabieces 2024-08-27 + + fix(Expression): Returns QVariant for invalid color + +Julien Cabieces 2024-08-26 + + feat(Expression): Add color_hsvf + + Contrary to color_hsv, color_hsvf allows to load a color from float + component (and not int) into a QColor object (and not a string representation). + +Julien Cabieces 2024-08-26 + + feat(Expression): Add color_hslf + + Contrary to color_hsl, color_hslf allows to load a color from float + component (and not int) into a QColor object (and not a string representation). + +Julien Cabieces 2024-08-21 + + feat(Expression): Add color_cmykf + + Contrary to color_cmyk, color_cmykf allows to load a color from float + component (and not int) into a QColor object (and not a string representation). + +Julien Cabieces 2024-08-21 + + feat(Expression): Add color_rgbf + + Contrary to color_rgb, color_rgbf allows to load a color from float + component (and not int) into a QColor object (and not a string representation). + +Benoit D.-M. - oslandia <64401067+benoitdm-oslandia@users.noreply.github.com> 2024-09-02 + + Fix/export 3d scene (#58541) + + * fix(qgs3dexportobject): saveTo was using bad algorithm to access vertices from indexes. + + As we can have holes in the face list and we only write vertices from theses faces then + the vertex list in the obj is not the whole from mVertexPosition! So we have a like + "compressed" the section vertex/normal. + + Then when saving the indexes (ie. faces) we do not need to use the 'mIndexes[i]' value + anymore but only the 'i' value. + + * fix(testqgs3dutils): use QGSCOMPARELONGSTR and files instead of long strings + + * fix(qgs3dsceneexporter): allow findAttribute to find attribute only by type + + * fix(qgs3dsceneexporter): improve null/no data detection and error log. + + * fix(3dsceneexporter): improve code readability and index filtering to avoid feature duplication + + * fix(testqgs3drendering): improve 3d scene export tests + + * use QGSCOMPARELONGSTR + * improve generated file names + * add more complex cases with buildings and dem. + +Merge: e6ae6a39812 da317dd8dea +Julien Cabieces 2024-09-02 + + Merge pull request #58534 from nyalldawson/fix_3d_import + + Fix PyQGIS 3D module patching + +Merge: 4d150a82700 50408edac6e +Julien Cabieces 2024-09-02 + + Merge pull request #58553 from nyalldawson/fix_deprecated_enum_values_documented + + Fix PyQGIS docstrings for monkey patched enum values + +Denis Rouzaud 2024-09-02 + + support multiple URLs/sources for vector tiles (#58155) + + * support multiple URLs/sources for vector tiles + + * fix ++ op + + * fix test + + * address review + + * review suggestions + + * fix clazy warnings + + * fix clazy warnings + + * again + +Nyall Dawson 2024-09-02 + + Fix PyQGIS docstrings for monkey patched enum values + + We should be using the new name for the enum value instead + of the old one in the enum class docstring. + + Move the old compatible name to an extra note + "Available as ``xx.yy`` in older QGIS releases." + + Fixes #49171 + +Nyall Dawson 2024-09-02 + + Update + +Nyall Dawson 2024-09-02 + + Fix formatting of Python ..deprecated annotations in docstrings + + Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174 + +Nyall Dawson 2024-09-02 + + Require version number for \deprecated annotations + +Nyall Dawson 2024-09-02 + + Add "3.40" as version for all \deprecated annotations without version + + Since we didn't capture the actual version information at the + time of deprecating these, it's basically impossible to retrieve + that information now. Use the most conservative version possible + and tag all these with version 3.40 instead. + +Nyall Dawson 2024-09-02 + + Standardise some deprecated annotations + +Nyall Dawson 2024-09-02 + + Standardise some deprecated annotations + +Nyall Dawson 2024-09-02 + + Standardise some deprecated annotations + +Nyall Dawson 2024-09-02 + + Apply suggestions from code review + +Simon Lopez 2024-08-29 + + Rename elevation profile widget + + This adds a menu item in the Options sub-menu to change the windows name + to something meaningfull to the user. + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-09-01 + + Bump tj-actions/changed-files from 44 to 45 + + Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 44 to 45. + - [Release notes](https://github.com/tj-actions/changed-files/releases) + - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) + - [Commits](https://github.com/tj-actions/changed-files/compare/v44...v45) + + --- + updated-dependencies: + - dependency-name: tj-actions/changed-files + dependency-type: direct:production + update-type: version-update:semver-major + ... + + Signed-off-by: dependabot[bot] + +Mathieu Pellerin 2024-08-31 + + [network] Implement a smart cache size + +Nyall Dawson 2024-08-31 + + Always use correct \since annotation for enum values + +Nyall Dawson 2024-08-31 + + Standardise some since annotations + +Nyall Dawson 2024-08-31 + + Fix malformed python docstrings when enum value has \since annotation + +Nyall Dawson 2024-08-23 + + Revert "Always enable Live Update in layer styling dock" + + This reverts commit 5d11440dc1212f98a433d40a8e0752de4001ed3d. + +Nyall Dawson 2024-08-19 + + Always enable Live Update in layer styling dock + + Remove "Live Update" and "Apply" buttons, and just always enable + live updates + +Nyall Dawson 2024-08-19 + + Disable "Apply" button when "Live update" enabled in styling dock + + Fixes #51894 + +qgis-bot 2024-08-30 + + auto sipify 🍺 + +Nyall Dawson 2024-08-29 + + Move some style related enums out of global namespace + +Nyall Dawson 2024-08-20 + + Fix clang-tidy warning + +Nyall Dawson 2024-08-20 + + Fix test on qt6 + +Nyall Dawson 2024-08-20 + + Fix clang-tidy warnings + +Nyall Dawson 2024-08-19 + + Test masks + +Nyall Dawson 2024-08-19 + + Move constructors don't need documentation + +Nyall Dawson 2024-08-19 + + Don't show private layers in print layout legends by default + + When a print layout legend is in auto mode, private layers should + not be included + + Fixes #51427 + +Nyall Dawson 2024-08-19 + + Allow filtering private layers from QgsLayerTreeFilterProxyModel + +Nyall Dawson 2024-08-19 + + Expose proxy model for QgsLegendRenderer to allow filtering rendered content + +Nyall Dawson 2024-08-19 + + Hide private layers in layout legend settings when in auto-update mode + + Refs #51427 + +qgis-bot 2024-08-30 + + auto sipify 🍺 + +Denis Rouzaud 2024-08-30 + + wedge buffers support start and end angles (#58473) + +qgis-bot 2024-08-30 + + auto sipify 🍺 + +Nyall Dawson 2024-08-30 + + Fix some more causes of warnings when building PyQGIS docs + +Nyall Dawson 2024-08-30 + + Fix PyQGIS 3D module patching + + The module patching for _3d was not working at all, because + the same logic which works for other modules with a private _module + copy clashed with the approach of exposing the public 3d module + as qgis._3d + + Work around this by renaming the private internal module as _3d_p, + so that the monkey patching logic from sip is correctly run + when the module is loaded. + + Fixes broken API in 3d module for renamed enums, and fixes the + broken PyQGIS doc for the 3d module + +qgis-bot 2024-08-30 + + auto sipify 🍺 + +Denis Rouzaud 2024-08-29 + + Update src/core/locator/qgslocatormodelbridge.cpp + + Co-authored-by: Matthias Kuhn + +Denis Rouzaud 2024-08-29 + + [locator] allow interacting on selection in the results + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-08-29 + + Bump webpack + + Bumps the npm_and_yarn group with 1 update in the /resources/server/src/landingpage directory: [webpack](https://github.com/webpack/webpack). + + + Updates `webpack` from 5.76.1 to 5.94.0 + - [Release notes](https://github.com/webpack/webpack/releases) + - [Commits](https://github.com/webpack/webpack/compare/v5.76.1...v5.94.0) + + --- + updated-dependencies: + - dependency-name: webpack + dependency-type: indirect + dependency-group: npm_and_yarn + ... + + Signed-off-by: dependabot[bot] + +Nyall Dawson 2024-08-30 + + Fix typo + +Nyall Dawson 2024-08-29 + + Don't use copydoc for methods exposed to SIP + + Fixes #54429 + +Nyall Dawson 2024-08-29 + + [sipify] Die if copydoc is used in exposed method documentation + + Sipify cannot handle this + + Refs #54429 + +Matthias Kuhn 2024-08-29 + + Only require `qgis.gui` import when gui is built + +qgis-bot 2024-08-29 + + auto sipify 🍺 + +Nyall Dawson 2024-08-29 + + Fix new flake8 warnings + +Nyall Dawson 2024-08-29 + + Use newer python for flake8 test + +Nyall Dawson 2024-08-29 + + Move doxygen processing logic from unify_includes to doxygen_space + +Nyall Dawson 2024-08-29 + + Port doxygen_space to python + +Nyall Dawson 2024-08-29 + + Fix closing tag + +Nyall Dawson 2024-08-29 + + Catch raw bold/italic tags in docs + +Nyall Dawson 2024-08-29 + + Fix some malformed docs + +Nyall Dawson 2024-08-29 + + Don't use raw html lists in documentation + +Nyall Dawson 2024-08-29 + + Don't use raw dd/dl/dt tags in documentation + + Markdown headings should be used instead + + Fixes #54430 + +Nyall Dawson 2024-08-29 + + No dl + +Merge: 8c1fe2292cb 45a15dab0fc +D'Hont René-Luc 2024-08-29 + + Merge pull request #58073 from dmarteau/fix-server-access-control + + Fix WMS layer access control check + +qgis-bot 2024-08-29 + + auto sipify 🍺 + +Nyall Dawson 2024-08-29 + + Silence false positive cppcheck + +Nyall Dawson 2024-08-29 + + Drop unnecessary extra member + +Nyall Dawson 2024-08-29 + + Remove unnecessary method + +Nyall Dawson 2024-08-27 + + [feature] Add 'Custom Expression' numeric format + + This numeric format allows users to craft a custom QGIS expression + to format numbers. The expression can use the @value variable + to retrieve the value to be formatted, and then use any standard + QGIS expression function to format this as desired. + + It can be used anywhere QgsNumericFormat is accepted, eg layout + scalebars, elevation plots, layout tables, and color ramp + legends + + Sponsored by the Swiss QGIS User Group + +Nyall Dawson 2024-08-29 + + Qstring fixup + +Jürgen E. Fischer 2024-08-28 + + debian packaging: include pdal support for noble-ubuntugis (fixes #58485) + +Merge: 9a3809de828 72b858416cf +Julien Cabieces 2024-08-28 + + Merge pull request #58474 from benoitdm-oslandia/fix/prepare_renderview + + Fix/prepare renderview + +bdm-oslandia 2024-08-26 + + testqgs3drendering: fix debugmap to work with QT6 by forcing sync between QT3D backend/frontend. + + Also disable shadow debug map as broken with QT6 (see https://github.com/qgis/QGIS/issues/58184). + + And add masks! + +bdm-oslandia 2024-07-12 + + qgsframegraph: remove useless member variables for postprocessing and texture preview + +bdm-oslandia 2024-08-23 + + qgsframegraph: rework postprocessing/rendercapture nodes to enable texture preview capture in test. + + In the current framegraph the RenderCapture is set too earlier and does not allow to + capture the debug/preview maps when activated. The debug map unit test does not really + work because of this issue. + + One solution is to create a branch with the RenderCaptureTargetSelector at the top with 3 + sub branches: the postprocessing then the debug/preview maps and to finish the + rendercapture. + + Other changes: + + * set mRenderCaptureEnabled to false as default + * fix test to catch debug maps + +bdm-oslandia 2024-08-23 + + fix(qgsframegraph): fix typo + +Jean Felder 2024-06-22 + + qgsrenderpassquad: Do not create its own Qlayer + + Homogenize the layer responsibility: it is handled outside the entity and then passed to it. + +qgis-bot 2024-08-28 + + auto sipify 🍺 + +Nyall Dawson 2024-08-28 + + Fix qt6 build + +Nyall Dawson 2024-08-28 + + Enforce thread safety for Qgs3DMapSettings + +Nyall Dawson 2024-08-28 + + Fix point cloud extent logic + +Nyall Dawson 2024-08-28 + + Add warning + +Nyall Dawson 2024-08-28 + + Rename to mapSettings + +Nyall Dawson 2024-08-27 + + Refactor so Qgs3DMapSettings is a member of Qgs3DSceneEntity + +Nyall Dawson 2024-08-27 + + Remove unused public setters + +Nyall Dawson 2024-08-27 + + Rework to use Qgs3DRenderContext instead + +Nyall Dawson 2024-08-16 + + More static cast to float + +Nyall Dawson 2024-08-16 + + Avoid some clang-tidy warnings + +Nyall Dawson 2024-08-15 + + Add some thread safety to Qgs3DMapSettings usage + + Create a small, cheap to copy (non-qobject) class + Qgs3DMapSettingsSnapshot which is designed to store + just cheap properties of Qgs3DMapSettings. Then use this + object wherever possible to avoid accessing the (non-thread + safe) Qgs3DMapSettings object for retrieval of simple + map properties (eg crs, extent, ...) + + Refs https://github.com/qgis/QGIS-Enhancement-Proposals/issues/301 + +qgis-bot 2024-08-28 + + auto sipify 🍺 + +Nyall Dawson 2024-08-28 + + Fix some overly verbose class "brief" descriptions + +Nyall Dawson 2024-08-28 + + Fix bad docs + +Nyall Dawson 2024-08-27 + + Lazily hack around markdown title underline not being long enough + + Causes a bunch of warnings when building the PyQGIS docs + +Nyall Dawson 2024-08-27 + + Remove incorrect 'not available in python' note + +Nyall Dawson 2024-08-27 + + Fix incorrect use of inline returns + +David Signer 2024-08-27 + + readCustomProperties is already called by readCommonStyle + +David Signer 2024-08-27 + + consider pipe elements for symbology and raster only when symbology OR raster category has been selected (and of course allstylecategories) + +David Signer 2024-08-27 + + Provide categories to copy/paste style in rasterlayers + +David Signer 2024-08-27 + + Save FileBasedAttributeTables path when category is active + +David Signer 2024-08-27 + + Provide categories for raster that make sense like. The implementations are already there (in commonStyle e.g.) except for Attribute Table / and customProperties are exported in every case... + +Merge: 504c2e55fc6 bb275d11887 +Matthias Kuhn 2024-08-27 + + Merge pull request #58502 from DelazJ/AlgsTitleinModeler + + Modeler - Show group in the algorithm dialog title + +Harrissou Sant-anna 2024-08-27 + + Modeler - Show group in the algorithm dialog title + +Mathieu Pellerin 2024-08-26 + + [expression] Fix eval_template() not working with field caltulator and virtual fields + +Nyall Dawson 2024-08-27 + + Apply suggestions from code review + +David Signer 2024-08-26 + + named properly and added short description + +David Signer 2024-08-22 + + Improve tags, name, description because it's not given that file download is an http request and you can use this alogrithm for http requests and don't care about the file (just create a tmp file). + Don't allow the filename as optional because it fails without it anyway in the QgsFileDownloader. + +Jean Felder 2024-08-26 + + testqgs3drendering: Update polygon_edges_height control images + + This test contains a lot of control_images and some of them look + outdated. Replace all those images with a new default image and mask + which works in both qt5 and qt6 current versions. + +qgis-bot 2024-08-26 + + auto sipify 🍺 + +Julien Cabieces 2024-08-26 + + style(ColorWidget): s/supportDirection/hasDirection + +Julien Cabieces 2024-08-26 + + style(ColorWidget): make cppcheck happy + +Julien Cabieces 2024-08-26 + + style(ColorWidget): Use switch to properly support direction or not + +Julien Cabieces 2024-08-22 + + fix(ColorWidget): Synchronize color model with color ramp one + + Fixes #58324 + +Nyall Dawson 2024-08-19 + + Allow reordering fields in new vector layer dialogs + + (including scratch, shp, gpkg and spatialite) + + Fixes #38241 + +velle 2024-08-21 + + Changed the formatting of showSettings output: + - now uses dash-bullets for each param + - spaces instead of tabs, tabs were not correctly indented in Python console + - "Application state" -> "QgsApplication state" + +Merge: b553b04ae99 1c903848de2 +Even Rouault 2024-08-25 + + Merge pull request #58384 from troopa81/remove_ogc_urn_version + + [ServerWFS] Remove version from OGC urn + +qgis-bot 2024-08-25 + + auto sipify 🍺 + +Nyall Dawson 2024-08-25 + + Address review + +Nyall Dawson 2024-08-20 + + Fix algorithm + +Nyall Dawson 2024-08-20 + + Use resize handles for corner nodes + + Fixes #58427 + +Nyall Dawson 2024-08-20 + + Only upgrade annotations on desktop + +Nyall Dawson 2024-08-19 + + Expand tests + +Nyall Dawson 2024-08-19 + + Adapt rect text widget to expose placement modes + +Nyall Dawson 2024-08-19 + + Expand tests + +Nyall Dawson 2024-08-19 + + Make common base class for annotation items which render in rect + + And avoid a bunch of duplicate code + +Nyall Dawson 2024-08-19 + + Remove action for creating old text annotations + + The new Text in Rect annotation item should be used instead + +Nyall Dawson 2024-08-19 + + Add auto-upgrade for old text annotations + +Nyall Dawson 2024-08-19 + + Fix crash when deleting nodes + +Nyall Dawson 2024-08-19 + + Remove action for creating old SVG annotation items + + The new Picture annotation item should be used instead + +Nyall Dawson 2024-08-19 + + Add tests + +Nyall Dawson 2024-08-16 + + Auto upgrade old SVG annotations to picture annotation items on project load + +Nyall Dawson 2024-08-16 + + Add framework to upgrade older annotations to annotation layer items on project load + +Nyall Dawson 2024-08-25 + + Fix false positive clang tidy warning + +Nyall Dawson 2024-08-21 + + Add QgsLineString::lineLocationPointByM + + This method attempts to interpolate the point on a linestringM + where a specified m value falls. It does this by interpolating + M values along the line string segments, finding the first + segment at which the target M value falls. If the M value + corresponds to a part of the line with constant m values, then + the center point of this constant m value portion will be + returned. + +Nyall Dawson 2024-08-23 + + Fix bug with inverted polygon renderer vs OTF simplification + + The simplification MUST be applied prior to transforming geometries, + or the precalculated simplification tolerance will no be correct + and may be excessive (eg when the simplification tolerance + was calculated for a map in meters, yet the rendered layer is + in degrees -- in this case we would simplify the inverted geometry + with a tolerance of ~1 degree!) + + Ensure that we apply the simplification FIRST, then transform, + and disable further simplification when rendering the calculated + inverted feature. This is also a performance boost, because we + are simplifying geometries prior to transforming + calculating + the inversion, so usually end up with a lot less vertices + to handle in those operations... + +qgis-bot 2024-08-23 + + auto sipify 🍺 + +Merge: cc4a9aee5b8 5c9890ce69b +David Signer 2024-08-23 + + Merge pull request #58448 from signedav/releditorfilter + + Filter in Linking Dialogue of Relation Editor Widget + +Merge: f7838c724e7 745cf3851b7 +David Signer 2024-08-23 + + Merge pull request #58463 from signedav/openurlproc + + Processing Algorithm "Open file or URL" + +David Signer 2024-08-23 + + Update src/analysis/processing/qgsalgorithmurlopener.cpp + + Co-authored-by: Étienne Trimaille + +Merge: b53cf369615 9142c67a186 +Alessandro Pasotti 2024-08-23 + + Merge pull request #58470 from nyalldawson/better_ogr_error + + [ogr] Make attribute error when adding features more helpful + +David Signer 2024-08-23 + + Renaming to more convenient name and add short description. + +David Signer 2024-08-23 + + Update src/analysis/processing/qgsalgorithmurlopener.cpp + + Co-authored-by: Nyall Dawson + +David Signer 2024-08-23 + + Update src/analysis/processing/qgsalgorithmurlopener.cpp + + Co-authored-by: Nyall Dawson + +David Signer 2024-08-23 + + Update src/analysis/processing/qgsalgorithmurlopener.cpp + + Co-authored-by: Nyall Dawson + +David Signer 2024-08-23 + + Update src/analysis/processing/qgsalgorithmurlopener.cpp + + Co-authored-by: Nyall Dawson + +David Signer 2024-08-23 + + Update src/analysis/processing/qgsalgorithmurlopener.cpp + + Co-authored-by: Nyall Dawson + +Nyall Dawson 2024-08-23 + + Apply suggestions from code review + +Julien Cabieces 2024-08-22 + + feat(CMYK): Implement color ramp interpolation + +Nyall Dawson 2024-08-23 + + [ogr] Make attribute error when adding features more helpful + + Include field name, and expected field type in error + +Nyall Dawson 2024-08-20 + + Raw code block should use 'text', not 'raw' + + 'raw' gives an error when building the PyQGIS docs + +bdm-oslandia 2024-08-21 + + testqgs3drendering: Dump framegraph in ambient occlusion test + +bdm-oslandia 2024-07-19 + + qgsframegraph: extract framegraph dump functions to dedicated class + +Mike Krus 2024-07-11 + + qgsframegraph: display texture format in dump + +Jean Felder 2024-06-21 + + qgsframegraph: Add logic to dump framegraph as string + + Co-authored-by: Mike Krus + +bdm-oslandia 2024-08-22 + + Add link to developer guide in `New features and enhancements` of README.md + +bdm-oslandia 2024-08-22 + + fixup! fix hardcoded /tmp directory in tests + +bdm-oslandia 2024-08-21 + + fix hardcoded /tmp directory in tests + +pathmapper 2024-08-22 + + Fix deprecation warning + +David Signer 2024-08-22 + + use QgsProcessingOutputBoolean for output + +David Signer 2024-08-22 + + Introduce ProcessAlgorithm performing an openUrl to open urls in the browser and files in the corresponding applications + +qgis-bot 2024-08-22 + + auto sipify 🍺 + +Merge: 04dac197d13 dac3d308f10 +Julien Cabieces 2024-08-22 + + Merge pull request #58376 from troopa81/ui_cmyk_percent + + [ColorWidget] Edit CMYK as percent + +Julien Cabieces 2024-08-22 + + style(ColorWidget): Remplace if/else with switch + +Julien Cabieces 2024-08-22 + + style(ColorWidgets): Rename Raw enum to Scaled0to255 + +Julien Cabieces 2024-08-21 + + style(ColorWidgets): Make cppcheck happy + +qgis-bot 2024-08-21 + + auto sipify 🍺 + +Julien Cabieces 2024-08-21 + + fix(CMYK): fix clang-tidy and doc coverage + +Julien Cabieces 2024-08-21 + + feat(CMYK): Add a specific preview for CMYK color + +David Signer 2024-08-21 + + fix typos + +Julien Cabieces 2024-08-21 + + fix(ColorWidget): Run sipify since new static wrapper + +Merge: 1b892d683f5 db0db13dc58 +Julien Cabieces 2024-08-21 + + Merge pull request #58437 from nyalldawson/wfs_task + + Use a task instead of a progress dialog for wfs/oapif progress + +Julien Cabieces 2024-08-14 + + style(ColorWidget): make clang-tidy happy + +Julien Cabieces 2024-08-14 + + fix(ColorWidget): Remove switch default instruction + +Julien Cabieces 2024-08-14 + + fix(ColorWidget): Add missing Q_ENUM + +Julien Cabieces 2024-08-13 + + ui(ColorWidget): Display CMYK components as percent + +David Signer 2024-08-21 + + only enable additional settings when it makes sense + +David Signer 2024-08-21 + + Integrate expression builder in configuration + +merydian 2024-08-20 + + Add suggestions + +merydian 2024-08-20 + + Implement QgsRasterLayer.as_numpy + +bdm-oslandia 2024-08-20 + + fix(qgshttpheaders): add backward compatibility in setFromUrlQuery + +qgis-bot 2024-08-20 + + auto sipify 🍺 + +Julien Cabieces 2024-08-20 + + fix(ColorWidgets): Use QLineF to draw ramp lines + + To avoid possible hidpi issues + +Julien Cabieces 2024-08-19 + + fix(ColorWidget): update sip files since new sipify + +Julien Cabieces 2024-08-14 + + fix(ColorWidget): make clang-tidy and sipcheck happy + +Julien Cabieces 2024-08-14 + + fix(ColorWidget): fix sip and missing deprecated + +Julien Cabieces 2024-08-14 + + fix(ColorWidget): don't truncate to int while drawing color box + +Julien Cabieces 2024-08-14 + + fix(ColorWidget): Add missing SIP_DEPRECATED + +Julien Cabieces 2024-08-14 + + feat(ColorWidget): Make spin box a QgsDoubleSpinBox + +Julien Cabieces 2024-08-13 + + test(ColorWidget): Add tests for color slider widget + +Julien Cabieces 2024-08-13 + + build(ColorWidget): make build compatible with Qt5 and Qt6 + + Qt6 is now relying fully on float type instead of qreal on Qt5 + +Julien Cabieces 2024-08-12 + + feat(ColorWidget): Set color component as float + +Julien Cabieces 2024-08-19 + + fix(ProjectColors): Set default color + + according to project color model. + Fixes #58323 + +Julien Cabieces 2024-08-14 + + feat(CMYK): Convert new color to project color model + +qgis-bot 2024-08-20 + + auto sipify 🍺 + +Nyall Dawson 2024-08-20 + + Don't leak typing into qgis.core + +Nyall Dawson 2024-08-20 + + Move all gui map tools files into maptools/ subfolder + + Previously only a few were in this subfolder, which made it + confusing to find the others... + +David Signer 2024-08-20 + + Implement filterExpression in RelationEditorWidget and Config + Make QgsAbstractRelationEditorWidget accept filterExpression on linkFeature function + +qgis-bot 2024-08-20 + + auto sipify 🍺 + +Nyall Dawson 2024-08-20 + + Update src/core/project/qgsprojectstylesettings.cpp + +Julien Cabieces 2024-08-14 + + fix(StyleSettings): Make project dirty on style settings modification + +Nyall Dawson 2024-08-20 + + Fix clang tidy warning + +Nyall Dawson 2024-08-20 + + Use a task instead of a progress dialog for wfs/oapif progress + + Instead of firing up new progress dialogs for every wfs/oapif + request, use the task manager to create loss obtrusive progress reports. + + The download progress is now shown in the task manager, and cancel + requests can be done via the standard means of canceling tasks. + + Aside from avoiding the extra dialogs, this also means: + + - Time estimates for downloads are shown in the task tooltip + - Operating system level feedback (ie task bar progress) is shown + for wfs downloads + + Sponsored by Dorset Council + +Jean Felder 2024-08-19 + + [3D] Use QGIS material for the terrain (#58134) + + * terrain: Use PhongMaterialSettings material for the non texture case + + There is no functional change. With this change, the terrain uses a + material defined by QGIS instead of a default Qt3D. This will make it + easier to customize the shader in the future. + + * qgsphongmaterialsettings: Fix setShininess signature + + `mShininess` is a double. + + * qgsphongtexturedmaterialsettings: Use a double to store shininess + + This is already waht QgsPhongTexturedMaterialSettings does. The reason + for this change is to avoid the user-set values changing for them when + saving/restoring projects. + + * qgsphongtexturedmaterialsettings: Use a double to store opacity + + This is already waht QgsPhongTexturedMaterialSettings does. The reason + for this change is to avoid the user-set values changing for them when + saving/restoring projects. + + * qgsphongtexturedmaterialsettings: Do proper opacity cast in toMaterial + + * qgsphongtexturedmaterialsettings: Factor out material creation + + This introduces a new class `QgsPhongTexturedMaterial` which is + similar to Qt3D `QDiffuseSpecularMaterial`. + `QgsPhongTexturedMaterial::toMaterial()` now calls + `QgsPhongTexturedMaterial` to create the material. This has no + functional change. + + This will make it possible to directly use `QgsPhongTexturedMaterial` + for the terrain in the next commit. Indeed, the texture case needs to + use a `QTexture2D` which cannot be stored in a settings class. This + issue is avoided by directly creating the material instead of using + `QgsPhongTexturedMaterial::toMaterial()`. + + * qgsterraintileloader: Fix typo + + * terrain: Use QgsPhongTexturedMaterial for shading texture + + There is no functional change. With this change, the terrain uses a + material defined by QGIS instead of a default Qt3D. This will make it + easier to customize the shader in the future. + + * 3d/material: Introduce QgsTextureMaterial + + This is the same material as the qt3d one: + `Qt3DExtras::QTextureMaterial`. It will also be used in the following + commit by the terrain. + + * terrain: Use QgsTextureMaterial for non shading texture + + There is no functional change. With this change, the terrain uses a + material defined by QGIS instead of a default Qt3D. This will make it + easier to customize the shader in the future. + +David Signer 2024-08-19 + + make setFilterExpression public to make possible to set filters by e.g. widgets + +qgis-bot 2024-08-19 + + auto sipify 🍺 + +Nyall Dawson 2024-08-19 + + Don't leak LinePlacementFlags + +Nyall Dawson 2024-08-19 + + Don't leak mapping functions into core + +Nyall Dawson 2024-08-19 + + Avoid leaking processing repr into core + +Nyall Dawson 2024-08-19 + + Don't leak fromFunction into core + +Nyall Dawson 2024-08-19 + + Don't leak range repr functions into qgis.core + +Nyall Dawson 2024-08-19 + + Don't leak dummy DirectionSymbols class into core + +Nyall Dawson 2024-08-19 + + Don't leak Qgis into gui, analysis modules + +Nyall Dawson 2024-08-18 + + Add documentation for QgsPoint3DSymbol properties + + Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/140 + +Nyall Dawson 2024-08-18 + + Fix formatting of QgsTask.fromFunction docs + + Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/11 + +Nyall Dawson 2024-08-16 + + Update src/providers/hana/qgshanasettings.cpp + +Alexander Bruy 2024-08-14 + + add method to duplicate connection to the db connection classes + +Alexander Bruy 2024-08-13 + + make new connection name translatable + +Alexander Bruy 2024-08-12 + + fix typos + +Alexander Bruy 2024-08-08 + + move connection name generation to utils + +Alexander Bruy 2024-08-07 + + add duplicate connection functionality to WCS and WFS items in Browser + +Alexander Bruy 2024-08-07 + + add duplicate connection functionality to ArcGIS REST, HANA and Oracle + items in Browser + +Alexander Bruy 2024-08-07 + + add duplicate connection functionality to MSSQL, PostgreSQL and WMS + items in Browser + +Alexander Bruy 2024-08-06 + + add duplicate connection functionality to SensorThings, Tiled Scene and + Vector Tile items in Browser + +Alexander Bruy 2024-08-06 + + add duplicate connection functionality to GDAL Cloud items in Browser + +Nyall Dawson 2024-08-16 + + Record header subfolders as __group__ attribute in PyQGIS classes + + This will allow us to logically create subgroups for PyQGIS modules + in the API reference guide + +Nyall Dawson 2024-08-17 + + Fix type hints + +Nyall Dawson 2024-08-17 + + Fix bad styling + +Nyall Dawson 2024-08-17 + + Avoid multiple doc strings copies, add comments + +Nyall Dawson 2024-08-16 + + Improve processing monkey patching + + "forward declare" functions which will be patched when the processing + plugin starts, so that these are known and accessible during the PyQGIS + doc building. Also make these forward declared versions raise + QgsNotSupportedException, so that its clear why they aren't working + when the processing plugin hasn't started + + Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/38 + +qgis-bot 2024-08-17 + + auto sipify 🍺 + +Merge: ff5747be877 52816584ccc +Mathieu Pellerin 2024-08-17 + + Merge pull request #58410 from nirvn/python_code_editor_lexer_fix + + Multiple processing script editor dialog papercut fixes + +Mathieu Pellerin 2024-08-17 + + Address review + +Andrea Giudiceandrea 2024-08-16 + + QgsLayoutExporter: avoid missing argument error + +Mathieu Pellerin 2024-08-16 + + [processing] Fix script editor dialog flagging opened files as immediately modified + +Mathieu Pellerin 2024-08-16 + + [code editor] Do not reset current line when refreshing content due to external edit + +Mathieu Pellerin 2024-08-16 + + [processing] Fix script editor dialog wrongly jumping back to line 1 and setting changed to true after saving file + +Mathieu Pellerin 2024-08-16 + + [gui][code editor] Fix lack of styling for python lexer's unclosed strings and f-strings causing issues with dark themes + +qgis-bot 2024-08-16 + + auto sipify 🍺 + +Merge: 4e4329c0c78 0f762cce15a +Denis Rouzaud 2024-08-16 + + Merge pull request #58233 from 3nids/mvt-sprites + + [mvt] implement step expressions + improve conversion of sprites + +Denis Rouzaud 2024-08-16 + + add since + +Nyall Dawson 2024-08-13 + + Provide a little more detail when vector tile expression can't be + converted + + Refs #58364 + +Nyall Dawson 2024-08-13 + + Show warnings to user when encountered while converting vector tile style + + Refs #58364 + +qgis-bot 2024-08-15 + + auto sipify 🍺 + +Nyall Dawson 2024-08-15 + + Avoid leaking more helper functions into qgis.core + +Nyall Dawson 2024-08-15 + + Add missing files + +Nyall Dawson 2024-08-15 + + Handle docstrings for c++ structs + + sip doesn't support the docstring directive for structs (only classes), + so patch these back in via sipify magic + +Nyall Dawson 2024-08-15 + + Add some missing class docstrings + +Nyall Dawson 2024-08-15 + + Add docs for exception classes + +Nyall Dawson 2024-08-15 + + Cleanup QgsMapLayerComboBox docs + +qgis-bot 2024-08-15 + + auto sipify 🍺 + +Nyall Dawson 2024-08-15 + + Test mask + +Nyall Dawson 2024-08-14 + + Relative to map support for picture annotation item + +Nyall Dawson 2024-08-14 + + Minor tweaks to annotation edit operations + +Nyall Dawson 2024-08-14 + + Add some useful methods for annotation item widgets + +Nyall Dawson 2024-08-14 + + Make naming more flexible + +Nyall Dawson 2024-08-08 + + Test mask update + +Nyall Dawson 2024-08-07 + + Rework how callouts work with picture item with fixed sizes + + When a picture annotation item is set to the fixed size mode, + and has a callout anchor set, always place the annotation itself + at a fixed offset from the callout anchor. This mimics the + behavior of the old SVG annotation decoration. + +Nyall Dawson 2024-08-06 + + Make translation in pixels available for annotation edit operations + +Nyall Dawson 2024-08-06 + + Add convertFromPainterUnits method + +Nyall Dawson 2024-08-06 + + Add render context to QgsAnnotationItemEditContext + +Nyall Dawson 2024-08-15 + + Add docs for as_numpy + +Nyall Dawson 2024-08-15 + + Don't leak numpy import into qgis.core + +Even Rouault 2024-08-14 + + OAuth2 configuration: trim leading/trailing blanks from most parameters set from UI to avoid weird issues + + I've been bitten by deadlock/crashes (in + src/auth/oauth2/core/qgsauthoauth2method.cpp, and with messages about + O2ReplyServer parent thread not being the current one), when erroneously inserting + a space character before the OAuth2 refresh token URL (' + https://something'). Removing it makes things work nicely. + + So while this doesn't fix a potential more fundamental threading issue in some scenarios, this at + least avoids this weird error. + +qgis-bot 2024-08-14 + + auto sipify 🍺 + +Nyall Dawson 2024-08-13 + + Qt6 fixes + +Nyall Dawson 2024-08-08 + + Ensure marker halos are drawn in legends, symbol preview icons + +Nyall Dawson 2024-08-06 + + Add test mask + +Nyall Dawson 2024-08-05 + + [feature] Allow end point marker symbols for balloon callout style + + Allows rendering a marker symbol below the endpoint of the balloon + callout. Designed to allow balloon callouts to reproduce the same + visual appearance as the older annotation framework items. + +Nyall Dawson 2024-08-14 + + Sipify + +Nyall Dawson 2024-08-05 + + Default to HTML formatting for newly created text annotations + +Nyall Dawson 2024-08-05 + + Use rich text editor for annotation text item widgets + + Makes it easier for users to style annotation items with rich + formatting, instead of forcing use of raw HTML + +Nyall Dawson 2024-08-05 + + Fix rendering of annotation text items in HTML mode when html content + is split into multiple lines + +Nyall Dawson 2024-08-05 + + Add mode switch for QgsRichTextEditor + + Allows using the widget in a QgsTextRenderer HTML subset mode, + where only functionality supported by QgsTextRenderer is + exposed in the widget. Also add a Plain Text mode. + +Nyall Dawson 2024-08-05 + + Fix missing reference warning when loading SVG + +Nyall Dawson 2024-08-13 + + Fix utf8 converion in QgsVectorFileWriter + + Fixes #58363 + +Nyall Dawson 2024-08-14 + + calculateStatistics is not unambiguously static + +Nyall Dawson 2024-08-14 + + [pyqgis] Wrap unambiguously static methods in staticmethod + + sip doesn't use the standard Python staticmethod type for defining + static methods, which means that standard means of testing + for a static method (like `isinstance(..., staticmethod)`) fail + with any PyQGIS static methods. + + This causes issues with lint tools, which incorrectly flag + calls to QGIS static methods as missing self arguments. It also + breaks detection of static methods in the sphinx PyQGIS docs, + so all static methods are shown as non-static. + + Work around this in sipify, by wrapping unambiguously static + methods in staticmethod wrappers. + +Andrea Giudiceandrea 2024-08-14 + + [print layout] Fix missing grid lines + +Merge: 93770eca376 b3685cbbbab +Julien Cabieces 2024-08-14 + + Merge pull request #58382 from nyalldawson/fix_check_annotations + + Fix github check annotations + +Denis Rouzaud 2024-08-14 + + fix test + +Till Frankenbach 2024-08-14 + + Add Method to Convert QgsRasterBlock to NumPy Array (#58232) + +Denis Rouzaud 2024-08-14 + + remove NBSP + +Denis Rouzaud 2024-08-14 + + reset test + +Julien Cabieces 2024-08-14 + + fix(ServerWFS): Remove version from OGC urn + + in order to stay consistent with the whole application (GeoJSON export + for instance) where version is not set. Version is optionnal (see + https://www.ogc.org/about-ogc/policies/ogc-urn-policy/). + +Nyall Dawson 2024-08-14 + + Update .ci/ogc/Dockerfile + + Co-authored-by: Matthias Kuhn + +Denis Rouzaud 2024-08-14 + + layout + typo + +Denis Rouzaud 2024-08-14 + + revert test change + +Nyall Dawson 2024-08-14 + + Fix github check annotations + +Nyall Dawson 2024-08-14 + + Be tolerant against optional sip modules + +Nyall Dawson 2024-08-14 + + Avoid fragile reg for argument removal + +Nyall Dawson 2024-08-14 + + Simplify regex + +Nyall Dawson 2024-08-14 + + Minor cleanups + +Nyall Dawson 2024-08-14 + + Lint + +Nyall Dawson 2024-08-13 + + Collect attribute docstrings for PyQGIS documentation + +Alessandro Pasotti 2024-08-12 + + Add tests for Allow NULL default + +Alessandro Pasotti 2024-04-26 + + Provide a default for not-null in relation ref wdgt + + Fix #52219 + +Julien Cabieces 2024-08-13 + + fix(ColorWidget): Deal with invalid QColor + + Fixes #58302 + +Denis Rouzaud 2024-08-13 + + fix sprite test + +Denis Rouzaud 2024-08-13 + + fix opacity value + +Denis Rouzaud 2024-08-13 + + handle zoom in parse expression + +David Marteau 2024-07-11 + + Fix WMS layer access control check + +qgis-bot 2024-08-13 + + auto sipify 🍺 + +Denis Rouzaud 2024-08-13 + + adapt requirements + +Denis Rouzaud 2024-08-13 + + reenable sipify bot but only on branches + + keep it disabled for PRs due to security reasons + +Nyall Dawson 2024-08-13 + + Another enum + +Nyall Dawson 2024-08-13 + + Move current line to context + +Nyall Dawson 2024-08-13 + + Move state to a single global context class + +Nyall Dawson 2024-08-13 + + Use Enum for visibility + +Nyall Dawson 2024-08-12 + + Use modern python + +Nyall Dawson 2024-08-12 + + Correct name + +Nyall Dawson 2024-08-12 + + Don't use stupidly old python + +Nyall Dawson 2024-08-12 + + Blah + +Nyall Dawson 2024-08-12 + + Use distro package + +Nyall Dawson 2024-08-12 + + Add dependancies + +Nyall Dawson 2024-08-12 + + Indentation + +Nyall Dawson 2024-08-12 + + Remove orphaned sip files + + These headers are marked SIP_NO_FILE, these files are not + referenced anywhere + +Nyall Dawson 2024-08-12 + + Update expected files + +Nyall Dawson 2024-08-12 + + Fix SIP_PYALTERNATIVETYPE handling + +Nyall Dawson 2024-08-12 + + Remove temporary hack + +Nyall Dawson 2024-08-12 + + Fix test + +Nyall Dawson 2024-08-12 + + Simplify regex to avoid catastrophic backtracking + +Nyall Dawson 2024-08-11 + + Test update + +Nyall Dawson 2024-08-11 + + Header update + +Nyall Dawson 2024-08-11 + + Valid fixes + +Nyall Dawson 2024-08-11 + + Fix seealso handling + +Nyall Dawson 2024-08-10 + + Move old deprecated perl script + +Nyall Dawson 2024-08-10 + + Misc updates + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Valid improvement + +Nyall Dawson 2024-08-10 + + Indentation + +Nyall Dawson 2024-08-10 + + Fix regex + +Nyall Dawson 2024-08-10 + + Valid improvements from new sipify + +Nyall Dawson 2024-08-10 + + Fix horrible regex + +Nyall Dawson 2024-08-10 + + fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-10 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fix catastrophic regex + +Nyall Dawson 2024-08-09 + + Fix + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Use original quotes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + More fixes + +Nyall Dawson 2024-08-09 + + Additional fixes + +Nyall Dawson 2024-08-09 + + Fixes + +Nyall Dawson 2024-08-09 + + Fix spacing + +Nyall Dawson 2024-08-09 + + First pass at a python port of sipify + +r.abdullaev 2024-08-08 + + Fix indentation and spelling + +r.abdullaev 2024-07-25 + + Fix vsiSuffix extraction for GDAL provider + + 1. Extract VSI suffixes only with slashes which prevents mishandling of + domains like foo.ziplock.localdomain. The .zip TLD is still affected and + requires major refactoring. + + 2. Do not extract suffixes from *.gz files as they aren't archives. + +Mathieu Pellerin 2024-08-12 + + [processing] Fix model input combo box content for {file,folder} destination parameters + +Merge: e1bfad138f3 0adf325724a +Alessandro Pasotti 2024-08-12 + + Merge pull request #58257 from elpaso/bugfix-server-oapif-schema-permissions + + [server][oapif] Remove forbidden operations from schema + +Nyall Dawson 2024-08-07 + + Improve UX for modify annotation tool + + - When a selected item has bounds which depend on the map scale, + update the selection handles after a canvas move/zoom occurs. Avoids + showing ugly outdated bounding box for selected item + - If no item is selected, recheck for potential hovered items + after a canvas pan/zoom occurs. This correctly updates the hovered + item bounds if there's now an item sitting under the mouse cursor + +Mauro Bettella 2024-08-06 + + Invert lat(y) lon(x) + +Maxim Rylov 2024-08-05 + + Fix attribution in qgshanadatatypes.* files + +Maxim Rylov 2024-08-05 + + Make QgsHanaDataTypes a enum class + +Maxim Rylov 2024-08-01 + + HANA: Fix clang-tidy issue + +Maxim Rylov 2024-07-31 + + HANA: Fix clang-tidy issue + +Maxim Rylov 2024-04-12 + + HANA: Add support for REAL_VECTOR type + +Andrea Giudiceandrea 2024-08-06 + + [processing][grass] Fix r.colors (color or rules or raster parameter) + + Allow to use either the color parameter or the rules parameter or the raster parameter + +Nyall Dawson 2024-08-06 + + Fix possible-dangling reference warning + +Nyall Dawson 2024-08-06 + + Rename 'None' enum members in public API + + These clash with the Python bindings, where the enum value + becomes unusable + +Merge: aa2c2c9115a b143d731d97 +Alexander Bruy 2024-08-06 + + Merge pull request #58285 from nyalldawson/metadata_cleanup + + Layer metadata report cleanup, add vertical CRS information + +Merge: 88bbc4d0290 413f18c2e73 +Alexander Bruy 2024-08-06 + + Merge pull request #58275 from nyalldawson/point_cloud_vert + + Point cloud layer vertical crs handling + +Merge: 590c2136333 df3710b3346 +Alexander Bruy 2024-08-06 + + Merge pull request #58264 from nyalldawson/arcgis_crs + + [arcgisrest] Don't set crs parameter for new layers + +Nyall Dawson 2024-08-05 + + Update test masks + +Nyall Dawson 2024-08-05 + + Add callout support for picture annotation item + +Nyall Dawson 2024-08-05 + + Allow callouts for rect text annotation items + +Nyall Dawson 2024-08-05 + + Fix clang-tidy warning + +Nyall Dawson 2024-08-02 + + Add documentation + +Nyall Dawson 2024-07-13 + + [annotations] Add support for callouts to point text item + + Allows creating of callout lines (or bubble callouts) which + link the text to a map location. To create a callout, users + select the text item and then drag out the central x node + to the desired callout end point. + + Callout styles can be modified through the layer styling panel. + +Björn 2024-08-02 + + [metasearch] Fix load connections + +Nyall Dawson 2024-08-01 + + [annotations] Add linked layer option for annotation layers + + Adds a new "Linked layer" setting to the render page for annotation + layers, which allows users to optionally set a linked visibility + layer for the annotation layer. If set, then the annotations will + only be drawn when the linked layer is visible in the map. + + This is designed to mimic the similar linked layer option for + the older annotation framework, in order to close the feature + gap between old vs new annotations + + Refs https://github.com/qgis/QGIS-Enhancement-Proposals/issues/269 + +Mathieu Pellerin 2024-08-02 + + [advanced digitizing] Additional tweaks to the 2-circle intersection tools (#58289) + +Jacky Volpes 2024-08-01 + + fix(geometry_checker): do not call crs() on layer from another thread + +Nyall Dawson 2024-07-31 + + Update test + +Nyall Dawson 2024-07-31 + + Fix clang tidy warning + +Nyall Dawson 2024-07-30 + + Test masks + +Nyall Dawson 2024-07-29 + + Test masks + +Nyall Dawson 2024-07-29 + + Tests + +Nyall Dawson 2024-07-29 + + Fix clang-tidy warning + +Nyall Dawson 2024-07-24 + + Implement widget for symbol buffer settings + +Nyall Dawson 2024-07-24 + + Render symbol buffers + +Nyall Dawson 2024-07-24 + + Move geometry to QPolygonF list function to common static method + +Nyall Dawson 2024-07-24 + + Add fill symbol for symbol buffers + +Nyall Dawson 2024-07-24 + + Force vector rendering of symbols when symbol has buffer enabled + +Nyall Dawson 2024-07-24 + + Add some warnings when raster content is rendered to QgsGeometryPaintEngine + +Nyall Dawson 2024-07-24 + + Populate buffer settings + +Nyall Dawson 2024-07-24 + + Make common function for copying QgsSymbol properties + + Avoid fragile duplicate code in subclasses + +Nyall Dawson 2024-08-01 + + Don't show null extents in layer metadata section + +Nyall Dawson 2024-08-01 + + Include vertical CRS information in layer metadata report + +Nyall Dawson 2024-08-01 + + Fix heading capitalisation in report + +Nyall Dawson 2024-08-01 + + Move custom properties section to end of layer metadata reports + + This is less important then things like the layer geometry type, + feature count, etc, and all that important information should + be shown first. + +Nyall Dawson 2024-07-29 + + Asserts in QgsFeaturePool should use layer thread, not app thread + + Otherwise they won't work correctly for layers / pools created in + background threads + +Nyall Dawson 2024-07-29 + + Copy cheap layer properties in QgsFeaturePool constructor to avoid mutex access, thread safety + +Nyall Dawson 2024-07-29 + + Add thread safety notes for QgsFeaturePool documentation + +Nyall Dawson 2024-07-29 + + Fix non-functional mutex locker in QgsFeaturePool + + The object was not named, so was immediately destroyed + right after creation + +Jacky Volpes 2024-07-30 + + Fix compound CRSs axis order and orientation info + +Nyall Dawson 2024-07-31 + + Add warning label + +Nyall Dawson 2024-07-18 + + Add vertical CRS selection widget to vector layer properties + +Denis Rouzaud 2024-07-31 + + Disable sipify-bot due to security matters + +qgis-bot 2024-07-31 + + auto sipify 🍺 + +Mathieu Pellerin 2024-07-31 + + [advanced digitizing] Add circles intersection digitizing tool (#57648) + +Andrea Giudiceandrea 2024-07-26 + + Always request the version info from the Network + +Nyall Dawson 2024-07-31 + + Add vertical CRS selection widget to point cloud layer properties + +Nyall Dawson 2024-07-31 + + Add derived section to point cloud identify results + + Includes the point x/y in map crs (just like results for + vector point identify), and the z. + + When the layer and the project have vertical datums present, + and they differ, then include the transformed Z value for + the identified points in the project's datum too (just like + vector layers) + +Nyall Dawson 2024-07-31 + + Respect point cloud layer vertical crs settings in 3d map views + +Nyall Dawson 2024-07-31 + + Ensure vertical datum is respected in point cloud elevation profiles + +qgis-bot 2024-07-30 + + auto sipify 🍺 + +Nyall Dawson 2024-07-27 + + Lint + +Nyall Dawson 2024-07-27 + + Test mask updates + +Nyall Dawson 2024-07-17 + + [FEATURE] Text inside rectangle annotation item + + This adds a new annotation item type for rendering paragraphs + of text inside a rectangle + + Options are present for: + + - Text format + - Horizontal and vertical alignment + - Margins + - Background and frame symbol + +Nyall Dawson 2024-07-17 + + Respect vector layer vertical crs settings in 3d map views + +Nyall Dawson 2024-07-17 + + When creating a new 3d map, respect the project's vertical CRS if set + +Harrissou Sant-anna 2024-07-30 + + better wording + + Co-authored-by: Nyall Dawson + +Harrissou Sant-anna 2024-07-29 + + Add precision to user-agent behavior + +Andrea Giudiceandrea 2024-07-30 + + [processing] savefeatures: avoid crash if input source is invalid + +Andrea Giudiceandrea 2024-07-30 + + [processing] extractspecificvertices: avoid crash if input source is invalid + +Andrea Giudiceandrea 2024-07-30 + + [processing] extractvertices: avoid crash if input source is invalid + +Nyall Dawson 2024-07-25 + + Fix conversion of ArcGIS continuous color renderers + + These need to map to single symbol renderer with a color ramp + transformer, as they should show in QGIS with continuous coloring too + +Nyall Dawson 2024-07-30 + + [arcgisrest] Don't set crs parameter for new layers + + When loading a new layer from ArcGIS rest (either FeatureServer + or MapServer), don't explicitly set the crs parameter for the layer's + URI. + + The MapServer provider completely ignores this, and the FeatureServer + provider falls back to the actual CRS used by the service when + it is not explicitly specified in the layer's URI. + + This is a safer approach, as we now default to not hardcoding + the CRS and instead just always use the actual CRS for the service. + Otherwise, things go wonky when the backend service is updated + and eg someone changes the CRS of the hosted layer! + +Nyall Dawson 2024-07-30 + + Only use QLabel for CRS display, not for storing CRS value + + Use a more robust approach and don't use a QLabel text to store + the calculated CRS + +Nyall Dawson 2024-07-30 + + Make a common base class for ArcGIS REST layer items + +Nyall Dawson 2024-07-30 + + Remove unused argument + +Nyall Dawson 2024-07-30 + + Pass full QgsCoordinateReferenceSystem in ArcGIS REST APIS, not authid + +David Koňařík 2024-07-23 + + Fix doc comments to align with code + + The only previously implemented provider of these classes (for Cesium 3D + tiles) used values directly from the tiles, which are in meters per + spec. + +David Koňařík 2024-07-21 + + Add Quantized Mesh data provider and 2D renderer + +David Koňařík 2024-07-21 + + Add first stage of Quantized mesh format support + + Parser, conversion to glTF, and test thereof. + +bdm-oslandia 2024-07-26 + + fixup! qgstest: add new check to compare long QString/QByteArray with an expected file content. + +bdm-oslandia 2024-07-24 + + fixup! qgstest: add new check to compare long QString/QByteArray with an expected file content. + +bdm-oslandia 2024-07-24 + + fixup! qgstest: add new check to compare long QString/QByteArray with an expected file content. + +bdm-oslandia 2024-07-24 + + fixup! qgstest: add new check to compare long QString/QByteArray with an expected file content. + +bdm-oslandia 2024-07-23 + + fix(qgstest): add clangtidy NOLINT as created data will be deleted by QTest::compare_helper + +bdm-oslandia 2024-07-02 + + qgstest: add new check to compare long QString/QByteArray with an expected file content. + + This check allows to read expected data from file and to compare the actual and expected content chunk by chunk. This chunk by chunk is need as for long QString or QByteArray, only the start of strings are displayed when error occurs. + Hexadecimal and string content are displayed when a diff occurs. + +Jean Felder 2024-06-22 + + qgstest: Check image is not null + +qgis-bot 2024-07-29 + + auto sipify 🍺 + +Nyall Dawson 2024-07-19 + + [api] Split tolerance into separate values for red, green, blue channels + + Makes the API more flexible for future use. We only expose a single + tolerance value in the UI, but in future we could expose the + separate tolerances if desired (but be wary of UI bloat!!) + +Nyall Dawson 2024-07-19 + + Show tolerance in widget + +Nyall Dawson 2024-07-19 + + Use less confusing means to determine if widget is in single band or rgb mode + +Nyall Dawson 2024-07-19 + + Avoid hardcoded column numbers + +Nyall Dawson 2024-07-19 + + Remove more duplicate code + +Nyall Dawson 2024-07-19 + + [feature] Support tolerances for QgsRasterTransparency pixel values + + Allows pixels with color components just outside of the specified + RGB values to also be treated as transparent pixels + + Useful for photographs or compressed rasters where a range of color + values must be made transparent + +Nyall Dawson 2024-07-19 + + Remove duplicate code from QgsRasterLayerProperties + +qgis-bot 2024-07-29 + + auto sipify 🍺 + +Even Rouault 2024-07-27 + + CMakeLists.txt: modify SIP_CONCAT_PARTS + +Even Rouault 2024-07-24 + + [OGR provider] Iterate only one feature if having to guess the layer geometry type of a OGCAPI layer + + Fixes #58174 + +Even Rouault 2024-07-24 + + QgsCPLHTTPFetchOverrider: do not consider empty GET responses as errors + +Even Rouault 2024-07-24 + + QgsBlockingNetworkRequest::get(): add an optional flag parameter + +Alessandro Pasotti 2024-07-27 + + Remove debug code + +Alessandro Pasotti 2024-07-27 + + [server][oapif] Remove forbidden operations from schema + + Respect access control plugins. + + Funded by: Gis3W + +qgis-bot 2024-07-26 + + auto sipify 🍺 + +Nyall Dawson 2024-07-26 + + Address review + +Nyall Dawson 2024-07-26 + + Update tests for reworked API + +Nyall Dawson 2024-07-26 + + Fix merge + +Nyall Dawson 2024-07-18 + + Lint + +Nyall Dawson 2024-07-18 + + Add test masks + +Nyall Dawson 2024-07-18 + + Hack around lint stupidity + +Nyall Dawson 2024-07-18 + + Add fixed size mode for picture annotations + + When selected, the picture annotation will always be rendered + at the same size, regardless of the map scale + +Nyall Dawson 2024-07-18 + + Center pictures when lock aspect ratio is checked + +Nyall Dawson 2024-07-15 + + [FEATURE] Add picture annotation item type + + Can render SVG or raster images as items in an annotation layer. + Options are present for: + + - Locking the picture's aspect ratio + - Drawing with a background symbol + - Drawing with a border symbol + - Linked or embedded pictures + +qgis-bot 2024-07-25 + + auto sipify 🍺 + +Nyall Dawson 2024-07-22 + + Make current item bounds available for annotation edit operations + +Nyall Dawson 2024-07-22 + + Add context argument to annotation item edit methods + + And deprecate existing ones + +Denis Rouzaud 2024-07-24 + + fix some tests + +Denis Rouzaud 2024-07-24 + + implement step expressions + + fixes #57989 + +Denis Rouzaud 2024-07-24 + + [mvt] improve conversion of sprites + + fixes some cases where the sprite was not defined (mainly when data defined) + support step definition + +qgis-bot 2024-07-25 + + auto sipify 🍺 + +Merge: 15fe04a289c c2c75f3b193 +Alexander Bruy 2024-07-25 + + Merge pull request #58239 from nyalldawson/low_quality_docs + + More no-value dox removal + +Nyall Dawson 2024-07-25 + + More no-value dox removal + +qgis-bot 2024-07-24 + + auto sipify 🍺 + +Nyall Dawson 2024-07-23 + + Drop some more no value documentation + +Nyall Dawson 2024-07-23 + + Don't mandate documentation for other self-documenting operators + +Nyall Dawson 2024-07-23 + + Drop no-value copy constructor dox + +Nyall Dawson 2024-07-23 + + Don't mandate documentation for copy constructors + +Nyall Dawson 2024-07-18 + + Update test masks + +Nyall Dawson 2024-07-17 + + Fix text wrapping stability for small text + + Adjust the QgsTextRenderer::calculateScaleFactorForFormat logic + so that small text is scaled up to at least 50 pixels when + calculating text metrics + + This avoids tiny differences in calculated text metrics for small + text from affecting how text wrapping is calculated, which can + otherwise result in words at the end of lines "bouncing" from line + to line as layouts and maps are zoomed out + +Merge: 398b151b6cf f1b831d2a0d +Denis Rouzaud 2024-07-24 + + Merge pull request #58235 from 3nids/mvt-linewidth-caseexpre + + support for case expression and fix 0 line width for line layers + +Denis Rouzaud 2024-07-24 + + fix test + +Denis Rouzaud 2024-07-24 + + add test for interpolate zoom with case + +Denis Rouzaud 2024-07-24 + + fix multiplier was not created on first case + +Denis Rouzaud 2024-07-24 + + also set symbol layer visibility for variant list + +Denis Rouzaud 2024-07-24 + + support for case expression + fix 0 line width for line layers + +Merge: 4dfd18ff7dd 98924d7608b +Denis Rouzaud 2024-07-24 + + Merge pull request #58154 from qgis/3nids-patch-1 + + [mvt] mapbox vector tiles conversion improvements + +Denis Rouzaud 2024-07-24 + + add tolerance + +Denis Rouzaud 2024-07-24 + + test for colors + +Denis Rouzaud 2024-07-24 + + set transparent color as fallback + + Co-authored-by: Mathieu Pellerin + +Denis Rouzaud 2024-07-24 + + fix test + +Nyall Dawson 2024-07-19 + + Avoid some forced truncation of colors to ints + + Fixes #58170 + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-07-23 + + Bump vue-template-compiler + + Bumps the npm_and_yarn group with 1 update in the /resources/server/src/landingpage directory: [vue-template-compiler](https://github.com/vuejs/vue). + + + Updates `vue-template-compiler` from 2.7.14 to 2.7.16 + - [Release notes](https://github.com/vuejs/vue/releases) + - [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md) + - [Commits](https://github.com/vuejs/vue/compare/v2.7.14...v2.7.16) + + --- + updated-dependencies: + - dependency-name: vue-template-compiler + dependency-type: direct:development + dependency-group: npm_and_yarn + ... + + Signed-off-by: dependabot[bot] + +Denis Rouzaud 2024-07-23 + + fix parseArray stops are open on both ends + +Jürgen E. Fischer 2024-07-23 + + debian package: followup #58200 + +Nyall Dawson 2024-07-23 + + [wms] Allow type=wmts param in layer uri to request wmts handling + + If no explicit tileMatrixSet is requested, and no other wmts + specific params are specified (eg tileDimensions), then allow + use of a "type=wmts" param to explicitly indicate that the layer's + URI should be treated as a wmts source. + +Nyall Dawson 2024-07-23 + + [wms] Don't require an explicit tileMatrixSet URI param for WMTS + + When no explicit WMTS tileMatrixSet is specified, use the first + returned by the GetCapabilities request. This allows creation + of raster layers with no upfront knowledge of the available + tile matrix sets, and avoids the need for Python scripts to + manually retrieve and parse the GetCapabilities in advance in + order to determine available tile set IDs. + +qgis-bot 2024-07-23 + + auto sipify 🍺 + +Nyall Dawson 2024-07-22 + + Fix crash when extracting symbols from project with layout legend + + Legend must be initialized before calling style visitor function + + Fixes #57609 + +Nyall Dawson 2024-07-18 + + More test tolerance + +Nyall Dawson 2024-07-18 + + Fix clang tidy warnings + +Nyall Dawson 2024-07-17 + + Respect layer/project vert datum in identify results + + When a vector layer and the project have vertical datums present, + and they differ, then include the transformed Z value for + the identified features in the project's datum too. + +Nyall Dawson 2024-07-17 + + Ensure vector layer elevation profiles respect layer/map vert datums + +qgis-bot 2024-07-22 + + auto sipify 🍺 + +Nyall Dawson 2024-07-22 + + Remove a bunch of useless default constructor doxygen + +Nyall Dawson 2024-07-22 + + Ignore =default constructors in doxygen check + + There's no need to force documentation for these + +Denis Rouzaud 2024-07-22 + + fix class map install (#58200) + + * fix class map install + + * fix path + +Denis Rouzaud 2024-07-19 + + add test for MVT conversion + +qgis-bot 2024-07-21 + + auto sipify 🍺 + +Nyall Dawson 2024-07-09 + + Speed up QgsLineString::closestSegment + + Avoid multiple detachment checks + +Nyall Dawson 2024-07-09 + + Speed up geometry snapping + + Use more efficient containers, container access + +Nyall Dawson 2024-07-09 + + Fix only some parts are snapped for multi geometries + +Nyall Dawson 2024-07-09 + + Const correctness + +Nyall Dawson 2024-07-15 + + Fix incorrect docs + +Nyall Dawson 2024-07-15 + + Update src/gui/qgsgui.cpp + +Nyall Dawson 2024-07-15 + + Create QgsCalloutPanelWidget + + This is a standalone, reusable widget for configuring callouts. + Designed for use outside of the standard labeling callout contexts. + +Nyall Dawson 2024-07-15 + + Const correctness + +Nyall Dawson 2024-07-15 + + Move callout widget initialization to common place + +Nyall Dawson 2024-07-15 + + Make API more flexible, allow any layer type for callout widget functions + +Gregory Power <31050507+gregorywaynepower@users.noreply.github.com> 2024-07-19 + + Update osv-scanner.toml to ignore GHSA-grv7-fg5c-xmjg + +pathmapper 2024-07-18 + + [metasearch] Improve empty field handling + +Jürgen E. Fischer 2024-07-18 + + debian packaging: include sipify.yaml (followup 6e9933145a) + +Aleix Pol 2024-07-19 + + appstream: Fix screenshot + + The one we were pointing to is 404, so got some screenshots from the + documentation. + +qgis-bot 2024-07-18 + + auto sipify 🍺 + +Nyall Dawson 2024-07-18 + + Rename QgsRenderContext custom "flags" to custom properties + + And deprecate the old methods + +Nyall Dawson 2024-07-15 + + Make visible layer ids accessible via a custom QgsRenderContext property + + Provides a means for retrieving the visible layer ids from a render + context, via: + + layer_ids = rc.customRenderingFlags().get('visible_layer_ids') + +Nyall Dawson 2024-07-18 + + Update python/core/additions/qgsfeature.py + + Co-authored-by: Even Rouault + +Nyall Dawson 2024-07-16 + + Fix __geo_interface__ should use None for NULL values + + Fixes #58084 + +Jean Felder 2024-05-27 + + qgsgoochmaterialsettings: Merge datadefined and constant cases + + This is similar to the previous QgsPhongMaterialSettings change: + + This commit makes two changes to `QgsGoochMaterialSettings`: + 1. It merges `dataDefinedMaterial()` and `constantColorMaterial` into + one new function: `buildMaterial`. + + 2. There is one fragment shader file called `gooch.frag`. This is + achieved by a `#define` logic. If `DATA_DEFINED` is defined, this is + the dataDefined case. Otherwise, this is the constant case. + +Jean Felder 2024-05-27 + + qgsphongmaterialsettings: Merge datadefined and constant cases + + This commit makes two changes to `QgsPhongMaterialSettings`: + 1. It merges `dataDefinedMaterial()` and `constantColorMaterial` into + one new function: `buildMaterial`. + + 2. The fragment shader files `phongDataDefined.frag` and + `phongConstant.frag` are merged into a new file `phong.frag`. This is + achieved by a `#define` logic. If `DATA_DEFINED` is defined, this is + the dataDefined case. Otherwise, this is the constant case. + +Jean Felder 2024-05-17 + + qgsmetalroughmaterial: Move add addDefinesToShaderCode to Qgs3DUtils + + This will be used by `QgsPhongMaterialSettings` in the next commit. + +Jean Felder 2024-05-28 + + qgsphongmaterialsettings: Use default vertex for the constant case + + There is no need to define a special vertex shader code for this + material, it can use the default case. This way, it reduces the number + of vertex shader files. + +Jean Felder 2024-06-24 + + qgsphongtexturedmaterialsettings: Use default.vert vertex + + There is no need to define a special vertex shader code for this + material, it can use the default case. This way, it reduces the number + of vertex shader files. + +Merge: 2f3bbc66705 490e7c8beb5 +Alexander Bruy 2024-07-18 + + Merge pull request #58168 from alexbruy/datasource-manager-metadata-geometry-type + + use WKB type instead of geometry type when saving and restoring layer metadata + +Nyall Dawson 2024-07-18 + + Fix ratio lock button is incorrectly pressed when unlocking via API + +qgis-bot 2024-07-18 + + auto sipify 🍺 + +Merge: 2c2bc60cdbf 4f9bdde88cb +Julien Cabieces 2024-07-18 + + Merge pull request #58158 from nyalldawson/vector_data_provider_enum + + Move some data provider enums to Qgis, promote to enum class + +Merge: 2927e06c05a 05cd34d8a8b +Julien Cabieces 2024-07-18 + + Merge pull request #58160 from nyalldawson/move_project_symbol_settings + + Tweak project properties color tab + +Alexander Bruy 2024-07-18 + + use WKB type instead of geometry type when saving and restoring layer metadata + +Denis Rouzaud 2024-07-18 + + do not set an invalid color + +Nyall Dawson 2024-07-18 + + Add missing monkey patch + +Nyall Dawson 2024-07-09 + + Fix PDF export size of elevation plots + + QPdfWriter doesn't return the output resolution as the device + physicalDpiX(?!), so let's hack around this by just setting + the output resolution to match the value reported by + physicalDpiX... + + Fixes #57880 + +qgis-bot 2024-07-18 + + auto sipify 🍺 + +Nyall Dawson 2024-07-17 + + Show snapping indicator for create point text annotation tool + +Nyall Dawson 2024-07-17 + + Add easy way for QgsMapToolAdvancedDigitizing to show snapping indicator + + Instead of requiring all subclasses to manually implement this logic, + add QgsMapToolAdvancedDigitizing::setUseSnappingIndicator so that + the base class takes care of this for us + +Nyall Dawson 2024-07-16 + + When selecting overlapping annotations, prefer the smallest + + When the mouse is over multiple overlapping annotations, prefer + to pick the one with smallest area. This makes it possible to + select smaller annotations stacked under larger ones, and makes + the annotation modification map tool match the behavior of the + modify label map tool. + +Nyall Dawson 2024-07-18 + + Remove non-functional styling from themes + +Nyall Dawson 2024-07-15 + + Ensure QgsPropertyOverrideButtons always look correct + + We shouldn't require the main window stylesheet to be applied + for these buttons to look right + +Nyall Dawson 2024-07-18 + + Fix crash when opening raster properties on invalid layers + + Fixes #58043 + +Nyall Dawson 2024-07-17 + + Fix escape cannot cancel digitizing when CAD dock active + + Regression caused by #57584 + +Nyall Dawson 2024-07-18 + + Tweak project properties color tab + + - Move symbol related settings back to styles tab (default opacity, + random colors checkbox) + - Tweak layout stretch + - Fix tab order + +Nyall Dawson 2024-07-18 + + Move QgsVectorDataProvider::Capability to Qgis::VectorProviderCapability + + And promote to enum class + +Nyall Dawson 2024-07-18 + + Move QgsDataProvider::ReadFlag to Qgis::DataProviderReadFlag + + and promote to enum class + +Till Frankenbach 2024-07-18 + + Create converter for ArcGis FeatureServer type classBreaks + +Andrea Giudiceandrea 2024-07-17 + + Adapt tests to new behaviour + +Andrea Giudiceandrea 2024-07-16 + + Fix Point Displacement / Cluster renderers + +Denis Rouzaud 2024-07-17 + + fix match expression when single value is provided + +Denis Rouzaud 2024-07-17 + + [mvt] fix brush when color is data defined + +Nyall Dawson 2024-07-17 + + Use alignment comboboxes for layout label alignment widgets + +Nyall Dawson 2024-07-17 + + Update src/gui/qgslayerpropertiesdialog.cpp + +Alexander Bruy 2024-07-15 + + show information messagebox when metadata saved to the default location + +qgis-bot 2024-07-17 + + auto sipify 🍺 + +Merge: 105aabd0656 1f27af64a97 +Julien Cabieces 2024-07-17 + + Merge pull request #58141 from nyalldawson/see + + Use \see not \sa + +qgis-bot 2024-07-17 + + auto sipify 🍺 + +Merge: ec64cf993a2 afa82976865 +Julien Cabieces 2024-07-17 + + Merge pull request #58120 from nyalldawson/m2p_bounds + + Add QgsMapToPixel method to transform bounding boxes + +qgis-bot 2024-07-17 + + auto sipify 🍺 + +Merge: 9e47ca4230e f7237e287ff +Julien Cabieces 2024-07-17 + + Merge pull request #58122 from nyalldawson/painter_dpi_methods + + Cleanup QPicture dpi scaling workarounds + +qgis-bot 2024-07-17 + + auto sipify 🍺 + +Nyall Dawson 2024-07-17 + + Apply suggestions from code review + +Julien Cabieces 2024-07-16 + + feat(ICCProfile): Add an action to save an ICC profile file + +Julien Cabieces 2024-07-16 + + fix(ColorProperties): fix test on Qt < 6.8.0 + +Julien Cabieces 2024-07-16 + + style(ColorsProperties): Move color properties in its own tab + +Julien Cabieces 2024-07-16 + + fix(CMYK): treat review comment + +Julien Cabieces 2024-07-10 + + feat(CMYK): Add tooltips + +Julien Cabieces 2024-07-10 + + feat(CMYK): force color model when loading an ICC profile + +Julien Cabieces 2024-05-30 + + feat(CMYK): Add project properties configuration widgets + +Till Frankenbach 2024-07-17 + + Implement converter for esriTS symbols for featureServers + +qgis-bot 2024-07-17 + + auto sipify 🍺 + +Nyall Dawson 2024-07-13 + + Add vertical transform test which doesn't require grid files + +Nyall Dawson 2024-07-13 + + Skip tests when grid not available + +Nyall Dawson 2024-07-13 + + Fix some python tests + +Nyall Dawson 2024-07-12 + + Ensure z values are transformed in iterators when appropriate + +Nyall Dawson 2024-07-12 + + Add method to determine whether a QgsCoordinateTransform has a vertical + component + +Nyall Dawson 2024-07-12 + + Respect transform from feature request in iterator implementations + +Nyall Dawson 2024-07-12 + + Add helper method to calculate transform to apply for a QgsFeatureRequest + +Nyall Dawson 2024-07-12 + + Add QgsCoordinateTransform setter for QgsFeatureRequest + + Sets the coordinate transform which will be used to transform + the feature's geometries. + + If this transform is valid then it will always be used to transform + features, regardless of the destinationCrs() setting or the underlying + feature source's actual CRS. + + This method should be used with caution, and it is recommended + to use the high-level setDestinationCrs() method instead. Setting a specific + transform should only be done when there is a requirement to use a particular + transform, eg when a specific, non-default coordinate operation + MUST be used for the transformation. + +Nyall Dawson 2024-07-12 + + Add equality operator for QgsCoordinateTransform + +Nyall Dawson 2024-07-17 + + Use \see not \sa + + So that sipify docstring processing works + +Nyall Dawson 2024-07-17 + + Deprecate QgsPaintEffect method + +Julien Cabieces 2024-05-27 + + fix(Qt6): fix crash when built with Qt6 debug + +Jürgen E. Fischer 2024-07-16 + + fix drop of debian bullseye (followup a56f7080235) + +Julien Cabieces 2024-07-16 + + style(Masking): Set explicit masking labels + +qgis-bot 2024-07-16 + + auto sipify 🍺 + +Merge: 01e25a9d197 3b80fc0f4b9 +Julien Cabieces 2024-07-16 + + Merge pull request #58121 from nyalldawson/picture_mode_enum + + Move layout picture item format enum to Qgis, promote to enum class + +Denis Rouzaud 2024-07-16 + + no error if nothing to commit + +qgis-bot 2024-07-16 + + auto sipify 🍺 + +Denis Rouzaud 2024-07-16 + + add workflow_dispatch + +Nyall Dawson 2024-07-16 + + Remove unused private code (#58125) + +Denis Rouzaud 2024-07-16 + + fix workflow + +Denis Rouzaud 2024-07-16 + + Adds a file to hold a map from class/method to headerfile (#58054) + + * create map file for class / header files for PyQGIS API docs + + * create map files + + * install file + + * add line numbers + + * also add methods + + * wait to sort + + * more methods + + * fix CMakeLists install + + * fix sorting + + * fix spell check + + * remove map files for Qt6 + + * Revert "remove map files for Qt6" + + This reverts commit 972f483410f556d1735a2070943b8ad9e2522c5e. + + * do not test class_map files + auto sipify_all on branches + + * fix warning + +Nyall Dawson 2024-07-16 + + Add high-level method to draw QPicture with correct scaling + + This hides the messy scaling workaround details + +Nyall Dawson 2024-07-16 + + Remove multi implementations of QPicture scaling fix + + Move to a single function in QgsPainting + +Nyall Dawson 2024-07-16 + + Add QgsPainting::qtDefaultDpiX/Y and use instead of qt_defaultDpiX/Y + +Nyall Dawson 2024-07-16 + + Move layout picture item format enum to Qgis, promote to enum class + +Nyall Dawson 2024-07-16 + + Add QgsMapToPixel method to transform bounding boxes + +pathmapper 2024-07-15 + + Add additionally scheme / protocol where appropriate + +pathmapper 2024-07-15 + + [metasearch] Consider also name and description for link text + + They should be more informative than scheme, protocol or the static string "Access Link". + +Jürgen E. Fischer 2024-07-14 + + install nlohmann/json_fwd.hpp if using WITH_INTERNAL_NLOHMANN_JSON (followup c268fb14035678c1a61e7793afe8aaee159094b5) + +Jürgen E. Fischer 2024-07-15 + + debian packaging: drop bullseye + + qgis.g.info now uses G_get_projwkt / G_get_projsrid, which was + introduced in GRASS 7.8.6, GRASS' version.h includes major and minor and + bullseye only has 7.8.5. + +Nyall Dawson 2024-07-15 + + Update python/plugins/grassprovider/grass_provider.py + + Co-authored-by: Alexander Bruy + +Nyall Dawson 2024-07-15 + + Update python/plugins/grassprovider/grass_provider.py + + Co-authored-by: Loïc Bartoletti + +Nyall Dawson 2024-07-15 + + Fix comment grammar + +Nyall Dawson 2024-07-15 + + [grass] Drop custom defaultVectorFileExtension implementation + + This fixes the GRASS provider ignoring the "default output + vector layer extension" setting for processing. The override + in the grass provider is NOT required as the base class method + already applies the logic for falling back to shp when gpkg + is not available (which was added here in 2e92dabd), and + also correctly respects the default format setting. + + Fixes #43988 + +Sandro Santilli 2024-06-25 + + Fix editability of tables with column-limited insert privilege + + Closes GH-28835 + + Includes testcase + +Nyall Dawson 2024-07-15 + + Update src/gui/processing/qgsprocessingalgorithmdialogbase.cpp + +Nyall Dawson 2024-07-15 + + Add flag to a few more algorithms + +Nyall Dawson 2024-07-15 + + Fix build + +Nyall Dawson 2024-07-15 + + Include documentation flags in qgis_process help outputs + +Nyall Dawson 2024-07-15 + + Use metaenum instead of hardcoded list + +Nyall Dawson 2024-07-15 + + Move translation to reusable function + +Nyall Dawson 2024-07-14 + + [processing] Show notes for algs which regenerate primary keys + + Add a new Qgis::ProcessingAlgorithmDocumentationFlag flag, with + a virtual method in QgsProcessingAlgorithm to return documentation + flags. These flags are used to indicate algorithm behavior which + should be noted in the documentation. + + Add initial flags for algorithms which drop and regenerate + primary keys/FIDs, and automatically add a note to the algorithm's + help panel to explain that this will occur + + In future this flag could be extended with other helpful warnings, + eg + + - Algorithm requires valid geometries + - Algorithm will segmentize curved geometries + - Algorithm will drop Z or M values + +Mathieu Pellerin 2024-07-13 + + [processing] Fix buffer algorithm's primary key collision + +Nyall Dawson 2024-07-13 + + Fix use-after-free in QgsVectorLayerCache iterators + + We need to gracefully handle the situation where the cache + is deleted before the iterator, as these iterators require + the cache object + +Tarot Osuji 2024-07-12 + + Update qgslayoutscalebarwidgetbase.ui + + Make it the same as other widget + +Nyall Dawson 2024-07-12 + + [grass] Ensure vector inputs respect layer filters + + Fixes #55155 + +Nyall Dawson 2024-07-12 + + Show GRASS version info in Processing logs + + Fixes #55163 + +Nyall Dawson 2024-07-03 + + Promote scalebar enums to enum class, move to Qgis + +Nyall Dawson 2024-07-03 + + Use a single combo box for scale bar horizontal/vertical label placement + + Since we only have 2 choices for each, we can reduce the number + of widgets by just exposing 4 choices in a single combo + +Jean Felder 2024-07-11 + + qgsbox3d: Add support for set method + +Jean Felder 2024-07-10 + + qgsbox3d: Add support for area method + +Jean Felder 2024-07-02 + + qgsvector3d: Add support for minus operator + +Denis Rouzaud 2024-07-11 + + remove useless code from workflow (#58065) + + * remove useless code from workflow + + This was never used because of limitations of running on PRs. Other approaches have been used since. + + * comment set-output + +Julien Cabieces 2024-07-11 + + fix(CMYK): treat review comments + +Julien Cabieces 2024-05-28 + + feat(CMYK): add API color model and profile methods to project + + API allows to define a color model without a color space. If both are + set, consistency between defined color model and color space one is + checked (only in Qt version 6.8.0 or greater because it's not possible + to retrieve color model from color space before that) + +Nyall Dawson 2024-07-11 + + Fix crash when editing grass layers on debug builds + + Parent methods for QgsFeatureRenderer subclasses must be called + +Nyall Dawson 2024-07-11 + + Identation + +Nyall Dawson 2024-07-11 + + [GRASS] Fix writing projection for new mapsets + + Use the more modern API so that the projection SRID and WKT + are written losslessly to the mapset + + Avoids loss of projection information when creating + mapsets + +Nyall Dawson 2024-07-11 + + [grass] Use better approach to retrieve CRS information for mapsets + + Directly read the SRID and WKT, instead of trying to construct + a projection from the raw properties. This allows lossless conversion + of GRASS CRS to QGIS CRS, and eg avoids EPSG:3857 mapsets loading + into QGIS as invalid projections + +Nyall Dawson 2024-07-11 + + Fix compilation when grass plugin is enabled + + Key_Value* type cannot be cast to a number, and it's meaningless to do so anyway + +Denis Rouzaud 2024-07-11 + + Update flake8.yml + + no need to run flake8 on other branches + +Denis Rouzaud 2024-07-11 + + Auto run sipify on PRs (#58057) + + By commenting /sipify on a PR, this workflow will automatically update the branch after running sipify_all + +Andrea Giudiceandrea 2024-07-04 + + [processing][feature] Add tests for gdal:ogrinfo and gdal:ogrinfojson + +Andrea Giudiceandrea 2024-07-04 + + [processing][feature] Enhance gdal:ogrinfo - Add gdal:ogrinfojson + +Stefanos Natsis 2024-07-10 + + use temporary auth db for test + +Stefanos Natsis 2024-07-03 + + GdalUtils test added + +Stefanos Natsis 2024-07-03 + + Test postgresraster blocksize + +Stefanos Natsis 2024-07-02 + + Allow postgresraster layers as gdal processing tools input + +Stefanos Natsis 2024-07-02 + + fix postgresraster provider reporting wrong block size when tiled + +Nyall Dawson 2024-07-10 + + Update src/plugins/grass/qgsgrassnewmapset.cpp + + Co-authored-by: Loïc Bartoletti + +Nyall Dawson 2024-07-10 + + Avoid missing argument description warnings when loading GRASS layers + +Nyall Dawson 2024-07-10 + + Fix settings CRS for new GRASS mapsets + + Don't force the selected CRS to a (lossy) proj string, just + use the CRS's WKT directly + + This avoids losing projection information from some selected + projections when creating a new GRASS mapset (eg EPSG:3111) + +Nyall Dawson 2024-07-10 + + Use area parameter for Remove Holes algorithm + +Nyall Dawson 2024-07-10 + + Add processing parameter types for Area and Volume + + Adds dedicated parameter types for Area and Volume values. + + Modeled closely off the existing Distance paramter type. + +Mathieu Pellerin 2024-07-10 + + [attribute form] Properly handle default value using current_parent_* variable/function when in editing state (#58009) + +Nyall Dawson 2024-07-10 + + Explode lines algorithm should not require valid geometries + + This check isn't required for this algorith, and can get in + the way when using explode as a step prior for data cleaning + +Nyall Dawson 2024-07-10 + + Do not check for validity in Delete Duplicate Geometries alg + + This isn't required, and can get in the way (Eg when the + delete duplicate geometries step is used as part of cleaning + up a dataset prior to fixing geometries) + +Nyall Dawson 2024-07-10 + + Remove broken see also link + +Nyall Dawson 2024-07-10 + + Drop generic option, go with custom property specific for GeoPDF exports + + It's too messy to try to handle this in a format-agnostic way, as + the requirement for GeoPDF is very unique to GeoPDF (ie SVG and other + formats don't export as mini-read-only-projects with custom layer + trees like GeoPDF does) + +Nyall Dawson 2024-07-05 + + Spelling + +Nyall Dawson 2024-05-20 + + [feature][layouts] Add option to set geopdf group name for items + + This new setting, located in the layout item "Rendering" section, + allows users to set an optional "group name" for use in GeoPDF + exports. When set, a matching layer tree group will be created + in the exported GeoPDF and the item will only be visible when + this group is checked. + + This allows content to be selectively displayed as a group by + viewers of the GeoPDF. Eg, it can allow extra layout content + such as descriptive labels or legends to only be shown when + layers from the group are visible, making GeoPDF export much + more flexible. + +Nyall Dawson 2024-05-20 + + Fix handling of mutually exclusive groups in GeoPDF export + + When custom groups are present mutually exclusive group handling + was not working correctly - it was incorrectly assuming every + group must be a mutually exclusive group. + + I've refactored the whole composition XML generation to be less + fragile and more future proof, and to ensure cleaner layer trees + are written to the XML. + + Also added many additional tests. + +Nyall Dawson 2024-07-09 + + Address review + +Nyall Dawson 2024-06-25 + + Support saving/loading cloud storage connections from XML + +Nyall Dawson 2024-06-25 + + Add cloud connection management actions for browser + +Nyall Dawson 2024-06-25 + + Standardise naming + +Nyall Dawson 2024-06-25 + + Create QgsGdalCloudConnectionDialog + + For configuring connections to GDAL supported cloud storage + containers + +Nyall Dawson 2024-06-25 + + Create data item provider for QgsGdalCloudProviderConnections + + Adds a browser data item provider which shows connections + to cloud storage providers handled by GDAL's VSI handlers. + + Allows loading vector and raster layers from VSI cloud storage + connections via the browser. + +Nyall Dawson 2024-06-25 + + Refactor out method for creating layer data items from file-like paths + + Provide a method so that external classes can use this same logic + to create their own layer items containing sublayers for file-like + paths. + +Nyall Dawson 2024-06-25 + + Create QgsGdalCloudProviderConnection class + + This QgsGdalCloudProviderConnection subclass represents a connection + to a cloud storage provider (eg S3) via GDAL's VSI handlers + +Dan Baston 2024-07-09 + + Reword warning message for project file upgrade + +Nyall Dawson 2024-07-09 + + [processing] When writing a layer to a temporary GPKG file for + compatibilty with provider's supported formats, rename the + existing FID column if we can't write the FID values into + the GPKG + + Eg when the source layer has string/duplicate fids, we warn + the user and then automatically move the existing fids to + a "OLD_FID" field + +Merge: 2379ca89de4 4c2983189fe +Alexander Bruy 2024-07-09 + + Merge pull request #58027 from nyalldawson/grass_inputs + + Allow running processing tools on grass vector layers + +Merge: 67e056379ed ace84affb66 +Alexander Bruy 2024-07-09 + + Merge pull request #58026 from nyalldawson/fix_58025 + + Don't try to translate boolean object + +Nyall Dawson 2024-07-09 + + When an OGR algorithm is run on a GRASS provider vector layer, + export the layer to an OGR compatible source first + + Use the same logic we use eg for auto-exporting memory layers + so that GDAL tools "just work" with GRASS provider vector + layers + +Nyall Dawson 2024-07-09 + + Allow running processing tools on grass vector layers + + Remove an outdated constraint preventing processing tools from + operating on GRASS provider vector layers. These native QGIS + algorithms "just work" with GRASS provider vectors, so there's no + reason to explicitly block them anymore... + +Nyall Dawson 2024-07-09 + + Don't try to translate boolean object + + Fix #58025 + +Merge: 79285c27c2c 00caf223e8c +Matthias Kuhn 2024-07-08 + + Merge pull request #58020 from boardend/sql-layers-use-authcfg + + Prevent expandAuthConfig in createSqlVectorLayer + +Michael Schmuki 2024-07-08 + + Prevent expandAuthConfig in createSqlVectorLayer (fixes #58019) + +Mathieu Pellerin 2024-07-08 + + [map canvas] Fix annotations not drawn onto preview renders + +Nyall Dawson 2024-07-06 + + Use qMetaTypeId() instead of QMetaType::type( T ) + + According to the Qt docs this is faster, and also gives us the + stability of compile-time assurances that T is correctly + registered as a metatype (and doesn't have typos!) + +مهدي شينون (Mehdi Chinoune) <79349457+MehdiChinoune@users.noreply.github.com> 2024-06-30 + + MSYS2/MINGW: Enable Python bindings + +Nyall Dawson 2024-06-28 + + Update test masks + +Nyall Dawson 2024-06-28 + + Fix other reference image + +Nyall Dawson 2024-06-28 + + Fix selective masking causes features to bleed outside layout map + + Fixes #53542 + +Nyall Dawson 2024-06-28 + + Avoid some bleed of masked features outside of layout map extent + + Partial fix for https://github.com/qgis/QGIS/issues/53542 + +Nyall Dawson 2024-06-28 + + Avoid unnecessary selective rendering test + + Skip the parallel renderer check when the force vector flag is + set, as that flag is incompatible with parallel rendering and + we end up running a duplicate raster check anyway. Also avoids + some console warnings when running the test. + +Nyall Dawson 2024-07-03 + + Allow negative scaling for elevation properties + + Fixes #57947 + +Stefanos Natsis 2024-07-04 + + clear results on Key_Escape when results dialog has focus + +Alexander Bruy 2024-07-03 + + address review comments + +Alexander Bruy 2024-07-01 + + port Basic statistics for fields algorithm to C++ + + Also add new optional output a table containing calculated statistics + similar to the Statistics by categories algorithm (fix #46241) + +Merge: 7b847522528 62515d0c7a9 +Alessandro Pasotti 2024-07-04 + + Merge pull request #57981 from nyalldawson/bugfix-authmanager-initialization-in-tests + + [tests][auth] Fix unreported issue with auth tests skipped, fix storage of ssl protocol + +Merge: 74c0c956273 78dc95ed171 +Alessandro Pasotti 2024-07-04 + + Merge pull request #57982 from nstrahl/add_gitignore + + Ignore custom developer configuration/settings files + +N_Strahl 2024-07-04 + + Ignore custom developer configuration/settings files + +Nyall Dawson 2024-07-02 + + Add some helpful api to QgsFields + + - Construct QgsFields from a list of QgsField + - Append a list of QgsField + - Append another QgsFields + +Nyall Dawson 2024-07-04 + + Fix auth manager encoding/decoding of SSL protocol + + The old approach (casting Qt enums to int and storing) is not + stable, and breaks with the Qt 6 builds were the raw SSL protocol + enums have changed values (due to removed deprecated protocols). + + Replace this with a stable string encoding/decoding approach, with + compatibility for upgrading older configus, and add additional tests. + + (Note that auth configuration created in Qt 5 builds which use + the deprecated protocols cannot be loaded in Qt 6 builds, since + those protocols are no longer supported.) + +Nyall Dawson 2024-07-04 + + Fix docs format + +Alessandro Pasotti 2024-06-26 + + [tests][auth] Fix unreported issue with auth tests skipped + + Test were silently skipped since 5ac17746de (lazy init of + auth manager). + + The error message was also misleading: + "QCA's qca-ossl plugin is missing, skipping test case" + because the plugin was actually installed but the auth + system wasn't initialized. + +Nyall Dawson 2024-07-04 + + Apply suggestions from code review + +Alexander Bruy 2024-07-03 + + address review + +Alexander Bruy 2024-07-02 + + update QGIS version in the doxygen comments + +Alexander Bruy 2024-02-22 + + allow user to add/remove Processing algorithms to/from Favorites + +Alexander Bruy 2024-02-22 + + integrate favorite log into toolbox model and view + +Alexander Bruy 2024-02-22 + + add tests for QgsProcessingFavoriteAlgorithmLog + +Alexander Bruy 2024-02-21 + + add log for tracking Processing favorite algorithms + +Nyall Dawson 2024-07-03 + + Don't try to load proj strings as map layers + + Fixes #57914 + +Nyall Dawson 2024-07-03 + + Make tests use more sensible values + +Nyall Dawson 2024-07-03 + + Fix link in comment + +Nyall Dawson 2024-07-03 + + Fix thread safety in QgsGeos::isValid + + Fixes #57960 + +Michael Schmuki 2024-07-02 + + Explicitly cast Exif GPSTimeStamp from double to int and min/max hh:mm:ss values + +Michael Schmuki 2024-06-30 + + Respect Exiv2::Value type (e.g. Exiv2::unsignedRational) in readRational of QgsExifTools (fixes #57942) + +Alister Hood 2024-07-02 + + Update r.param.scale.txt + + Correct stated maximum value for "size" parameter. + Don't know why it would have been 69 - maybe someone intended to make that the default value? + +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2024-07-01 + + Bump docker/build-push-action from 5 to 6 + + Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. + - [Release notes](https://github.com/docker/build-push-action/releases) + - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) + + --- + updated-dependencies: + - dependency-name: docker/build-push-action + dependency-type: direct:production + update-type: version-update:semver-major + ... + + Signed-off-by: dependabot[bot] + +Borys Jurgiel 2024-06-30 + + browser: Fix untranslatable provider names + +Merge: efd29ee6e6a 305cd605933 +Matthias Kuhn 2024-06-30 + + Merge pull request #57834 from m-kuhn/no_pyuic + + [plugins] Remove dependency on pyuic + +Matthias Kuhn 2024-06-30 + + Copy ui files to output folder + + to fix run from build dir + +Merge: 87d9a3e7b2b c268fb14035 +Matthias Kuhn 2024-06-30 + + Merge pull request #57935 from m-kuhn/externalize_nlohmann_json + + Externalize nlohmann + +Matthias Kuhn 2024-06-29 + + Externalize nlohmann + +Nyall Dawson 2024-06-27 + + Don't go to massive negative numbers when incrementing a NULL spin box + + When a spin box is showing a NULL value, we DON'T do the default step + behavior, as that would add one step to the NULL value, which is usually + a very large negative value... so the user will get a very large negative number! + + Instead, treat the initial value as 0 instead, and then perform the step. + +Jean Felder 2024-06-28 + + qgs3daxis: Correctly delete axis or cube in the destructor + + In the desctrutor, `mAxisRoot` or `mCubeRoot` may have already been + freed by Qt. In that case, a `isEnabled()` call will create a + segmentation fault. By checking the axis mode, this allows to properly + know which objects needs to be deleted. + + Fixes commit b578f1ea82ba9bd091198c1673583dadf21aa495 + +Jean Felder 2024-05-03 + + qgs3dmapconfigwidget: Only display shadow debug map if shadows are enabled + + The shadow debug map can be enabled from the configuration widget even + if the shadow effect is not enabled. In that case, the displayed + shadow map does not make it any sense. + + This issue is fixed by displaying the shadow debug map only if the + shadow effect is enabled. + +Merge: b578f1ea82b 0579df46ff2 +Alessandro Pasotti 2024-06-28 + + Merge pull request #57918 from nyalldawson/auth_errors + + Avoid some misleading ssl/auth errors in console output + +Nyall Dawson 2024-06-28 + + Avoid misleading ssl errors in console output + + Don't dump error messages for ssl errors which have been explicitly + added to user's ignore list + +Nyall Dawson 2024-06-28 + + Demote a warning which is not an error to a debug message + +Jean Felder 2024-06-27 + + qgs3daxis: Fix object root memory leak + + If an object root entity (`mCubeRoot` or `mAxisRoot`) is not enabled, + it means that it does not have a parent because of the + `setEnableCube()` and `setEnableAxis()` logic. In that case, it will + never be automatically deleted by Qt. Therefore, it creates a memory + leak. + + This issue is fixed by adding a check in the destructor. If an object + is not enabled, then it is disabled. + +Jean Felder 2024-06-23 + + qgs3daxis: Fix some clang-tidy warnings + +Jean Felder 2024-06-23 + + qgs3daxis: Define only only one viewport in the framegraph + + The axis framegraph has two distinct branches : one for the main + object (the axis or the cube) and one for the axis labels. Each of + those branches have a dedicated viewport. However, only one viewport + is needed since the two branches need the same part of the + window. + + With this change, the first node of the axis' framegraph is now the + viewport (mViewport) and the two branches inherit from it: + + - viewport + <-- object branch --> + - layerfilter (axisLayerFilter) + - cameraselector + - sortPolicy + - clearBuffers + + <-- labels branch --> + - layerfilter (twoDLayerFilter) + - cameraselector + - sortPolicy + - clearBuffers + + `from3DTo2DLabelPosition()` is also simplified to compute the + billboard position of the axis labels. Indeed, the viewport of the + labels had the dimensions of the main window (0, 0, 1, 1) while the + objects viewport has only the dimensions the relevant part of the + window. Therefore, `from3DTo2DLabelPosition()` needed to take into + this into account and recenter the computer coordinates. This is not + needed anymore. + +Jean Felder 2024-06-23 + + qgs3daxis: Increase the axis size + + This is achieved by decreasing the distance of the axis camera. + +Jean Felder 2024-06-23 + + qgs3daxis: Use the same font everywhere + +Jean Felder 2024-06-23 + + qgs3daxis: Give proper name to font parameters + +Jean Felder 2024-06-23 + + qgs3daxis: Simplify axis textchanged + + `onTextXChanged`, `onTextYChanged` and `onTextZChanged` do the same + thing. Only the text entity (X, Y or Z) is different. With a simple + change, it is possible to define only one function. + +Jean Felder 2024-06-23 + + qgs3daxis: Give proper name to labels layer + +Jean Felder 2024-06-23 + + qgs3daxis: Remove useless layer + + The 3D Axis entities only need 2 layers: + - 1 to handle the visible object (the axis or the cube) + - 1 to handle the axis labels + + The third one achieves no purpose. It can be safely removed. + +Nyall Dawson 2024-06-27 + + Fix some leaks in GRASS plugin + +Nyall Dawson 2024-06-27 + + Also permit drag and drop onto multi layer line edit + + We supported drag and drop onto the full expanded panel, now + also support dropping onto the summary line edit widget too + +Nyall Dawson 2024-06-27 + + Only run gdal_grid, gdal_rasterize tests on GDAL 3.7+ + + The inputs we use for these run tests have open options, and now + that we are respecting these and passing them to the GDAL command + we can't run these tests on the earlier GDAL versions which + didn't support open options. + + The commands generated by the corresponding algorithms are already + well tested and still run on the earlier GDAL releases, it's just + the actual run test which will be skipped. + +Nyall Dawson 2024-06-27 + + Raise exceptions if open options not supported by GDAL version + +Nyall Dawson 2024-06-26 + + Regenerate some GDAL output reference files + + We now pass on the FORCE_SRS_DETECTION=YES open option which we + were previously dropping, so the results for these commands is + slightly different + + Also drop test for older GEOS versions, it's covered by a test + for more recent versions and we have extensive test covering + the GDAL command line for this tool anyway. + +Nyall Dawson 2024-06-26 + + Fix running GDAL algorithms on cloud storage layers + + Correctly generate commands when run on eg /vsis3/ layer sources, + and translate credential options to "--config KEY VALUE" arguments + for GDAL commands + +Nyall Dawson 2024-06-26 + + Correctly handle open options for raster GDAL algorithm inputs + + And handoff to GDAL command when command supports them + +Nyall Dawson 2024-06-26 + + Pass vector layer open options over to GDAL command + + Ensures that processing tools which use vector layers with open + options work correctly, respecting the layer's open option settings + +Nyall Dawson 2024-06-26 + + Make getOgrCompatibleSource API more flexible + +Nyall Dawson 2024-06-26 + + minor cleanup + +Nyall Dawson 2024-06-26 + + Cleanup API for GDAL processing provider uri conversion + +pathmapper 2024-06-26 + + [server/OAPIF] Add map fullscreen functionality for HTML pages + +Nyall Dawson 2024-06-26 + + Try another workaround for windows + +Nyall Dawson 2024-06-24 + + Fix automatic font download on Windows + +Nyall Dawson 2024-06-26 + + Fix return value + +Nyall Dawson 2024-06-26 + + Use actual dataset in test + +Nyall Dawson 2024-06-26 + + Properly clean up proxy settings in test + +Nyall Dawson 2024-06-24 + + Fix OGR provider source drops VSI credentials + + Ensure credentials are respected in the provider source, so that + layer source's don't drop this information + +Nyall Dawson 2024-06-25 + + Make sure most specific path is used when setting VSI credentials + +Nyall Dawson 2024-06-24 + + Fix fast scan for gdal vsi cloud drivers + + Don't force a deep scan for sublayers when the caller has + requested a fast scan and a vsi cloud uri is being scanned + +Nyall Dawson 2024-06-25 + + Use consistent terminology + +Nyall Dawson 2024-06-24 + + Fix incorrect icon used for OGR items with vsi cloud driver prefixes + + ... and make API more useful for other use cases. + + The zip icon should not be used for cloud based vsi prefixes + +Nyall Dawson 2024-06-25 + + Rename file to qgsgdalutils to match class + +Alexander Bruy 2024-06-26 + + fix compatible parameter types for database schema and table widget + wrappers (fix #57842) + +Alexander Bruy 2024-05-15 + + add creation options support to some native raster Processing algorithms + +Alexander Bruy 2024-06-26 + + save last used directory when creating an empty GPKG file from the Browser + +Alexander Bruy 2024-06-26 + + address review + +Alexander Bruy 2024-05-23 + + allow to create an empty GeoPackage from the context menu of the + top-level GeoPackage node (fix #25116) + +Jean Felder 2024-06-25 + + testqgs3drendering: Add a unit test for gooch datadefined material + +Jean Felder 2024-06-26 + + qgslinematerial: Remove useless QBlendEquation logic + + This is only useful when dealing with semi-transparent entities, which + `QgsLineMaterial` does not handle. Besides, if semi-transparent entities would + be handled by `QgsLineMaterial` in the future, this would directly be + handled by the transparent branch of `QgsFramegraph`. + +Andrea Giudiceandrea 2024-06-26 + + [GU] Don't show the action Open Attribute Table (Visible Features) for a non spatial layer + +Nyall Dawson 2024-06-24 + + Add ReadOnly flag for browser data items + + Allows suppression of the standard user actions for managing + file based data items. Could be used in future to restrict + other browser actions for sources which the user does not + have permission to modify. + +Alexander Bruy 2024-05-14 + + use core raster options widget in GDAL algorithms + +Alexander Bruy 2024-02-23 + + processing widget wrapper for raster creation options + +Nyall Dawson 2024-06-26 + + Silence unwanted clang tidy warning + +Nyall Dawson 2024-06-26 + + [processing] Support drag and drop for multi-layer parameters + + Allows dragging and dropping layers from either the QGIS browser + or file explorer onto any multiple-layer parameter panel. Handy when + you have to add many layers and it's simpler to make a selection + outside of the processing dialog. + +Sandro Santilli 2024-06-25 + + Drop earlier if qgis_test cannot be dropped + +Sandro Santilli 2024-06-25 + + Note the privs required by PostgreSQL user sourcing test init scripts + +Sandro Santilli 2024-06-25 + + Restrict full privileges on CamelCase schema ( public -> qgis_test_group ) + +Sandro Santilli 2024-06-20 + + Restrict full privileges on qgis_schema ( public -> qgis_test_group ) + +Sandro Santilli 2024-06-19 + + Drop TODO that's better not done + +Sandro Santilli 2024-06-19 + + Create PostgreSQL roles as first thing + +Sandro Santilli 2024-06-19 + + Create a test unprivileged user for PostgreSQL tests + +Sandro Santilli 2024-06-19 + + Improve the ~/.pg_service.conf suggested snippet + +Sandro Santilli 2024-06-19 + + Revert "fix testdata_pg.sh to work with "service=qgis_test"" + + This reverts commit 41bd9be5cb462019ea4d88dcad7f2b409c637bbc. + +Merge: 144db4bc70d 717506d05d9 +Mathieu Pellerin 2024-06-26 + + Merge pull request #57875 from nirvn/child_feature_form_add_fix + + [attribute form] Fix addition of features from a child feature dialog being added + +Aleix Pol 2024-06-26 + + appdata: be mindful of the xml elements depth when translating + + We were doing a deep search for "name" which happened for the component + name _and_ and the developer name, which is in a deeper tag. + Instead of doing a deep search, just look for the elements we care about + among the component element's children. + + Fixes this error from appstreamcli: + org.qgis.qgis.metainfo.xml + E: org.qgis.qgis.desktop:88: tag-duplicated name (lang=de) + E: org.qgis.qgis.desktop:88: tag-duplicated name (lang=hu) + E: org.qgis.qgis.desktop:88: tag-duplicated name (lang=lt) + E: org.qgis.qgis.desktop:88: tag-duplicated name (lang=nb) + E: org.qgis.qgis.desktop:88: tag-duplicated name (lang=zh-Hans) + +Nyall Dawson 2024-06-26 + + Revert "Allow runnig test_core_project with custom TMPDIR" + + This reverts commit 605cafc8248aba81999abe4ce59899513b8dd279. + +Nyall Dawson 2024-06-26 + + Revert "Drop hard-coded /tmp/ dir, use system temporary dir instead" + + This reverts commit da11a8aab11ed41205ada3ed6d0bf8c0f55d81a0. + +Nyall Dawson 2024-06-26 + + Revert "Use a centralized directory for files created by ctest" + + This reverts commit 2e85f6fa29da4e7f94a95656b470fa28b760dcab. + +Mathieu Pellerin 2024-06-25 + + [attribute form] Fix addition of features from a child feature dialog being added + +Merge: 02aa7af2b94 35784b2263c +Mathieu Pellerin 2024-06-25 + + Merge pull request #57584 from nirvn/cad_construction_guides + + [advanced digitizing] Implement visual construction guides + +Even Rouault 2024-06-24 + + [Identify tool] Rename 'Explore Feature' action to 'Identify Feature' + +Even Rouault 2024-06-24 + + [Identify tool] Change to single setting for referenced and referencing relations + +Even Rouault 2024-06-24 + + tests/src/app/: merge testqgsmaptoolidentifyaction.cpp and testqgsidentifyresultsdialog.cpp into testqgsidentify.cpp + +Even Rouault 2024-06-24 + + [Identify tool] Make sure to destroy nested nodes for features coming from relations + +Even Rouault 2024-06-24 + + [FEATURE] [Identify tool] Present referencing relations (in addition to referenced ones), and support them on arbitrary nesting level + + Fixes #48776 + + Previously only referenced relations where presented when exploring a feature, + now referenced ones are presented as well. Do that only when the user + explicit unfolds a node, to avoid potential 'explosion' of the number of + features in the tree in case of a huge database where all features would + be connected through relations. If through relations a feature already + present in an ancestor node is detected, it is omitted from the related + features. + + Add setting parameters to disable showing referenced and referencing + relations. + + Add a contextual menu item "Explore Feature" to be able to "re-center" + the result of the identification tree on a nested feature, to limit the + nesting depth. + +Nyall Dawson 2024-06-25 + + Update tests/code_layout/doxygen_parser.py + +Nyall Dawson 2024-06-25 + + Don't require since if a class is marked deprecated + + Since these annotations are incompatible with each other, we must + accept either + +Nyall Dawson 2024-06-25 + + Fix doxytest on some newer doxygen versions + +Nyall Dawson 2024-06-24 + + Remove old QPainterPath mask backend + + Always use new geometry based backend, and deprecate related methods + + The new method is more stable and results in better outputs + +Harrissou Sant-anna 2024-05-14 + + Update the pull request milestone when it is merged + +Andrea Giudiceandrea 2024-06-24 + + [db manager] Allow Rename action for rasters in GPKG with GDAL >=3.10 + +Nyall Dawson 2024-06-22 + + Fix window title check + +Nyall Dawson 2024-06-22 + + [ogr] Handle VSI credentials in querySublayers + +Nyall Dawson 2024-06-22 + + Move isProtocolCloudType to core utils class + +Nyall Dawson 2024-06-22 + + Sort protocols alphabetically in combo + +Nyall Dawson 2024-06-22 + + Add credential options to OGR source select + +Nyall Dawson 2024-06-22 + + Move VSISetPathSpecificOption logic to common function + +Nyall Dawson 2024-06-21 + + Condense duplicate code for creation of widgets from GDAL options + +Nyall Dawson 2024-06-21 + + Move other GDAL GUI utility functions into QgsGdalGuiUtils + +Nyall Dawson 2024-06-21 + + Move configuration option widget creation to common place + +Nyall Dawson 2024-06-21 + + Move option handling out to a common place + +Nyall Dawson 2024-06-21 + + Only expose VSI cloud protocols which are actually available + +Nyall Dawson 2024-06-21 + + Add separator before generic settings + +Nyall Dawson 2024-06-21 + + Handle numeric option types + +Nyall Dawson 2024-06-21 + + Handle default credential values + +Nyall Dawson 2024-06-19 + + Add credential options to GDAL source select + + Allows users to configure credentials to use when connecting to + GDAL cloud storage providers, e.g. AWS + +Nyall Dawson 2024-06-20 + + Create QgsGdalCredentialOptionsWidget + + A resuable widget for configuration GDAL credential options + for vsi file systems + +Nyall Dawson 2024-06-19 + + Make protocol handling in OGR/GDAL source select more robust + + - Don't rely on translated combo box strings, use item data instead + - Reduce duplicate code + - Add missing Hadoop option + - Avoid unnecessary string list creation/splitting when populating + combos + +Nyall Dawson 2024-06-19 + + [gdal/ogr] Allow storing credential key/value credential options in uris + + Extends decode/encodeUri to handle credential options. This is + modeled off the existing support for storing open options. + + When credential options are found in a layer's URI, we use + GDAL's VSISetPathSpecificOption to set the credential option + for that VSI driver and bucket. This allows per-vsi driver & bucket + credentials for GDAL/OGR layers, whereas other approaches (like environment + variable setting) force a single set of credentials to be used + for an entire QGIS session. + + Requires GDAL 3.5+ + +Nyall Dawson 2024-06-19 + + [gdal] Ensure cloud vsi prefixes are correctly decoded + +pathmapper 2024-06-24 + + Upgrade Leaflet to v1.9.4 + +Jacky Volpes 2024-06-21 + + fix(clipboard): format null attribute values in system clipboard + + Numeric attributes with a NULL value were represented with a 0 value + in the system text and html clipboard. + + Related to #57710. + +Alexander Bruy 2024-02-19 + + take into account parameter's metadata when creating widget wrapper + + The "widget_type" key allows to override standard widget wrapper for a + parameter type. + +Merge: 5af079ea9fe 61768df0fa6 +Borys Jurgiel 2024-06-24 + + Merge pull request #57697 from ivanbarsukov/plugin_manager_background_fix + + Fix plugin manager background for dark themes + +Jean Felder 2024-06-24 + + qgsframegraph: rename QRenderTarget in the ambient occlusion pass + + The output is the color buffer, not a depth one. + +Jean Felder 2024-06-22 + + qgsframegraph: Give names to rubberband objects + + This makes it easier to debug the framegraph with the debug overlay. + +Jean Felder 2024-06-22 + + qgsframegraph: Give names to postprocessing pass objects + + This makes it easier to debug the framegraph with the debug overlay. + +Jean Felder 2024-06-22 + + qgsframegraph: Remove unused method ambientOcclusionFactorMap + + It has never been used. + +Jean Felder 2024-06-22 + + qgsframegraph: Fix indentation + +Mike Krus 2024-05-29 + + 3d: Remove unused references to QRenderCapture + +Jean Felder 2024-06-22 + + qgsframegraph: Give names to cameraselector objects + + This makes it easier to debug the framegraph with the debug overlay. + +Jean Felder 2024-06-23 + + qgs3daxis: Fix cube face picking + + When clicking on a face of the cube, the view is rotated according + to the clicked face. However, this needs `TrianglePicking` to be + enabled to properly detect the face because it needs the + `primitiveIndex` of the hit. `TrianglePicking` was activated + by default up to commit b371267fbe117ecf54f56dd8c9948db0d89dfdd1 which + restored it to the default picking method: `BoundingVolumePicking`. + + This issue is fixed by enabling `TrianglePicking` when entering the + viewport if the cube is visible. `TrianglePicking` is then deactivated + when leaving the viewport. + + Fixes: commit b371267fbe117ecf54f56dd8c9948db0d89dfdd1 + +Nyall Dawson 2024-06-24 + + [sensorthings] Always be tolerant when reading datetime ranges + + And always handle single datetime values as a time instant + when we are expecting a range value. Seems many SensorThings + servers deliver instant ranges as a single value instead + of a range of the same datetime value. + + Fixes #57815 + +Nyall Dawson 2024-06-22 + + Fix checks + +Nyall Dawson 2024-06-19 + + Cleanup Python Console settings layout + +Nyall Dawson 2024-06-19 + + Move Github token setting to new "IDE" options page + + This setting doesn't apply to only the Python Console, so it + belongs in a different settings page + +Nyall Dawson 2024-06-19 + + Fix bad structure of options tab tree + + Make sure option widget factories are inserted before others + which create child pages for them + +Nyall Dawson 2024-06-18 + + Share on GIST should not require a selection + + If no selection, the entire document is shared + +Nyall Dawson 2024-06-18 + + Move "share on gist" logic to QgsCodeEditorWidget + + Allows this functionality to be used by other code editors, not + just console script editor + +Nyall Dawson 2024-06-24 + + [sensorthings] Improve insertion of links in identify results + + ...to better handle SensorThings links, which contain special + characters like (, ), ' + +Merge: c2be995675a a840ebff040 +Alessandro Pasotti 2024-06-24 + + Merge pull request #57754 from agiudiceandrea/fix-57751-dbmanager-delete-raster-gpkg + + [DB Manager] Fix delete raster layer in GeoPackage (Fix #57751) + +Sebastian <> 2024-06-23 + + Add two-column layout + +Sebastian <> 2024-06-04 + + Fix spelling + +Sebastian <> 2024-06-04 + + Using member variable (Apply suggestion from code review) + +Sebastian <> 2024-06-02 + + bypass the problematic QTextEdit toHtml function + +Sebastian <> 2024-06-02 + + add copy button + +Sebastian <> 2024-06-02 + + fix table layout + +Samuel Johnson 2024-06-03 + + Added duplicate button to actions dialogue + +Sandro Santilli 2024-06-22 + + Improve failure message for estimated extent acceptance + +Sandro Santilli 2024-06-22 + + Implement TestPyQgsPostgresProvider.testExtent + + It was stubbed but not really testing anything. + Closes GH-57818 + +Mathieu Pellerin 2024-06-23 + + [api][processing] Also move inputParameterName() and inputParameterDescription() to public + +Mathieu Pellerin 2024-06-22 + + [api][processing] QgsProcessingAlgorithm's supportsInPlace function should be public + +Alexander Bruy 2024-06-18 + + try to use layer title, table or layer name first when adding a layer + from the metadata search tab of the Datasource Manager + +Sandro Santilli 2024-06-22 + + Provide a sourceable shell script setting up test environment + + Testing locally becomes as simple as (from build dir): + + . tests/env.sh + python ${srcdir}/tests/src/python/test_provider_postgres.py + +Merge: 087368956a2 9ee3dbe11e3 +Even Rouault 2024-06-22 + + Merge pull request #57830 from m-kuhn/min_bison + + Set minimum bison version according to INSTALL.md + +Matthias Kuhn 2024-06-22 + + [plugins] Remove dependency on pyuic + + Eases plugin development and deployment + +Matthias Kuhn 2024-06-22 + + Set minimum bison version according to INSTALL.md + +Ivan Barsukov 2024-06-22 + + Fix plugin manager background for dark themes + +Merge: ad5803cb6ad f5fc2854c6e +Sandro Santilli 2024-06-22 + + Merge pull request #57514 from strk/issue30294-geography-extent + + Fix PostGIS geography extent computation + +Sandro Santilli 2024-06-22 + + Fix syntax + +Sandro Santilli 2024-06-21 + + Comment computeExtent3D and estimateExtent private methods + +Sandro Santilli 2024-06-21 + + Add debug line for extent estimation + +Sandro Santilli 2024-06-21 + + Use assertAlmostEqual for easier debugging + +Sandro Santilli 2024-06-21 + + Have testGeographyExtent cleanup after itself + +Sandro Santilli 2024-06-21 + + Do not translate debug messages + +Sandro Santilli 2024-06-21 + + Add test for estimated geography extent + +Sandro Santilli 2024-06-18 + + Extrapolate extent estimation and extraction to private functions + + Also const-correct QgsPostgresProvider::setExtent + +Sandro Santilli 2024-06-17 + + PostGIS-3.5.0 fixed estimated extent for geography, use it ! + +Sandro Santilli 2024-06-13 + + Refactor QgsPostgresProvider::extent3D + + - Accept empty (not-null) extent as a valid answer + - Drop not more needed workarounds for corner cases + - Make the code hopefully more readble + - Fix a spurious COMMIT out of transaction + +Sandro Santilli 2024-05-22 + + Fix PostGIS geography extent computation + + Do not estimate extent with geography spatial type, because + ST_EstimatedExtent returns bogus data, see: + https://trac.osgeo.org/postgis/ticket/5734 + + Closes GH-30294 + +Johannes Quast 2024-06-12 + + Improve tooltip and remove duplicate code + +Johannes Quast 2024-06-12 + + Fix wrong rounding of test result + +Johannes Quast 2024-06-12 + + Include explicit version of fast extent estimation in tool-tip + +Johannes Quast 2024-06-12 + + Adjust version check to free static function + +Johannes Quast 2024-06-12 + + Change geometry column from SRID 0 to 4326 + +Johannes Quast 2024-06-11 + + Fix SRID in tests + +Johannes Quast 2024-06-10 + + Add missing test for extent estimation + +Johannes Quast 2024-06-10 + + Add proper version check + +Johannes Quast 2024-06-04 + + Add missing column name to WHERE clause + +Johannes Quast 2024-06-04 + + HANA Provider: Add support for fast extent estimation + +Stefanos Natsis 2024-06-20 + + add mUserData to copy constructor + +Stefanos Natsis 2024-06-18 + + don't use deprecated QgsField constructor + +Stefanos Natsis 2024-06-17 + + add userData property to + +Stefanos Natsis 2024-05-21 + + update test masks + +Stefanos Natsis 2024-05-21 + + tests added + +Stefanos Natsis 2024-05-16 + + handle conditional visibility of data defined size legend nodes + +Nyall Dawson 2024-06-17 + + Expose setting for external Python editor + + Adds user visible option to set the external Python code editor, + from the Settings - Options - IDE - Python tab. + +Nyall Dawson 2024-06-17 + + Rename "Python Console" settings page to "Python" + + These settings apply outside of the console, eg in the processing + script editor, so using "Python Console" is misleading. + +Nyall Dawson 2024-06-17 + + Fix vertical spacing in python console settings + +Jürgen E. Fischer 2024-05-09 + + implement separate wfs title (implements #55317) + +Merge: 495091da14d 605cafc8248 +Sandro Santilli 2024-06-21 + + Merge pull request #57606 from strk/stop-polluting-filesystem + + Reduce pollution of system directories during test runs + +Nyall Dawson 2024-06-21 + + Update src/core/symbology/qgssymbol.cpp + +Nyall Dawson 2024-06-21 + + Update src/core/symbology/qgssymbol.cpp + +Nyall Dawson 2024-06-21 + + Fix check for sub symbol + +Nyall Dawson 2024-06-20 + + Reduce duplicate code + +Nyall Dawson 2024-06-19 + + Update test masks + +Nyall Dawson 2024-06-20 + + Use SymbolRenderHint for flagging subsymbols + + Instead of the extra argument to startRender + +Nyall Dawson 2024-06-20 + + Add optional flag to force global ("entire map") clipping paths + + This is a new opt-in flag for map settings/render context/layouts. + If set, then when applying clipping paths for selective masking, + we always use global ("entire map") paths, instead of calculating + local clipping paths per rendered feature. This results in + considerably more complex vector exports in all current Qt versions, + but gives us a way to force this IF/when a future Qt version adds + optimisations which make global masks desirable. + +Nyall Dawson 2024-06-19 + + Add CanCalculateMaskGeometryPerFeature flag to "simple" symbol layers + + These are the symbol layer classes where there's no special logic + required relating to feature rendering and features are rendered + one-by-one, with no sub symbols. + +Nyall Dawson 2024-06-19 + + Greatly optimise selective masking vector exports + + Optimise the logic used when the new geometry backend for + selective masking is in effect: + + Whenever its SAFE, instead of calculating an "entire map" clipping + path and then applying this for every feature being rendered, + we now defer the calculation of the clipping path until we + are rendering individual features. Then, we create a clipping path + which contains ONLY the mask paths which are within the area + being drawn over. + + This avoids having the entire map clipping path being used for + EVERY feature being rendered, which results in huge PDF/SVG + exports when masks are in effect, and instead results in + clipping paths which are confined just to a sensible area + around each rendered feature. + + In some complex test projects this reduces the PDF export + size by a factor of 0.01!! (and results in PDFs/SVGs which + open much quicker in viewers and editors, and don't grind + their operation to a halt). + +Nyall Dawson 2024-06-19 + + Make installMasks return TRUE if any masks were found and installed + +Nyall Dawson 2024-06-19 + + Minor cleanup + +Nyall Dawson 2024-06-19 + + Add argument to QgsSymbol::startRender for whether symbol is subsymbol + + Allows us to know in startRender whether the symbol is actually + a subsymbol for a QgsSymbolLayer. Currently unused. + +Nyall Dawson 2024-06-11 + + Add method to collect symbol layer clip geometries intersecting given bounds + +Jürgen E. Fischer 2024-06-21 + + Bump version to 3.39 + +Jürgen E. Fischer 2024-06-21 + + changelog and news update for 3.38 + Jürgen E. Fischer 2024-06-21 translation update for 3.38.0 from transifex @@ -411,6 +10596,10 @@ Nyall Dawson 2024-06-12 This can be orders of magnitude faster then the older OGR_L_SetFeature approach. +Andrea Giudiceandrea 2024-06-13 + + [db manager] Fix delete raster layer in GeoPackage + Nyall Dawson 2024-06-10 Remove redundant reset @@ -1077,6 +11266,10 @@ Alessandro Pasotti 2024-06-04 Co-authored-by: Nyall Dawson +Mathieu Pellerin 2024-05-25 + + [advanced digitizing] Implement visual construction guides + Sandro Santilli 2024-06-03 Preserve shapefile field names case on export @@ -1482,6 +11675,27 @@ Jean Felder 2024-05-29 See: https://github.com/qgis/qGIS/commit/b0d1a4f8b1cc244ccf2bc3b07798f9ee3540072f +Sandro Santilli 2024-05-29 + + Allow runnig test_core_project with custom TMPDIR + + Closes GH-57610 + +Sandro Santilli 2024-05-29 + + Drop hard-coded /tmp/ dir, use system temporary dir instead + +Sandro Santilli 2024-05-28 + + Use a centralized directory for files created by ctest + + Defines a QGIS_TEST_TMP_DIR variable in top-level CMakeLists.txt + and then defines QGIS_CUSTOM_CONFIG_PATH and TMPDIR to be under + that directory for individual tests. + + Closes GH-50587 + Closes GH-48884 + Merge: c49afe9cdc3 c9a48fadc04 Julien Cabieces 2024-05-29 diff --git a/NEWS.md b/NEWS.md index 5eb5e8752b9a..aa1a8d38ec6b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,76 @@ Change history for the QGIS Project +# What's new in Version 3.40 'Bratislava'? + +This release has following new features: + +- Map Tools: Respect layer/project vert datum in identify results +- Map Tools: Present referencing relations in info tool +- User Interface: Optionally autosize all columns by default when opening an attribute table +- User Interface: Actions Dialogue Duplicate Button +- Symbology: Provide style categories for raster layers +- Symbology: Add "Linear Referencing" symbol layer type +- Symbology: Implement color ramp interpolation for CMYK +- Symbology: CMYK color preview +- Symbology: Select color component as float +- Symbology: Allow end point marker symbols for balloon callout style +- Symbology: Buffers for marker symbols +- Symbology: Support tolerances for QgsRasterTransparency pixel values +- Annotations: Auto upgrade SVG and text annotations to annotation layer items on project load +- Annotations: Add support for callouts to point text, rect text and picture items +- Annotations: Add linked layer option for annotation layers +- Annotations: Text inside rectangle annotation item +- Annotations: Add picture annotation item type +- Labelling: Support horizontal alignment in HTML labels +- Labelling: HTML header formatting in HTML labels +- Labelling: Add support for word-spacing CSS in html labels +- Labelling: Implementation of labeling engine rules +- Diagrams: Introduce stacked diagrams +- Mesh: Add GUI for adding Quantized Mesh layers +- Rendering: Support multiple sources for vector tiles +- 3D Features: Respect vector layer vertical CRS settings in 3D map views +- 3D Features: 3D Scene Clip Distance +- Print Layouts: Add support merging cells in manual tables +- Print Layouts: Generate valid PDF/X-4 files +- Print Layouts: Add option to set geospatial PDF group name for items +- Print Layouts: Add Page Properties to layout main menu +- Print Layouts: Add scale method option for layout scale bars +- Expressions: Add 'Custom Expression' numeric format +- Expressions: Add line_interpolate_point_by_m and line_locate_m expressions +- Expressions: Extended color value support +- Expressions: Allow users to save expression functions in QGIS project file +- Expressions: Add info about usable "expression dialect" to filter dialog +- Expressions: Add project_color_object and ramp_color_object functions +- Digitising: Add circles intersection digitizing tool +- Digitising: Visual construction guides for advanced digitizing +- Data Management: Allow setting VSI credentials when loading OGR/GDAL layers +- Forms and Widgets: Allow reordering fields in new vector layer dialogs +- Forms and Widgets: Add metadata setting to override widget wrapper used for a parameter +- Forms and Widgets: Support img tags in HTML label text +- Processing: Open file or URL Algorithm +- Processing: Add processing parameter types for Area and Volume +- Processing: Updated "Vector information" algorithms +- Processing: Allow adding Processing tools to Favorites +- Processing: Add creation options support to some native raster Processing algorithms +- Processing: Support drag and drop for multi-layer parameters +- Application and Project Options: Smart cache size implementation +- Application and Project Options: Add vertical CRS selection widget to vector layer properties +- Application and Project Options: Project color mode properties widget +- Profile Plots: Change elevation profile name +- Profile Plots: Ensure vector layer elevation profiles respect layer/map vert datums +- Browser: add UX to load MVT layers from style URL only +- Browser: Add duplicate functionality to Browser connection items +- Browser: Adjust "Create Database" context menu actions on GeoPackage +- Browser: Add connections to cloud storage providers to browser +- Browser: STAC integration +- Data Providers: Support for polyhedral surface and TIN +- QGIS Server: WFS title definition for layers +- Programmability: Exceptions raised on QgsDistanceArea methods +- Programmability: Convert QgsRasterLayer to NumPy Array +- Programmability: Convert QgsGeometry to Shapely and NumPy +- + + # What's new in Version 3.38 'Grenoble'? This release has following new features: diff --git a/doc/NEWS.html b/doc/NEWS.html index 640bc4169bbf..a642ea7bc404 100644 --- a/doc/NEWS.html +++ b/doc/NEWS.html @@ -7,9 +7,6 @@ QGIS News @@ -161,122 +170,424 @@

QGIS News

Change history for the QGIS Project

+

What’s new in Version 3.40 +‘Bratislava’?

+

This release has following new features:

+
    +
  • Map Tools: Respect layer/project vert datum in identify results
  • +
  • Map Tools: Present referencing relations in info tool
  • +
  • User Interface: Optionally autosize all columns by default when +opening an attribute table
  • +
  • User Interface: Actions Dialogue Duplicate Button
  • +
  • Symbology: Provide style categories for raster layers
  • +
  • Symbology: Add “Linear Referencing” symbol layer type
  • +
  • Symbology: Implement color ramp interpolation for CMYK
  • +
  • Symbology: CMYK color preview
  • +
  • Symbology: Select color component as float
  • +
  • Symbology: Allow end point marker symbols for balloon callout +style
  • +
  • Symbology: Buffers for marker symbols
  • +
  • Symbology: Support tolerances for QgsRasterTransparency pixel +values
  • +
  • Annotations: Auto upgrade SVG and text annotations to annotation +layer items on project load
  • +
  • Annotations: Add support for callouts to point text, rect text and +picture items
  • +
  • Annotations: Add linked layer option for annotation layers
  • +
  • Annotations: Text inside rectangle annotation item
  • +
  • Annotations: Add picture annotation item type
  • +
  • Labelling: Support horizontal alignment in HTML labels
  • +
  • Labelling: HTML header formatting in HTML labels
  • +
  • Labelling: Add support for word-spacing CSS in html labels
  • +
  • Labelling: Implementation of labeling engine rules
  • +
  • Diagrams: Introduce stacked diagrams
  • +
  • Mesh: Add GUI for adding Quantized Mesh layers
  • +
  • Rendering: Support multiple sources for vector tiles
  • +
  • 3D Features: Respect vector layer vertical CRS settings in 3D map +views
  • +
  • 3D Features: 3D Scene Clip Distance
  • +
  • Print Layouts: Add support merging cells in manual tables
  • +
  • Print Layouts: Generate valid PDF/X-4 files
  • +
  • Print Layouts: Add option to set geospatial PDF group name for +items
  • +
  • Print Layouts: Add Page Properties to layout main menu
  • +
  • Print Layouts: Add scale method option for layout scale bars
  • +
  • Expressions: Add ‘Custom Expression’ numeric format
  • +
  • Expressions: Add line_interpolate_point_by_m and line_locate_m +expressions
  • +
  • Expressions: Extended color value support
  • +
  • Expressions: Allow users to save expression functions in QGIS +project file
  • +
  • Expressions: Add info about usable “expression dialect” to filter +dialog
  • +
  • Expressions: Add project_color_object and ramp_color_object +functions
  • +
  • Digitising: Add circles intersection digitizing tool
  • +
  • Digitising: Visual construction guides for advanced digitizing
  • +
  • Data Management: Allow setting VSI credentials when loading OGR/GDAL +layers
  • +
  • Forms and Widgets: Allow reordering fields in new vector layer +dialogs
  • +
  • Forms and Widgets: Add metadata setting to override widget wrapper +used for a parameter
  • +
  • Forms and Widgets: Support img tags in HTML label text
  • +
  • Processing: Open file or URL Algorithm
  • +
  • Processing: Add processing parameter types for Area and Volume
  • +
  • Processing: Updated “Vector information” algorithms
  • +
  • Processing: Allow adding Processing tools to Favorites
  • +
  • Processing: Add creation options support to some native raster +Processing algorithms
  • +
  • Processing: Support drag and drop for multi-layer parameters
  • +
  • Application and Project Options: Smart cache size +implementation
  • +
  • Application and Project Options: Add vertical CRS selection widget +to vector layer properties
  • +
  • Application and Project Options: Project color mode properties +widget
  • +
  • Profile Plots: Change elevation profile name
  • +
  • Profile Plots: Ensure vector layer elevation profiles respect +layer/map vert datums
  • +
  • Browser: add UX to load MVT layers from style URL only
  • +
  • Browser: Add duplicate functionality to Browser connection +items
  • +
  • Browser: Adjust “Create Database” context menu actions on +GeoPackage
  • +
  • Browser: Add connections to cloud storage providers to browser
  • +
  • Browser: STAC integration
  • +
  • Data Providers: Support for polyhedral surface and TIN
  • +
  • QGIS Server: WFS title definition for layers
  • +
  • Programmability: Exceptions raised on QgsDistanceArea methods
  • +
  • Programmability: Convert QgsRasterLayer to NumPy Array
  • +
  • Programmability: Convert QgsGeometry to Shapely and NumPy
  • +
  • +
+

What’s new in Version 3.38 +‘Grenoble’?

+

This release has following new features:

+
    +
  • Temporal: New temporal mode: pixel value as temporal datetime
  • +
  • Map Tools: Add Elevation Controller for filtering vertical data in +2d maps
  • +
  • Map Tools: Add Z range support to map canvas / map settings +items
  • +
  • Map Tools: Add option to set a fixed elevation slice width for +elevation controller
  • +
  • User Interface: Add search option for regular expression based +searching
  • +
  • User Interface: Data defined override: use middle-click to open the +Expression Builder dialog window
  • +
  • Symbology: New single color renderer for rasters
  • +
  • Symbology: Add support for Wind Barb rendering for mesh vector +datasets
  • +
  • Labelling: Add maximum distance setting for point labels
  • +
  • Labelling: Add ‘over point’ placement option for cartographic label +mode
  • +
  • Rendering: Add data defined control over heatmap radius and maximum +value
  • +
  • Print Layouts: Tab character support for QgsTextFormat and +QgsTextRenderer
  • +
  • Print Layouts: Copy composer grids
  • +
  • Print Layouts: Add z range filter option for layout maps
  • +
  • Print Layouts: Add buttons to expand or collapse layout legend +tree
  • +
  • Expressions: Add @map_z_range variables reflecting the +map’s z range values
  • +
  • Data Management: Duplicate policy on fields when duplicating +features
  • +
  • Data Management: Add “Fixed Time Range Per Band” mode for raster +temporal control
  • +
  • Data Management: Introduce fixed elevation range for raster +layers
  • +
  • Data Management: Introduce fixed elevation range for mesh +layers
  • +
  • Data Management: Add a “fixed range per band” elevation mode for +rasters
  • +
  • Data Management: Add “dynamic elevation range per band” mode for +rasters
  • +
  • Data Management: Add fixed elevation range per dataset group mode +for mesh layers
  • +
  • Data Management: Add option to export all lines with minimal width +in dxf exports
  • +
  • Data Management: Allow users to override the layer names exported to +DXF
  • +
  • Data Management: Create DXF blocks for point symbols with data +defined properties
  • +
  • Data Management: Add option ‘Use only selected features’ to DXF +export
  • +
  • Data Management: Import/ Export ‘DXF Export’ dialog settings
  • +
  • Forms and Widgets: Add CMYK support for Color Widget
  • +
  • Forms and Widgets: Add parent feature scope when adding/editing a +child feature through the relation editor widget
  • +
  • Forms and Widgets: Add “match contains” to autocompleter in value +relation widget
  • +
  • Forms and Widgets: Implement value relation’s grouping +functionality
  • +
  • Layer Legend: Show a color ramp legend for vector heatmap +layers
  • +
  • Layer Legend: Add layer tree filter for “Show Broken Layers +Only”
  • +
  • Processing: Show more detail in history dialog
  • +
  • Processing: Add “Run Selected Steps” option to model designer
  • +
  • Processing: Add “View Output Layers” option for model child +algorithms
  • +
  • Processing: Endpoint distance threshold for network analysis
  • +
  • Processing: Add support for pure date and time decorators
  • +
  • Application and Project Options: Add vertical crs option for +projects
  • +
  • Application and Project Options: Add elevation range to project +properties
  • +
  • Sensors: Support feature expansion
  • +
  • Sensors: Add support for SensorThings Multidatastreams
  • +
  • Sensors: Serial port sensor’s data frame delimiter
  • +
  • Sensors: Add an optional feature limit setting
  • +
  • Sensors: Implement subset string support for SensorThings
  • +
  • Profile Plots: Add tolerance for lines and polygons
  • +
  • Data Providers: Add extent based filtering for SensorThings +layers
  • +
  • Data Providers: Web proxy prefix support for ArcGIS URLs
  • +
  • QGIS Server: Default limit for GetFeatureInfo results
  • +
  • QGIS Server: Add crs information in WMS GetFeatureInfo output when +it differs from WGS84
  • +
  • Programmability: Add replace/ replace all functionality to +QgsCodeEditorWidget
  • +
  • +
+

What’s new in Version 3.36 +‘Maidenhead’?

+

This release has following new features:

+
    +
  • Temporal: “Movie Mode” for the temporal controller
  • +
  • User Interface: Add map layers custom properties to the information +tab
  • +
  • User Interface: Shortcut to define 3D scene extent on 2D canvas
  • +
  • Symbology: Add height setting for raster fill symbol layer type
  • +
  • Symbology: New “Filled line” symbol layer type
  • +
  • Mesh: Mesh labeling
  • +
  • 3D Features: Allow data defined color control for simple 3d line +rendering
  • +
  • 3D Features: Improved lighting controls for Phong Material
  • +
  • 3D Features: Physically based metal rough material
  • +
  • Point Clouds: Size override for point cloud classification
  • +
  • Point Clouds: Add “Render as a surface” option to 2D point cloud +renderers
  • +
  • Point Clouds: Faster point cloud rendering by caching decoded data +blocks
  • +
  • Expressions: Alias of minimum/maximum for min/max in aggregates
  • +
  • Expressions: Counter variable in array_foreach expressions
  • +
  • Expressions: Improved expression insertion
  • +
  • Data Management: Add a Toggle Selection Button in the Organize +columns window
  • +
  • Processing: Add –skip-loading-plugins flag for qgis_process
  • +
  • Processing: Click-through output paths in processing logs
  • +
  • Processing: GEOS coverage simplify processing algorithm
  • +
  • Processing: Processing algorithm to convert B3DM to GLTF
  • +
  • Application and Project Options: Use “localhost” for OAuth2 +Redirects
  • +
  • Application and Project Options: Support for serial port sensor +baudrate selection
  • +
  • Browser: Open layers with Datasource Manager from browser
  • +
  • Data Providers: SensorThings Data Provider
  • +
  • Data Providers: Drop OTB Processing provider
  • +
  • Data Providers: WFS provider - Handle documents with Complex Feature +schemas and JSON’ify content of complex properties
  • +
  • QGIS Server: WMS GetMap in PDF Format
  • +
  • QGIS Server: QGIS Server Properties Tab for Vector Tile Layers
  • +
  • QGIS Server: GetLegendGraphics JSON rule
  • +
  • QGIS Server: Add maptip for raster layer GetFeatureInfo
  • +
  • QGIS Server: Add WMS parameter value to request only maptip for HTML +feature info response
  • +
  • QGIS Server: Option to skip “name” attribute for groups in WMS +GetCapabilities
  • +
  • Plugins: Use active layer when importing vector data with DB +Manager
  • +
  • Programmability: Expose 3D views to PyQGIS
  • +
  • +

What’s new in Version 3.34 ‘Prizren’?

This release has following new features:

diff --git a/linux/org.qgis.qgis.appdata.xml.in b/linux/org.qgis.qgis.appdata.xml.in index 899d633e175f..c800a4529aba 100644 --- a/linux/org.qgis.qgis.appdata.xml.in +++ b/linux/org.qgis.qgis.appdata.xml.in @@ -21,6 +21,7 @@ QGIS +