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 #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 proj info from georef file by @petrasovaa in #599
- g.region: Add more detail into error messages by @wenzeslaus in #1140
- g.region: do not update WIND file when not needed by @petrasovaa in #1627
- g.rename: avoid buffer overflow by @metzm in #1899
- g.search.modules: without keywords, list all modules by @metzm in #989
- g.version: Fix February print by @HuidaeCho in #366
- i.group: fit long names to fancy file listing by @nilason in #1818
- i.pansharpen: Fix encode string by @tmszi in #745
- i.pansharpen: grass.decode stdout by @ninsbl in #416
- i.vi: fix PVI formula #1985
- i.vi: fix check input 'red' param arg by @tmszi in #1353
- i.vi: fix the check for the existence of the 'redchan' variable by @tmszi in #1378
- i.vi: red band not required and GUI section modified by @YannChemin in #179
- i.vi: write out FCELL instead of DCELL by @neteler in #236
- i.zc: avoid integer overflow by @metzm in #142
- r.blend: Quote map names in r.mapcalc expressions. by @marisn in #277
- r.clump: fix clumping of FCELL/DCELL maps with threshold=0 by @mmetz #1792
- r.compress: Reversing logic to fix Failure Reporting by @Lucifergene in #1812
- r.contour: fix an error message text by @infrastation in #1014
- r.fillnulls to run in python 3 by @mwort in #85
- r.grow: correctly handle shrinking of maps without NULL values by @marisn in #343
- r.grow.distance: update module description with value raster by @griembauer in #983
- r.import and v.import: Use PID and node for tmp location by @wenzeslaus in #653
- r.import: do not reproject when projection matches (bug #547) by @petrasovaa in #659
- r.import extent=region bug fix by @anikaweinmann in #404
- r.import: fix calling r.import when use_temp_region is used by @petrasovaa in #676
- r.import: pass extent to r.in.gdal by @mmacata in #291
- r.import: use temp region for resolution=value by @wenzeslaus in #197
- r.in.wms: replace broken URLs with alternative WMS by @neteler in #1635
- r.in.wms: restore NASA GIBS by @agiudiceandrea in #1756
- r.in.wms BaseCapabilitiesTree: Fix init ElementTree class by @tmszi in #651
- r.in.wms: Fix Access window out of range in RasterIO() error (raster tile size) by @tmszi in #693
- r.in.wms: message update by @jidanni in #613
- r.in.wms: write string not bytes to capabilities file by @ninsbl in #195
- r.kappa: better user msg; fix var by @neteler in #341
- r.kappa: fix omission typo by @neteler in #433
- r.kappa: maps[0] is the reference and maps[1] is the classified map by @mlennert in #290
- r.mapcalc.simple: screenshot added by @neteler in #188
- r.out.gdal / v.out.ogr: fix xy export by @metzm in #1564
- r.pack/r.unpack: fix pack and unpack VRT raster map with tiled raster maps by @tmszi in #1074
- r.pack/r.unpack: fix packing/unpacking vrt map if some of tiled rasters doesn't have color table by @tmszi in #1116
- r.random.cells: treat distance as minimum distance by @mmetz #1797
- r.region: Vect_get_map_box() requires level 2 by @HuidaeCho in #1404
- r.report: add default units, change to full unit names by @petrasovaa in #1666
- r.resamp*, v.surf.rst: more resampling keywords added by @neteler in #141
- r.sim: dynamic allocation of walkers by @petrasovaa in #228
- r.sim / simlib: use nstack only when walkers output needed by @petrasovaa in #332
- r.sim.sediment: fix segfault, memory freeing was in wrong place by @petrasovaa in #1094
- r.sim.water: NC SPM example and other modernizations by @wenzeslaus in #171
- r.slope.aspect: fix -e flag to calculate values at edges by @metzm in #166
- r.slope.aspect: Fix directions in comments by @HuidaeCho in #110
- r.slope.aspect: fix title and color table for -n flag by @petrasovaa in #320
- r.stats.zonal and v.vect.stats: Improve documentation and interface by @wenzeslaus in #1114
- r.sun: allow user to set solar constant by @petrasovaa in #482
- r.sun: fix copy paste error when using both lat and lon raster by @petrasovaa in #92
- r.sun: Fix parallel computation by @aaronsms in #1514
- r.terraflow: remove print "Free Memory" to stats file by @nilason in #1306
- r.topidx: fix bug with steep slopes by @petrasovaa in #193
- r.topidx: Rewrite Perl scripts in Python 3 by @HuidaeCho in #766
- r.to.vect: break line when value changes by @byronbest in #113
- r.unpack: sys.stdout.write() cannot print bytes; convert f.read() to str by @HuidaeCho in #577
- r.watershed: Update the drainage figure by @HuidaeCho in #603
- r3.out.vtk: replace 'void *' with 'RASTER3D_Map *' for clarity by @nilason in #1291
- v.category: message fix by @jidanni in #618
- v.colors: Fix color inversion by @HuidaeCho in #1478
- v.colors: Implement rules from stdin by @HuidaeCho in #1389
- v.colors: raster= with use=attr by @HuidaeCho in #1393
- v.db.addtable: Overwrite newly created cat column (Fix #567) by @HuidaeCho in #571
- v.db.droprow: remove randomness from testsuite to fix failing tests by @petrasovaa in #1824
- v.db.droptable: check if map exists by @wenzeslaus in #107
- v.db.join: Use case insensitive comparison for columns by @wenzeslaus in #1409
- v.db.select: Run grass_indent.sh on the source by @wenzeslaus in #1138
- v.db.update: Use case insensitive comparison for columns by @wenzeslaus in #1413
- v.decimate: copy tables only when topology is available by @metzm in #331
- v.digit: fix testing empty input by @petrasovaa in #469
- v.distance: relax parser rules by @ninsbl in #2132
- v.edit: Add credits for extend tools by @HuidaeCho in #446
- v.generalize: remove_small is no longer available by @HuidaeCho in #473
- v.hull: use standard C boolean type by @nilason in #1567
- v.import: Add layer to the projection check by @wenzeslaus in #1328
- v.import: Do not reproject if projections match by @marisn in #845
- v.import: fix gfs file for GDAL version smaller 2.4.1 by GML import by @anikaweinmann in #386
- v.in.ascii: include values into the message by @wenzeslaus in #104
- v.in.ascii: user likely expectes number of rows used by @wenzeslaus in #108
- v.info: fix printing UTM zone (#892) by @metzm in #977
- v.in.ogr: fix usage of OGR_G_HasCurveGeometry() by @metzm in #267
- v.in.pdal: cast enum value to int by @nilason in #1819
- v.in.pdal: fix filtering by bbox by @petrasovaa in #359
- v.in.pdal: remove obsolete PCL functionality by @marisn in #1907
- v.kernel: add output raster history by @petrasovaa in #111
- v.kernel: fix inconsistent msg by @neteler in #825
- v.net: fix for Python 3 by @petrasovaa in #279
- v.net.visibility: fix coordinates parameter by @agiudiceandrea in #1336
- v.out.ogr: export datetime attributes as datetime by @metzm in #184
- v.out.ogr: Remove a garbage character from warning by @HuidaeCho in #1886
- v.patch: add details into error messages by @wenzeslaus in #103
- v.patch: Fix line categories when building topology by @HuidaeCho in #374
- v.patch: fix segmentation fault when DB table absent in one input map by @metzm in #1492
- v.patch: match map to column (fixes 6616daa) by @wenzeslaus in #109
- v.perturb: Require either explicit seed or generated seed by @wenzeslaus in #1661
- v.random: finished test in reference to #704 by @SunveerSingh in #1464
- v.random: Fix segfault as per bug #1024 by @marisn in #1025
- v.rast.stats: fix NULL values for very small areas address by @ninsbl in #402
- v.rast.stats: raise a warning when no categories found in raster map by @pesekon2 in #1258
- v.report: Fix newline issue by @HuidaeCho in #477
- v.surf.bspline: fix method selection by @neteler in #727
- v.surf.idw: fix using potentially uninitialized ret value causing bogus warning by @petrasovaa in #1541
- v.surf.idw: indent with indent script by @petrasovaa in #1540
- v.surf.idw: less confusing error message by @neteler in #1332
- v.to.db: Add --overwrite to help and GUI by @HuidaeCho in #807
- v.to.db history support files by @HuidaeCho in #486
- v.to.db: Require --overwrite flag to overwrite existing columns by @HuidaeCho in #487
- v.to.db: Write history by @HuidaeCho in #481
- v.to.rast ignore null entries of attribute values for use=attr by @metzm in #173
- v.to.rast: fix where selection by @metzm in #259
- v.to.rast: Print the correct option name by @HuidaeCho in #1351
- v.unpack: sys.stdout.write() cannot print bytes; convert f.read() to str by @HuidaeCho in #577
- v.vect.stats: Add current mapset in msg, fixes for doc by @wenzeslaus in #1137
- v.what: Fix script outputs for -d (space after = or : instead of =) by @HuidaeCho in #1584
- v.what.rast: fix writing of map history by @HuidaeCho in #584
- v.what.rast: no features message wording, switched to be a warning by @landam in #1323
- t.info: add list of band names by @metzm in #1862) and #285
- t.info: clarify 'dataset not found' error message by @landam in #1473
- t.list, t.rast.list: fix missing band_reference by @neteler in #206
- t.rast.export: use CWD as crossplatform default directory by @ninsbl in #1817
- t.register: strip newline from list of maps to avoid error by @petrasovaa in #1295
- t.vect.algebra: modified html doc by @nobeeakon in #1089
- t.vect.export: GPKG support added by @neteler in #129
GUI: Improvements in the Graphical User Interface

New first time user startup and dark theme support
- NEW: entire rewrite of GRASS GIS startup
- Add new splash screen as decided in #1716 by @veroandreo in #1803
- Added global dataset to download location in startup by @baharmon in #544
- Check for gislock and other issues when deleting/renaming/editing mapset and location in catalog by @lindakladivova in #904
- fix 3D rendering in animation tool by @petrasovaa in #293
- fix #411: closing Map Display and layer tree from different places by @petrasovaa in #427
- Fix set up sampling and analysis framework wizard relative import by @tmszi in #409
- Fix show layer inside the layer subgroup by @tmszi in #400
- fix the renaming of wx.Event variables by @pesekon2 in #128
- Fix use wxGUI Raster Digitizer input raster map layer temporary region by @tmszi in #470
- Make Data tab the default in GUI by @lindakladivova in #756
- MapSwipe window has wrong title by @lindakladivova in #1692
- Misleading lock symbol icon in the in the Data tab toolbar by @lindakladivova in #870
- Reflect grassdb changes in catalog by @petrasovaa in #994
- Remove colouring of standard buttons by @nilason in #744
- Start in a demo/startup location by @lindakladivova in #868
- Store list of databases in settings by @lindakladivova in #858
- Switch to another mapset when in use (aka force remove lock) by @lindakladivova in #906
- Update Location Wizard: First page by @lindakladivova in #493
- g.gui.timeline: fix annotation box by @petrasovaa in #2107
- wxGUI about: add link to github by @landam in #131
- wxGUI/About: remove hardcoded white background for dark mode by @petrasovaa in #1215
- wxGUI: add dark mode support for command output by @nilason in #759
- wxGUI: add dark mode support for vector attribute data table by @nilason in #793
- wxGUI: added install notranslation function by @marisn in #156
- wxGUI: add env parameter in gcmd.py RunCommand by @petrasovaa in #1113
- wxGUI: add missing giface, fixes error when emitting grassdbChanged signal by @petrasovaa in #1139
- wxGUI: Add missing import from grass.app by @wenzeslaus in #1358
- wxGUI: Add missing title params to frames by @wenzeslaus in #1301
- wxGUI: Add new icons to data catalog for actions avaliable in context menu by @lindakladivova in #811
- wxGUI: Add new icons to datacatalog for actions avaliable in context menu (continue) by @lindakladivova in #830
- wxGUI: Add new location action to database node in Data tab by @lindakladivova in #790
- wxGUI: Add new mapset action to data catalog by @lindakladivova in #731
- wxGUI: address digitizer background map issue #467) by @petrasovaa in #494
- wxGUI: address flake8 undefined variable by @petrasovaa in #1325
- wxGUI Add web service layer: Fix dialog layout by @tmszi in #627
- wxGUI AddWSDialog: Fix render WMTS layer with OGC:CRS84 coor system by @tmszi in #674
- wxGUI AddWSDialog: Fix setting output layer name, after selecting another layer by @tmszi in #667
- wxGUI AddWSDialog RenderWMSMgr: Fix render WMS jpeg source format by @tmszi in #640
- wxGUI: Allow delete on multiple mapsets in data catalog by @lindakladivova in #795
- wxGUI: always switch when creating new location/mapset by @petrasovaa in #1229
- wxGUI: An action should be required before modifying other mapsets by @lindakladivova in #848
- wxGUI animation: allow to use saved region instead of comp region by @petrasovaa in #656
- wxGUI/animation: fix 3D animation by @petrasovaa in #1551
- wxGUI/animation: fix deprecation warnings by @petrasovaa in #149
- wxGUI/animation: fix https://trac.osgeo.org/grass/ticket/3894 and htt… by @petrasovaa in #116
- wxGUI/animation: fix 'RuntimeError: dictionary changed size during iteration' by @tmszi in #908
- wxGUI/animation: fix validation of extension of exported file by @tmszi in #907
- wxGUI/animation: fix wxPyDeprecationWarning by @tmszi in #854
- wxGUI/animation: fix wxPyDeprecationWarning by @tmszi in #910
- wxGUI/animation: show error and proceed with temporal database mismatch by @petrasovaa in #950
- wxGUI: Ask user about shell only when present by @wenzeslaus in #1219
- wxGUI: avoid flush clipboard if not opened by @nilason in #819
- wxGUI: avoid printing annoying wx debug message on startup by @petrasovaa in #157
- wxGUI/catalog: do not expand mapset after filtering if was filtered out by @petrasovaa in #763
- wxGUI/catalog: refactor frame.py to use DataCatalog panel from catalog.py by @petrasovaa in #1030
- wxgui: catch also TypeError when importing ctypes, see #305 by @landam in #324
- wxGUI: Change default color for rendering vectors (gray->blue) [news] by @wenzeslaus in #1166
- wxGUI: Changes in Layer Manager tabs order and labels by @lindakladivova in #802
- wxGUI/colorrules: fix OnOK when preview is updated after window is de… by @petrasovaa in #443
- wxGUI/composer: use integers instead of wx id to fix pickle error by @petrasovaa in #641
- wxGUI/core: account for .post in wxPython 4.0.7.post2 by @wenzeslaus in #246
- wxgui: Create grassdata automatically on the first GUI startup by @lindakladivova in #705
- wxGUI: create parallel wx.frame for Single Window layout development by @lindakladivova in #1604
- wxGUI: dark theme for Python shell and editor by @petrasovaa in #1220
- wxGUI datacatalog: Adapt tooltip 'Add new grass database' button by @lindakladivova in #936
- wxGUI datacatalog: add direct editing of mapset and location name by @lindakladivova in #920
- wxGUI/datacatalog: add icon for adding grassdb by @petrasovaa in #769
- wxGUI datacatalog: Add multiple GRASS databases by @lindakladivova in #761
- wxGUI/datacatalog: Add rename and delete of Location and Mapset in Datacatalog by @lindakladivova in #771
- wxGUI/datacatalog: Allow delete on multiple locations in data catalog by @lindakladivova in #875
- wxGUI/datacatalog: avoid ValueError when map name corrupted with multiple @ chars by @petrasovaa in #966
- wxGUI/datacatalog: catalog: first load and display tree with locations for responsiveness, then load everything by @petrasovaa in #1043
- wxGUI/datacatalog: change ReloadTreeItems to use node-specific reloads by @petrasovaa in #847
- wxGUI/Data catalog: distinguish label and name of nodes by @lindakladivova in #783
- wxGUI/datacatalog: do not use all available cores for loading by @petrasovaa in #1422
- wxGUI/datacatalog: don't expand the location tree node if the transformation dialog is closed by @tmszi in #823
- wxGUI/datacatalog: enable lazy loading of maps by @petrasovaa in #1434
- wxGUI/datacatalog: fix #1184 by @petrasovaa in #1230
- wxGUI/datacatalog: Fix bad flag in reprojection dialog by @nilason in #806
- wxGUI/datacatalog: fix crashing due to accessing GUI from other thread by @petrasovaa in #1027
- wxGUI/datacatalog: fix display 3D raster by @tmszi in #889
- wxGUI/datacatalog: fix error handling and add busy cursor, refresh as loading dbs by @petrasovaa in #957
- wxGUI/datacatalog: fix incorrect entry invalid (broken) regular expression by @tmszi in #1267
- wxGUI/datacatalog: fix setting output vector/raster format by @tmszi in #1596
- wxGUI/datacatalog: fix switching mapset between different dbs by @petrasovaa in #931
- wxGUI/datacatalog: fix unresponsive gui if too many maps in current mapset watched with watchdog are changing at once by @petrasovaa in #1556
- wxGUI/datacatalog: flatten mapset-layer hierarchy, add icons for types, highlight current by @petrasovaa in #742
- wxGUI datacatalog: merge LocationMapTree and DataCatalogTree by @lindakladivova in #755
- wxGUI/datacatalog: move or copy location/mapset isn't allowed, show warning message dialog by @tmszi in #822
- wxGUI/datacatalog: multiple grass databases context menu shows Delete locations by @lindakladivova in #914
- wxGUI datacatalog: process of creating a new database by @lindakladivova in #937
- wxGUI/datacatalog: remove unnecessary check and warning for dragging mapsets/locations by @petrasovaa in #1303
- wxGUI/datacatalog: show warning message dialog if drag map them to the target location node in the tree by @tmszi in #810
- wxGUI/dbmgr: fix calculate column values by @tmszi in #1370
- wxGUI/dbmgr: fix clik on the 'Modify layer' button if vector map doesn't have any layers by @tmszi in #1334
- wxGUI dbmgr: Fix dbmgr widgets layout on the wxMSW by @tmszi in #637
- wxGUI/dbmgr: fix get statistics for character column type if it contains NULL value by @tmszi in #1574
- wxGUI/dbmgr: fix hit 'Refresh' button if vector map doesn't have any layers by @tmszi in #1371
- wxGUI/dbmgr: fix insert record for each category into table by @tmszi in #1333
- wxGUI/dbmgr: Show proper error when table parsing failed by @wenzeslaus in #1112
- wxGUI d.histogram: Set default font by @tmszi in #695
- wxGUI: displaying infobar focused on first-time user by @lindakladivova in #1078
- wxGUI: displaying infobar focused on first-time user (part 2) by @lindakladivova in #1183
- wxGUI d.mon: Fix launch light-weight wx monitor without toolbars and statusbar by @tmszi in #678
- wxGUI/d.mon: fix rendered image size according actual map display size by @tmszi in #1064
- wxGUI: do not fail on invalid RC file (empty) by @landam in #185
- wxGUI: Do not reload the tree after canceled Delete in data catalog by @lindakladivova in #789
- wxGUI: drop show preferences dialog as modal by @nilason in #1132
- wxGUI: Each layertree has its own display toolbar by @lindakladivova in #1785
- wxGUI: easier switching between locations (GRASS GIS 8) by @lindakladivova in #1598
- wxGUI: Enable all Flake8 warnings by @wenzeslaus in #1535
- wxGUI: Enable import-related warnings by @wenzeslaus in #1523
- wxGUI: Enable lambda, escape, except, l warnings by @wenzeslaus in #1518
- wxGUI: Enable multiple hash warning by @wenzeslaus in #1516
- wxGUI: Enable unused var warning by @wenzeslaus in #1502
- wxGUI: error message has appeared in the console tab/cmd after close any module dialog by @tmszi in #249
- wxGUI: Exit after fatal lock errors by @HuidaeCho in #1428
- wxGUI: Field calculator wx.ListBox widget choices argument by @tmszi in #460
- wxGUI: fix 3D view wxPyDeprecationWarning, from https://trac.osgeo.or… by @petrasovaa in #81
- wxGUI: Fix an error when exporting csv file from g.gui.tplot by @lbartoletti in #690
- wxGUI: fix another wx flag assertion error in DefaultFontDialog by @nilason in #1545
- wxGUI: fix another wx flag assertion error in iclass by @petrasovaa in #1471
- wxGUI: fix atexit error in debug mode by @nilason in #772
- wxGUI: fix bad indentation by @nilason in #784
- wxGUI: fix calling coordselect validator by @petrasovaa in #1455
- wxGUI: fix closing map displays when used with workspaces, consolidat… by @petrasovaa in #512
- wxGUI: fix cmd-c closing interactive colour table on mac by @nilason in #1293
- wxGUI: Fix copy-to-clipboard key binding for console (trac#3008) by @nilason in #393
- wxGUI: fix deleting dict key while iterating overlays by @petrasovaa in #1763
- wxGUI: fix deprecated wx.NewId by @petrasovaa in #152
- wxGUI: fix d.histogram - save only after rendering done by @petrasovaa in #235
- wxGUI: fix d.mon for py3 by @petrasovaa in #122
- wxGUI: fix d.mon rendering #3896, caused by garbage collection of map… by @petrasovaa in #174
- wxGUI: fix d.out.file command parsing with --overwrite by @petrasovaa in #1284
- wxGUI: fix flake F401 (unused import) by @petrasovaa in #1294
- wxGUI: fix for cases when validator is called automatically from wx.Dialog upon closing it with OK by @petrasovaa in #1418
- wxGUI: fix GCP manager for py3 by @petrasovaa in #245
- wxGUI: fix g.gui.vdigit on windows #530 by @petrasovaa in #572
- wxGUI: fix importing data when new location was created by @petrasovaa in #1416
- wxGUI: fix inconsistent layer sizes during rendering by @petrasovaa in #552
- wxGUI: Fix key binding issues on mac by @nilason in #818
- wxGUI: fix layout flag assert in wms dialog by @petrasovaa in #1764
- wxGUI: Fix layout flags in vector field statistics dialog for wx 4.1.0 by @nilason in #821
- wxGUI: fix layout flags needed for wxPython 4.1.0 by @petrasovaa in #570
- wxGUI: fix menustrings generation and adjust flake8 by @petrasovaa in #541
- wxGUI: fix parsing GDAL/OGR formats which contains a colon in a description by @landam in #1226
- wxGUI: fix psmap from last change, remove redundant import by @petrasovaa in #380
- wxGUI: fix query dialog #369 by @petrasovaa in #390
- wxGUI: fix query dialog after recent changes by @petrasovaa in #1266
- wxGUI: fix RunCommand to decode also empty string to return unicode by @petrasovaa in #702
- wxGUI: fix settings when item added to settings but it doesn't exist yet locally by @petrasovaa in #1811
- wxGUI: fix some flake8 issues by @petrasovaa in #538
- wxGUI: fix wizard, https://trac.osgeo.org/grass/ticket/3981 by @petrasovaa in #233
- wxGUI: fix WMS, includes changing widget because listtreectrl didn't … by @petrasovaa in #242
- wxGUI: fix wx flag assertion error in SavedRegion Dialog (#1679) by @nilason in #1680
- wxGUI: fix 'wxPyDeprecationWarning: Call to deprecated item. Use FindItem instead.' by @tmszi in #1344
- wxGUI: fix wxPython 4.1.0 support for "About GRASS GIS" dialog by @nilason in #901
- wxGUI: fix wxPython 4.1 support by @nilason in #1161
- wxGUI/FlatNotebook: fix crash on mac and add support for dark mode using wxPython 4.1 by @nilason in #856
- wxGUI/forms: Add giface to standalone forms and fix history in giface by @wenzeslaus in #971
- wxGUI/forms: fix Python 3.8 integer warning by @petrasovaa in #1302
- wxGUI/gcmd: fix read command stdout by @tmszi in #1228
- wxGUI/gcp: adding the option to overwrite the result map by @tmszi in #912
- wxGUI gcp: Allow choose map display web service layer as target map to display by @tmszi in #654
- wxGUI/gcp: fix checking vector map existence in the group by @tmszi in #680
- wxGUI/gcp: fix launch add vector map to group dialog by @tmszi in #924
- wxGUI gcp: Fix show add vector map to group dialog by @tmszi in #685
- wxGUI gcp GroupDialog: Fix StaticText widget existence check by @tmszi in #647
- wxGUI/gcpmanager: g.gui.gcp: crash when closing; fix #430 by @petrasovaa in #447
- wxGUI/g.extension: fix failure to uninstall addon by @nilason in #1524
- wxGUI g.gui.animation: Fix wx.CheckBox widget deprecation warning by @tmszi in #718
- wxGUI/g.gui.gcp: fix launch g.gui.gcp by @tmszi in #824
- wxGUI/g.gui.iclass: fix copy vector features from vector map by @tmszi in #1020
- wxGUI/g.gui.image2target: fix close window (dissociate the managed window from the AuiManager) by @tmszi in #1038
- wxGUI/g.gui.image2target: fix show Settings dialog by @tmszi in #1037
- wxGUI/g.gui.mapswipe: fix hit Apply button if first and second raster aren't chosen by @tmszi in #1042
- wxGUI/g.gui.mapswipe: Fix wx.CheckListBox widget wxPyDeprecationWarning by @tmszi in #773
- wxGUI/g.gui.psmap: add checking map frame exists if you add labels by @tmszi in #1048
- wxGUI/g.gui.psmap: disable draw graphics tool on the preview page by @tmszi in #1057
- wxGUI/g.gui.psmap: fix add legend error message by @tmszi in #1041
- wxGUI/g.gui.psmap: fix double click on the map frame with vector map by @tmszi in #1055
- wxGUI/g.gui.psmap: fix launch ps.map module dialog from the File menu by @tmszi in #1058
- wxGUI/g.gui.psmap: fix move line object error message by @tmszi in #1031
- wxGUI/g.gui.psmap: fix move point object error message by @tmszi in #1033
- wxGUI/g.gui.psmap: fix preview orientation if page orientation is landscape by @tmszi in #1056
- wxGUI/g.gui.psmap: fix resize line object by @tmszi in #1032
- wxGUI/g.gui.rdigit: raster digitizer as standalone module by @tmszi in #1051
- wxGUI: g.gui.rlisetup config file open mode for write in text mode by @tmszi in #410
- wxGUI g.gui.rlisetup: Fix get rectangle sample units size by @tmszi in #633
- wxGUI: g.gui.vdigit update available vector maps after the frame is show by @tmszi in #465
- wxGUI/gmodeler: make python script in gmodeler using items instead of iteritems by @pesekon2 in #340
- wxGUI: Graphical Modeler About Dialog import by @tmszi in #438
- wxGUI: Graphical Modeler decode string by @tmszi in #441
- wxGUI: Graphical Modeler wx widget deprecation warning by @tmszi in #442
- wxGUI/gselect: fix select widget for wxGUI 'd.vect' module by @tmszi in #1195
- wxGUI/gui_core: enable/disable toolbar long help if toolbar exists by @tmszi in #1922
- wxGUI/gui_core: fix preferences dialog rendered height on wxPython 4.1.1 by @tmszi in #1825
- wxGUI/gui_core: fix right mouse click on the root tree node to invoke menu by @tmszi in #2119
- wxGUI/gui_core: fix 'Set image size' dialog rendered size on wxPython 4.1.1 by @tmszi in #1890
- wxGUI/gui_core: fix trigger 'wx.EVT_CHOICE' event if you set widget selection programatically by @tmszi in #1580
- wxGUI: Histogramming Tool Plot xSpec, ySpec property value by @tmszi in #422
- wxGUI: Histogramming Tool save text settings (font family/style/weight) into the file by @tmszi in #421
- wxGUI history: Use .wxgui_history as history file for the gui (#962) by @susi in #1917
- wxGUI iclass + iscatt: fixes for Python3 by @petrasovaa in #316
- wxGUI/import: check all layers by default by @petrasovaa in #1018
- wxGUI ImportDialog: Improve output map name existence validation by @tmszi in #675
- wxGUI/import_export: fix output map overwriting if global overwrite setting is allowed by @tmszi in #1029
- wxGUI/import_export: fix validation input map name (overwrite flag) by @tmszi in #1209
- wxGUI: Import vector/raster dialog min width by @tmszi in #492
- wxGUI: IndexError after right click on 'GRASS Locations in...' in the Data tab by @lindakladivova in #736
- wxGUI/infobar: attempt to fix #1213 by @petrasovaa in #1214
- wxGUI/infobar: fix infobar creation with wxPython 4.1 by @petrasovaa in #1202
- wxGUI/json: Using JSON for GUI settings by @petrasovaa in #1015
- wxGUI: Layer Manager add layer into the empty layer group by @tmszi in #413
- wxGUI: Layer Manager add vector map layer Set color table interactively menu item by @tmszi in #472
- wxGUI: Layer Manager close the Layers NoteBook Display FlatNotebook page by @tmszi in #411
- wxGUI: lazy loading of C imagery functions in SignatureSelect by @petrasovaa in #2120
- wxGUI/lmgr: add layer menu items for check/uncheck selected layers by @tmszi in #1905
- wxGUI/lmgr: adjusts the position of the layer context option button (if opacity label is appended into layer name) by @tmszi in #1458
- wxGUI/lmgr: fix add group layer during vector map editing by @tmszi in #1109
- wxGUI lmgr: Fix cancel save workspace dialog by @tmszi in #628
- wxGUI/lmgr: fix get layer name by @tmszi in #1066
- wxGUI lmgr: Fix position of bitmap image button overlaid web service map layer name by @tmszi in #669
- wxGUI/lmgr: fix Python Shell 'help()' function and intro text by @tmszi in #1894
- wxGUI lmgr: Fix remove both selected parent/children group layer by @tmszi in #642
- wxGUI/lmgr: fix return 'Layer' class str value if map layer name is None by @tmszi in #820
- wxGUI/lmgr: prevent the scrollbar from scrolling up when a layer item is checked or unchecked (set focus on the layer item) by @tmszi in #1896
- wxGUI location wizard: EPSG page by @lindakladivova in #670
- wxGUI location wizard: First page by @lindakladivova in #646
- wxGUI/location_wizard: fix column sorting of ListCtrl widget by @tmszi in #1117
- Wx gui location wizard map picture removed by @lindakladivova in #657
- wxGUI locdownload: Fix missing flush method by @tmszi in #634
- wxGUI loc wizard: Correct errors according to flake 8 and add some description by @lindakladivova in #728
- wxGUI/locwizard: fix flags for wxPython 4.1 by @petrasovaa in #1330
- wxGUI/locwizard: fix more flags for wxPython 4.1 by @nilason in #1343
- wxGUI loc wizard: fix title layout, bug introduced in changes for wx 4.1 by @petrasovaa in #661
- wxGUI loc wizard: Improve new location's CRS method selection page by @lindakladivova in #721
- wxGUI/locwizard: remove redundant message by @petrasovaa in #1016
- wxGUI/LocWiz: remove unneeded +ellps proj4string tag by @nilason in #1550
- wxGUI: Make Display related toolbars part of Display tab by @lindakladivova in #1321
- wxGUI: Manage color rules interactively (vector map) frame by @tmszi in #429
- wxGUI: Manage color rules interactively (vector map) number of LoadTable method calls by @tmszi in #444
- wxGUI: Manage color rules interactively (vector map) wx.CollapsiblePane widget layout by @tmszi in #449
- wxGUI/mapdisp: Always respect user-set background color in Map Display by @wenzeslaus in #1167
- wxGUI/mapdisp: fix double click on the overlays in the 3D view by @tmszi in #872
- wxGUI/mapdisp: fix launch light-weight wx monitor without toolbars and statusbar by @tmszi in #1903
- wxGUI/mapdisplay: register context menu items, addresses #1691 by @petrasovaa in #1704
- wxGUI/mapdisp: Overlay properties in context menu by @wenzeslaus in #1077
- wxGUI/mapswipe: call dialog Uninit only when dialog was actually created by @petrasovaa in #836
- wxGUI/mapswipe: fix saving image to file by @petrasovaa in #1725
- wxGUI/MapSwipe: Show comp. extent option in statusbar does not work #1714 by @lindakladivova in #1717
- wxGUI/mapwin: add map overlays 'at' parameter arg validation by @tmszi in #1069
- wxGUI/mapwin: check if 'BufferedMapWindow' instance exist before calling '_runUpdateMap()' method by @tmszi in #1456
- wxGUI/mapwin: fix correct horizontal raster legend position after apply new legend setting by @tmszi in #1080
- wxGUI mapwin: Fix Pointer tool double left click on a map canvas by @tmszi in #529
- wxGUI/mapwin: fix saving the position of overlays after changing their position with the mouse pointer tool by @tmszi in #817
- wxGUI mapwin: Fix show/hide vdigit toolbar by @tmszi in #578
- wxGUI/mapwin: fix showing overlays module properties dialog from the map display context menu by @tmszi in #1079
- wxGUI Module dialog: Fix enable scrolling for the Basic top module style (fix bug introduced in the issue #480) by @tmszi in #503
- wxGUI: module search GUI improved by @petrasovaa in #1194
- wxGUI: more suitable color for infobar on Windows by @lindakladivova in #1504
- wxGUI: multiple Python 3.10 fixes #2050
- wxGUI: new design for GNotebooks by @lindakladivova in #1801
- wxGUI: NewDisplay button moved to LMToolsToolbar by @lindakladivova in #1783
- wxGUI: NewIdRef was added only in wxPython 4.0.3. Fix import for <4.0.3 by @marisn in #155
- wxGUI: New management icons for vector and raster data import by @lindakladivova in #1204
- wxGUI: New, simplified, unified window titles by @wenzeslaus in #1216
- wxGUI/nviz: fix failed map centring on mac with pre-wx4.1 by @nilason in #895
- wxGUI/nviz: fix relative import from 'wxnviz' module by @tmszi in #887
- wxGUI/nviz: fix reopening 3D by reloading layers by @petrasovaa in https://github.com/OSGeo/grass/pull/953
- wxGUI/nviz: fix update list of surface in vector page during delete constant surface by @tmszi in https://github.com/OSGeo/grass/pull/881
- wxGUI/nviz: SetMaskColour causes problems on macos with wx 4.1.0 by @petrasovaa in https://github.com/OSGeo/grass/pull/787
- wxGUI: one row for lmgr toolbar after adding 3D view tab by @lindakladivova in https://github.com/OSGeo/grass/pull/1485
- wxGUI preferences: Fix load epsg codes by @tmszi in https://github.com/OSGeo/grass/pull/545
- wxGUI/prompt: support dark themes by @petrasovaa in https://github.com/OSGeo/grass/pull/1217
- wxGUI/prompt: update autocomplete map list when there is a change in db by @petrasovaa in https://github.com/OSGeo/grass/pull/1573
- wxGUI/psmap: fix retrieval of projection information by @tmszi in https://github.com/OSGeo/grass/pull/1310
- wxGUI/psmap: properly isolate region setting from the rest of GUI by @petrasovaa in https://github.com/OSGeo/grass/pull/1127
- wxGUI/pyedit: add quit toolbar tool by @tmszi in https://github.com/OSGeo/grass/pull/1022
- wxGUI/pyedit: add recent files history menu by @tmszi in https://github.com/OSGeo/grass/pull/1021
- wxGUI/PyShell: check for wxPython version by @nilason in https://github.com/OSGeo/grass/pull/1160
- wxGUI/rdigit: fix for Python3 by @petrasovaa in https://github.com/OSGeo/grass/pull/254
- wxGUI rdigit: Fix show save dialog by @tmszi in https://github.com/OSGeo/grass/pull/594
- wxGUI rdigit: Update list of available raster map layers, when map layers tree changed by @tmszi in https://github.com/OSGeo/grass/pull/707
- wxGUI: refactor changing mapset through file menu and catalog with signals by @petrasovaa in https://github.com/OSGeo/grass/pull/919
- wxGUI: refactoring: build display status bar based on wx.StatusBar widget by @lindakladivova in https://github.com/OSGeo/grass/pull/1646
- wxGUI: refactoring: build GUI tools' status bars based on wx.StatusBar widget by @lindakladivova in https://github.com/OSGeo/grass/pull/1689
- wxGUI refactoring: New WorkspaceManager class by @lindakladivova in https://github.com/OSGeo/grass/pull/1437
- wxGUI: Remove calls of unicode function which don't work in Python 3 by @wenzeslaus in https://github.com/OSGeo/grass/pull/1111
- wxGUI: remove deprecated methods from MapDisplay by @petrasovaa in https://github.com/OSGeo/grass/pull/1729
- wxGUI: remove legacy initialization of image handlers by @petrasovaa in https://github.com/OSGeo/grass/pull/153
- wxGUI: Remove python2 specific sys.stderr encoding handling. Fixes #3921 by @marisn in https://github.com/OSGeo/grass/pull/167
- wxGUI: Remove user mapset from demolocation by @lindakladivova in https://github.com/OSGeo/grass/pull/1173
- wxGUI: remove Version and copyright from menu as redundant by @petrasovaa in https://github.com/OSGeo/grass/pull/1264
- wxGUI: rename Modules tab to Tools tab, and Display tab to Layers tab https://github.com/OSGeo/grass/pull/1927
- wxGUI: replace deprecated wx.Yield by @petrasovaa in https://github.com/OSGeo/grass/pull/160
- wxGUI: Replace getchildren and getiterator from ElementTree by @wenzeslaus in https://github.com/OSGeo/grass/pull/1120
- wxGUI: replace obsolete wx.BitmapFromImage by @petrasovaa in https://github.com/OSGeo/grass/pull/230
- wxGUI/rlisetup: dissociate the managed window from the manager ('wx.aui.AuiManager' instance) before destroy wizard window by @tmszi in https://github.com/OSGeo/grass/pull/1196
- wxGUI r.li.setup: Show message dialog if removed config file isn't selected from the list by @tmszi in https://github.com/OSGeo/grass/pull/631
- wxGUI/Save display to file dialog: add wxPython 4.1 support by @nilason in https://github.com/OSGeo/grass/pull/1175
- wxGUI: SaveToFile() missing 1 required positional argument by @lindakladivova in https://github.com/OSGeo/grass/pull/1637
- wxGUI/settings: fix updating nested dict when reading settings file by @petrasovaa in https://github.com/OSGeo/grass/pull/1823
- wxGUI: Set vector output format load profile settings by @tmszi in https://github.com/OSGeo/grass/pull/451
- wxGUI: Set vector output format wx.Choice widget width by @tmszi in https://github.com/OSGeo/grass/pull/453
- wxGUI: Show line numbers in the Python editor (pyedit and gmodeler) by @wenzeslaus in https://github.com/OSGeo/grass/pull/284
- wxGUI: Show the world map in Demolocation immediately after startup by @lindakladivova in https://github.com/OSGeo/grass/pull/1070
- wxGUI/Single-Window: arrange a startup GUI by @lindakladivova in https://github.com/OSGeo/grass/pull/1775
- wxGUI/Single-Window: Ensure display tab to be visible when added by @lindakladivova in https://github.com/OSGeo/grass/pull/1830
- wxGUI: Single-Window GUI: arrangement of basic widgets by @lindakladivova in https://github.com/OSGeo/grass/pull/1621
- wxGUI: Single-Window GUI: Integrate new map display wx.Panels into a AuiNotebook center pane #1735 by @lindakladivova in https://github.com/OSGeo/grass/pull/1732
- wxGUI/Single-Window: New change page event for AuiNotebook by @lindakladivova in https://github.com/OSGeo/grass/pull/1780
- wxGUI: small refactoring of mapframe by @petrasovaa in https://github.com/OSGeo/grass/pull/1669
- wxGUI/splashscreen: use standard one, try to show it before main app, increase timeout by @petrasovaa in https://github.com/OSGeo/grass/pull/1718
- wxGUI: Split widget initialization from notebook logic by @lindakladivova in https://github.com/OSGeo/grass/pull/1591
- wxGUI/startup: fix terminate location download dialog download thread by @tmszi in https://github.com/OSGeo/grass/pull/832
- wxgui: startup GUI automatic detection of grassdata: make case independent #644 by @lindakladivova in https://github.com/OSGeo/grass/pull/664
- wxGUI: startup screen removed by @lindakladivova in https://github.com/OSGeo/grass/pull/1400
- wxGUI/tplot: add option to show simple regression model line by @tmszi in https://github.com/OSGeo/grass/pull/1207
- wxGUI/tplot: fixes for Matplotlib 3.3+ by @neteler in https://github.com/OSGeo/grass/pull/1191
- wxGUI/tplot: fix export csv file by @tmszi in https://github.com/OSGeo/grass/pull/1206
- wxGUI/tplot: fix x, y coordinates validation by @tmszi in https://github.com/OSGeo/grass/pull/1199
- wxGUI/treemodel: fix removing children of root by @petrasovaa in https://github.com/OSGeo/grass/pull/775
- wxGUI/treemodel: refactor TreeModel to allow more flexible Node classes. by @petrasovaa in https://github.com/OSGeo/grass/pull/797
- wxGUI/treemodel: revert weakref as it doesn't work with deepcopy by @petrasovaa in https://github.com/OSGeo/grass/pull/782
- wxGUI/treemodel: used weakref to fix deleting of nodes by @petrasovaa in https://github.com/OSGeo/grass/pull/778
- wxGUI: update Slovakia 3D precipitation voxel sample dataset URL by @nilason in https://github.com/OSGeo/grass/pull/1292
- wxGUI: use basic top module notebook style on all platforms as default by @petrasovaa https://github.com/OSGeo/grass/pull/2063
- wxGUI: Use correct (widget) with for word wrapping of warnings and errors by @marisn in https://github.com/OSGeo/grass/pull/490
- wxGUI: use default output font dialog for macOS and wxPython >=4.0.6 by @nilason in https://github.com/OSGeo/grass/pull/760
- wxGUI: use %d instead of %s for integers by @HuidaeCho in https://github.com/OSGeo/grass/pull/554
- wxGUI: Use system colours to enable dark mode support by @nilason in https://github.com/OSGeo/grass/pull/751
- wxGUI/vdigit: fix close settings dialog (if no vector map has been selected) by @tmszi in https://github.com/OSGeo/grass/pull/1394
- wxGUI/vdigit: fix 'Copy categories/features' editing tool if you select only one feature by @tmszi in https://github.com/OSGeo/grass/pull/1816
- wxGUI/vdigit: fix double click on the line/boundary after activate 'Edit selected line/boundary' editing tool by @tmszi in https://github.com/OSGeo/grass/pull/1814
- wxGUI/vdigit: fix double click on the line/boundary after activate 'Move selected vertex' editing tool and then switch to 'Edit selected line/boundary' editing tool by @tmszi in https://github.com/OSGeo/grass/pull/1815
- wxGUI vdigit: Fix Undo/Redo tool event by @tmszi in https://github.com/OSGeo/grass/pull/586
- wxGUI vdigit: Fix wx.CheckBox widget deprecation warning by @tmszi in https://github.com/OSGeo/grass/pull/700
- wxGUI/vdigit: show error message dialog if no vector map is open for editing, after activate 'Z bulk-labeling of 3D lines' tool by @tmszi in https://github.com/OSGeo/grass/pull/1877
- wxGUI vdigit: Update list of available vector map layers, when map layers tree changed by @tmszi in https://github.com/OSGeo/grass/pull/708
- wxGUI/vdigit: use 'FloatSpin' widget, which allows you to set the decimal snapping threshold value by @tmszi in https://github.com/OSGeo/grass/pull/1882
- wxGUI: Vector Network Analysis Tool close dialog by @tmszi in https://github.com/OSGeo/grass/pull/419
- wxGUI: Vector Network Analysis Tool ComboBox widget deprecation warning by @tmszi in https://github.com/OSGeo/grass/pull/418
- wxGUI: Vector Network Analysis Tool execute analysis by @tmszi in https://github.com/OSGeo/grass/pull/440
- wxGUI: Vector Network Analysis Tool FlatNotebook page small grey square artifact by @tmszi in https://github.com/OSGeo/grass/pull/425
- wxGUI: Vector Network Analysis Tool merge dicts by @tmszi in https://github.com/OSGeo/grass/pull/417
- wxGUI vnet: Fix ctypes c_char_p arg type (bytes object) by @tmszi in https://github.com/OSGeo/grass/pull/687
- wxGUI/vnet: fix removing page, wx layout assert error, missing giface by @petrasovaa in https://github.com/OSGeo/grass/pull/1822
- wxGUI/vselect: fix delete row from selected features list by @tmszi in https://github.com/OSGeo/grass/pull/1231
- wxGUI/vselect: fix show error message if selected map layer type is raster by @tmszi in https://github.com/OSGeo/grass/pull/1059
- wxGUI: Workspace save fails with SbManager has no IsShown by @lindakladivova in https://github.com/OSGeo/grass/pull/1665
- wxGUI WSPropertiesDialog: Fix close dialog by @tmszi in https://github.com/OSGeo/grass/pull/684
- wxGUI WSPropertiesDialog: Fix render new selected web service map layer in the map canvas by @tmszi in https://github.com/OSGeo/grass/pull/668
- wxGUI WSPropertiesDialog: Fix select layer if the web service map layer properties dialog is open by @tmszi in https://github.com/OSGeo/grass/pull/666
- wxGUI WSPropertiesDialog: Fix show web service map layer properties dialog by @tmszi in https://github.com/OSGeo/grass/pull/665
- wxGUI/wx.Menu.Append: remove text argument by @landam in https://github.com/OSGeo/grass/pull/335
- wxGUI/wxpyimgview: Fix launch wxpyimgview by @tmszi in https://github.com/OSGeo/grass/pull/735
- wxGUI/xml: add Raster digitizer tool among GUI tools toolbox items by @tmszi in https://github.com/OSGeo/grass/pull/2125
- wxGUI/xml: update GUI tools toolbox items by @tmszi in https://github.com/OSGeo/grass/pull/1050
- wxnviz: fix for HiDPI monitors with scaling set, fix decoding by @petrasovaa in https://github.com/OSGeo/grass/pull/307
- wxplot: add giface to write log correctly by @petrasovaa in https://github.com/OSGeo/grass/pull/428
- wxplot: use wxpython plotting instead of our old copy, adjust to use … by @petrasovaa in https://github.com/OSGeo/grass/pull/229
Python scripting
- New Python subpackage for working with locations and mapsets by @wenzeslaus in https://github.com/OSGeo/grass/pull/837
- pygrass: Add update parameters method to Module by @wenzeslaus in https://github.com/OSGeo/grass/pull/1712
- pygrass: call centroid function when buffering areas by @ninsbl in https://github.com/OSGeo/grass/pull/1655
- pygrass: remove failing test as not useful by @petrasovaa in https://github.com/OSGeo/grass/pull/1411
- pygrass: Remove usage of bare except by @wenzeslaus in https://github.com/OSGeo/grass/pull/1544
- fix Iterable import in pygrass/vector by @lrntct in https://github.com/OSGeo/grass/pull/734
- pythonlib: add env variables to all relevant functions in script lib by @petrasovaa in https://github.com/OSGeo/grass/pull/677
- pythonlib: allow wkt to be also string in create_location() by @petrasovaa in https://github.com/OSGeo/grass/pull/723
- pythonlib: Enable ambiguous variable name warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1538
- pythonlib: Enable bare except warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1549
- pythonlib: Enable escape sequence warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1529
- pythonlib: Enable unused var warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1509
- pythonlib: fix pygrass Module tests by making it picklable by @petrasovaa in https://github.com/OSGeo/grass/pull/1407
- pythonlib/grassdb: on Windows we can't simply get file owner by @petrasovaa in https://github.com/OSGeo/grass/pull/945
- pythonlib/grassdb: replace unix only function for file owner name by @petrasovaa in https://github.com/OSGeo/grass/pull/896
- pythonlib: Reduce usage of bare except in script by @wenzeslaus in https://github.com/OSGeo/grass/pull/1543
- pythonlib: Remove star imports by @wenzeslaus in https://github.com/OSGeo/grass/pull/1546
- pythonlib: return None from run_command() by @wenzeslaus in https://github.com/OSGeo/grass/pull/165
- pythonlib: safer mechanism for switching dbs in create_location by @petrasovaa in https://github.com/OSGeo/grass/pull/804
- pythonlib: Use more specific language in CalledModuleError by @wenzeslaus in https://github.com/OSGeo/grass/pull/1525
- python scripting lib: fix run_command(error='status') not returning 0 by @petrasovaa in https://github.com/OSGeo/grass/pull/1839
- python/script/raster.py: Fix encode string by @tmszi in https://github.com/OSGeo/grass/pull/738
Binder
- Binder button by @chaedri in https://github.com/OSGeo/grass/pull/1628
- Added additional GRASS info to example_notebook by @chaedri in https://github.com/OSGeo/grass/pull/1686
- Added Binder setup files by @chaedri in https://github.com/OSGeo/grass/pull/1603
You can try GRASS GIS with Binder online:
Jupyter Notebooks
- Raster Support for Interactive Jupyter maps with folium by @chaedri in https://github.com/OSGeo/grass/pull/1769
- Interactive vector maps for Jupyter Notebooks by @chaedri in https://github.com/OSGeo/grass/pull/1710
- grass.jupyter: add property filename to GrassRenderer by @petrasovaa in https://github.com/OSGeo/grass/pull/1846
- grass.jupyter: more flexible region handling for rendering by @petrasovaa in https://github.com/OSGeo/grass/pull/1871
- jupyter: Add virtual framebuffer X server dependency by @wenzeslaus in https://github.com/OSGeo/grass/pull/1827
- jupyter: Fix main notebook URL, note grass.jupyter is a preview by @wenzeslaus in https://github.com/OSGeo/grass/pull/1828
- jupyter: Non-interactive display by @chaedri in https://github.com/OSGeo/grass/pull/1668
- jupyter: Render 3D images with m.nviz.image by @wenzeslaus in https://github.com/OSGeo/grass/pull/1831
- jupyter: Add temporary files for Non-Interactive Display by @chaedri in https://github.com/OSGeo/grass/pull/1727
- Session initiations functions for Jupyter Notebooks by @chaedri in https://github.com/OSGeo/grass/pull/1629
User Manuals - Documentation
- Add CONTRIBUTING file with a standard contributor Git how-to by @wenzeslaus in https://github.com/OSGeo/grass/pull/237
- grass7 manual: document --config parameters by @neteler in https://github.com/OSGeo/grass/pull/532
- GRASS GIS Quickstart by @lindakladivova in https://github.com/OSGeo/grass/pull/1577
- Fix link to startup script manual page by @veroandreo in https://github.com/OSGeo/grass/pull/1875
- full index manual: add missing pages by @neteler in https://github.com/OSGeo/grass/pull/258
- db.drivers: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/212
- g.access: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/209
- g.gisenv: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/219
- g.manual: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/207
- grass7: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/220
- helptext: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/614
- i.eb.hsebal01: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/213
- i.evapo.pm: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/214
- i.smap: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/215
- imageryintro.html: add section about semantic labels by @neteler in https://github.com/OSGeo/grass/pull/2091
- r3.out.bin: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/216
- r.carve manual: fix example for stream vector by @neteler in https://github.com/OSGeo/grass/pull/968
- r.clump manual: screenshots added by @neteler in https://github.com/OSGeo/grass/pull/902
- r.cost manual: explain multiple directions by @metzm in https://github.com/OSGeo/grass/pull/846
- r.horizon manual: explain negative values by @neteler in https://github.com/OSGeo/grass/pull/754
- r.import manual: explain missing resampling methods by @neteler in https://github.com/OSGeo/grass/pull/1557
- r.in.gdal: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/621
- r.mask: manual updated by @ecodiv in https://github.com/OSGeo/grass/pull/1861
- r.out.gdal manual: added COG example by @neteler in https://github.com/OSGeo/grass/pull/1554
- r.plane manual: example improved by @neteler in https://github.com/OSGeo/grass/pull/900
- r.random*/r.surf. * manuals: examples and screenshots added by @neteler in https://github.com/OSGeo/grass/pull/1542
- r.region: manual updated by @jidanni in https://github.com/OSGeo/grass/pull/600
- r.series: manual updated by @ecodiv in https://github.com/OSGeo/grass/pull/1246
- r.stream.extract: Fix typos in the manual by @HuidaeCho in https://github.com/OSGeo/grass/pull/1352
- r.volume manual: example and screenshot added by @neteler in https://github.com/OSGeo/grass/pull/903
- variables manual updated by @jidanni in https://github.com/OSGeo/grass/pull/218
- variables manual updated by @jidanni in https://github.com/OSGeo/grass/pull/222
- v.category manual updated by @jidanni in https://github.com/OSGeo/grass/pull/607
- v.db.addtable manual updated by @jidanni in https://github.com/OSGeo/grass/pull/211
- vectorintro manual updated by @jidanni in https://github.com/OSGeo/grass/pull/224
- v.edit: Change -t to -b in the manual by @HuidaeCho in https://github.com/OSGeo/grass/pull/471
- v.edit manual updated by @jidanni in https://github.com/OSGeo/grass/pull/208
- v.edit manual updated by @jidanni in https://github.com/OSGeo/grass/pull/223
- v.extrude manual updated by @jidanni in https://github.com/OSGeo/grass/pull/210
- v.import manual updated by @jidanni in https://github.com/OSGeo/grass/pull/221
- v.info manual: note on -c flag added by @neteler in https://github.com/OSGeo/grass/pull/198
- v.in.wfs manual: fix example by @neteler in https://github.com/OSGeo/grass/pull/809
- v.lrs.label manual updated by @jidanni in https://github.com/OSGeo/grass/pull/217
- v.to.rast manual: update example to NC dataset by @neteler in https://github.com/OSGeo/grass/pull/1053
- howto_release converted to MD incl cleanup by @neteler in https://github.com/OSGeo/grass/pull/96
- gislib/dox: Refine the command line parsing doc. by @infrastation in https://github.com/OSGeo/grass/pull/1010
- manual: add 'plot' keyword by @neteler in https://github.com/OSGeo/grass/pull/1087
- manual: comment out SVN Date tag by @neteler in https://github.com/OSGeo/grass/pull/200
- manual: crosslinks and keywords added by @neteler in https://github.com/OSGeo/grass/pull/162
- manual: fix wrong input param in examples by @neteler in https://github.com/OSGeo/grass/pull/199
- manual: improved HTML page headers by @neteler in https://github.com/OSGeo/grass/pull/946
- manual: PROJ related links update by @neteler in https://github.com/OSGeo/grass/pull/268
- manual: put module name at first position by @neteler in https://github.com/OSGeo/grass/pull/248
- manual: revert further pages entry addition by @neteler in https://github.com/OSGeo/grass/pull/271
- manuals and docs: update broken URLS by @neteler in https://github.com/OSGeo/grass/pull/1003
- manual typo fix by @hellik in https://github.com/OSGeo/grass/pull/1268
- mkhtml: enable path setting for footer html pages (topics.html...) on add-on manual page by @tmszi in https://github.com/OSGeo/grass/pull/1122
- tools/mkhtml: fix src and src commits url in html addon module manual by @tmszi in https://github.com/OSGeo/grass/pull/987
- tools/mkhtml.py: fix keywords html pages paths if add-on html man page strored on the server by @tmszi in https://github.com/OSGeo/grass/pull/1165
- tools/mkhtml.py: fix replacing keywords (no keywords) html pages path if add-on html man page stored on the server by @tmszi in https://github.com/OSGeo/grass/pull/1172
- utils/mkhtml.py: fix get core modules commit from local git repo and remote GitHub API server by @tmszi in https://github.com/OSGeo/grass/pull/2113
- utils/mkhtml.py: get and set git commit and commit date in addon manual page hby @tmszi in ttps://github.com/OSGeo/grass/pull/2100
Projection support
- PROJ6+ + WKT2 support by @metzm in https://github.com/OSGeo/grass/pull/118, https://github.com/OSGeo/grass/pull/183, https://github.com/OSGeo/grass/pull/1240
- CRS management by @metzm in https://github.com/OSGeo/grass/pull/976
- datum: add support for D_Rauenberg_1983 by @neteler in https://github.com/OSGeo/grass/pull/1331
- datum.table: added SIRGAS 1995 by @neteler in https://github.com/OSGeo/grass/pull/464
- datum.table: add RGFG95 by @neteler in https://github.com/OSGeo/grass/pull/813
- Update reference from proj.4 or proj4 to proj (g.version) by @kikislater in https://github.com/OSGeo/grass/pull/54
GDAL support
- GDAL/OGR import: check projection of input data by @metzm in https://github.com/OSGeo/grass/pull/317
- GDAL/OGR import: report XY location when comparing projections by @metzm in https://github.com/OSGeo/grass/pull/368
Database support
- postgres driver: Assign 1000 to TEXT field length by @HuidaeCho in https://github.com/OSGeo/grass/pull/412
Library changes
- configure: upgrade to autoconf 2.69 by @nilason in https://github.com/OSGeo/grass/pull/1845
- configure: use pkg-config for FreeType 2 by @infrastation in https://github.com/OSGeo/grass/pull/1719
- ctypes: fix Callable for Python 3.10 by @neteler in https://github.com/OSGeo/grass/pull/1672
- ctypes: Fix ctypesgencore for Python 3 by @wenzeslaus in https://github.com/OSGeo/grass/pull/379
- ctypes: move directory out of python/grass by @nilason in https://github.com/OSGeo/grass/pull/1898
- ctypesgen: Update to upstream ctypesgen version by @nilason in https://github.com/OSGeo/grass/pull/1651
- Define MIN() and MAX() correctly and exactly once. by @infrastation in https://github.com/OSGeo/grass/pull/1795
- dbmi_client_start_driver: check if driver name is null or empty by @ninsbl in https://github.com/OSGeo/grass/pull/2133
- libgis: Allow parsing long GISDBASE paths by @attilaolah in https://github.com/OSGeo/grass/pull/1376
- libgis: allow to overwrite command history by @ninsbl in https://github.com/OSGeo/grass/pull/272
- libgis: Allow to use a fixed random seed via SOURCE_DATE_EPOCH by @bmwiedemann in https://github.com/OSGeo/grass/pull/251
- libgis parser: Add angle brackets to a single option/flag rule by @HuidaeCho in https://github.com/OSGeo/grass/pull/1399
- libgis parser: Show error for option file by @wenzeslaus in https://github.com/OSGeo/grass/pull/1433
- libgis parser: Use #-space-% to allow writing PEP8-compliant Python code by @wenzeslaus in https://github.com/OSGeo/grass/pull/1287
- libgis parser: Add a standard option for nprocs= (G_OPT_M_NPROCS) by @HuidaeCho in https://github.com/OSGeo/grass/pull/1644
- libgis: add missing return keyword to G__make_mapset_element_misc() by @nilason in https://github.com/OSGeo/grass/pull/1751
- libgis: add test for invalid value to parser by @metzm in https://github.com/OSGeo/grass/pull/1459
- libgis: Advancing va_list manually after calling ovprintf() by @HuidaeCho in https://github.com/OSGeo/grass/pull/725
- libgis: Distinguish dirs and objects in dir creation by @wenzeslaus in https://github.com/OSGeo/grass/pull/1681
- libgis: More clear comments for aprintf by @HuidaeCho in https://github.com/OSGeo/grass/pull/726
- libgis parser: an empty string is not an answer by @metzm in https://github.com/OSGeo/grass/pull/958
- libgis: Use the full string length in strncmp() calls. by @infrastation in https://github.com/OSGeo/grass/pull/1060
- New color table: percentage of forest cover by @neteler in https://github.com/OSGeo/grass/pull/894
- lib/init: fix run py script with CRLF line terminators ('grass --exec file_with_CRLF.py') by @tmszi in https://github.com/OSGeo/grass/pull/860
- lib/init/grass.py: Updated bash history setting from 3000 to unlimite… by @cwhite911 in https://github.com/OSGeo/grass/pull/1026
- lib/init: set HISTSIZE to empty string for unlimited size by @nilason in https://github.com/OSGeo/grass/pull/1526
- libproj: added alias for ITRF92 by @neteler in https://github.com/OSGeo/grass/pull/1460
- libproj: change warning to debug message by @neteler in https://github.com/OSGeo/grass/pull/1337
- libproj: fix crs modification with PROJ6+ by @metzm in https://github.com/OSGeo/grass/pull/1007
- libproj: fix for PROJ6+ to get the ll equivalent of a CRS by @metzm in https://github.com/OSGeo/grass/pull/939
- libproj: fix lookup mechanism for datum grids with all versions of PROJ by @metzm in https://github.com/OSGeo/grass/pull/252
- libproj: fix results for ll equivalents by @metzm in https://github.com/OSGeo/grass/pull/1444
- libproj: fix test for PJ_TYPE_BOUND_CRS by @metzm in https://github.com/OSGeo/grass/pull/1013
- libproj: fix treatment of proj extension in wkt by @metzm in https://github.com/OSGeo/grass/pull/187
- libpython: Add helper library for benchmarking by @wenzeslaus in https://github.com/OSGeo/grass/pull/1670
- libpython: Add plot nprocs to benchmark CLI by @wenzeslaus in https://github.com/OSGeo/grass/pull/1761
- libpython: Avoid race condition when reading region in use_temp_region() by @wenzeslaus in https://github.com/OSGeo/grass/pull/638
- libpython: explain verbosity levels by @neteler in https://github.com/OSGeo/grass/pull/998
- libpython: relax requirements for band names by @metzm in https://github.com/OSGeo/grass/pull/1081
- libpython: Resolve path to mapset in setup.init by @wenzeslaus in https://github.com/OSGeo/grass/pull/1829
- libpython: Save and load benchmark results by @wenzeslaus in https://github.com/OSGeo/grass/pull/1711
- libpython/script: fix tests by @petrasovaa in https://github.com/OSGeo/grass/pull/1381
- libpython: Support non-parallel runs better by @wenzeslaus in https://github.com/OSGeo/grass/pull/1733
- libraster: add strerror(errno) to write failures by @metzm in https://github.com/OSGeo/grass/pull/1722
- libraster: Explain missing header file in get_cellhd by @wenzeslaus in https://github.com/OSGeo/grass/pull/933
- libraster: Band references implementation by @landam in https://github.com/OSGeo/grass/pull/63
- libraster: change Rast_legal_bandref() return value to bool by @nilason in https://github.com/OSGeo/grass/pull/1897
- libraster: fix Rast_legal_bandref() by @metzm in https://github.com/OSGeo/grass/pull/1796
- libraster: raster module memory: set new value globally by @neteler in https://github.com/OSGeo/grass/pull/922
- libraster / gdal.c: add recent GDAL dlls by @ninsbl in https://github.com/OSGeo/grass/pull/1874
- Rast_log_colors: Another attempt to address r.colors -g/-a (#1480) by @HuidaeCho in https://github.com/OSGeo/grass/pull/1937
- Lib: Speed up listing a lot of mapsets by 20% by @marisn in https://github.com/OSGeo/grass/pull/281
- libimagery: Integrate band references into portable signature files by @marisn in https://github.com/OSGeo/grass/pull/1501
- libimagery: Make band references optional to simplify generation of signatures by @marisn in https://github.com/OSGeo/grass/pull/1866
- libimagery: Simplify raster band reference management by @marisn in https://github.com/OSGeo/grass/pull/1272
- libimagery: Improve G_open|find _misc function documentation by @marisn in https://github.com/OSGeo/grass/pull/1760
- libimagery: move signatures to subdirs by @marisn in https://github.com/OSGeo/grass/pull/1850
- libsymbol: fix bad argument order by @nilason in https://github.com/OSGeo/grass/pull/1820
- register.py: allow registering from io objects by @ninsbl in https://github.com/OSGeo/grass/pull/1929
- Upgrade tgis db by @landam in https://github.com/OSGeo/grass/pull/306
- open_stds: check for unknown band references by @landam in https://github.com/OSGeo/grass/pull/1844
- Number of bands relevant only to strds by @landam in https://github.com/OSGeo/grass/pull/1447
- Move grass package content to directory named grass by @wenzeslaus in https://github.com/OSGeo/grass/pull/1356
- Move headers from include to include/grass by @wenzeslaus in https://github.com/OSGeo/grass/pull/1350
- utils/mkhtml.py: fix get and set addon manual page source and history URL link https://github.com/OSGeo/grass/pull/1892
Changes to software start
- grass: added support for google-chrome and chromium by @neteler in https://github.com/OSGeo/grass/pull/201
- grass: Evaluate ^export lines only and expand variables in double/non-quoted values by @HuidaeCho in https://github.com/OSGeo/grass/pull/170
- grass: fix typo in info_text, svn -> dev by @landam in https://github.com/OSGeo/grass/pull/78
- grass: Match.getitem is new from version 3.6, we need to use g… by @petrasovaa in https://github.com/OSGeo/grass/pull/253
- grass: used space as delimiter to get GRASS_VERSION_STRING by @ninsbl in https://github.com/OSGeo/grass/pull/405
- grass: enforce Python 3 by @neteler in https://github.com/OSGeo/grass/pull/345
- init: Add --tmp-mapset option by @wenzeslaus in https://github.com/OSGeo/grass/pull/313
- init: Apply Black to the init script by @wenzeslaus in https://github.com/OSGeo/grass/pull/1359
- init: Change the history file according to the current mapset for Bash by @wenzeslaus in https://github.com/OSGeo/grass/pull/930
- init: Clean up Flake8 config by @wenzeslaus in https://github.com/OSGeo/grass/pull/1508
- init: Create demolocation in grass.py, not wxGUI gis_set.py by @wenzeslaus in https://github.com/OSGeo/grass/pull/1208
- init: Default to Bash, fallback to sh by @wenzeslaus in https://github.com/OSGeo/grass/pull/1836
- init: ensure zsh environment variable SAVEHIST is set by @nilason in https://github.com/OSGeo/grass/pull/805
- init: Solve most of Flake8 issues in grass.py by @wenzeslaus in https://github.com/OSGeo/grass/pull/1536
- init: Start in last used mapset with --gui like --text by @wenzeslaus in https://github.com/OSGeo/grass/pull/767
- init: Start shell only with TTY by @wenzeslaus in https://github.com/OSGeo/grass/pull/768
- init: Update doc for non-interactive jobs by @wenzeslaus in https://github.com/OSGeo/grass/pull/1753
- init: Update mapset and simplify shell prompts by @wenzeslaus in https://github.com/OSGeo/grass/pull/923
- init: Use argparse instead of custom parsing for CLI by @wenzeslaus in https://github.com/OSGeo/grass/pull/1239
- Add zsh history change by @nilason in https://github.com/OSGeo/grass/pull/975
- Add zsh terminal prompt support by @nilason in https://github.com/OSGeo/grass/pull/722
- tcsh prompt: fix update with change of mapset by @nilason in https://github.com/OSGeo/grass/pull/765
- Startup: Avoid a race condition by @HuidaeCho in https://github.com/OSGeo/grass/pull/548
JSON / REST support
- Fixed gis parser json implementation by @huhabla in https://github.com/OSGeo/grass/pull/99
- json parser: change + to @ for URLs by @neteler in https://github.com/OSGeo/grass/pull/175
- json parser: fix mapsets in tokenizing by @neteler in https://github.com/OSGeo/grass/pull/1252
Code quality
- Add list of commits for git blame to ignore by @wenzeslaus in https://github.com/OSGeo/grass/pull/1391
- Apply Black to all python scripts by @wenzeslaus in https://github.com/OSGeo/grass/pull/1347
- Apply Black to doc utils in man by @wenzeslaus in https://github.com/OSGeo/grass/pull/1366
- Apply Black to grass package, use Python 3 style everywhere by @wenzeslaus in https://github.com/OSGeo/grass/pull/1382
- Apply Black to helpers, examples, doc, and others by @wenzeslaus in https://github.com/OSGeo/grass/pull/1386
- Apply Black to locale by @wenzeslaus in https://github.com/OSGeo/grass/pull/1513
- Apply Black to Python utils by @wenzeslaus in https://github.com/OSGeo/grass/pull/1365
- Apply Black to temporal modules by @wenzeslaus in https://github.com/OSGeo/grass/pull/1388
- Apply Black to tests by @wenzeslaus in https://github.com/OSGeo/grass/pull/1387
- Apply Black to wxGUI by @wenzeslaus in https://github.com/OSGeo/grass/pull/1527
- Apply Mega-Linter fixes to GH workflow scripts by @wenzeslaus in https://github.com/OSGeo/grass/pull/1369
- Fix compiler warnings, part 1 by @nilason in https://github.com/OSGeo/grass/pull/1248
- Fix compiler warnings, part 2 by @nilason in https://github.com/OSGeo/grass/pull/1256
- Fix compiler warnings, part 3 by @nilason in https://github.com/OSGeo/grass/pull/1263
- Fix compiler warnings, part 4 by @nilason in https://github.com/OSGeo/grass/pull/1265
- Fix compiler warnings, part 5 by @nilason in (rst/interpfl lib & v.surf.rst) https://github.com/OSGeo/grass/pull/1271
- Fix compiler warnings, part 6 by @nilason in https://github.com/OSGeo/grass/pull/1274
- Fix compiler warnings, part 7 by @nilason in https://github.com/OSGeo/grass/pull/1275
- Fix compiler warnings, part 8 by @nilason in https://github.com/OSGeo/grass/pull/1276
- Fix compiler warnings, part 9 by @nilason in https://github.com/OSGeo/grass/pull/1316
- Fix compiler warnings, part 10 by @nilason in https://github.com/OSGeo/grass/pull/1395
- Fix compiler warnings, part 11 by @nilason in https://github.com/OSGeo/grass/pull/1405
- Fix compiler warnings, part 12 by @nilason in https://github.com/OSGeo/grass/pull/1406
- Fix spelling in comments esp. in GUI code by @wenzeslaus in https://github.com/OSGeo/grass/pull/1357
- Flake8 fixes for docs and others by @wenzeslaus in https://github.com/OSGeo/grass/pull/1511
- Flake8 fixes for utils and man by @wenzeslaus in https://github.com/OSGeo/grass/pull/1379
- Flake8: fix F401 (unused import) and F821 (undefined name) in scripts and lib by @petrasovaa in https://github.com/OSGeo/grass/pull/1314
- python PEP8 fixes by @neteler in https://github.com/OSGeo/grass/pull/1317
- pythonlib: Fix stylistic Flake8 warnings by @wenzeslaus in https://github.com/OSGeo/grass/pull/1486
- Remove pycache directories before release. by @sebastic in https://github.com/OSGeo/grass/pull/182
- Fix spelling errors. by @sebastic in https://github.com/OSGeo/grass/pull/1916, https://github.com/OSGeo/grass/pull/561, https://github.com/OSGeo/grass/pull/871, https://github.com/OSGeo/grass/pull/992
- Code quality fixes for grass package (lib/python) by @wenzeslaus in https://github.com/OSGeo/grass/pull/576
- Fix Flake8 errors in temporal modules by @wenzeslaus in https://github.com/OSGeo/grass/pull/573
- Fix flake8 pep8 errors by @neteler in https://github.com/OSGeo/grass/pull/986
- scripts: Enable ambiguous variable name warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1515
- scripts: Enable bare except warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1517
- scripts: Enable import not at top warning by @wenzeslaus in https://github.com/OSGeo/grass/pull/1510
- scripts: Fix stylistic Flake8 warnings by @wenzeslaus in https://github.com/OSGeo/grass/pull/1487
- scripts: Remove unused vars or ignore in Flake8 by @wenzeslaus in https://github.com/OSGeo/grass/pull/1498
Unit tests / CI
- Add C and C++ versions to CI by @wenzeslaus in https://github.com/OSGeo/grass/pull/596
- Add CentOS build check to CI by @wenzeslaus in https://github.com/OSGeo/grass/pull/604
- Add GitHub Action to build, run tests, and Python static code analysis by @wenzeslaus in https://github.com/OSGeo/grass/pull/525
- Add github workflow for docker build and push by @mmacata in https://github.com/OSGeo/grass/pull/1790
- Add label to new GitHub issue by @nilason in https://github.com/OSGeo/grass/pull/527
- CI: Add Flake8 check for grass.py by @wenzeslaus in https://github.com/OSGeo/grass/pull/1311
- CI: Add GH Super Linter for a subset of secondary files by @wenzeslaus in https://github.com/OSGeo/grass/pull/752
- CI: Add matplotlib to apt deps by @wenzeslaus in https://github.com/OSGeo/grass/pull/1703
- CI: add PDAL support by @neteler in https://github.com/OSGeo/grass/pull/1638
- CI: add proj-bin to have cs2cs for tests by @petrasovaa in https://github.com/OSGeo/grass/pull/1410
- CI: Do not run Docker job on forks by @wenzeslaus in https://github.com/OSGeo/grass/pull/1915
- CI: Enable Perl in Super-Linter by @wenzeslaus in https://github.com/OSGeo/grass/pull/1493
- CI: Fix ifs for jobs and rename master to main by @wenzeslaus in https://github.com/OSGeo/grass/pull/1813
- CI: Handpick C/C++ version combos for GCC tests by @wenzeslaus in https://github.com/OSGeo/grass/pull/1288
- CI: Make test report available as artifact by @wenzeslaus in https://github.com/OSGeo/grass/pull/1290
- CI: Make test report available even on failure by @wenzeslaus in https://github.com/OSGeo/grass/pull/1702
- CI: Print version info for Ubuntu and CentOS runs by @wenzeslaus in https://github.com/OSGeo/grass/pull/1832
- CI: Remove duplication in Ubuntu workflow by @wenzeslaus in https://github.com/OSGeo/grass/pull/1749
- CI: Remove notifications comming from Travis CI by @wenzeslaus in https://github.com/OSGeo/grass/pull/663
- CI: Run Docker for all release branches by @wenzeslaus in https://github.com/OSGeo/grass/pull/1975
- CI: Switch Travis to Ubuntu 20.04 (focal) by @wenzeslaus in https://github.com/OSGeo/grass/pull/1384
- CI: Update Flake8 by @wenzeslaus in https://github.com/OSGeo/grass/pull/1932
- CI: Update setting env vars, use 20.04, C gnu17 by @wenzeslaus in https://github.com/OSGeo/grass/pull/1092
- CI: Use a specific Flake8 version by @wenzeslaus in https://github.com/OSGeo/grass/pull/626
- CI: Use matrix and increase versions for Flake8 by @wenzeslaus in https://github.com/OSGeo/grass/pull/1309
- CI for MS Windows: Switch to OSGeo4W V2 by @ninsbl https://github.com/OSGeo/grass/pull/2074
- gunittest: CalledModuleError constructor accepts module, code, returncode, and errors by @HuidaeCho in https://github.com/OSGeo/grass/pull/1788
- gunittest: Deduplicate output decoding code by @wenzeslaus in https://github.com/OSGeo/grass/pull/1539
- gunittest docs: fix broken links by @neteler in https://github.com/OSGeo/grass/pull/934
- gunittest: Exclude broken tests by @wenzeslaus in https://github.com/OSGeo/grass/pull/1587
- gunittest: Fix stdout used instead of stderr by @wenzeslaus in https://github.com/OSGeo/grass/pull/1707
- gunittest: init super() to initialise 'errors' attribute by @nilason in https://github.com/OSGeo/grass/pull/1685
- gunittest: Non-zero return code on certian percetage of tests failing by @wenzeslaus in https://github.com/OSGeo/grass/pull/377
- gunittest: update module interface doctest by @nilason in https://github.com/OSGeo/grass/pull/1699
- gunittest: Add a new assertion for raster equivalence by @marisn in https://github.com/OSGeo/grass/pull/1148
- tests: Output more text and sort files by @wenzeslaus in https://github.com/OSGeo/grass/pull/1362
- testsuite example: info updated by @neteler in https://github.com/OSGeo/grass/pull/831
- testsuite: fix libgis/parser_json.c and r.fillnull by @neteler in https://github.com/OSGeo/grass/pull/1346
- testsuite: minor fixes by @neteler in https://github.com/OSGeo/grass/pull/855
- testsuite: r.blend quoting test by @neteler in https://github.com/OSGeo/grass/pull/347
Portability
MS-Windows:
- Apply more osgeo4w patches by @ninsbl in https://github.com/OSGeo/grass/pull/1921
- Apply patches from OSGeo4W upstreams by @ninsbl in https://github.com/OSGeo/grass/pull/1880
- gdal.c: add .so/.dll for GDAL 3.0 by @rouault in https://github.com/OSGeo/grass/pull/191
- mswindows: crosscompile under WSL by @HuidaeCho in https://github.com/OSGeo/grass/pull/1940
- mswindows: Update crosscompile.sh to 8.0 by @HuidaeCho in https://github.com/OSGeo/grass/pull/1876
- mswindows: Update crosscompile.sh to the master branch of MXE by @HuidaeCho in https://github.com/OSGeo/grass/pull/1939
- OSGeo4W BAT files review by @landam in https://github.com/OSGeo/grass/pull/437
- OSGeo4W workflow for GitHub Actions by @HuidaeCho in https://github.com/OSGeo/grass/pull/692
- update wingrass installer to osgeo4w v2 + drop 32bit by @landam in https://github.com/OSGeo/grass/pull/1904
- Cross compilation by @HuidaeCho in https://github.com/OSGeo/grass/pull/257
- crosscompile: Support for BusyBox for Windows by @HuidaeCho in https://github.com/OSGeo/grass/pull/1946
- env.bat.tmpl: Deal with blanks in OSGEO4W_ROOT by @jef-n in https://github.com/OSGeo/grass/pull/859
- geos-config: Rename --libs to --clibs (configure uses --clibs) by @HuidaeCho in https://github.com/OSGeo/grass/pull/177
- winGRASS: change form BU Execute to "GenericRead + GenericExecute" by @dnewcomb in https://github.com/OSGeo/grass/pull/2068
Mac:
- Mac: converted compile instructions from RTF to markdown by @neteler in https://github.com/OSGeo/grass/pull/636
- macOS/install: do not install system level docs by @nilason in https://github.com/OSGeo/grass/pull/1909
- macOS: modernize app bundle info by @nilason in https://github.com/OSGeo/grass/pull/941
- macOS: use @rpath as dynamic linker by @nilason in https://github.com/OSGeo/grass/pull/981
- Mac ReadMe: stylistic update by @nilason in https://github.com/OSGeo/grass/pull/639
- Mac: Update app icon for hi-res support by @nilason in https://github.com/OSGeo/grass/pull/829
- v.in.pdal fix compilation on mac by @nilason in https://github.com/OSGeo/grass/pull/479
- init/pythonlib: unified use of addonbase for mac https://github.com/OSGeo/grass/pull/2004
FreeBSD:
- Fix linker flags on FreeBSD. by @MikaelUrankar in https://github.com/OSGeo/grass/pull/1936
Docker support
New: Docker images are now built for the 8.0 branch.
Docker:
- Alpine dockerfile: removed PDAL by @neteler in https://github.com/OSGeo/grass/pull/455
- Alpine dockerfile: update python3 patch and add pdal package by @mmacata in https://github.com/OSGeo/grass/pull/378
- Alpine dockerfile: use proj 6.2.1 by @mmacata in https://github.com/OSGeo/grass/pull/255
- Alpine dockerfile: added subversion package for g.extension by @neteler in https://github.com/OSGeo/grass/pull/261
- Alpine dockerfile: Patch python instead of grass for alpine docker by @mmacata in https://github.com/OSGeo/grass/pull/304
- Alpine dockerfile: patch to work with py3.8 by @mmacata in https://github.com/OSGeo/grass/pull/278
- Alpine dockerfile: Alpine latest (stable) added by @neteler in https://github.com/OSGeo/grass/pull/275
- Alpine dockerfile: removed gisinit revision workaround by @neteler in https://github.com/OSGeo/grass/pull/280
- Alpine dockerfile: fix broken pip six installation by @neteler in https://github.com/OSGeo/grass/pull/1568, https://github.com/OSGeo/grass/pull/1581
- Dockerfile READMEs added by @neteler in https://github.com/OSGeo/grass/pull/147
- Dockerfiles: fix broken lib link by @neteler in https://github.com/OSGeo/grass/pull/1625
- Dockerfiles: fix broken grass-session tests by @neteler in https://github.com/OSGeo/grass/pull/1623
- Dockerfiles: install git before build by @mmacata in https://github.com/OSGeo/grass/pull/990
- Dockerfiles: moved into distro specific subdirs by @neteler in https://github.com/OSGeo/grass/pull/148
- Dockerfiles: remove workaround for grass-session by @neteler in https://github.com/OSGeo/grass/pull/1624
- Dockerfile Ubuntu/Debian: another link fix by @neteler in https://github.com/OSGeo/grass/pull/1626
- Dockerfile with Python 3, PDAL, grass-session, Ubuntu based by @neteler in https://github.com/OSGeo/grass/pull/134
- docker: fix GRASS lib path detection by @neteler in https://github.com/OSGeo/grass/pull/883
- docker: image with Ubuntu 19:10 by @neteler in https://github.com/OSGeo/grass/pull/260
- docker: update Ubuntu based images by @neteler in https://github.com/OSGeo/grass/pull/1180
- docker: version matrix added by @neteler in https://github.com/OSGeo/grass/pull/606
- introduce docker multistage build to alpine image by @mmacata in https://github.com/OSGeo/grass/pull/276
- Keep module_items.xml in docker alpine by @mmacata in https://github.com/OSGeo/grass/pull/330
- Read the ubuntu based Dockerfile by @hwbllmnn in https://github.com/OSGeo/grass/pull/143
- Switch to debian 10.1 as dockerfile base image (master) by @hwbllmnn in https://github.com/OSGeo/grass/pull/140
Singularity:
- added singularity file by @lucadelu in https://github.com/OSGeo/grass/pull/181
Message Translations
- i18N: sync from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/
- by @HuidaeCho in https://github.com/OSGeo/grass/pull/1326, https://github.com/OSGeo/grass/pull/1465, https://github.com/OSGeo/grass/pull/1519), https://github.com/OSGeo/grass/pull/1592, https://github.com/OSGeo/grass/pull/1676
- by @neteler in https://github.com/OSGeo/grass/pull/1153, https://github.com/OSGeo/grass/pull/1011, https://github.com/OSGeo/grass/pull/124, https://github.com/OSGeo/grass/pull/158, https://github.com/OSGeo/grass/pull/169, https://github.com/OSGeo/grass/pull/559, https://github.com/OSGeo/grass/pull/697, https://github.com/OSGeo/grass/pull/87
- update of Latvian language by @marisn in https://github.com/OSGeo/grass/pull/865
- Support Korean (ko) language settings from g.gui for Windows by @HuidaeCho in https://github.com/OSGeo/grass/pull/519
- Sync Korean translations by @HuidaeCho in https://github.com/OSGeo/grass/pull/556
Packaging
- Fedora SPEC file updated by @neteler in https://github.com/OSGeo/grass/pull/1969
GitHub related
- Issues are now on GitHub by @wenzeslaus in https://github.com/OSGeo/grass/pull/315
- Rename the master branch to main by @wenzeslaus in https://github.com/OSGeo/grass/pull/1806
- Rename tools directory to utils by @wenzeslaus in https://github.com/OSGeo/grass/pull/1348
- GitHub action CI: drop ubuntu-16.04 by @neteler in https://github.com/OSGeo/grass/pull/1254
- GitHub Action: Completion of security analysis with CodeQL by @mmacata in https://github.com/OSGeo/grass/pull/1300
- svn refs changed to git by @neteler in https://github.com/OSGeo/grass/pull/93
- GIS_H_VERSION: use git hash by @metzm in https://github.com/OSGeo/grass/pull/325
- infrastructure.md: add latest updates by @neteler in https://github.com/OSGeo/grass/pull/863
- change sponsor link to opencollective by @veroandreo in https://github.com/OSGeo/grass/pull/1865
- Reference CONTRIBUTING.md file in README by @wenzeslaus in https://github.com/OSGeo/grass/pull/283
- Format YAML in GH workflows by @wenzeslaus in https://github.com/OSGeo/grass/pull/1367
- Fix osgeo4w workflow by @agiudiceandrea in https://github.com/OSGeo/grass/pull/1757
Restructuring of the GRASS GIS Addons repository
- Overview of tasks related to "restructure repository for version 8" by @wenzeslaus in https://github.com/OSGeo/grass-addons/issues/528
- GRASS GIS 6 addons related changes (essentially, its archivation) by @wenzeslaus in https://github.com/OSGeo/grass-addons/pull/535
- GRASS GIS 7 addons related changes by @wenzeslaus in https://github.com/OSGeo/grass-addons/pull/571
- GRASS GIS 8 addons related changes: the
grass8branch was created on Dec, 3rd 2021 and is now the default branch
New Addons since GRASS 7.8.6
- d.region.grid: Drapes a color raster over an shaded relief or aspect map.
- v.greedycolors: Creates greedy colors for vector areas.
- v.what.rast.label: Uploads raster values and labels to vector point layer.
Closed GitHub tickets since the last release
See https://github.com/OSGeo/grass/milestone/4?closed=1
New Contributors
(in alphabetical GitHub user name order)
- @aaronsms made their first contribution in #1514
- @agiudiceandrea made their first contribution in #1336
- @aroche made their first contribution in https://github.com/OSGeo/grass/pull/288
- @attilaolah made their first contribution in https://github.com/OSGeo/grass/pull/1376
- @baharmon made their first contribution in https://github.com/OSGeo/grass/pull/518
- @bmwiedemann made their first contribution in https://github.com/OSGeo/grass/pull/251
- @byronbest made their first contribution in #113
- @CarlosGrohmann made their first contribution in https://github.com/OSGeo/grass/pull/1857
- @chaedri made their first contribution in https://github.com/OSGeo/grass/pull/1603
- @cwhite911 made their first contribution in https://github.com/OSGeo/grass/pull/1026
- @dnewcomb made their first contribution in https://github.com/OSGeo/grass/pull/2068
- @ecodiv made their first contribution in https://github.com/OSGeo/grass/pull/1246
- @ggardet made their first contribution in https://github.com/OSGeo/grass/pull/565
- @griembauer made their first contribution in #983
- @infrastation made their first contribution in https://github.com/OSGeo/grass/pull/972
- @jentjr made their first contribution in https://github.com/OSGeo/grass/pull/650
- @jidanni made their first contribution in https://github.com/OSGeo/grass/pull/208
- @KolesovDmitry made their first contribution in https://github.com/OSGeo/grass/pull/361
- @lbartoletti made their first contribution in https://github.com/OSGeo/grass/pull/301
- @lrntct made their first contribution in https://github.com/OSGeo/grass/pull/734
- @Lucifergene made their first contribution in #1812
- @mankoff made their first contribution in https://github.com/OSGeo/grass/pull/91
- @MikaelUrankar made their first contribution in https://github.com/OSGeo/grass/pull/1936
- @mmacata made their first contribution in https://github.com/OSGeo/grass/pull/151
- @mwort made their first contribution in #85
- @nobeeakon made their first contribution in #1089
- @ocsmit made their first contribution in https://github.com/OSGeo/grass/pull/1431
- @shubhamshah14102 made their first contribution in https://github.com/OSGeo/grass/pull/1951
- @ShubhamSwati made their first contribution in https://github.com/OSGeo/grass/pull/1608
- @SunveerSingh made their first contribution in #1464