Releases: OSGeo/grass
GRASS GIS 7.8.8RC1
The GRASS GIS 7.8.8RC1 release provides a few fixes and improvements with respect to the release 7.8.7.
What's Changed
Major changes:
- lib/imagery: fix missing SONAME (#2363) by @neteler
- Make: add -rpath to LD_SEARCH_FLAGS (#2280) by @metzm
Minor changes:
Graphical User Interface:
Docker:
- docker: update GRASS GIS 7 docker matrix by @neteler
Libraries:
Full Changelog: 7.8.7...7.8.8RC1
GRASS GIS 8.0.2
The GRASS GIS 8.0.2 release provides more than 30 fixes and improvements with respect to the release 8.0.1.
What's Changed
Major changes:
- grass_raster: Remove dynamic loading of GDAL libraries (#2290) by @jef-n
- r.quantile, r.stats.quantile, lib/stats: fix quantile algorithm (#2108) by @metzm
- r.stats.quantile: sync to r.quantile (#2323) by @metzm
- lib/imagery: fix missing SONAME (#2363) by @neteler
Minor changes:
- r.buildvrt: check if all input maps are NULL-only (#2220) by @neteler
- r.colors: fix order of rules (#2167) by @metzm
- r.geomorphon: combine profile parser rules to allow usage as pygrass module (#2154) (#2226) by @ninsbl
- r.in.pdal: pass LasHeader::header by const ref (#2277) by @nilason
- r.slope.aspect: fix logical test for printing north (#2157) by @nilason
- startup: Use universal newlines (#1952) by @HuidaeCho
- TGIS: add semantic label to list of maps (#2231) by @metzm
- TGIS: add semantic label to STRDS export (#2262) by @metzm
- TGIS: any number of "_" is allowed in semantic labels (#2238) by @metzm
- TGIS: enhance mapset access management (#1924) by @metzm
- TGIS: fix semantic label (#2215) by @metzm
- t.rast.mapcalc: transfer semantic label (#2219) by @metzm
- t.rast.neighbors: transfer semantic label (#2218) by @metzm
Graphical User Interface:
- wxGUI: do not import from pygrass on gui startup (#2202) by @petrasovaa
- wxGUI: Fix Location Wizard titles being cut off. (#1774) by @ocsmit
- wxGUI: fix 'SpinCtrl' widget size (#1339) by @tmszi
- wxGUI: Thread.setDaemon deprecated in Python 3.10 (#2145) by @petrasovaa
- wxGUI: add r.in.wms into ImportRasterData toolbox (#2364) by @tmszi
CI:
- black: drop test in release branch (#2298) by @neteler
- ci/centos: use C++11 standard compile mode (#2274) by @nilason
- CI: Remove Ubuntu 18.04 check (#2324) by @wenzeslaus
- r.external: testsuite added (#2291) by @neteler
- v.in.ogr: testsuite added (#2292) by @neteler
Docker:
- alpine/Dockerfile: openMP enabled, PDAL support fixed (#2287) by @neteler
- docker: GRASS GIS docker matrix update (#2263) by @neteler
- singularity: Minor fixes of definition file (#2179) by @lucadelu
Manual:
- CONTRIBUTING.md: describe the fork process more in detail by @pesekon2
- manual pages: remove unneeded SVN Date entry and selected cleanup (#2143) by @neteler
Libraries:
- configure: update to latest config.guess and config.sub (#2225) by @nilason
- ctypesgen: remove unnamed zero bit sized structure members (#2079) by @nilason
- DB driver PG: convert character varying without length to text (#2248) by @metzm
- grass.lib: Update ctypesgen (#2243) by @nilason
- libgis: close files if G_copy_file fails (#2266) by @lbartoletti
- lib/imagery: fix SONAME missing (#2269) by @t0b3
- Make: add -rpath to LD_SEARCH_FLAGS (#2280) by @metzm
- pkg-config file: grass executable is non-versioned (#2227) by @nilason
- utils/mkhtml: fix print warning/fatal message during compilation (#2139) by @tmszi
Windows:
Full Changelog: 8.0.1...8.0.2
GRASS GIS 8.2.0RC1
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 https://github.com/OSGeo/grass/p...
GRASS GIS 8.0.2RC1
The GRASS GIS 8.0.2RC1 release provides almost 30 fixes and improvements with respect to the release 8.0.1.
What's Changed
Major changes:
- grass_raster: Remove dynamic loading of GDAL libraries (#2290) by @jef-n
- r.quantile, r.stats.quantile, lib/stats: fix quantile algorithm (#2108) by @metzm
- r.stats.quantile: sync to r.quantile (#2323) by @metzm
Minor changes:
- r.buildvrt: check if all input maps are NULL-only (#2220) by @neteler
- r.colors: fix order of rules (#2167) by @metzm
- r.geomorphon: combine profile parser rules to allow usage as pygrass module (#2154) (#2226) by @ninsbl
- r.in.pdal: pass LasHeader::header by const ref (#2277) by @nilason
- r.slope.aspect: fix logical test for printing north (#2157) by @nilason
- startup: Use universal newlines (#1952) by @HuidaeCho
- TGIS: add semantic label to list of maps (#2231) by @metzm
- TGIS: add semantic label to STRDS export (#2262) by @metzm
- TGIS: any number of "_" is allowed in semantic labels (#2238) by @metzm
- TGIS: enhance mapset access management (#1924) by @metzm
- TGIS: fix semantic label (#2215) by @metzm
- t.rast.mapcalc: transfer semantic label (#2219) by @metzm
- t.rast.neighbors: transfer semantic label (#2218) by @metzm
Graphical User Interface:
- wxGUI: do not import from pygrass on gui startup (#2202) by @petrasovaa
- wxGUI: Fix Location Wizard titles being cut off. (#1774) by @ocsmit
- wxGUI: fix 'SpinCtrl' widget size (#1339) by @tmszi
- wxGUI: Thread.setDaemon deprecated in Python 3.10 (#2145) by @petrasovaa
CI:
- black: drop test in release branch (#2298) by @neteler
- ci/centos: use C++11 standard compile mode (#2274) by @nilason
- CI: Remove Ubuntu 18.04 check (#2324) by @wenzeslaus
- r.external: testsuite added (#2291) by @neteler
- v.in.ogr: testsuite added (#2292) by @neteler
Docker:
- alpine/Dockerfile: openMP enabled, PDAL support fixed (#2287) by @neteler
- docker: GRASS GIS docker matrix update (#2263) by @neteler
- singularity: Minor fixes of definition file (#2179) by @lucadelu
Manual:
- CONTRIBUTING.md: describe the fork process more in detail by @pesekon2
- manual pages: remove unneeded SVN Date entry and selected cleanup (#2143) by @neteler
Libraries:
- configure: update to latest config.guess and config.sub (#2225) by @nilason
- ctypesgen: remove unnamed zero bit sized structure members (#2079) by @nilason
- DB driver PG: convert character varying without length to text (#2248) by @metzm
- grass.lib: Update ctypesgen (#2243) by @nilason
- libgis: close files if G_copy_file fails (#2266) by @lbartoletti
- lib/imagery: fix SONAME missing (#2269) by @t0b3
- Make: add -rpath to LD_SEARCH_FLAGS (#2280) by @metzm
- pkg-config file: grass executable is non-versioned (#2227) by @nilason
- utils/mkhtml: fix print warning/fatal message during compilation (#2139) by @tmszi
Windows:
Full Changelog: 8.0.1...8.0.2RC1
GRASS GIS 8.0.1
This is an update release of the GRASS GIS 8.0 series.
Download source code tarball at
- https://grass.osgeo.org/grass80/source/grass-8.0.1.tar.gz
- https://grass.osgeo.org/grass80/source/grass-8.0.1.md5sum
For further release details (bug fixes and enhancements), see
The GRASS GIS 8.0.1 release provides more than 20 fixes and improvements with respect to the release 8.0.0.
What's Changed
Important fixes
- utils/mkhtml: fix print warning/fatal message during compilation to not break offline compilations (#2139) by @tmszi
- r.quantile, r.stats.quantile, lib/stats: fix quantile algorithm (#2108) by @metzm
Module fixes
- r.colors: fix order of rules (#2167) by @metzm
- r.geomorphon: combine profile parser rules to allow usage as pygrass module (#2154) (#2226) by@ninsbl
- TGIS: fix semantic label (#2215) by @metzm
- t.rast.mapcalc: transfer semantic label (#2219) by @metzm
- t.rast.neighbors: transfer semantic label (#2218) by @metzm
GUI
- wxGUI: do not import from pygrass on gui startup (#2202) by @petrasovaa
- wxGUI: Thread.setDaemon deprecated in Python 3.10 (#2145) by @petrasovaa
Portability
Documentation
- CONTRIBUTING.md: describe the fork process more in detail by @pesekon2
- Fix typo in v.import documentation (#2142) by @agiudiceandrea
- howto_release.md: cleanup of marketing section by @neteler
- manual pages: remove unneeded SVN Date entry and selected cleanup (#2143) by @neteler
Singularity
Full Changelog: 8.0.0...8.0.1
GRASS GIS 7.8.7
This is an update release of the GRASS GIS 7.8 series.
Download source code tarball at
- https://grass.osgeo.org/grass78/source/grass-7.8.7.tar.gz
- https://grass.osgeo.org/grass78/source/grass-7.8.7.md5sum
For further release details (bug fixes and enhancements), see
The GRASS GIS 7.8.7 release provides more than 40 fixes and improvements with respect to the release 7.8.6.
What's Changed
Modules:
- g.extension.all: fix reinstall multi-addons by @tmszi in #2082
- g.extension: disable checking multi-addon addons metadata by @tmszi in #2090
- g.extension: fix get get_addons_paths func json_file attribute by @tmszi in #2094
- g.extension: fix link generation in multi-addon man page for addons by @tmszi in #2097
- i.spectral: show error message if one of the supported monitor isn't running by @tmszi in #1991
- i.vi: fix PVI formula by @pesekon2 in #1985
- r.sun: Fix metadata update on parallel computation by @aaronsms in #1514
- tgis db version mismatch: promote t.downgrade by @landam in #2002
wxGUI:
- wxGUI: font size Python 3.10 fix by @petrasovaa in #2036
- wxGUI: no is_shell_running available by @neteler in #2056
- wxGUI: fix unexpected type float error with Python 3.10 by @petrasovaa in #2030
- wxGUI/gui_core: fix change opacity level dialog min/max size by @tmszi in #2067
- wxGUI: more Python 3.10 fixes by @neteler in #2050
- wxGUI/preferences.py: fix loading default user settings by @tmszi in #2041
- wxGUI/splashscreen: use standard one, try to show it before main app, increase timeout by @petrasovaa in #1718
- wxGUI/xml/toolboxes.xml: add missing 'r.fill.stats' module item inside 'InterpolateSurfaces' toolbox by @tmszi in #1977
- remove .setpdfwrite option on MS Windows by @ninsbl in #1962
Translations
- i18n: Update for release branch 7.8 by @HuidaeCho in #2104
Unit tests/CI:
- grass.gunittest: Use collections.abc for Iterable (#2006) by @wenzeslaus in #2008
- CI: Remove Ubuntu 16.04 from GH Actions for 7.8 branch by @wenzeslaus in #2009
- grass.gunittest: Use collections.abc for Iterable by @wenzeslaus in #2008
GRASS GIS addons management:
- tools/mkhtml.py: fix module/official addons source code and history URL branch by @tmszi in #2038
- tools/mkhtml.py: replace f-string with format() function to maintain compatibility with Python 3.5/2.7 version by @tmszi in #2077
- tools/mkhtml.py: fix git cherry-pick commit cba6a7a by @tmszi in #2110
Portability:
- Fix linker flags on FreeBSD by @neteler in #1936
- winGRASS: GRASS-Installer.nsi.tmpl to change form BU Execute to S-1-5-32-545 Generic User Read and Generic User Execute by @hellik in #2068
- OSGeo4W: add recent GDAL DLLs by @ninsbl #1874
Docker:
- Docker: Remove custom pip install for Alpine docker by @wenzeslaus #2028
libgis:
- parser: Show error for option file by @tmszi in #1433
- tools/mkhtml.py: fix get core modules commit from local git repo and remote GitHub API server by @tmszi in #2113
- tools/mkhtml.py: fix module/official addons source code and history URL branch by @tmszi in #2038
- tools/mkhtml.py: fix setting source code and history URL by @tmszi in #2037
- tools/mkhtml.py: get and set git commit and commit date in addon manual page by @tmszi in #2100
- tools/mkhtml.py: replace f-string with format() function by @tmszi in #2077
- utils/mkhtml.py: fix get and set addon manual page source and history URL link by @tmszi in #1892
- utils/mkhtml.py: fix print warning/fatal message during compilation by @tmszi in #2139
New addons since GRASS GIS 7.8.6:
- d.region.grid: Add new tool to display grids
- v.to.rast.multi: create raster maps for multiple attributes of a vector map
- v.what.rast.label: Uploads raster values and labels to vector point layer
Full Changelog: 7.8.6...7.8.7
GRASS GIS 8.0.1RC1
This is an update release of the GRASS GIS 8.0 series.
It fixes rare compilation issues in case of compiling the source code on offline machines or without having the .git directory of the source code available.
Important bugfixes
- utils/mkhtml: fix print warning/fatal message during compilation (#2139) by Tomas Zigo
- r.quantile, r.stats.quantile, lib/stats: fix quantile algorithm (#2108) by Markus Metz
Bugfixes
- r.colors: fix order of rules (#2167), needed for SLD creation with r.colors.out_sld by Markus Metz
GUI
- wxGUI: Thread.setDaemon deprecated in Python 3.10 (#2145) by Anna Petrasova
Manual pages
- Fix typo in v.import documentation (#2142) by Andrea Giudiceandrea
- manual pages: remove unneeded SVN Date entry and selected cleanup (#2143) by Markus Neteler
Documentation
- CONTRIBUTING.md: describe the fork process more in detail by Ondrej Pesek
Singularity
- singularity: Minor fixes of definition file (#2179) by Luca Delucchi
Download source code tarball at main server or see below
- https://grass.osgeo.org/grass80/source/grass-8.0.1RC1.tar.gz
- https://grass.osgeo.org/grass80/source/grass-8.0.1RC1.md5sum
For further release details (bug fixes and enhancements), see
The GRASS GIS 8.0.1RC1 release provides more than 10 fixes and improvements with respect to the release 8.0.0.
Full Changelog: 8.0.0...8.0.1RC1
GRASS GIS 8.0.0
Overview of changes
After more than 3 year of development the first stable release GRASS GIS 8.0.0 is available. Efforts have concentrated on making the user experience even better, providing many new useful additional functionalities to modules and further improving the graphical user interface.
Breaking news: new graphical user interface with entirely rewritten startup sequence!

New first time user startup and dark theme support
This re-establishes user experience compatibility with QGIS and other connected software packages.
The GRASS GIS 8.0.0 release provides more than 1,400 fixes and improvements with respect to the release 7.8.6.
With the introduction of the semantic label raster metadata class, the temporal database was modified to version 3. Hence, to be able to read and process GRASS 7.x space-time datasets, users will be prompted to run t.upgrade. If users want to read newly created space-time datasets back in GRASS 7.x, they can run t.downgrade.
Launching the software
The user experience of the graphical user interface has been completely rewritten: no more clumsy selection screens - just enter the menu system directly!
And on command line, GRASS GIS now starts versionless, i.e. as grass.
Downloads
New modules
- g.download.location: moved to core, create grass.utils lib by @wenzeslaus in #1715
- i.band.library - Prints available semantic label information used for multispectral data.
- r.in.pdal: a PDAL based replacement of r.in.lidar by @marisn in #1200
- r.object.geometry: move from addons by @petrasovaa in #1918
- r.semantic.label - Manages semantic label information assigned to a single raster map or to a list of raster maps
- t.upgrade: added from addons by @neteler in #1438) and by @landam #1468
Major module changes
- db.in.ogr: Add gdal_config= and gdal_doo= by @HuidaeCho in #1425
- g.extension: #3902 multiple metadata entries by @anikaweinmann in #138
- g.extension: add branch option by @ninsbl in #1130
- g.extension: add '-j' flag which generates JSON file containing the download URLs of the official Addons by @tmszi in #1009
- g.extension: allow to install extensions from a fork of the official repo by @ninsbl in #1177
- g.extension: change to python3 by @anikaweinmann in #83
- g.extension: check if svn program is installed by @neteler in #1145
- g.extension: distinguish between extensions and modules by @metzm in #582
- g.extension: dont expand db modul class by @ninsbl in #424
- g.extension: Fix installation from gitlab repositories by @tmszi in #683
- g.extension: fix 'rate limit exceeded' http error during request json file (add-ons paths) from the official add-ons github server url by @tmszi in #1106
- g.extension: get branch from version by @ninsbl in #1700
- g.extension: improve way how to parse module name from makefile by @tmszi in #1142
- g.extension: match module files on Windows by @ninsbl in #1565
- g.extension: only warn when non-essential files are missing by @wenzeslaus in #164
- g.extension: remove branch from Windows-function by @ninsbl in #1151
- g.extension: workaround to use grass7 addon repo by @neteler in #1612
- g.extension -i (compile), -d (download) flag by @tmszi in #496
- g.extension -l ValueError by @landam in #1849
- g.extension: fix link generation in multi-addon man page for addons by @tmszi in #2097
- g.extension: remove build_platform (only 64bit provided on MS Windows) by @landam in #2102
- g.extension test added by @petrasovaa in #1364
- g.parser: Add G_OPT_M_NPROCS by @HuidaeCho in #1652
- i.ortho.photo: Add optional correction for panorama cameras by @metzm in #401
- i.tasscap: support for Worldview-2 added by @neteler in #186
- r.colors: add offset and scale by @metzm in #954
- r.external: add flag to read min/max from metadata by @metzm in #1856
- r.external: read "nan" as nan by @metzm in #338
- r.external: transfer_colormap added by @landam in #337
- r.external: major speed-up by @metzm in #1305
- r.geomorphon: add two more comparison modes by @infrastation in #1096
- r.geomorphon: fix an out-of-bounds read w/multires by @infrastation in #995
- r.geomorphon: fix landform category names by @infrastation in #1421
- r.geomorphon: fix shape calculations by @infrastation in #1040
- r.geomorphon: implement a new "one-off" mode by @infrastation in #1157
- r.geomorphon: remove multires-specific code by @infrastation in #1570
- r.geomorphon: separate input from output by @infrastation in #1052
- r.grow.distance: add minimum and maximum distance options by @metzm in #1453
- r.in.wms: gdal user:password support by @anikaweinmann in #196
- r.in.wms: enable CreateOptions for GDAL driver by @neteler in #1558
- r.neighbors: add option for exponential weighting by @ninsbl in #597
- r.neighbors: add testsuite by @ninsbl in #729
- r.random: Add -s flag, remove -i flag, redo interface by @wenzeslaus in #1054
- r.univar: support large regions with more than 2 billion cells for extended stats by @metzm in #672
- r.viewshed: limit viewshed horizontally by specifying two angles by @petrasovaa in #180
- v.db.select: Add JSON output and add -e flag (escape newlines and backslashes) by @HuidaeCho in #476
- v.db.select: Handle all formats through format option, add CSV by @wenzeslaus in #1121
- v.distance: Linear matrix becomes default, new -s flag for square matrix [API change] by @mlennert in #601
- v.neighbors: add aggegate statistics on attribute column [NEW FUNCTIONALITY] by @mlennert in #534
- v.in.wfs: add options to set user and password by @anikaweinmann in #808
- v.report: Add separator= option by @HuidaeCho in #1412
- t.remove: new implementation of flags by @lucadelu in #1695
- TGIS DB v3 backward compatible with v2 #1454
Minor module changes
- db.describe: Remove unused tdesc by @HuidaeCho in #1426
- db.in.ogr: single quotes to double quotes by @HuidaeCho in #1430
- db.univar: Ignore rows with NULLs with -e by @wenzeslaus in #1341
- db.univar: numerical instability can lead to bug in calculations of stdev, etc by @mlennert in #101
- d.mon: fix get list of running monitors by @tmszi in #1902
- d.legend: Fix position of units and background by @wenzeslaus in #1075
- d.mon: Do not clear an existing output file on fatal error by @HuidaeCho in #1452
- d.polar: fix launch module (py3) and write output EPS file by @tmszi in #1107
- d.polar: test added by @neteler in #1108
- d.rast.arrow: Fix negative drainage directions by @HuidaeCho in #777
- d.rast.edit: fix launch wxGUI (py3/wxPy4) by @tmszi in #1085
- m.proj: replace checks in code by parser rules by @wenzeslaus in #106
- g.copy: Report failed copy using an error message by @wenzeslaus in #1086
- g.extension: disable checking multi-addon addons metadata by @tmszi #2090
- g.extension: fix make command on FreeBSD by @lbartoletti #2075
- g.extension.all: fix reinstall multi-addons by @tmszi #2082
- g.filename: Create dir in mapset only when asked by @wenzeslaus in #1687
- g.gui.iclass: replace removed dist_point_to_segment() by @nilason in ht...
GRASS GIS 7.8.7RC1
This is an update release of the GRASS GIS 7.8 series.
Download source code tarball at
- https://grass.osgeo.org/grass78/source/grass-7.8.7RC1.tar.gz
- https://grass.osgeo.org/grass78/source/grass-7.8.7RC1.md5sum
For further release details (bug fixes and enhancements), see
The GRASS GIS 7.8.7 release provides more than 40 fixes and improvements with respect to the release 7.8.6.
What's Changed
Modules:
- g.extension.all: fix reinstall multi-addons #2082
- g.extension: disable checking multi-addon addons metadata #2090
- g.extension: fix get get_addons_paths func json_file attribute #2094
- g.extension: fix link generation in multi-addon man page for addons #2097
- i.spectral: show error message if one of the supported monitor isn't running #1991
- i.vi: fix PVI formula #1985
- r.sun: Fix metadata update on parallel computation #1514
- tgis db version mismatch: promote t.downgrade by @landam in #2002
wxGUI:
- wxGUI: font size Python 3.10 fix #2036
- wxGUI: no is_shell_running available by @neteler in #2056
- wxGUI: fix unexpected type float error with Python 3.10 #2030
- wxGUI/gui_core: fix change opacity level dialog min/max size #2067
- wxGUI: more Python 3.10 fixes #2050
- wxGUI/preferences.py: fix loading default user settings #2041
- wxGUI/splashscreen: use standard one, try to show it before main app, increase timeout #1718
- wxGUI/xml/toolboxes.xml: add missing 'r.fill.stats' module item inside 'InterpolateSurfaces' toolbox #1977
- remove .setpdfwrite option on MS Windows by @ninsbl in #1962
Translations
- i18n: Update for release branch 7.8 by @HuidaeCho in #2104
Unit tests/CI:
- grass.gunittest: Use collections.abc for Iterable (#2006) by @wenzeslaus in #2008
- CI: Remove Ubuntu 16.04 from GH Actions for 7.8 branch by @wenzeslaus in #2009
- grass.gunittest: Use collections.abc for Iterable #2008
GRASS GIS addons management:
- tools/mkhtml.py: fix module/official addons source code and history URL branch by @tmszi in #2038
- tools/mkhtml.py: replace f-string with format() function to maintain compatibility with Python 3.5/2.7 version by @tmszi in #2077
- tools/mkhtml.py: fix git cherry-pick commit cba6a7a by @tmszi in #2110
Portability:
- Fix linker flags on FreeBSD. #1936
- winGRASS: GRASS-Installer.nsi.tmpl to change form BU Execute to S-1-5-32-545 Generic User Read and Generic User Execute #2068
- OSGeo4W: add recent GDAL dlls #1874
Docker:
- Docker: Remove custom pip install for Alpine docker #2028
libgis:
- parser: Show error for option file #1433
- tools/mkhtml.py: fix get core modules commit from local git repo and remote GitHub API server #2113
- tools/mkhtml.py: fix module/official addons source code and history URL branch #2038
- tools/mkhtml.py: fix setting source code and history URL #2037
- tools/mkhtml.py: get and set git commit and commit date in addon manual page #2100
- tools/mkhtml.py: replace f-string with format() function #2077
- utils/mkhtml.py: fix get and set addon manual page source and history URL link #1892
New addons since GRASS GIS 7.8.6:
- d.region.grid: Add new tool to display grids
- v.to.rast.multi: create raster maps for multiple attributes of a vector map
- v.what.rast.label: Uploads raster values and labels to vector point layer
Full Changelog: 7.8.6...7.8.7RC1
GRASS GIS 8.0.0RC2
Overview of changes
After more than 3 year of development the first stable release GRASS GIS 8.0.0 is available. Efforts have concentrated on making the user experience even better, providing many new useful additional functionalities to modules and further improving the graphical user interface.
Breaking news: new graphical user interface with entirely rewritten startup sequence!
This re-establishes user experience compatibility with QGIS and other connected software packages.
The GRASS GIS 8.0.0 release provides more than 1,300 fixes and improvements with respect to the release 7.8.6.
With the introduction of the semantic label raster metadata class, the temporal database was modified to version 3. Hence, to be able to read and process GRASS 7.x space-time datasets, users will be prompted to run t.upgrade. If users want to read newly created space-time datasets back in GRASS 7.x, they can run t.downgrade.
Launching the software
The user experience of the graphical user interface has been completely rewritten: no more clumsy selection screens - just enter the menu system directly!
And on command line, GRASS GIS now starts versionless, i.e. as grass.
New modules
- g.download.location: moved to core, create grass.utils lib by @wenzeslaus in #1715
- i.band.library - Prints available semantic label information used for multispectral data.
- r.in.pdal: a PDAL based replacement of r.in.lidar by @marisn in #1200
- r.object.geometry: move from addons by @petrasovaa in #1918
- r.semantic.label - Manages semantic label information assigned to a single raster map or to a list of raster maps
- t.upgrade: added from addons by @neteler in #1438) and by @landam #1468
Major module changes
- db.in.ogr: Add gdal_config= and gdal_doo= by @HuidaeCho in #1425
- g.extension: #3902 multiple metadata entries by @anikaweinmann in #138
- g.extension: add branch option by @ninsbl in #1130
- g.extension: add '-j' flag which generates JSON file containing the download URLs of the official Addons by @tmszi in #1009
- g.extension: allow to install extensions from a fork of the official repo by @ninsbl in #1177
- g.extension: change to python3 by @anikaweinmann in #83
- g.extension: check if svn program is installed by @neteler in #1145
- g.extension: distinguish between extensions and modules by @metzm in #582
- g.extension: dont expand db modul class by @ninsbl in #424
- g.extension: Fix installation from gitlab repositories by @tmszi in #683
- g.extension: fix 'rate limit exceeded' http error during request json file (add-ons paths) from the official add-ons github server url by @tmszi in #1106
- g.extension: get branch from version by @ninsbl in #1700
- g.extension: improve way how to parse module name from makefile by @tmszi in #1142
- g.extension: match module files on Windows by @ninsbl in #1565
- g.extension: only warn when non-essential files are missing by @wenzeslaus in #164
- g.extension: remove branch from Windows-function by @ninsbl in #1151
- g.extension: workaround to use grass7 addon repo by @neteler in #1612
- g.extension -i (compile), -d (download) flag by @tmszi in #496
- g.extension -l ValueError by @landam in #1849
- g.extension test by @petrasovaa in #1364
- g.parser: Add G_OPT_M_NPROCS by @HuidaeCho in #1652
- i.ortho.photo: Add optional correction for panorama cameras by @metzm in #401
- i.tasscap: support for Worldview-2 added by @neteler in #186
- r.colors: add offset and scale by @metzm in #954
- r.external: add flag to read min/max from metadata by @metzm in #1856
- r.external: read "nan" as nan by @metzm in #338
- r.external: transfer_colormap added by @landam in #337
- r.external: major speed-up by @metzm in #1305
- r.geomorphon: add two more comparison modes by @infrastation in #1096
- r.geomorphon: fix an out-of-bounds read w/multires by @infrastation in #995
- r.geomorphon: fix landform category names by @infrastation in #1421
- r.geomorphon: fix shape calculations by @infrastation in #1040
- r.geomorphon: implement a new "one-off" mode by @infrastation in #1157
- r.geomorphon: remove multires-specific code by @infrastation in #1570
- r.geomorphon: separate input from output by @infrastation in #1052
- r.grow.distance: add minimum and maximum distance options by @metzm in #1453
- r.in.wms: gdal user:password support by @anikaweinmann in #196
- r.in.wms: enable CreateOptions for GDAL driver by @neteler in #1558
- r.neighbors: add option for exponential weighting by @ninsbl in #597
- r.neighbors: add testsuite by @ninsbl in #729
- r.random: Add -s flag, remove -i flag, redo interface by @wenzeslaus in #1054
- r.univar: support large regions with more than 2 billion cells for extended stats by @metzm in #672
- r.viewshed: limit viewshed horizontally by specifying two angles by @petrasovaa in #180
- v.db.select: Add JSON output and add -e flag (escape newlines and backslashes) by @HuidaeCho in #476
- v.db.select: Handle all formats through format option, add CSV by @wenzeslaus in #1121
- v.distance: Linear matrix becomes default, new -s flag for square matrix [API change] by @mlennert in #601
- v.neighbors: add aggegate statistics on attribute column [NEW FUNCTIONALITY] by @mlennert in #534
- v.in.wfs: add options to set user and password by @anikaweinmann in #808
- v.report: Add separator= option by @HuidaeCho in #1412
- t.remove: new implementation of flags by @lucadelu in #1695
- TGIS DB v3 backward compatible with v2 #1454
Minor module changes
- db.describe: Remove unused tdesc by @HuidaeCho in #1426
- db.in.ogr: single quotes to double quotes by @HuidaeCho in #1430
- db.univar: Ignore rows with NULLs with -e by @wenzeslaus in #1341
- db.univar: numerical instability can lead to bug in calculations of stdev, etc by @mlennert in #101
- d.mon: fix get list of running monitors by @tmszi in #1902
- d.legend: Fix position of units and background by @wenzeslaus in #1075
- d.mon: Do not clear an existing output file on fatal error by @HuidaeCho in #1452
- d.polar: fix launch module (py3) and write output EPS file by @tmszi in #1107
- d.polar: test added by @neteler in #1108
- d.rast.arrow: Fix negative drainage directions by @HuidaeCho in #777
- d.rast.edit: fix launch wxGUI (py3/wxPy4) by @tmszi in #1085
- m.proj: replace checks in code by parser rules by @wenzeslaus in #106
- g.copy: Report failed copy using an error message by @wenzeslaus in #1086
- g.extension: disable checking multi-addon addons metadata by @tmszi #2090
- g.extension: fix make command on FreeBSD by @lbartoletti #2075
- g.extension.all: fix reinstall multi-addons by @tmszi #2082
- g.filename: Create dir in mapset only when asked by @wenzeslaus in #1687
- g.gui.iclass: replace removed dist_point_to_segment() by @nilason in #645
- g.gui.image2target: Fix wxPython Phoenix support by @nilason in #396
- g.gui.psmap: fixes for Python3 by @petrasovaa in #133
- g.gui.vdigit Snap selected lines/boundaries tool: Fix checking SnapLine function return value by @tmszi in #506
- g.proj: fix reading input WKT by @metzm in #1582
- g.proj: fix segfault when reading...