Skip to main content

GRASS GIS 8.2.0 Switch to the latest release

Published on: 14/10/2022

The GRASS GIS 8.2.0 release provides more than 225 improvements and fixes with respect to the release 8.0.0.

What's Changed


  • Parallel processing in r.series, r.patch, r.mfilter, and r.slope.aspect by @aaronsms
  • Single window graphical user interface from Settings > Preferences > General by @lindakladivova
  • A new map display settings dialog and status bar context menu by @lindakladivova
  • A new grass.jupyter package for interacting with Jupyter notebooks by @chaedri Binder
  • GridModule from grass.pygrass is easier and safer to use by @petrasovaa and @wenzeslaus
  • init from grass.script.setup now returns a context manager by @albertoparadisllop and @wenzeslaus
  • A JSON file with latest commit info is available for packaging and reproducibility purposes by @tmszi



  • r.buildvrt: check if all input maps are NULL-only by @neteler in #2220
  • r.clump: fix clumping of FCELL/DCELL maps with threshold=0 by @metzm in #1792
  • r.colors: fix order of rules by @metzm in #2167
  • r.external: testsuite added by @neteler in #2291
  • r.geomorphon: combine profile parser rules to allow usage as pygrass module by @ninsbl in #2154
  • pass LasHeader::header by const ref by @nilason in #2277
  • r.mfilter: implement parallelization with OpenMP by @aaronsms in #1708
  • r.neighbors: implement parallelization with OpenMP by @aaronsms in #1724
  • r.object.geometry: Explicitly specify CELL type in in test by @petrasovaa in #2265
  • r.object.geometry: fix msg typo and test script by @neteler in #1994
  • r.out.gdal: add offset/scale options by @landam in #1992
  • r.patch: implement parallelization with OpenMP by @aaronsms in #1782
  • r.quantile/r.stats.quantile/libstats: fix quantile algorithm by @metzm in #2108
  • r.random.cells: treat distance as minimum distance by @metzm in #1797
  • r.series: implement parallelization with OpenMP by @aaronsms in #1776
  • r.slope.aspect: implement parallelization with OpenMP by @aaronsms in #1767
  • r.stats.quantile: sync to r.quantile by @metzm in #2323
  • double min max for DCELL and r.mapcalc-style random numbers by @wenzeslaus in #322
  • r.watershed: Keep 0 accumulation with -a as 0 as opposed to null by @HuidaeCho in #2169
  • r.watershed: Null accumulation outside elevation, 0 flow from null flow by @HuidaeCho in #2221



Temporal and 3D raster


  • d.background: Add module for setting display background color by @wenzeslaus in #2282
  • d.linegraph: Fix generate graph image if 'x_title', 'y_title' param arg isn't defined by @tmszi in #1978


  • Add keyword parallel for parallelized modules by @petrasovaa in #2322
  • g.extension.all: Fix reinstall of multi-addons by @tmszi in #2082
  • g.extension: Disable multi-addon addon metadata check for addons which install only man page by @tmszi in #2090
  • g.extension: Fix get_addons_paths function json_file attribute by @tmszi in #2094
  • g.extension: Fix link generation in multi-addon man page for addons by @tmszi in #2097
  • g.extension: catch missing modules.xml error by @neteler in #2058
  • g.extension: fix make command on FreeBSD by @lbartoletti in #2075
  • g.extension: remove build_platform (only 64bit provided on MS Windows) by @landam in #2102
  • g.gisenv: Describe where the variables are stored in manual by @jidanni in #232
  • g.gui.timeline: fix annotation box by @petrasovaa in #2107
  • g.region: Add more detail into LL error messages by @wenzeslaus in #1988
  • g.region: Apply -a flag for n=, s=, w=, e= by @HuidaeCho in #1884
  • g.region: Fix setting from default region by @petrasovaa in #2397

