There is a newer version of the record available.

Published June 3, 2022 | Version 8.2.0
Software Open

OSGeo/grass: GRASS GIS 8.2.0

  • 1. Czech Technical University in Prague
  • 2. @mundialis
  • 3. NCSU
  • 4. North Carolina State University
  • 5. University of North Georgia
  • 6. Fondazione Edmund Mach
  • 7. Eurac research / SynapsEES
  • 8. Arizona State University
  • 9. JRC
  • 10. Bluesquare
  • 11. Norwegian Institute for Nature Research
  • 12. CONICET

Description

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
Highlights

    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

Modules
Raster

    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
    r.in.pdal: 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 r.in.ascii 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
    r.surf.random: 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

Vector

    v.distance: relax parser rules by @ninsbl in #2127
    v.import: Fix wrong module mentioned in documentation by @agiudiceandrea in #2142
    v.in.ogr: testsuite added by @neteler in #2292
    v.out.ogr: Fix a typo and remove -z flag mention from warning messages by @agiudiceandrea in #1694
    v.perturb: If vector map is 3D, preserve the z coordinate by @wenzeslaus in #1660
    v.rast.stats: note about vector overlap limitation by @jfbourdon in #1730
    v.to.db: fix option=query by @metzm in #2085

Imagery

    i.atcorr: Replace CRLF by LF in sensor CSVs by @wenzeslaus in #2149
    i.spectral: show error message if one of the supported monitor isn't running by @tmszi in #1991
    i.vi: Add Crust Index algorithm to i.vi by @YannChemin in #1997
    i.vi: fix PVI formula by @pesekon2 in #1985
    i.vi: fix formatting by @neteler in #2007
    Rename g.bands to i.band.library and i.band to r.semantic.label by @marisn in #1983

Temporal and 3D raster

    r3.showdspf: Fix resource leak by @lbartoletti in #2295
    t.rast.list: Add CSV, JSON, YAML outputs by @wenzeslaus in #2258
    t.rast.mapcalc: transfer semantic label by @metzm in #2219
    t.rast.neighbors: transfer semantic label by @metzm in #2218

Display

    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

General

    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/preferences.py: 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

