Releases: OSGeo/grass
GRASS GIS 8.4.1RC1
The GRASS GIS 8.4.1RC1 release provides more than 70 improvements and fixes with respect to the release 8.4.0.
Highlights
- r.sim.water: tool and its documentation received various updates
- GUI: stability fixes
- manual pages: many minor corrections including external URL updates
What's Changed
Modules
- g.download.location: Fix typo in g.download.project call (#4205) by @wenzeslaus
- g.download.location: Print target path in error message (#4155) by @neteler
- g.download.project: rename g.download.location (#4187) by @petrasovaa
- r.horizon: change JSON format (#3888) by @petrasovaa
- r.in.gdal/r.external: add basic support for GDALs GDT_Int8 (#4256) by @ninsbl
- r.sim: properly fix turning off parallelization with mask on (#5052) by @petrasovaa
- r.sim.water: add info to manual, add info about progress (#4662) by @metzm
- r.sim.water: build topology for vector output (#4969) by @metzm
- r.sim.water: fix logfile writing (#4522) by @petrasovaa
- r.sim: fix turning off parallelization with mask on (#5037) by @petrasovaa
- r.sim: properly fix turning off parallelization with mask on (#5052) by @petrasovaa
- r.univar: fix MASK check with nprocs > 1 (#4297) by @petrasovaa
- t.rast.to.vect: Fix passing column parameter to r.to.vect (#4215) by @petrasovaa
Graphical User Interface
- GUI: EPSG code source: replace epsg.io with spatialreference.org (#4535) by @neteler
- GUI: fix crashing due to File menu translation issues (#4513) by @petrasovaa
- GUI: fix for Python3.13 (#4653) by @petrasovaa
- gui: Happy new year 2025 by @neteler
- wxGUI/history: fix the run of a special cmds only once (#4322) by @tmszi
- wxGUI: Update link to the Natural Earth sample dataset (#4223) by @ecodiv
Python
- grass.temporal: fix regression in printing metadata (#4328) by @petrasovaa
Documentation and Messages
- doc: i.atcorr: update man page to fix numbering of AVIRIS bands and make style consistent (#4445) by @YannChemin
- doc: Reword text to be less verbose in r.geomorphon (#5034) by @gregorywaynepower
- doc: change Python API URL from grass-devel to grass-stable by @neteler
- doc: fix typo and add bold weight to first mention of important terms in r.geomorphon manual page (#4831) by @gregorywaynepower
- doc: fix various issues in html pages in preparation for markdown (#5053) by @petrasovaa
- docs: add Intro: Graphical User Interface by @neteler
- docs: add README.md to doc/development/rfc/ (#4316) by @neteler
- docs: add guidelines for writing a meaningful pull request (#4197) by @neteler
- docs: add intro text to imageryintro.html (#4536) by @neteler
- docs: r.resamp.filter: update manual (#4856) by @metzm
- docs: r.sim.water: add info to manual, add info about progress (#4662) by @metzm
- docs: enable btree2/kdtree lib doxygen file for Programmer's manual (#4786) by @neteler
- docs: fix broken HTML (#4720) by @neteler
- docs: i.albedo and r.li manual HTML fixes (#4654) by @neteler
- docs: minor fixes to g.gisenv, i.atcorr, v.centroids, v.overlay, v.type (#4484) by @neteler
- docs: move Programmer's manual creation to INSTALL.md (#4336) by @neteler
- docs: remove trunk from paths (#4931) by @pesekon2
- docs: update and cleanup of infrastructure.md (#4294) by @neteler
- docs: update outdated trac URLs to GitHub (#4317) by @neteler
- docs: update requirements guide (#4718) by Emmanuel Ferdman
- docs: v.buffer.html minor edits (#4744) by @dhdeangelis
- docs: v.class.html fix typo, plus minor edit (#4762) by @dhdeangelis
- docs: v.mkgrid.html fix manual typos (#4724) by @dhdeangelis
- docs: v.surf.bspline.html fix typo and minor touches (#4776) by @dhdeangelis
- docs: various updates and text fixes in HTML for MD conversion (backport of #4837) by @neteler
- manual: HTML updates in lib/db and db manual pages and README files (#4751) by @neteler
- manual: db.in.ogr add column type detection for CSV (#4883) by @neteler
- manual: fix broken HTML tags (#4757) by @neteler
- manual: fix more broken HTML tags (#4781) by @neteler
Show more
Libraries and General Functionality
- lib/vector/Vlib: always write out topo files in update mode (#3459) by @metzm
- lib/vector: fix always true if-condition in Vect_point_buffer2() (#4115) by @nilason
- lib/vector: new functions for setting trim of GEOS WKT output (#4123) by @nilason
Translations, Internationalization, and Localization
Windows
Packaging, Configuration, Portability, and Compilation
Docker
Continuous Integration, Infrastructure, Tests and Code Quality
- CI: Assign milestone on merged PRs (#4414) by @echoix
- CI: add expat dependency to macOS runner (#4646) by @nilason
- CI: also remove /opt/homebrew from macOS runner (#4178) by @nilason
- CI: create versioned directory name of extracted tarball (#4659) by @nilason
- CI: selective update of GitHub actions in G84 (#4337) by @neteler
- CI: update macOS runner dependencies (#4120) by @nilason
- style: override markdownlint MD041, partial backport of 22b07ac (#4207) by @nilason
Show more
Contributing and Management
- contributing: update style guide for C (#4312) by @petrasovaa
Other Changes
- abstract_space_time_dataset: use keyword arguments in calls to get_registered_maps (#4068) by @ninsbl
- apply black by @neteler
- db/MySQL: fix HTML manual nested
- python/grass/utils: fix checking server response content type/dispostion header (#4658) by @tmszi
Full Changelog: 8.4.0...8.4.1RC1
GRASS GIS 8.4.0
The GRASS GIS 8.4.0 release provides more than 520 improvements and fixes with respect to the release 8.3.2.
Highlights
- location becomes project: The Python API, command line, and graphical user interface are now using project instead of location for the main component of the data hiearchy while maintaining backward compatibility.
- v.fill.holes: New tool to remove inner isles and to keep outer boundary only
- i.svm: New support vector machine image classification (SVM)
- r.horizon: Output for multiple points, distances, and many other improvements
- This work was developed with funding from NSF Award #2322073, granted to Natrx, Inc.
- r.univar: Parallelization computation extended statistics
- JSON output format support (
format="json"
) in multiple tools (e.g., r.report, r.info, v.db.select, t.rast.list, etc.) - New grass.jupyter.SeriesMap class for animating series of vectors or rasters
- ipyleaflet integration for grass.jupyter to create a map in ipyleaflet and add GRASS data in a single line
- Greatly simplified the creation of new projects in Python (no more chicken and egg problems) - also in Jupyter notebooks
- This work was developed with funding from NSF Award #2322073, granted to Natrx, Inc.
- GUI: New easy command history navigation through the History browser panel browser panel (details)
- GUI: Further improvements of new single-window GUI with undockable map display window, for a smoother user experience
- New GRASS GIS Programming Style Guide
New Addon Tools
- i.eodag: Downloads imagery datasets from various providers through the EODAG API.
- r.flowaccumulation: Calculates flow accumulation from a flow direction raster map using the Memory-Efficient Flow Accumulation (MEFA) parallel algorithm by Cho (2023).
- r.fusion: image fusion, generalized pan-sharpening.
- This work was funded by mundialis GmbH & Co. KG
- r.windfetch: addon for computing wind fetch.
- r.maxent.train & r.maxent.predict: train, and predict a Maxent model to create a suitability distribution layer.
Monthly Financial Supporters
OpenPlains Inc., Luis Bojórquez
What's Changed
Tools
- d.legend.vect: Initialize title size by @wenzeslaus in #3095
- d.mon: Delegate rendering to wx monitors by @HuidaeCho in #3500
- d.rast.arrow: Support Terraflow directions by @HuidaeCho in #2987
- d.rast.num: Constrain rendering within the current display extent in the wx monitor by @HuidaeCho in #3489
- d.redraw: Rewritten in C by @HuidaeCho in #3727
- d.vect.thematic: Do not show decimal places for ints by @wenzeslaus in #3096
- d.vect: label vertical alignment workaround by @marisn in #2857
- db.connect: update GRASS version defaults in docs by @pesekon2 in #3385
- db.dropcolumn: Circumvent length limit for sqlite3 SQL STDIN string by @mmacata in #3273
- db.execute: fix duplicated word in in docs by @pesekon2 in #3370
- g.extension: fix installing addons on the OS MS Windows by @tmszi in #3166
- g.extension: fix registration addon with module name start with 2 chars db., ps., r3., wx. by @tmszi in #3168
- g.extension: if copied files exists do not print warning message by @tmszi in #3053
- g.extension: sparse checkout with history for fast commit log access by @ninsbl in #3051
- g.gui.example: fix broken module by @pesekon2 in #3233
- g.gui.gmodeler: fix relationship with history pane by @pesekon2 in #3337
- g.mapsets: Add JSON output by @cwhite911 in #2542
- g.mapsets: add missing declared or defined argument type by @nilason in #3599
- g.message: Do not require full gisinit by @wenzeslaus in #3686
- g.mkfontcap: Replace -o with --overwrite; Add a renamed flag warning by @HuidaeCho in #3649
- g.proj: fix wkt output on Windows by @petrasovaa in #3306
- g.proj: rename location parameter to project by @petrasovaa in #3573
- g.region: Fix the flat flag by @HuidaeCho in #3216
- g.setproj: fix uninitialized variable issues in get_stp.c by @ShubhamDesai in #3777
- i.albedo: Fix out of bounds access for albedo histogram by @ymdatta in #3247
Show more
- i.atcorr: add AVIRIS support by @YannChemin in #3229
- i.atcorr: add atmospheric correction support for Hyperion hyperspectral imagery (VNIR and SWIR parts) by @YannChemin in #3272
- i.evapo.time: Add example image to manual by @YannChemin in #3281
- i.ortho.target: Rename location and mapset options to target by @wenzeslaus in #3131
- i.pca: added tests for the module by @HamedElgizery in #3550
- i.signatures: Add imagery classifier signature management module by @marisn in #3008
- i.svm: Add libsvm-based image classification by @marisn in #2189
- m.nviz.image: fix checking if color raster map exists if color_map param arg was used by @tmszi in #3139
- modules: fix parallelized raster modules for buffer sizes by @metzm in #3070
- r.blend: add screenshot in documentation by @baharmon in #3045
- r.colors.stddev: add screenshot in documentation by @baharmon in #3044
- r.contour: remove broken test by @petrasovaa in #3333
- r.cross: fix outdated doc (max 10 changed to 30 layers) by @petrasovaa in #3294
- r.drain: fix for fully-qualified map names by @petrasovaa in #3092
- r.fillnulls: proceed if no holes present (RST method) by @neteler in #3122
- r.flow: rename io.h file which causes conflict with MSYS2 by @nilason in #3708
- r.horizon: add distance into output by @petrasovaa in #3565
- r.horizon: add json output by @petrasovaa in #3534
- r.horizon: add support for multiple points by @petrasovaa in #3543
- r.horizon: address coverity scan 'Null pointer dereferences' by @petrasovaa in #3620
- r.horizon: address incorrect number of rasters created by @petrasovaa in #3411
- r.horizon: adjust bufferzone to multiples of resolution by @petrasovaa in #3384
- r.horizon: always include distance output in JSON output by @petrasovaa in #3768
- r.horizon: fix bug in point mode computation by @petrasovaa in #3288
- r.horizon: fix computation in test_low_res() by @petrasovaa in #3298
- r.horizon: fix distance output by @petrasovaa in #3589
- r.horizon: get rid of global variables and other refactoring by @petrasovaa in #3346
- r.horizon: use absolute value for angles < GRASS_EPSILON by @nilason in #3403
- r.horizon: variable needs to be reset for point mode by @petrasovaa in #3441
- r.in.aster: removed dependency on arch for OSX and added support for ASTER L1T data products by @afrigeri in #3258
- r.in.gdal: after renaming to project use CRS instead of projection by @petrasovaa in #3578
- r.in.gdal: fix and enable test by @petrasovaa in #3339
- r.in.gdal: rename option location to project by @petrasovaa in #3575
- r.in.pdal: use 1 based return numbers in LAS info output (#3907) by @marisn
GRASS GIS 8.4.0RC1
The GRASS GIS 8.4.0RC1 release provides more than 515 improvements and fixes with respect to the release 8.3.2.
Highlights
- location becomes project: The Python API, command line, and graphical user interface are now using project instead of location for the main component of the data hiearchy while maintaining backward compatibility.
- v.fill.holes: New tool to remove inner isles and to keep outer boundary only
- i.svm: New support vector machine image classification (SVM)
- r.horizon: Output for multiple points, distances, and many other improvements
- This work was developed with funding from NSF Award #2322073, granted to Natrx, Inc.
- r.univar: Parallelization computation extended statistics
- JSON output format support (
format="json"
) in multiple tools (e.g., r.report, r.info, v.db.select, t.rast.list, etc.) - New grass.jupyter.SeriesMap class for animating series of vectors or rasters
- ipyleaflet integration for grass.jupyter to create a map in ipyleaflet and add GRASS data in a single line
- Greatly simplified the creation of new projects in Python (no more chicken and egg problems) - also in Jupyter notebooks
- This work was developed with funding from NSF Award #2322073, granted to Natrx, Inc.
- GUI: New easy command history navigation through the History browser panel browser panel (details)
- GUI: Further improvements of new single-window GUI with undockable map display window, for a smoother user experience
- New GRASS GIS Programming Style Guide
New Addon Tools
- i.eodag: Downloads imagery datasets from various providers through the EODAG API.
- r.flowaccumulation: Calculates flow accumulation from a flow direction raster map using the Memory-Efficient Flow Accumulation (MEFA) parallel algorithm by Cho (2023).
- r.fusion: image fusion, generalized pan-sharpening.
- This work was funded by mundialis GmbH & Co. KG
- r.windfetch: addon for computing wind fetch.
- r.maxent.train & r.maxent.predict: train, and predict a Maxent model to create a suitability distribution layer.
Monthly Financial Supporters
OpenPlains Inc., Luis Bojórquez
What's Changed
Tools
- d.legend.vect: Initialize title size by @wenzeslaus in #3095
- d.mon: Delegate rendering to wx monitors by @HuidaeCho in #3500
- d.rast.arrow: Support Terraflow directions by @HuidaeCho in #2987
- d.rast.num: Constrain rendering within the current display extent in the wx monitor by @HuidaeCho in #3489
- d.redraw: Rewritten in C by @HuidaeCho in #3727
- d.vect.thematic: Do not show decimal places for ints by @wenzeslaus in #3096
- d.vect: label vertical alignment workaround by @marisn in #2857
- db.connect: update GRASS version defaults in docs by @pesekon2 in #3385
- db.dropcolumn: Circumvent length limit for sqlite3 SQL STDIN string by @mmacata in #3273
- db.execute: fix duplicated word in in docs by @pesekon2 in #3370
- g.extension: fix installing addons on the OS MS Windows by @tmszi in #3166
- g.extension: fix registration addon with module name start with 2 chars db., ps., r3., wx. by @tmszi in #3168
- g.extension: if copied files exists do not print warning message by @tmszi in #3053
- g.extension: sparse checkout with history for fast commit log access by @ninsbl in #3051
- g.gui.example: fix broken module by @pesekon2 in #3233
- g.gui.gmodeler: fix relationship with history pane by @pesekon2 in #3337
- g.mapsets: Add JSON output by @cwhite911 in #2542
- g.mapsets: add missing declared or defined argument type by @nilason in #3599
- g.message: Do not require full gisinit by @wenzeslaus in #3686
- g.mkfontcap: Replace -o with --overwrite; Add a renamed flag warning by @HuidaeCho in #3649
- g.proj: fix wkt output on Windows by @petrasovaa in #3306
- g.proj: rename location parameter to project by @petrasovaa in #3573
- g.region: Fix the flat flag by @HuidaeCho in #3216
- g.setproj: fix uninitialized variable issues in get_stp.c by @ShubhamDesai in #3777
- i.albedo: Fix out of bounds access for albedo histogram by @ymdatta in #3247
Show more
- i.atcorr: add AVIRIS support by @YannChemin in #3229
- i.atcorr: add atmospheric correction support for Hyperion hyperspectral imagery (VNIR and SWIR parts) by @YannChemin in #3272
- i.evapo.time: Add example image to manual by @YannChemin in #3281
- i.ortho.target: Rename location and mapset options to target by @wenzeslaus in #3131
- i.pca: added tests for the module by @HamedElgizery in #3550
- i.signatures: Add imagery classifier signature management module by @marisn in #3008
- i.svm: Add libsvm-based image classification by @marisn in #2189
- m.nviz.image: fix checking if color raster map exists if color_map param arg was used by @tmszi in #3139
- modules: fix parallelized raster modules for buffer sizes by @metzm in #3070
- r.blend: add screenshot in documentation by @baharmon in #3045
- r.colors.stddev: add screenshot in documentation by @baharmon in #3044
- r.contour: remove broken test by @petrasovaa in #3333
- r.cross: fix outdated doc (max 10 changed to 30 layers) by @petrasovaa in #3294
- r.drain: fix for fully-qualified map names by @petrasovaa in #3092
- r.fillnulls: proceed if no holes present (RST method) by @neteler in #3122
- r.flow: rename io.h file which causes conflict with MSYS2 by @nilason in #3708
- r.horizon: add distance into output by @petrasovaa in #3565
- r.horizon: add json output by @petrasovaa in #3534
- r.horizon: add support for multiple points by @petrasovaa in #3543
- r.horizon: address coverity scan 'Null pointer dereferences' by @petrasovaa in #3620
- r.horizon: address incorrect number of rasters created by @petrasovaa in #3411
- r.horizon: adjust bufferzone to multiples of resolution by @petrasovaa in #3384
- r.horizon: always include distance output in JSON output by @petrasovaa in #3768
- r.horizon: fix bug in point mode computation by @petrasovaa in #3288
- r.horizon: fix computation in test_low_res() by @petrasovaa in #3298
- r.horizon: fix distance output by @petrasovaa in #3589
- r.horizon: get rid of global variables and other refactoring by @petrasovaa in #3346
- r.horizon: use absolute value for angles < GRASS_EPSILON by @nilason in #3403
- r.horizon: variable needs to be reset for point mode by @petrasovaa in #3441
- r.in.aster: removed dependency on arch for OSX and added support for ASTER L1T data products by @afrigeri in #3258
- r.in.gdal: after renaming to project use CRS instead of projection by @petrasovaa in #3578
- r.in.gdal: fix and enable test by @petrasovaa in #3339
- r.in.gdal: rename option location to project by @petrasovaa in #3575
- r.in.pdal: use NoFileWriter class for PDAL > 2.7.0 (fixes #3552) by @marisn in #3567
- r.in.wms: fix get region extent for WMS query, if location is 'XY location (unprojected)' by @tmszi in #853
- r.info: Rename location to project in outputs by @wenzeslaus in #3134
- ...
GRASS GIS 8.3.2
The GRASS GIS 8.3.2 release provides more than 30 improvements and fixes with respect to the release 8.3.1.
Highlights
- r.horizon: adjust bufferzone to multiples of resolution (#3384) by @petrasovaa
What's Changed
Modules
- db.connect: update GRASS version defaults in docs (#3385) by @pesekon2
- db.dropcolumn: Circumvent length limit for sqlite3 SQL STDIN string (#3273) by @mmacata
- g.gui.gmodeler: fix script export not working if model contains ModelData-type item (#3209) by @pesekon2
- g.proj: fix wkt output on Windows (#3306) by @petrasovaa
- i.evapo.time: Add example image to manual (#3281) by @YannChemin
- r.cross: fix outdated doc (max 10 changed to 30 layers) (#3294) by @petrasovaa
- r.horizon: fix bad output by Apple ARM machines (#3403) by @nilason
- r.horizon: fix bug in point mode computation (#3288) by @petrasovaa
- r.horizon: fix computation in test_low_res() (#3298) by @petrasovaa
- r.horizon: variable needs to be reset for point mode (#3441) by @petrasovaa
- r.mapcalc: Add explicit dependency on mapcalc.tab.h (#3415) by @bmwiedemann
- v.clean threshold description: clarify map units (#2950) by @neteler
- v.out.ogr: fix append+overwrite mode (#3283) by @metzm
- vector: use full db connection settings (#3462) by @metzm
Graphical User Interface
- GUI: sync GConsole skipInterface handling with g.parser (#3375) by @landam
- wxGUI/lmgr: fix unfocused Layers pane wx.ListCtrl widget row background color (#3264) by @tmszi
- wxGUI/main_window: fix rendering Layers pane map display toolbar widget (#3262) by @tmszi
- wxGUI: Avoid overlapping module parameters in Graphical modeler (#2991) by @landam
- wxGUI: rewrite and document core.utils.ListOfMapsets to not cause GUI crash in certain circumstances (#3226) by @petrasovaa
Python
- grass.pygrass: Fix parameter range error reporting (#2817) by @wenzeslaus
- python/grass/script: split the command string using shell-like syntax on the win32 platform same as on POSIX-compliant platforms (#1908) by @tmszi
- Re-enable six module, see ac91f61 by @landam
Documentation and Messages
- docs: add GRASS docker section to infrastructure.md (#3277) by @neteler
- docs: fix minor typos in howto_release.md by @neteler
- docs: update friction map info for r.walk.html (#3279) by @cmbarton
- docs: r.texture manual texture measure explanations (#3458) by @neteler
Libraries and General Functionality
- lib/proj: change pipeline selection criterion (#3347) by @metzm
- lib/vector/Vlib: fix count of removed dangles (#3348) by @metzm
- diglib: Calculate the total size of topo file to get the correct off_t_size (#3351) by @HuidaeCho
Contributing and Management
- contributing: Add more expressions to match release notes groups (#3035) by @wenzeslaus
- contributing: Optimize commands, text in release procedure (G83) (#3253) by @neteler
Continuous Integration, Tests, Code Quality, and Checks
Packaging:
Other Changes
Full Changelog: 8.3.1...8.3.2RC1
GRASS GIS 8.3.2RC1
The GRASS GIS 8.3.2RC1 release provides more than 30 improvements and fixes with respect to the release 8.3.1.
Highlights
- r.horizon: adjust bufferzone to multiples of resolution (#3384) by @petrasovaa
What's Changed
Modules
- db.connect: update GRASS version defaults in docs (#3385) by @pesekon2
- db.dropcolumn: Circumvent length limit for sqlite3 SQL STDIN string (#3273) by @mmacata
- g.gui.gmodeler: fix script export not working if model contains ModelData-type item (#3209) by @pesekon2
- g.proj: fix wkt output on Windows (#3306) by @petrasovaa
- i.evapo.time: Add example image to manual (#3281) by Yann Chemin <dr.yann.chemin gmail.com>
- r.cross: fix outdated doc (max 10 changed to 30 layers) (#3294) by @petrasovaa
- r.horizon: fix bad output by Apple ARM machines (#3403) by @nilason
- r.horizon: fix bug in point mode computation (#3288) by @petrasovaa
- r.horizon: fix computation in test_low_res() (#3298) by @petrasovaa
- r.mapcalc: Add explicit dependency on mapcalc.tab.h (#3415) by Bernhard M. Wiedemann
- v.clean threshold description: clarify map units (#2950) by Markus Neteler
- v.out.ogr: fix append+overwrite mode (#3283) by @metzm
Graphical User Interface
- GUI: sync GConsole skipInterface handling with g.parser (#3375) by @landam
- wxGUI/lmgr: fix unfocused Layers pane wx.ListCtrl widget row background color (#3264) by @tmszi
- wxGUI/main_window: fix rendering Layers pane map display toolbar widget (#3262) by @tmszi
- wxGUI: Avoid overlapping module parameters in Graphical modeler (#2991) by @landam
- wxGUI: rewrite and document core.utils.ListOfMapsets to not cause GUI crash in certain circumstances (#3226) by @petrasovaa
Python
- grass.pygrass: Fix parameter range error reporting (#2817) by @wenzeslaus
- python/grass/script: split the command string using shell-like syntax on the win32 platform same as on POSIX-compliant platforms (#1908) by @tmszi
- Re-enable six module, see ac91f61 by @landam
Documentation and Messages
- docs: add GRASS docker section to infrastructure.md (#3277) by Markus Neteler
- docs: fix minor typos in howto_release.md by Markus Neteler
- docs: update friction map info for r.walk.html (#3279) by @cmbarton
Libraries and General Functionality
- lib/proj: change pipeline selection criterion (#3347) by @metzm
- lib/vector/Vlib: fix count of removed dangles (#3348) by @metzm
- diglib: Calculate the total size of topo file to get the correct off_t_size (#3351) by @HuidaeCho
Contributing and Management
- contributing: Add more expressions to match release notes groups (#3035) by @wenzeslaus
- contributing: Optimize commands, text in release procedure (G83) (#3253) by @neteler
Packaging:
Other Changes
Full Changelog: 8.3.1...8.3.2RC1
GRASS GIS 8.3.1
The GRASS GIS 8.3.1 release provides more than 60 improvements and fixes with respect to the release 8.3.0.
Highlights
- g.extension: fix installing addons on the OS MS Windows (#3166) by @tmszi
- r.watershed: fix streams and basins (#3140) by @metzm
- graphical user interface: multiple bugs fixed, see below
What's Changed
Modules
- g.extension: fix installing addons on the OS MS Windows (#3166) by @tmszi
- g.extension: fix registration addon with module name start with 2 chars (#3168) by @tmszi
- m.nviz.image: fix checking if color raster map exists if color_map param arg was used (#3139) by @tmszi
- r.drain: fix for fully-qualified map names (#3092) by @petrasovaa
- r.fillnulls: proceed if no holes present (RST method) (#3122) by @neteler
- r.resamp.bspline: fix memory leak (#3069) by @metzm
- r.sim: fix previously ignored infil_value (#3111) by @petrasovaa
- r.terraflow: Add flow direction encoding information to the manual (#2988) by @HuidaeCho
- r.watershed: fix streams and basins (#3140) by @metzm
- parallelized raster modules: fix buffer sizes (#3070) by @metzm
Graphical User Interface
- wxGUI/animation: fix exporting an animation overlaid with custom image (#3137) by @tmszi
- wxGUI/dbmgr: do not modify layer settings if settings have not changed (#3143) by @tmszi
- wxGUI/dbmgr: don't add new duplicated table col into table desc TableListCtrl widget (#2437) by @tmszi
- wxGUI/dbmgr: fix removing map table layer and layer related Browse data and Manage tables page (tab) (#2422) by @tmszi
- wxGUI/dbmgr: fix show attribute table for vector map from another mapset (#3081) by @tmszi
- wxGUI/dbmgr: fix sorting newly added column values (#2436) by @tmszi
- wxGUI/dbmgr: update Browse data page Simple SQL Query WHERE ComboBox widget column names choices (#2438) by @tmszi
- wxGUI/gmodeler: fix storing current model settings to model file (#3188) by @tmszi
- wxGUI/iclass: fix activating scatter plot pane toolbar tools (#3182) by @tmszi
- wxGUI/iclass: fix closing scatter plot pane via x button (#3172) by @tmszi
- wxGUI/iclass: fix showing scatter plots (#3169) by @tmszi
- wxGUI/iclass: fix zoom to scatter plot extend (#3184) by @tmszi
- wxGUI/image2target: fix showing Ground Control Points settings dialog (#3189) by @tmszi
- wxGUI/lmgr: fix saving web service layer as raster map (#3101) by @tmszi
- wxGUI/main_window: add and use custom SingleWindowAuiManager class (#3177) by @tmszi
- wxGUI/mapswipe: fix saving display to file (#3185) by @tmszi
- wxGUI/nviz: make tools panel verically and horizontally scrollable (#3089) by @tmszi
- wxGUI/preferences: fix saving display dimensions (#3116) by @petrasovaa
- wxGUI/preferences: fix setting command output font (#3187) by @tmszi
- wxGUI/psmap: fix close vector map properties dialog after hit OK button (#3085) by @tmszi
- wxGUI/psmap: fix show correct error message if Ghostscript isn't installed (#2420) by @tmszi
- wxGUI/psmap: fix showing image map element preview (#3193) by @tmszi
- wxGUI/psmap: fix simple point graphic recalculate position (#3164) by @tmszi
- wxGUI/psmap: fix vector line map props dialog PenStyleComboBox widget drawing items (#3162) by @tmszi
- wxGUI/psmap: fix vector map properties dialog correct typing the name of the vector map (#3087) by @tmszi
- wxGUI/timeline: add _change_geometry() method for Matplotlib version >= 3.4 (#3094) by @tmszi
- wxGUI/vdigit: fix close frame if Vector Digitizer is run as standalone app (#2456) by @tmszi
- wxGUI: fix showing attribute column menu (#3098) by @petrasovaa
- wxGUI: initialize db connection when creating new mapset (#3086) by @petrasovaa
Python
- binder: update dependencies, disable PDAL (#3063) by @neteler
- doc examples: remove a call of non-existent function raw_input() (#3124) by @pesekon2
- grass.script: ensure memmap content is flushed before writing to a raster (#3206) by @petrasovaa
Documentation and Messages
- docs: CITATION.cff: make license entry SPDX conform (#3115) by @neteler
- docs: fix syntax of CITATION.cff file (#3123) by @neteler
- docs: server is on osgeo8-grass by @neteler
- docs: update and cleanup of infrastructure.md (#3157) by @neteler
- docs: update howto_release.md (G83) (#3197) by @neteler
- docs: howto_release.md: update wingrass notes (#3061) by @landam
- manual: i.ortho.* update broken module references (#3175) by @neteler
- manual: r.sunmask and i.topo.corr improvements (#3159) by @neteler
- manual: fix r.texture output parameter in example (#3108) by @neteler
- manual: v.reclass either 'rules' or 'column' option must be specified (#3067) by @agiudiceandrea
Libraries and General Functionality
- lib/bitmap: Fix a potential memory leak (#3004) by @lbartoletti
Packaging, Configuration, Portability, and Compilation
Docker
- docker: CI update and simplification (#3075) by @mmacata
- docker: get rid of grass gis version in alpine Dockerfile (#3068) by @mmacata
- docker alpine: add additional GDAL driver (#3058) by @mmacata
Contributing and Management
- contributing: Expand instructions on pre-commit (#3006) by Luís de Sousa <luis.de.sousa protonmail.ch>
Other Changes
- CI: delete .github/workflows/pylint.yml due to new code incompatibility by @neteler
Full Changelog: 8.3.0...8.3.1
GRASS GIS 8.3.1RC1
The GRASS GIS 8.3.1RC1 release provides more than 55 improvements and fixes with respect to the release 8.3.0.
Highlights
- g.extension: fix installing addons on the OS MS Windows (#3166) by @tmszi
- r.watershed: fix streams and basins (#3140) by @metzm
- graphical user interface: multiple bugs fixed, see below
What's Changed
Modules
- g.extension: fix registration addon with module name start with 2 chars (#3168) by @tmszi
- m.nviz.image: fix checking if color raster map exists if color_map param arg was used (#3139) by @tmszi
- r.drain: fix for fully-qualified map names (#3092) by @petrasovaa
- r.fillnulls: proceed if no holes present (RST method) (#3122) by @neteler
- r.resamp.bspline: fix memory leak (#3069) by @metzm
- r.sim: fix previously ignored infil_value (#3111) by @petrasovaa
- r.terraflow: Add flow direction encoding information to the manual (#2988) by @HuidaeCho
- parallelized raster modules: fix buffer sizes (#3070) by @metzm
Graphical User Interface
- wxGUI/animation: fix exporting an animation overlaid with custom image (#3137) by @tmszi
- wxGUI/dbmgr: do not modify layer settings if settings have not changed (#3143) by @tmszi
- wxGUI/dbmgr: don't add new duplicated table col into table desc TableListCtrl widget (#2437) by @tmszi
- wxGUI/dbmgr: fix removing map table layer and layer related Browse data and Manage tables page (tab) (#2422) by @tmszi
- wxGUI/dbmgr: fix show attribute table for vector map from another mapset (#3081) by @tmszi
- wxGUI/dbmgr: fix sorting newly added column values (#2436) by @tmszi
- wxGUI/dbmgr: update Browse data page Simple SQL Query WHERE ComboBox widget column names choices (#2438) by @tmszi
- wxGUI/gmodeler: fix storing current model settings to model file (#3188) by @tmszi
- wxGUI/iclass: fix activating scatter plot pane toolbar tools (#3182) by @tmszi
- wxGUI/iclass: fix closing scatter plot pane via x button (#3172) by @tmszi
- wxGUI/iclass: fix showing scatter plots (#3169) by @tmszi
- wxGUI/iclass: fix zoom to scatter plot extend (#3184) by @tmszi
- wxGUI/image2target: fix showing Ground Control Points settings dialog (#3189) by @tmszi
- wxGUI/lmgr: fix saving web service layer as raster map (#3101) by @tmszi
- wxGUI/main_window: add and use custom SingleWindowAuiManager class (#3177) by @tmszi
- wxGUI/mapswipe: fix saving display to file (#3185) by @tmszi
- wxGUI/nviz: make tools panel verically and horizontally scrollable (#3089) by @tmszi
- wxGUI/preferences: fix saving display dimensions (#3116) by @petrasovaa
- wxGUI/preferences: fix setting command output font (#3187) by @tmszi
- wxGUI/psmap: fix close vector map properties dialog after hit OK button (#3085) by @tmszi
- wxGUI/psmap: fix show correct error message if Ghostscript isn't installed (#2420) by @tmszi
- wxGUI/psmap: fix showing image map element preview (#3193) by @tmszi
- wxGUI/psmap: fix simple point graphic recalculate position (#3164) by @tmszi
- wxGUI/psmap: fix vector line map props dialog PenStyleComboBox widget drawing items (#3162) by @tmszi
- wxGUI/psmap: fix vector map properties dialog correct typing the name of the vector map (#3087) by @tmszi
- wxGUI/timeline: add _change_geometry() method for Matplotlib version >= 3.4 (#3094) by @tmszi
- wxGUI/vdigit: fix close frame if Vector Digitizer is run as standalone app (#2456) by @tmszi
- wxGUI: fix showing attribute column menu (#3098) by @petrasovaa
- wxGUI: initialize db connection when creating new mapset (#3086) by @petrasovaa
Python
- binder: update dependencies, disable PDAL (#3063) by @neteler
- doc examples: remove a call of non-existent function raw_input() (#3124) by @pesekon2
Documentation and Messages
- CITATION.cff: make license entry SPDX conform (#3115) by @neteler
- docs: fix syntax of CITATION.cff file (#3123) by @neteler
- docs: update and cleanup of infrastructure.md (#3157) by @neteler
- docs: update howto_release.md (G83) (#3197) by @neteler
- docs: howto_release.md: update wingrass notes (#3061) by @landam
- manual: i.ortho.* update broken module references (#3175) by @neteler
- manual: r.sunmask and i.topo.corr improvements (#3159) by @neteler
- manual: fix r.texture output parameter in example (#3108) by @neteler
- manual: v.reclass either 'rules' or 'column' option must be specified (#3067) by @agiudiceandrea
Libraries and General Functionality
- lib/bitmap: Fix a potential memory leak (#3004) by @lbartoletti
Packaging, Configuration, Portability, and Compilation
Docker
- docker: CI update and simplification (#3075) by @mmacata
- docker: get rid of grass gis version in alpine Dockerfile (#3068) by @mmacata
- docker alpine: add additional GDAL driver (#3058) by @mmacata
Contributing and Management
- contributing: Expand instructions on pre-commit (#3006) by Luís de Sousa <luis.de.sousa protonmail.ch>
Other Changes
- CI: delete .github/workflows/pylint.yml due to new code incompatibility by @neteler
Full Changelog: 8.3.0...8.3.1RC1
GRASS GIS 7.8.8
The GRASS GIS 7.8.8 release provides more than 80 improvements and fixes compared to the 7.8.7 release.
This release is expected to be the last 7.8 release. Development will continue with GRASS GIS 8.x.
What's Changed
Major changes:
- lib/imagery: fix missing SONAME (#2363) by @neteler
- lib/proj: fix area bbox for PROJ (#2467) by @metzm
- lib/proj: fix lontitude estimation for PJ_AREA (#2476) by @metzm
- Make: add -rpath to LD_SEARCH_FLAGS (#2280) by @metzm
Minor changes:
- r.slope.aspect: fix logical test for printing north (#2157) by @nilason
- g.mapsets: fix write MAPSETS without additional empty new line (#2586) by @tmszi
Graphical User Interface:
- wxGUI: add r.in.wms into ImportRasterData toolbox (#2364) by @tmszi
- wxGUI/dbmgr: show warning message dialog if new layer table link exists (#2428) by @tmszi
- wxGUI: fix manual page "GUI index" link html file name (#2461) by @tmszi
- wxGUI/forms: fix LayersList widget binding check/uncheck event method (#2495) by @tmszi
- wxGUI/gui_core: fix Create or edit image group dialog Select all CheckBox widget for selecting all items (#2514) by @tmszi
- wxGUI/gui_core: fix imagery create/edit group dialog deselect all maps (#2465) by @tmszi
- wxGUI/lmgr: fix launch GCP Manager if not map display is activated (#2464) by @tmszi
- wxGUI/modules: fix import SQLite geometry data (#2491) by @tmszi
- wxGUI/psmap: don't set StatusBar widget text when frame is closed (#2487) by @tmszi
- wxGUI/psmap: fix rendered preview page zoom (#2444) by @tmszi
- wxGUI/psmap: Ghostscript HyperlinkDialog is needed (#2441) by @tmszi
- wxGUI/psmap: remove loading EPS file via using Ghostscript image rendering on OS MS Windows platform (#2419) by @tmszi
- wxGUI/psmap: remove unnecessary HyperlinkDialog widget (#2421) by @tmszi
- wxGUI: remove unnecessary key press event handlers (#2528) by @tmszi
- wxGUI/rlisetup: allow EVT_KILL_FOCUS event handler event processing to continue (#2385) by @tmszi
- wxGUI/vdigit: fix keyboard shortcut for activating point/line tool (#2522) by @tmszi
- wxGUI/vselect: fix output fully qualified vector name (#2483) by @tmszi
Python
- grass.pygrass: GridModule clean up temporary mapsets when exception occurs (#2614) by @tmszi
- python/grass/pygrass: reset back MAPSET search path after GridModule class instance finish (#2567) by @tmszi
Libraries:
Documentation and Messages
- man: allow register all addons keywords in main Keywords Index (#2529) by @tmszi
- man: use relative path for core modules man HTML page (#2574) by @tmszi
- mkhtml: use UTF-8 for decoding git log messages by (#2533) @landam
- howto_release.md: 'grasslxd' is new 'osgeo8-grass' by @neteler
- infrastructure.md: updates to reflect latest changes (#2375) by @neteler
Other Changes
- Remove Travis CI for 7.8 (#2546) by @wenzeslaus
- SEO and manuals: add viewport and page language (#2591) by @neteler
Docker:
- docker: update GRASS GIS 7 docker matrix by @neteler
Full Changelog: 7.8.7...7.8.8
GRASS GIS 8.3.0
The GRASS GIS 8.3.0 release provides more than 360 improvements and fixes with respect to the release 8.2.0.
Highlights
- graphical user interface: single-window GUI is now the default
- PyWPS export in GRASS GIS modeler
- Improved Jupyter Notebooks integration
- parallelization: more parallel C tools (openMP) and parallel Python tools
- many fixes and improvements in GRASS GIS modules and graphical user interface (see below)
- move translations from Transifex (thanks for your long-term support) to https://weblate.osgeo.org/projects/grass-gis/
- move of docker images from mundialis organization to https://hub.docker.com/r/osgeo/grass-gis/
- update of docker images
- improvement of the automated release creation
- major cleanup of C/C++ code: fix of almost all compiler warnings
- C/C++ code: adoption of Clang-Format, indent most of C code accordingly
- support for "pre-commit" in order to reduce unnecessary runs of the automated checks (GitHub Actions)
- notable improvements in the code checking section (GitHub Actions)
- activate renovatebot to automatically maintain GitHub Actions
- we have nine new contributors!
What's Changed
Modules
- d.text: Use standard options for colors by @wenzeslaus in #2439
- g.extension: Add details to URL error message by @wenzeslaus in #2479
- g.extension: Remove six dependency by @wenzeslaus in #2828
- g.extension: add tests for download from various sources by @ninsbl in #1158
- g.extension: backport of #3051 sparse checkout with history for fast commit log access by @ninsbl in #3060
- g.extension: fix addon SOURCE_URL env var value for official GitHub addons by @tmszi in #2936
- g.extension: fix extracting Git version string by @tmszi in #2929
- g.extension: fix getting addons path if input JSON file doesn't exist by @tmszi in #2717
- g.extension: fix printing extension temporary directory to stderr for downloading extension source code only with -d flag by @tmszi in #2918
- g.extension: refactor/simplify 'GitAdapter' class '_get_addons_list' method by @tmszi in #2925
- g.extension: show fatal message if installed Add-On doesn't exists in the repository by @tmszi in #2916
- g.extension: use copytree from shutil for py >= 3.8 by @ninsbl in #2592
- g.extension: use git sparse-checkout instead of SVN by @ninsbl in #2895
- g.gui.gmodeler: add PyWPS export option by @pesekon2 in #1919
- g.mapsets: Do not include additional empty new line by @tmszi in #2586
- g.proj: Fix -Wembedded-directive compiler warnings by @nilason in #2877
- g.region: fix setting from default region by @petrasovaa in #2397
- g.version: Change link to citations in manual by @veroandreo in #2695
- i.gensig: Add support of original class value in sig file (for i.maxlik) by @marisn in #2425
- i.maxlik: fix crash when classification result is NULL by @marisn in #2724
- i.vi: support soil_line_slope for PVI by @pesekon2 in #2561
- i.vi: update manual after PVI changes by @pesekon2 in #2903
- modules: Add JSON output for db.univar and v.db.univar by @wenzeslaus in #2386
- modules: Always use current major version in VTK outputs (r.out.vtk, r3.out.vtk, v.out.vtk) by @wenzeslaus in #2343
- modules: Replace bare except by Exception in r.unpack and i.in.spotvgt by @ShubhamSwati in #1578
- modules: Sync r.kappa and r.report mask reporting code by @wenzeslaus in #2391
- r.cost, r.walk: Fix integer overflows for percentages for large regions by @metzm in #2842
- r.geomorphon: fix -Wextra compiler warning by @nilason in #2754
- r.horizon: Fix typo in manual by @hellik in #2794
- r.horizon: fix -Wdeprecated-non-prototype warning by @nilason in #2798
- r.horizon: revert back to positive values only by @petrasovaa in #2955
- r.in.pdal: Fix use of PDAL 2.4 deprecated api by @nilason in #2656
- r.in.pdal: fix integer overflow by @nilason in #2844
- r.in.xyz: fix integer overflow by @nilason in #2847
- r.kappa: Add JSON output option by @marisn in #2666
- r.kappa: Add MCC by @marisn in #2680
- r.kappa: Fix failures, garbage output, fallback to category values by @marisn in #2573
- r.mapcalc: fix -Wunused-variable compiler warning by @nilason in #2665
- r.mfilter: check return value of write() by @nilason in #2737
- r.neighbors: fix integer overflow by @metzm in #2853
- r.patch: Fix gathering statistics with multi-threading by @jameshu15869 in #2906
- r.patch: disable parallelization when MASK is active by @petrasovaa in #2829
- r.patch: fix race condition for CELL rasters by @petrasovaa in #2410
- r.profile: Fix typos in the manual by @HuidaeCho in #2831
- r.proj: Fix a typo (lanzcos => lanczos) by @HuidaeCho in #2722
- r.resamp.filter: implement parallelization with OpenMP by @aaronsms in #1759
- r.resamp.interp: implement parallelization with OpenMP by @aaronsms in #1771
- r.stats.quantile: minimalistic testsuite added by @neteler in #2325
- r.stats.zonal: Add screenshots to manual by @neteler in #2577
- r.sun: Incorrect beam radiation for some steep inclined surfaces by @andrewg-cse in #2534
- r.terraflow: use default by @nilason in #2660
- r.univar: Add parallel support by @aaronsms in #1634
- r.univar: print correct cells value for zones in shell script style by @ninsbl in #2959
- r.univar: print only statistics for existing zones by @ninsbl in #2957
- r.viewshed: fix CodeQL warnings by @nilason in #2649
- r3.gwflow: Fix Rast3d_fatal_error() usage by @BadAssassin in #2597
- r3.in.v5d: Fix -Wliteral-range compiler warning by @nilason in #2748
- r3.out.netcdf: Use current major version in history attribute by @wenzeslaus in #2342
- t.rast.algebra: Add time function constants to temporal algebra by @ninsbl in #905
- t.rast.algebra: do not print when debug is off by @petrasovaa in #2926
- t.rast.series: Add 'file_limit' option by @ecodiv in #2429
- t.rast.series: pass n_procs and memory parameters to r.series by @griembauer in #2470
- t.rast.univar, t.rast3d.univar: Add support for zones by @ninsbl in #2588
- t.rast.univar/t.rast3d.univar: add support for multiprocessing by @ninsbl in #2624
- t.register: support mapset name in input file by @ninsbl in #2863
- t.rename: Fix error with SQLDatabaseInterface.update() by @ninsbl in #2886
- t.unregister: add support to unregister maps from other mapsets by @anikaweinmann in #2447
- v.buffer: fix option name in error message by @petrasovaa in #2791
- v.db.addcolumn: Add error message for layer without a table by @wenzeslaus in #2423
- v.extrude: do not require height/height_column if elevation specified by @landam in #2911
- v.in.ascii: Describe example data by @rs-aesi in #2951
- v.in.ogr: Get layer name without definition initialization by @frafra in #2740
- v.in.ogr: handle skipped, not empty columns by @ninsbl in #2658
- v.in.ogr: skip columns with unsupported data type instead of failing to import by @ninsbl in #2630
- v.info: Add vector name to no db connection message by @wenzeslaus in #2434
- v.out.vtk: Output double data type instead of float by @wenzeslaus in #2562
- v.random: do not transfer cat from area if attributes are coppied too by @marisn in #2537
- v.random: use unqualified names in db columns by @marisn in #2838
- v.surf.idw: fix applying mask by @petrasovaa in htt...
GRASS GIS 8.3.0RC1
The GRASS GIS 8.3.0RC1 release provides more than 360 improvements and fixes with respect to the release 8.2.0.
What's Changed
Highlights
- many fixes and improvements in GRASS GIS modules and graphical user interface (see below)
- move translations from Transifex (thanks for your long-term support) to https://weblate.osgeo.org/projects/grass-gis/
- update of docker images
- move of docker images from mundialis organization to https://hub.docker.com/r/osgeo/grass-gis/
- improvement of the automated release creation
- C/C++ code: adoption of Clang-Format, indent most of C code accordingly
- major cleanup of C/C++ code: fix of almost all compiler warnings
- support for "pre-commit" in order to reduce unnecessary runs of the automated checks (GitHub Actions)
- notable improvements in the code checking section (GitHub Actions)
- activate renovatebot to automatically maintain GitHub Actions
- we have nine new contributors!
Modules
- d.text: Use standard options for colors by @wenzeslaus in #2439
- g.extension: Add details to URL error message by @wenzeslaus in #2479
- g.extension: Remove six dependency by @wenzeslaus in #2828
- g.extension: add tests for download from various sources by @ninsbl in #1158
- g.extension: fix addon SOURCE_URL env var value for official GitHub addons by @tmszi in #2936
- g.extension: fix extracting Git version string by @tmszi in #2929
- g.extension: fix getting addons path if input JSON file doesn't exist by @tmszi in #2717
- g.extension: fix printing extension temporary directory to stderr for downloading extension source code only with -d flag by @tmszi in #2918
- g.extension: refactor/simplify 'GitAdapter' class '_get_addons_list' method by @tmszi in #2925
- g.extension: show fatal message if installed Add-On doesn't exists in the repository by @tmszi in #2916
- g.extension: use copytree from shutil for py >= 3.8 by @ninsbl in #2592
- g.extension: use git sparse-checkout instead of SVN by @ninsbl in #2895
- g.gui.gmodeler: add PyWPS export option by @pesekon2 in #1919
- g.mapsets: Do not include additional empty new line by @tmszi in #2586
- g.proj: Fix -Wembedded-directive compiler warnings by @nilason in #2877
- g.region: fix setting from default region by @petrasovaa in #2397
- g.version: Change link to citations in manual by @veroandreo in #2695
- i.gensig: Add support of original class value in sig file (for i.maxlik) by @marisn in #2425
- i.maxlik: fix crash when classification result is NULL by @marisn in #2724
- i.vi: support soil_line_slope for PVI by @pesekon2 in #2561
- i.vi: update manual after PVI changes by @pesekon2 in #2903
- modules: Add JSON output for db.univar and v.db.univar by @wenzeslaus in #2386
- modules: Always use current major version in VTK outputs (r.out.vtk, r3.out.vtk, v.out.vtk) by @wenzeslaus in #2343
- modules: Replace bare except by Exception in r.unpack and i.in.spotvgt by @ShubhamSwati in #1578
- modules: Sync r.kappa and r.report mask reporting code by @wenzeslaus in #2391
- r.cost, r.walk: Fix integer overflows for percentages for large regions by @metzm in #2842
- r.geomorphon: fix -Wextra compiler warning by @nilason in #2754
- r.horizon: Fix typo in manual by @hellik in #2794
- r.horizon: fix -Wdeprecated-non-prototype warning by @nilason in #2798
- r.horizon: revert back to positive values only by @petrasovaa in #2955
- r.in.pdal: Fix use of PDAL 2.4 deprecated api by @nilason in #2656
- r.in.pdal: fix integer overflow by @nilason in #2844
- r.in.xyz: fix integer overflow by @nilason in #2847
- r.kappa: Add JSON output option by @marisn in #2666
- r.kappa: Add MCC by @marisn in #2680
- r.kappa: Fix failures, garbage output, fallback to category values by @marisn in #2573
- r.mapcalc: fix -Wunused-variable compiler warning by @nilason in #2665
- r.mfilter: check return value of write() by @nilason in #2737
- r.neighbors: fix integer overflow by @metzm in #2853
- r.patch: Fix gathering statistics with multi-threading by @jameshu15869 in #2906
- r.patch: disable parallelization when MASK is active by @petrasovaa in #2829
- r.patch: fix race condition for CELL rasters by @petrasovaa in #2410
- r.profile: Fix typos in the manual by @HuidaeCho in #2831
- r.proj: Fix a typo (lanzcos => lanczos) by @HuidaeCho in #2722
- r.resamp.filter: implement parallelization with OpenMP by @aaronsms in #1759
- r.resamp.interp: implement parallelization with OpenMP by @aaronsms in #1771
- r.stats.quantile: minimalistic testsuite added by @neteler in #2325
- r.stats.zonal: Add screenshots to manual by @neteler in #2577
- r.sun: Incorrect beam radiation for some steep inclined surfaces by @andrewg-cse in #2534
- r.terraflow: use default by @nilason in #2660
- r.univar: Add parallel support by @aaronsms in #1634
- r.univar: print correct cells value for zones in shell script style by @ninsbl in #2959
- r.univar: print only statistics for existing zones by @ninsbl in #2957
- r.viewshed: fix CodeQL warnings by @nilason in #2649
- r3.gwflow: Fix Rast3d_fatal_error() usage by @BadAssassin in #2597
- r3.in.v5d: Fix -Wliteral-range compiler warning by @nilason in #2748
- r3.out.netcdf: Use current major version in history attribute by @wenzeslaus in #2342
- t.rast.algebra: Add time function constants to temporal algebra by @ninsbl in #905
- t.rast.algebra: do not print when debug is off by @petrasovaa in #2926
- t.rast.series: Add 'file_limit' option by @ecodiv in #2429
- t.rast.series: pass n_procs and memory parameters to r.series by @griembauer in #2470
- t.rast.univar, t.rast3d.univar: Add support for zones by @ninsbl in #2588
- t.rast.univar/t.rast3d.univar: add support for multiprocessing by @ninsbl in #2624
- t.register: support mapset name in input file by @ninsbl in #2863
- t.rename: Fix error with SQLDatabaseInterface.update() by @ninsbl in #2886
- t.unregister: add support to unregister maps from other mapsets by @anikaweinmann in #2447
- v.buffer: fix option name in error message by @petrasovaa in #2791
- v.db.addcolumn: Add error message for layer without a table by @wenzeslaus in #2423
- v.extrude: do not require height/height_column if elevation specified by @landam in #2911
- v.in.ascii: Describe example data by @rs-aesi in #2951
- v.in.ogr: Get layer name without definition initialization by @frafra in #2740
- v.in.ogr: handle skipped, not empty columns by @ninsbl in #2658
- v.in.ogr: skip columns with unsupported data type instead of failing to import by @ninsbl in #2630
- v.info: Add vector name to no db connection message by @wenzeslaus in #2434
- v.out.vtk: Output double data type instead of float by @wenzeslaus in #2562
- v.random: do not transfer cat from area if attributes are coppied too by @marisn in #2537
- v.random: use unqualified names in db columns by @marisn in #2838
- v.surf.idw: fix applying mask by @petrasovaa in #2383
- v.surf.rst: fix cross-validation and prevent running it multi-threaded by @petrasovaa in #2643
- v.to.rast: Use verbose for no area message, not warning by @wenzeslaus in #2459
- v.what: new option to select columns by @metzm in https://github.co...