Graphical User Interface

  • wxGUI Single-Window: Focus the Console pane when console content has been changed by @lindakladivova in #2121
  • wxGUI Single-Window: Make Tools pane wider after startup by @lindakladivova in #2216
  • wxGUI/data: use watchdog to update tree when mapset is switched externally (cmdline) by @petrasovaa in #1174
  • wxGUI/digitizer: don't attempt to draw zero-length lines by @petrasovaa in #1989
  • wxGUI/gui_core: fix change opacity level dialog min/max size, widgets expand horizontally by @tmszi in #2067
  • wxGUI/gui_core: fix open map display overlay settings dialog by @tmszi in #2065
  • wxGUI/gui_core: fix right mouse click on the root tree node to invoke menu by @tmszi in #2119
  • wxGUI/location_wizard: make TextCtrl widgets horizontally growable by @tmszi in #2026
  • wxGUI/main_window: fix close map notebook page by @tmszi in #2072
  • wxGUI/mapdisp: it is also possible to remove the MASK interactively by @tmszi in #1176
  • wxGUI/ fix loading default user settings by @tmszi in #2041
  • wxGUI/psmap: remove setpdfwrite on Windows by @ninsbl in #1961
  • wxGUI/toolbars: fix toolbar tools labels by @tmszi in #1147
  • wxGUI/xml/toolboxes.xml: add missing 'r.fill.stats' module item inside 'InterpolateSurfaces' toolbox by @tmszi in #1977
  • wxGUI/xml: add Raster digitizer tool among GUI tools toolbox items by @tmszi in #2125
  • wxGUI: Fix Location Wizard titles being cut off. by @ocsmit in #1774
  • wxGUI: Fix statusbar mode index for GetMode method by @lindakladivova in #2190
  • wxGUI: Fix the error when statusbar does know statusbarItem property "region" by @lindakladivova in #2106
  • wxGUI: Map display object has no attribute iconsize by @lindakladivova in #2021
  • wxGUI: Move SbMask widget to main window statusbar by @lindakladivova in #2089
  • wxGUI: Move statusbar checkboxes related to Map Display to a new Map Display Settings dialog by @lindakladivova in #2031
  • wxGUI: New toolbar icon for accessing Map Display settings dialog by @lindakladivova in #2214
  • wxGUI: Projection checkbox from Map Display statusbar moved to Map Display Settings by @lindakladivova in #2087
  • wxGUI: Statusbar settings as a part of Map Display Settings by @lindakladivova in #2153
  • wxGUI: Thread.setDaemon deprecated with Python 3.10 by @petrasovaa in #2145
  • wxGUI: Use Map Display settings in other Map Display applications by @lindakladivova in #2155
  • wxGUI: add single window to settings by @petrasovaa in #1810
  • wxGUI: do not import from pygrass on gui startup by @petrasovaa in #2202
  • wxGUI: fix 'SpinCtrl' widget size by @tmszi in #1339
  • wxGUI: fix saving and setting display position in workspace for multiple window layout by @petrasovaa in #2321
  • wxGUI: fix unexpected type float error with Python 3.10 by @petrasovaa in #2030
  • wxGUI: font size Python 3.10 fix by @petrasovaa in #2036
  • wxGUI: get rid of gradient in map display notebook tabs by @petrasovaa in #2071
  • wxGUI: lazy loading of C imagery functions in SignatureSelect by @petrasovaa in #2120
  • wxGUI: more Python 3.10 fixes by @petrasovaa in #2050
  • wxGUI: move datacatalog search below toolbar, make it stretch by @petrasovaa in #2207
  • wxGUI: new context menu for statusbar settings by @lindakladivova in #2251
  • wxGUI: refactoring: Map Display inheriting from wx.Panel by @lindakladivova in #1675
  • wxGUI: remove unnecessary printing of invalid map size by @petrasovaa in #2146
  • wxGUI: rename Modules tab to Tools tab, and Display tab to Layers tab by @lindakladivova in #1927
  • wxGUI: update statusbar when projection settings checkbox has been toggled by @lindakladivova in #2178
  • wxGUI: use basic top module notebook style on all platforms as default by @petrasovaa in #2063


Libraries and General Functionality

  • TGIS: Make database v3 backward compatible with v2 by @landam in #1454 #2088
  • TGIS: add semantic label to list of maps and STRDS export by @metzm in #2262 #2231
  • TGIS: any number of "_" is allowed in semantic labels by @metzm in #2238
  • TGIS: enhance mapset access management by @metzm in #1924
  • TGIS: fix semantic label by @metzm in #2215
  • TGIS: new module t.copy by @metzm in #1930
  • TGIS: number_of_bands -> number_of_semantic_labels by @landam in #2011
  • grass_dbmiclient: check if driver name is null or empty by @ninsbl in #2131
  • grass_dbmidriver: Convert character varying without length to text in PG driver by @metzm in #2248
  • grass_dbmidriver: Fix pointer-sign compiler warnings for ODBC driver by @nilason in #2086
  • grass_dbmidriver: Support no locking for SQLite driver over NFS by @metzm in #1667
  • grass_raster: remove GDAL_DYNAMIC (fixes #1872, reverts 2650397) by @jef-n in #2290
  • lib/imagery: fix SONAME missing by @t0b3 in #2269
  • libgis: Add function to read or read again GISRC var by @wenzeslaus in #2244
  • libgmath: fix incorrect memset of double array by @nilason in #2005
  • raster: Rename band references to semantic labels by @marisn in #1928

Startup, Initialization, and Environment

Documentation and Messages

Translations, Internationalization, and Localization

Packaging, Configuration, Portability, and Compilation

  • Make: add -rpath to LD_SEARCH_FLAGS by @metzm in #2280
  • configure: update to latest config.guess and config.sub by @nilason in #2225
  • pkg-config: with G8 the grass executable is non-versioned by @nilason in #2227
  • rpm: Update grass.spec to GRASS GIS 8.0.0 by @neteler in #2098
  • winGRASS: Add missing DLLs for MS Windows packaging by @ninsbl in #2204
  • winGRASS: change form BU Execute to "GenericRead + GenericExecute" by @neteler in #2069

Docker and Singularity

  • Docker: Enable openMP, fix PDAL support in Alpine Dockerfile by @neteler in #2287
  • Docker: Remove custom pip install for alpine docker by @mmacata in #2028
  • Docker: Update alpine version in Dockerfile by @mmacata in #2073
  • docker: GRASS GIS docker matrix update by @neteler in #2263
  • singularity: Minor fixes of definition file by @lucadelu in #2179

Continuous Integration, Tests, Code Quality, and Checks

Contributing and Management

New Contributors

Full Changelog: 8.0.0...8.2.0


Visit the release page for detailed release notes.

Thanks to all contributors!

Binder DOI