Skip to content

GRASS GIS 8.2.0RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 28 Apr 21:26

The GRASS GIS 8.2.0RC1 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, 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
  • 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 reproducibility purposes by @tmszi

Modules

  • d.background: Add module for setting display background color by @wenzeslaus in #2282
  • d.graph: Remove an always true condition by @lbartoletti in #2296
  • d.linegraph: Fix generate graph image if 'x_title', 'y_title' param arg isn't defined by @tmszi in #1978
  • 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
  • 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
  • modules: Add keyword parallel for parallelized modules by @petrasovaa in #2322
  • modules: Rename g.bands to i.band.library and i.band to r.semantic.label by @marisn in #1983
  • 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
  • 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
  • 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

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: Replace CRLF by LF in properties.py by @wenzeslaus in #2148
  • 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

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
  • doc: Improve grass.script.setup doc for macOS and Black format by @nilason in #2000
  • doc: add config option python_path by @nilason in #2256
  • manual pages: Remove unneeded SVN Date entry and selected cleanup by @neteler in #2143
  • manual: add entries about Jupyter notebook support by @neteler in #2314
  • messages: Change Proj.4 to PROJ by @neteler in #2194
  • messages: Mention session in the missing GISRC message by @wenzeslaus in #2124
  • messages: Mention session in the variable not set message by @wenzeslaus in #2130
  • messages: Sync TGIS DB version mismatch version with v7.8 by @landam in #2088
  • mkhtml: Fix addons_paths.json file path by @tmszi in #2054
  • mkhtml: Fix get and set addon manual page source and history URL by @tmszi in #1892
  • mkhtml: Fix get core modules commit from local Git repo and GitHub API by @tmszi in #2113
  • mkhtml: Fix print warning/fatal message during compilation by @tmszi in #2139
  • mkhtml: Fix setting source code and history URL if official addon is installed from the local directory by @tmszi in #2037
  • mkhtml: Generate local JSON file with core modules and their last commit by @tmszi in #2140
  • mkhtml: Get date from git log by @ninsbl in #2100

Libraries and General Functionality

  • TGIS: Make database v3 backward compatible with v2 by @landam in #1454
  • TGIS: add semantic label to STRDS export by @metzm in #2262
  • TGIS: add semantic label to list of maps by @metzm in #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 ff) 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

Translations, Internationalization, and Localization

Windows

  • winGRASS: Add missing DLLs for MS Windows packaging by @ninsbl in #2204
  • winGRASS: change form BU Execute to "GenericRead + GenericExecute" by @neteler in #2069

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

Docker

  • 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

Continuous Integration, Tests, Code Quality, and Checks

Contributing and Management

  • CONTRIBUTING.md: describe the fork process more in detail by @pesekon2 in #2151
  • contributing: Better explain howto add new tag in howto_release.md by @neteler in #2099
  • contributing: Create ChangeLog with GH API in howto_release.md by @neteler in #2057
  • contributing: Forwardport notes from 8.0 in howto_release.md by @neteler in #2237
  • contributing: Minor tweaks in howto_release.md by @neteler in #2136
  • contributing: More "Create tag" tricks added to howto_release.md by @neteler in #2116
  • contributing: Sync howto_release.md to 8.0 by @neteler in #2195
  • contributing: Update howto_release.md for v8 by @neteler in #1999
  • contributors.csv: added new ORCID column by @neteler in #2177

New Contributors

Full Changelog: 8.0.0...8.2.0RC1

Binder DOI