Python

    Python: Increase minimum Python version to 3.7 by @wenzeslaus in #2241
    grass.gunittest: Add config, timeout, more unique naming, update to new Python versions by @wenzeslaus in #2182 #2180 #2172 #2006 #2181 #2014
    grass.jupyter: All grass.jupyter functionality unofficially included in from 8.0.0 is now released by @chaedri
    grass.jupyter: Rename and restructure rendering classes @chaedri in #2208 #2015 #2305 #2306 #2312
    grass.jupyter: Add time series visualizations by @chaedri in #2010
    grass.jupyter: Generate API doc for Jupyter package by @wenzeslaus in #2284 #2200 #2307
    grass.jupyter: Manage sessions and temporary data by @wenzeslaus in #1834 #2206 #2247
    grass.jupyter: Add play widget for animation by @petrasovaa in #2318
    grass.jupyter: Automatically determine render image dimensions based on region by @petrasovaa in #2285 #2301
    grass.pygrass: Improve exception handling in Info.open (#1555) by @Viech in #1559
    grass.pygrass: Make GridModule tile size optional by @petrasovaa in #2294
    grass.pygrass: Use parallel r.patch in GridModule when overlap=0 to speed up patching tiles by @petrasovaa in #2249
    grass.pygrass: Use unique tmp mapset names GridModule by @wenzeslaus in #1967
    grass.script.array: remove deprecated read function by @petrasovaa in #1926
    grass.script.setup: Add return of a context manager from init by @albertoparadisllop in #1912
    grass.script: Do not print stderr when not captured by @wenzeslaus in #2246
    grass.script: Fix collision of random names in test by @wenzeslaus in #2105
    grass.script: Fix path resolving in init by @wenzeslaus in #1979
    grass.script: Pass encoding to Popen parameters by @albertoparadisllop in #1914
    grass.lib: Update ctypesgen by @nilason in #2243 #2079
    grass.benchmark: Usability additions to the unofficial benchmarking library by @petrasovaa and @wenzeslaus in #2201 #2319 #2242 #2152

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

    init: Fix loading of language override setting. Fixes #1489 by @marisn in #1990
    init: Lazy-initialize translations, fix order dependency by @wenzeslaus in #1838
    init: Output value for sys.path in config by @wenzeslaus in #1835
    init: Improve and unify initialization and addon base for macOS by @nilason in #2004 #2000 #2256
    init: fix help string config options by @petrasovaa in #2240
    startup: Start shell from start_shell() by @HuidaeCho in #1953
    startup: Use universal newlines by @HuidaeCho in #1952

Documentation and Messages

    Sphinx: Generate class doc from class and init by @wenzeslaus in #2317
    doc: Add Zenodo DOI badge to readme by @wenzeslaus in #2122
    doc: Add section about semantic labels to imagery intro by @neteler in #2091
    doc: Fix filename for PNG file by @sebastic in #2052
    manual: add entries about Jupyter notebook support by @neteler in #2314
    messages: Change Proj.4 to PROJ by @neteler in #2194
    messages: Mention session when missing GISRC or variable by @wenzeslaus in #2124 #2130
    mkhtml: Fix path to source code by @tmszi in #2054 #1892
    mkhtml: Fix get core modules commit from local Git repo and GitHub API by @tmszi in #2113 #2139 #2037
    mkhtml: Generate local JSON file with core modules and their last commit by @tmszi in #2140
    mkhtml: Get date from git log and remove Subversion date from code by @ninsbl and @neteler in #2100 #2143

Translations, Internationalization, and Localization

    i18n: Add POT files for Weblate Template for new translations by @HuidaeCho in #2316
    i18n: Fix long dash confusing xgettext by @neteler in #2035
    i18n: Updates from Transifex and Weblate by @HuidaeCho in #2062 #2236 #2412
    i18n: xgettext --from-code=utf-8 by @HuidaeCho in #2061

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

    CI: More Flake8, Pylint, Black, CRLF checks by @wenzeslaus in #2199 #2198 #2213 #2144 #2212 #2286 #2147 #2148
    CI: Automatically create new GitHub release draft by @tmszi and @wenzeslaus in #2224 #2347 #2398
    CI: Enable module assertions test (#2311) by @adinayyu in #2311
    CI: Switch to OSGeo4W V2 by @ninsbl in #2074
    CI: Test also without OpenMP and pthreads by @wenzeslaus in #2245
    CI: Use C and C++ compilation fixes and warnings by @nilason and @lbartoletti in #2274 #2162 #2157 #2159 #2160 #2161 #2158 #2168 #2266 #2250 #2296
    checks: Fix spelling errors by @sebastic in #2053
    pytest: Add very basic config to run pytest by @wenzeslaus in #2183
    tests: Output both Bash and Python for failed tests by @wenzeslaus in #1805

Contributing and Management

    CONTRIBUTING.md: describe the fork process more in detail by @pesekon2 in #2151
    Simplify and describe the release procedure by @wenzeslaus and @neteler in #2099 #2057 #2237 #2136 #2116 #2195 #1999 #2349 #2405 #2396 #2328 #2346 #2329 #2331
    contributors.csv: added new ORCID column by @neteler in #2177

New Contributors

    @albertoparadisllop made their first contribution in #1914
    @jfbourdon made their first contribution in #1730
    @Viech made their first contribution in #1559
    @t0b3 made their first contribution in #2269
    @adinayyu made their first contribution in #2311

Full Changelog: 8.0.0...8.2.0

Files

OSGeo/grass-8.2.0.zip

Files (69.9 MB)

Name Size Download all
md5:08d5a7cfb06c7ee760cdb74c9eecad24
69.9 MB Preview Download

Additional details

Related works