wiki:Release/8.0.0-News

Version 7 (modified by neteler, 3 years ago) ( diff )

Generated with: gh api repos/OSGeo/grass/releases/generate-notes -f tag_name="8.0.0" -f previous_tag_name=7.8.6 -f target_commitish=releasebranch_8_0 -q .body

GRASS GIS 8.0.0

A short summary of changes: New features in GRASS 8.0

Releases

Stable Release

  • ...

Release Candidate 2 (RC2)

  • ...

Release Candidate 1 (RC1)

Git Source Code

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.

Mention t.upgrade here?

New Contributors

(in alphabetical GitHub user name order)

  • @aaronsms made their first contribution in (PR:1514)
  • @agiudiceandrea made their first contribution in (PR:1336)
  • @aroche made their first contribution in (PR:288)
  • @attilaolah made their first contribution in (PR:1376)
  • @baharmon made their first contribution in (PR:518)
  • @bmwiedemann made their first contribution in (PR:251)
  • @byronbest made their first contribution in (PR:113)
  • @chaedri made their first contribution in (PR:1603)
  • @cwhite911 made their first contribution in (PR:1026)
  • @ggardet made their first contribution in (PR:565)
  • @griembauer made their first contribution in (PR:983)
  • @infrastation made their first contribution in (PR:972)
  • @jentjr made their first contribution in (PR:650)
  • @jidanni made their first contribution in (PR:208)
  • @KolesovDmitry made their first contribution in (PR:361)
  • @lbartoletti made their first contribution in (PR:301)
  • @lrntct made their first contribution in (PR:734)
  • @Lucifergene made their first contribution in (PR:1812)
  • @mankoff made their first contribution in (PR:91)
  • @MikaelUrankar made their first contribution in (PR:1936)
  • @mmacata made their first contribution in (PR:151)
  • @mwort made their first contribution in (PR:85)
  • @nobeeakon made their first contribution in (PR:1089)
  • @ocsmit made their first contribution in (PR:1431)
  • @shubhamshah14102 made their first contribution in (PR:1951)
  • @ShubhamSwati made their first contribution in (PR:1608)
  • @SunveerSingh made their first contribution in (PR:1464)

New modules

  • G80:...

Major module changes

(see also below for closed bugs)

  • G80:...

Minor module changes

(see also below for closed bugs)

TODO: re-order this section (perhaps some entries need to go elsewhere: major or new modules)

UNSORTED FIXME

  • Added warning about region not being respected by @CarlosGrohmann in (PR:1857)
  • Add locale by @hwbllmnn in (PR:146)
  • Add missing add web services layer required package in the Dockerfile by @tmszi in (PR:303)
  • Add missing #include <stdlib.h> to display/d.where/main.c by @attilaolah in (PR:1377)
  • Add missing Temporal GUI Tools required package in the Dockerfile by @tmszi in (PR:312)
  • Add mod(x,y) function to r.mapcalc and r3.mapcalc doc by @agiudiceandrea in (PR:1617)
  • Add mswindows/crosscompile.sh by @HuidaeCho in (PR:269)
  • Add national land cover dataset color table by @baharmon in (PR:518)
  • Add new splash screen as decided in #1716 by @veroandreo in (PR:1803)
  • Add numpy and other Python pkgs to CI by @wenzeslaus in (PR:585)
  • Add python3-wxgtk deb package in the Dockerfile by @tmszi in (PR:243)
  • add python-grass.bat for Python initialization by @landam in (PR:436)
  • Add rename and delete of Location and Mapset in Datacatalog by @lindakladivova in (PR:771)
  • address digitizer backround map issue #467 by @petrasovaa in (PR:494)
  • Add soname on FreeBSD by @lbartoletti in (PR:301)
  • Add temporary files for Non-Interactive Display by @chaedri in (PR:1727)
  • add text snippet and how to add band references by @veroandreo in (PR:1887)
  • Add -Werror to "GCC C/C++ standards check" CI builds by @nilason in (PR:1804)
  • Add zsh history change by @nilason in (PR:975)
  • Add zsh terminal prompt support by @nilason in (PR:722)
  • Allow delete on multiple locations in data catalog by @lindakladivova in (PR:875)
  • allow larger maps in r.terraflow by @ninsbl in (PR:265)
  • Allow parsing long GISDBASE paths by @attilaolah in (PR:1376)
  • allow to overwrite command history by @ninsbl in (PR:272)
  • Allow to use a fixed random seed via SOURCE_DATE_EPOCH by @bmwiedemann in (PR:251)
  • Band references implementation by @landam in (PR:63)
  • Binder button by @chaedri in (PR:1628)
  • catalog: first load and display tree with locations for responsiveness, then load everything by @petrasovaa in (PR:1043)
  • catalog: use natural sort by @petrasovaa in (PR:1012)
  • change alpine docker to alpine version 3.12 by @anikaweinmann in (PR:711)
  • Change default color for rendering vectors (gray->blue) [news] by @wenzeslaus in (PR:1166)
  • changed natural earth dataset archive from zip to tarball by @baharmon in (PR:867)
  • Change is/is not to ==/!= for literal comparisons by @HuidaeCho in (PR:264)
  • Change local variable names to lowercase by @HuidaeCho in (PR:273)
  • change Python shebang to python3 by @neteler in (PR:75)
  • change Python shebang to python3 by @neteler in (PR:82)
  • change python to python3 by @neteler in (PR:98)
  • change sponsor link to opencollective by @veroandreo in (PR:1865)
  • Check for gislock and other issues when deleting/renaming/editing mapset and location in catalog by @lindakladivova in (PR:904)
  • Cleanup .swp files too by @sebastic in (PR:97)
  • Code quality fixes for grass package (lib/python) by @wenzeslaus in (PR:576)
  • config.guess + config.sub: updated by @neteler in (PR:1155)
  • configure, config.sub, config.guess: updated by @neteler in (PR:1585)
  • configure update by @neteler in (PR:89)
  • configure: upgrade to autoconf 2.69 by @nilason in (PR:1845)
  • configure: use pkg-config for FreeType 2 by @infrastation in (PR:1719)
  • CONTRIBUTING.md: intro added for newcomers by @neteler in (PR:1566)
  • copy libs into bin directory after running make distclean by @landam in (PR:172)
  • Cross compilation by @HuidaeCho in (PR:257)
  • crosscompile enhancements by @HuidaeCho in (PR:1947)
  • crosscompile: Fix python.exe search by @HuidaeCho in (PR:1945)
  • crosscompile: More enhancements by @HuidaeCho in (PR:1948)
  • crosscompile: Sorting env vars more logically by @HuidaeCho in (PR:1954)
  • crosscompile: Support for BusyBox for Windows by @HuidaeCho in (PR:1946)
  • Cross-platform version of date -Iseconds in configure by @HuidaeCho in (PR:568)
  • CRS management by @metzm in (PR:976)
  • ctypes: fix Callable for Python 3.10 by @neteler in (PR:1672)
  • ctypes: Fix ctypesgencore for Python 3 by @wenzeslaus in (PR:379)
  • ctypes: move directory out of python/grass by @nilason in (PR:1898)
  • Data catalog: double click on map from different location fails by @lindakladivova in (PR:886)
  • datacatalog: fix when no watchdog is present, fix pasting map by @petrasovaa in (PR:1099)
  • datum: add support for D_Rauenberg_1983 by @neteler in (PR:1331)
  • datum.table: added SIRGAS 1995 by @neteler in (PR:464)
  • datum.table: add RGFG95 by @neteler in (PR:813)
  • Define MIN() and MAX() correctly and exactly once. by @infrastation in (PR:1795)
  • delete ctypesgencore/parser/lextab.py by @neteler in (PR:95)
  • delete unused function toolboxes._encode_string() by @pesekon2 in (PR:234)
  • demolocation: update by @petrasovaa in (PR:1285)
  • disable module check since svn keywords are not maintained by git by @landam in (PR:117)
  • Distinguish mapsets by ownership and lock in Data tab by @lindakladivova in (PR:849)
  • Docstring improvements by @chaedri in (PR:1800)
  • Document r.external issues with r.null by @mankoff in (PR:91)
  • Do not install config.status by @bmwiedemann in (PR:263)
  • Do not show Flags: in help if there are no flags by @wenzeslaus in (PR:105)
  • Drop wx.ALIGN_CENTER_HORIZONTAL, wx.ALIGN_CENTER_VERTICAL and wx.ALIGN_RIGHT when wxEXPAND is used by @ggardet in (PR:565)
  • Duplicate entry of "output" keyword by @kikislater in (PR:1001)
  • Enable Ctypesgen parsing of non-utf8 files on macOS, fixes trac #3883 by @nilason in (PR:385)
  • env.bat.tmpl: Deal with blanks in OSGEO4W_ROOT by @jef-n in (PR:859)
  • Error message has appeared in the console tab/cmd after close any module dialog by @tmszi in (PR:249)
  • Example notebooks by @chaedri in (PR:1787)
  • Extend keywords for null and mask modules by @wenzeslaus in (PR:239)
  • feat(misc): set NPROCS environment variable by @aaronsms in (PR:1734)
  • Fedora SPEC file: updated by @neteler in (PR:256)
  • fix #3882 by @petrasovaa in (PR:161)
  • fix 3D rendering in animation tool by @petrasovaa in (PR:293)
  • fix #411: closing Map Display and layer tree from different places by @petrasovaa in (PR:427)
  • Fix alpine docker by removing Python3 patch and PDAL by @anikaweinmann in (PR:373)
  • Fix an error when exporting csv file from g.gui.tplot by @lbartoletti in (PR:690)
  • fix band references assignment by @landam in (PR:132)
  • Fix basic Flake8 warnings in scripts by @wenzeslaus in (PR:539)
  • Fix bug introduced in the issue #466 by @tmszi in (PR:500)
  • Fix Cairo for Windows by @nilason in (PR:1697)
  • Fix Cartographic Composer Add graphic tool (Line/Rectangle), Add Image/North Arrow dialog wx FloatSpin widget size by @tmszi in (PR:310)
  • Fix Cartographic Composer wxPython deprecation warning by @tmszi in (PR:309)
  • Fix check wxGUI Set vector output format native format dsn by @tmszi in (PR:450)
  • Fix compiler warnings, part 10 by @nilason in (PR:1395)
  • Fix compiler warnings, part 12 by @nilason in (PR:1406)
  • Fix compiler warnings, part 5 (rst/interpfl lib & v.surf.rst) by @nilason in (PR:1271)
  • Fix compiler warnings, part 9 by @nilason in (PR:1316)
  • Fix copy-to-clipboard key binding for console (trac#3008) by @nilason in (PR:393)
  • Fix dbmgr for Python3 by @petrasovaa in (PR:344)
  • Fix decoding stderr after render layer fail by @tmszi in (PR:407)
  • fix deprecated call warning for FutureCall by @petrasovaa in (PR:294)
  • fix deprecated wx.NewId() by @neteler in (PR:150)
  • Fix destroy open wxGUI Vector Network Analysis Tool dialog when wxGUI is closed by @tmszi in (PR:432)
  • fix double string encoding with EncodeString() by @pesekon2 in (PR:241)
  • Fixed gis parser json implementation by @huhabla in (PR:99)
  • Fixed the pygrass rpc server to avoid wrong restart warnings by @huhabla in (PR:100)
  • Fix failing vector digitizer on mac, trac#3487 by @nilason in (PR:456)
  • Fix fixed-width CJK formatting by @HuidaeCho in (PR:523)
  • Fix Flake8 errors in temporal modules by @wenzeslaus in (PR:573)
  • Fix flake8 pep8 errors by @neteler in (PR:986)
  • Fix g.extension -i (compile), -d (download) flag by @tmszi in (PR:496)
  • fix g.extension -l ValueError by @landam in (PR:1849)
  • fix g.extension test by @petrasovaa in (PR:1364)
  • Fix grass-session installation in alpine docker by @mmacata in (PR:516)
  • Fix grass-session installation in docker files by @neteler in (PR:517)
  • fix init_dbif() returned values better interpretation by @pesekon2 in (PR:1008)
  • fix Iterable import in pygrass/vector by @lrntct in (PR:734)
  • Fix linker flags on FreeBSD. by @MikaelUrankar in (PR:1936)
  • Fix link to startup script manual page by @veroandreo in (PR:1875)
  • Fix macOS gui bug for v.proj and r.proj on, addresses #3502 by @nilason in (PR:363)
  • Fix missing checkboxes in ListCtrl by @petrasovaa in (PR:204)
  • fix newid in psmap by @petrasovaa in (PR:154)
  • fix NULL values for very small areas address in v.rast.stats by @ninsbl in (PR:402)
  • Fix osgeo4w workflow by @agiudiceandrea in (PR:1757)
  • fix position of null cells by @ninsbl in (PR:389)
  • fix py3-numpy-dev package name by @neteler in (PR:112)
  • Fix r.fillnulls to run in python 3 by @mwort in (PR:85)
  • Fix set up sampling and analysis framework wizard relative import by @tmszi in (PR:409)
  • Fix show layer inside the layer subgroup by @tmszi in (PR:400)
  • Fix some Flake8 for pydispatch by @wenzeslaus in (PR:1808)
  • Fix some Flake8 warnings in grass package by @wenzeslaus in (PR:540)
  • Fix source code URL when addon path starts with root path by @HuidaeCho in (PR:1645)
  • Fix spelling errors. by @sebastic in (PR:1916)
  • Fix spelling errors. by @sebastic in (PR:561)
  • Fix spelling errors. by @sebastic in (PR:871)
  • Fix spelling errors. by @sebastic in (PR:992)
  • Fix spelling in comments esp. in GUI code by @wenzeslaus in (PR:1357)
  • Fix SyntaxError issues with Python 3. by @sebastic in (PR:549)
  • fix the renaming of wx.Event variables by @pesekon2 in (PR:128)
  • fix typo in databaseintro.html by @jentjr in (PR:650)
  • Fix typo in v.distance fatal msg by @wenzeslaus in (PR:163)
  • Fix unable to open file from python editor by @aroche in (PR:288)
  • fix usage of vector cats in constraint by @metzm in (PR:262)
  • Fix use wxGUI Raster Digitizer input raster map layer temporary region by @tmszi in (PR:470)
  • Fix valid location check, sync with other functions by @wenzeslaus in (PR:1777)
  • Fix v.in.pdal compilation on mac, #475 by @nilason in (PR:479)
  • Fix wxGUI Field calculator wx.ListBox widget choices argument by @tmszi in (PR:460)
  • Fix wxGUI g.gui.rlisetup config file open mode for write in text mode by @tmszi in (PR:410)
  • Fix wxGUI g.gui.vdigit update available vector maps after the frame is show by @tmszi in (PR:465)
  • Fix wxGUI Graphical Modeler About Dialog import by @tmszi in (PR:438)
  • Fix wxGUI Graphical Modeler decode string by @tmszi in (PR:441)
  • Fix wxGUI Graphical Modeler wx widget deprecation warning by @tmszi in (PR:442)
  • Fix wxGUI Histogramming Tool Plot xSpec, ySpec property value by @tmszi in (PR:422)
  • Fix wxGUI Histogramming Tool save text settings (font family/style/weight) into the file by @tmszi in (PR:421)
  • Fix wxGUI Import vector/raster dialog min width by @tmszi in (PR:492)
  • Fix wxGUI Layer Manager add layer into the empty layer group by @tmszi in (PR:413)
  • Fix wxGUI Layer Manager add vector map layer Set color table interactively menu item by @tmszi in (PR:472)
  • Fix wxGUI Layer Manager close the Layers NoteBook Display FlatNotebook page by @tmszi in (PR:411)
  • Fix wxGUI Manage color rules interactively (vector map) frame by @tmszi in (PR:429)
  • Fix wxGUI Manage color rules interactively (vector map) number of LoadTable method calls by @tmszi in (PR:444)
  • Fix wxGUI Manage color rules interactively (vector map) wx.CollapsiblePane widget layout by @tmszi in (PR:449)
  • Fix wxGUI Set vector output format load profile settings by @tmszi in (PR:451)
  • Fix wxGUI Set vector output format wx.Choice widget width by @tmszi in (PR:453)
  • Fix wxGUI Vector Network Analysis Tool close dialog by @tmszi in (PR:419)
  • Fix wxGUI Vector Network Analysis Tool ComboBox widget deprecation warning by @tmszi in (PR:418)
  • Fix wxGUI Vector Network Analysis Tool execute analysis by @tmszi in (PR:440)
  • Fix wxGUI Vector Network Analysis Tool FlatNotebook page small grey square artifact by @tmszi in (PR:425)
  • Fix wxGUI Vector Network Analysis Tool merge dicts by @tmszi in (PR:417)
  • Format YAML in GH workflows by @wenzeslaus in (PR:1367)
  • full index manual: add missing pages by @neteler in (PR:258)
  • GDAL/OGR import: check projection of input data by @metzm in (PR:317)
  • GDAL/OGR import: report XY location when comparing projections by @metzm in (PR:368)
  • geos-config: Rename --libs to --clibs (configure uses --clibs) by @HuidaeCho in (PR:177)
  • getattr shortcut for calling GRASS display modules by @chaedri in (PR:1723)
  • get rid of wx.insertStringItem deprecation warnings by @pesekon2 in (PR:120)
  • GIS_H_DATE: switch to date -Iseconds format by @landam in (PR:485)
  • GIS_H_VERSION: use git hash by @metzm in (PR:325)
  • gislib/dox: Refine the command line parsing doc. by @infrastation in (PR:1010)
  • GitHub action CI: drop ubuntu-16.04 by @neteler in (PR:1254)
  • GitHub Action: Completion of security analysis with CodeQL by @mmacata in (PR:1300)
  • gitignore: Add testreport directory by @nilason in (PR:852)
  • Git: Un-ignore locale directory by @wenzeslaus in (PR:1512)
  • gmodeler: fix python export - main() by @landam in (PR:336)
  • grass7 manual: document --config parameters by @neteler in (PR:532)
  • GRASS GIS 8.0 changes by @neteler in (PR:1597)
  • GRASS GIS Quickstart by @lindakladivova in (PR:1577)
  • grass.jupyter: add property filename to GrassRenderer by @petrasovaa in (PR:1846)
  • grass.jupyter: more flexible region handling for rendering by @petrasovaa in (PR:1871)
  • grass.py: Evaluate export lines only and expand variables in double/non-quoted values by @HuidaeCho in (PR:170)
  • grass.py: fix typo in info_text, svn -> dev by @landam in (PR:78)
  • grass.py: Match.getitem is new from version 3.6, we need to use g… by @petrasovaa in (PR:253)
  • grass.py: used space as delimiter to get GRASS_VERSION_STRING by @ninsbl in (PR:405)
  • grass.sh: enforce Python 3 by @neteler in (PR:345)
  • grass startup: added support for google-chrome and chromium by @neteler in (PR:201)
  • GUI: do not fail on invalid RC file (empty) by @landam in (PR:185)
  • GUI: use %d instead of %s for integers by @HuidaeCho in (PR:554)
  • gunittest: CalledModuleError constructor accepts module, code, returncode, and errors by @HuidaeCho in (PR:1788)
  • gunittest: Deduplicate output decoding code by @wenzeslaus in (PR:1539)
  • gunittest docs: fix broken links by @neteler in (PR:934)
  • gunittest: Exclude broken tests by @wenzeslaus in (PR:1587)
  • gunittest: Fix stdout used instead of stderr by @wenzeslaus in (PR:1707)
  • gunittest: init super() to initialise 'errors' attribute by @nilason in (PR:1685)
  • gunittest: Non-zero return code on certian percetage of tests failing by @wenzeslaus in (PR:377)
  • gunittest: update module interface doctest by @nilason in (PR:1699)
  • iclass + iscatt: fixes for Python3 by @petrasovaa in (PR:316)
  • Ignore current errors from wxGUI, scripts, temporal by @wenzeslaus in (PR:537)
  • Ignore paths in CodeQL by @wenzeslaus in (PR:1778)
  • imagery/i.image.mosaic: fix encode, decode string by @tmszi in (PR:1035)
  • Imagery lib: Add notes to documentation about I_get_*2() functions by @marisn in (PR:1250)
  • Imagery: move signatures to subdirs by @marisn in (PR:1850)
  • images2gif: PILLOW_VERSION is obsolete by @petrasovaa in (PR:899)
  • Improve G_open|find _misc function documentation by @marisn in (PR:1760)
  • infrastructure doc: converted to MD by @neteler in (PR:715)
  • infrastructure.md: add latest updates by @neteler in (PR:863)
  • init: Add --tmp-mapset option by @wenzeslaus in (PR:313)
  • init: Apply Black to the init script by @wenzeslaus in (PR:1359)
  • init: Change the history file according to the current mapset for Bash by @wenzeslaus in (PR:930)
  • init: Clean up Flake8 config by @wenzeslaus in (PR:1508)
  • init: Create demolocation in grass.py, not wxGUI gis_set.py by @wenzeslaus in (PR:1208)
  • init: Default to Bash, fallback to sh by @wenzeslaus in (PR:1836)
  • init: ensure zsh environment variable SAVEHIST is set by @nilason in (PR:805)
  • init: Solve most of Flake8 issues in grass.py by @wenzeslaus in (PR:1536)
  • init: Start in last used mapset with --gui like --text by @wenzeslaus in (PR:767)
  • init: Start shell only with TTY by @wenzeslaus in (PR:768)
  • init: Update doc for non-interactive jobs by @wenzeslaus in (PR:1753)
  • init: Update mapset and simplify shell prompts by @wenzeslaus in (PR:923)
  • init: Use argparse instead of custom parsing for CLI by @wenzeslaus in (PR:1239)
  • install: check lowercased prefix by @nilason in (PR:949)
  • Integrate band references into portable signature files by @marisn in (PR:1501)
  • Interactive vector maps for Jupyter Notebooks by @chaedri in (PR:1710)
  • introduce docker multistage build to alpine image by @mmacata in (PR:276)
  • json parser: change + to @ for URLs by @neteler in (PR:175)
  • json parser: fix mapsets in tokenizing by @neteler in (PR:1252)
  • jupyter: Add virtual framebuffer X server dependency by @wenzeslaus in (PR:1827)
  • jupyter: Fix main notebook URL, note grass.jupyter is a preview by @wenzeslaus in (PR:1828)
  • Jupyter: Non-interactive display by @chaedri in (PR:1668)
  • jupyter: Render 3D images with m.nviz.image by @wenzeslaus in (PR:1831)
  • Keep module_items.xml in docker alpine by @mmacata in (PR:330)
  • keyword 'geometry' added by @neteler in (PR:940)
  • Lazy imports and work without import numpy by @wenzeslaus in (PR:511)
  • libsymbol: fix bad argument order by @nilason in (PR:1820)
  • Mac: converted compile instructions from RTF to markdown by @neteler in (PR:636)
  • macOS/install: do not install system level docs by @nilason in (PR:1909)
  • macOS: modernize app bundle info by @nilason in (PR:941)
  • macOS: use @rpath as dynamic linker by @nilason in (PR:981)
  • Mac ReadMe: stylistic update by @nilason in (PR:639)
  • Mac: Update app icon for hi-res support by @nilason in (PR:829)
  • make: Add support for Makefile variable DESTDIR by @nilason in (PR:1234)
  • Make band references optional to simplify generation of signatures by @marisn in (PR:1866)
  • Make Data tab the default in GUI by @lindakladivova in (PR:756)
  • make python script in gmodeler using items instead of iteritems by @pesekon2 in (PR:340)
  • manual: add 'plot' keyword by @neteler in (PR:1087)
  • manual: comment out SVN Date tag by @neteler in (PR:200)
  • manual: crosslinks and keywords added by @neteler in (PR:162)
  • manual: fix wrong input param in examples by @neteler in (PR:199)
  • manual: improved HTML page headers by @neteler in (PR:946)
  • manual: PROJ related links update by @neteler in (PR:268)
  • manual: put module name at first position by @neteler in (PR:248)
  • manual: revert further pages entry addition by @neteler in (PR:271)
  • manuals and docs: update broken URLS by @neteler in (PR:1003)
  • manual typo fix by @hellik in (PR:1268)
  • MapSwipe window has wrong title by @lindakladivova in (PR:1692)
  • misc: fix indentation for r.series and r.patch by @aaronsms in (PR:1772)
  • misc(r.slope.aspect): reindent C source files by @aaronsms in (PR:1765)
  • Misleading lock symbol icon in the in the Data tab toolbar by @lindakladivova in (PR:870)
  • mkhtml: enable path setting for footer html pages (topics.html...) on add-on manual page by @tmszi in (PR:1122)
  • more proofreading for r.geomorphon by @infrastation in (PR:991)
  • Move g.download.location to core, create grass.utils lib by @wenzeslaus in (PR:1715)
  • Move grass package content to directory named grass by @wenzeslaus in (PR:1356)
  • Move headers from include to include/grass by @wenzeslaus in (PR:1350)
  • mswindows: crosscompile under WSL by @HuidaeCho in (PR:1940)
  • mswindows: Update crosscompile.sh to 8.0 by @HuidaeCho in (PR:1876)
  • mswindows: Update crosscompile.sh to the master branch of MXE by @HuidaeCho in (PR:1939)
  • NC full sample dataset: new URL by @neteler in (PR:1463)
  • Needed version updates for GRASS GIS 7.9 by @neteler in (PR:77)
  • New color table: percentage of forest cover by @neteler in (PR:894)
  • New Python subpackage for working with locations and mapsets by @wenzeslaus in (PR:837)
  • Number of bands relevant only to strds by @landam in (PR:1447)
  • NVIZ: Fix a typo by @HuidaeCho in (PR:553)
  • NVIZ: Fix a typo (cont'ed) by @neteler in (PR:557)
  • open_stds: check for unknown band references by @landam in (PR:1844)
  • OSGeo4W BAT files review by @landam in (PR:437)
  • OSGeo4W workflow for GitHub Actions by @HuidaeCho in (PR:692)
  • os.newline should not be used when writing in text mode by @petrasovaa in (PR:387)
  • perlcritic: fix perlcritic errors by @ocsmit in (PR:1431)
  • postgres: Assign 1000 to TEXT field length by @HuidaeCho in (PR:412)
  • PS Driver: Write data to a tempfile before closing by @HuidaeCho in (PR:1451)
  • pygrass: Add update parameters method to Module by @wenzeslaus in (PR:1712)
  • pygrass: call centroid function when buffering areas by @ninsbl in (PR:1655)
  • pygrass: remove failing test as not useful by @petrasovaa in (PR:1411)
  • pygrass: Remove usage of bare except by @wenzeslaus in (PR:1544)
  • python gunittest: Add a new assertion for raster equivalence by @marisn in (PR:1148)
  • pythonlib: add env variables to all relevant functions in script lib by @petrasovaa in (PR:677)
  • pythonlib: allow wkt to be also string in create_location() by @petrasovaa in (PR:723)
  • pythonlib: Enable ambiguous variable name warning by @wenzeslaus in (PR:1538)
  • pythonlib: Enable bare except warning by @wenzeslaus in (PR:1549)
  • pythonlib: Enable escape sequence warning by @wenzeslaus in (PR:1529)
  • pythonlib: Enable unused var warning by @wenzeslaus in (PR:1509)
  • pythonlib: fix pygrass Module tests by making it picklable by @petrasovaa in (PR:1407)
  • pythonlib: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1486)
  • pythonlib/grassdb: on Windows we can't simply get file owner by @petrasovaa in (PR:945)
  • pythonlib/grassdb: replace unix only function for file owner name by @petrasovaa in (PR:896)
  • pythonlib: Reduce usage of bare except in script by @wenzeslaus in (PR:1543)
  • pythonlib: Remove star imports by @wenzeslaus in (PR:1546)
  • pythonlib: return None from run_command() by @wenzeslaus in (PR:165)
  • pythonlib: safer mechanism for switching dbs in create_location by @petrasovaa in (PR:804)
  • pythonlib: Use more specific language in CalledModuleError by @wenzeslaus in (PR:1525)
  • python scripting lib: fix run_command(error='status') not returning 0 by @petrasovaa in (PR:1839)
  • python/script/raster.py: Fix encode string by @tmszi in (PR:738)
  • Python scripts: remove UTF-8 coding line by @neteler in (PR:1461)
  • python verbosity docs: minor layout fixes by @neteler in (PR:1004)
  • Quick-fix for d.correlate.py by @NikosAlexandris in (PR:1149)
  • quick fix of g.extension on MS Windows by @landam in (PR:176)
  • rasterlib: Explain missing header file in get_cellhd by @wenzeslaus in (PR:933)
  • raster module memory: set new value globally by @neteler in (PR:922)
  • Raster Support for Interactive Jupyter maps with folium by @chaedri in (PR:1769)
  • Rast_log_colors: Another attempt to address r.colors -g/-a (#1480) by @HuidaeCho in (PR:1937)
  • Readd the ubuntu based Dockerfile by @hwbllmnn in (PR:143)
  • README: more CI status badges added by @neteler in (PR:764)
  • README refactoring by @pesekon2 in (PR:231)
  • Reduce Flake8 config to one file by @wenzeslaus in (PR:1807)
  • Reference CONTRIBUTING.md file in README by @wenzeslaus in (PR:283)
  • Reflect grassdb changes in catalog by @petrasovaa in (PR:994)
  • Refs by S Gebbert added by @neteler in (PR:121)
  • register.py: allow registering from io objects by @ninsbl in (PR:1929)
  • Remove colouring of standard buttons by @nilason in (PR:744)
  • remove deprecated py 'PIL' module 'fromstring', 'tostring' method call by @tmszi in (PR:1223)
  • remove @# from GRASS_VERSION_STRING by @landam in (PR:528)
  • remove now unneeded Python 3 shebang trick by @neteler in (PR:90)
  • Remove pycache directories before release. by @sebastic in (PR:182)
  • remove python3-3.8.1 patch by @mmacata in (PR:383)
  • Remove redundant encode string call in the error message string interpolation by @tmszi in (PR:308)
  • Removing map layer crashes wxGUI (trac.osgeo.org/grass/ticket/3607) by @petrasovaa in (PR:462)
  • Rename the master branch to main by @wenzeslaus in (PR:1806)
  • Rename tools directory to utils by @wenzeslaus in (PR:1348)
  • render: Fix .legrow file existence check by @tmszi in (PR:691)
  • replace deprecated inspect function by @petrasovaa in (PR:334)
  • replace obsolete time.clock() in Python 3.3 by @petrasovaa in (PR:244)
  • REQUIREMENTS.html: numerous URLs updated by @neteler in (PR:202)
  • scripts: Enable ambiguous variable name warning by @wenzeslaus in (PR:1515)
  • scripts: Enable bare except warning by @wenzeslaus in (PR:1517)
  • scripts: Enable import not at top warning by @wenzeslaus in (PR:1510)
  • scripts: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1487)
  • scripts: Remove unused vars or ignore in Flake8 by @wenzeslaus in (PR:1498)
  • scripts/r.plane/r.plane.py:fixed bare except by @ShubhamSwati in (PR:1608)
  • Session initiations functions for Jupyter Notebooks by @chaedri in (PR:1629)
  • Set locale to euc-kr only for Windows by @HuidaeCho in (PR:520)
  • several fixes related to font dialog by @petrasovaa in (PR:292)
  • simplify GRASS_EXECUTABLE handling in package.sh by @landam in (PR:445)
  • Simplify raster band reference management by @marisn in (PR:1272)
  • Small code fixes for d.legend and Cairo_Text by @wenzeslaus in (PR:1076)
  • Sort file lists by @bmwiedemann in (PR:247)
  • standardization of Markdown files by @pesekon2 in (PR:346)
  • Start in a demo/startup location by @lindakladivova in (PR:868)
  • Startup: Avoid a race condition by @HuidaeCho in (PR:548)
  • Stop ignoring .git folder for docker builds by @mmacata in (PR:1182)
  • Store list of databases in settings by @lindakladivova in (PR:858)
  • Support Korean (ko) language settings from g.gui for Windows by @HuidaeCho in (PR:519)
  • svn refs changed to git by @neteler in (PR:93)
  • Switch alpine docker to alpine 3.11 and compiled pdal by @mmacata in (PR:399)
  • switch environment: also change mapset by @metzm in (PR:286)
  • Switch to another mapset when in use (aka force remove lock) by @lindakladivova in (PR:906)
  • Switch to debian 10.1 as dockerfile base image (master) by @hwbllmnn in (PR:140)
  • Sync Korean translations by @HuidaeCho in (PR:556)
  • tcsh prompt: fix update with change of mapset by @nilason in (PR:765)
  • temporal: fix TGIS broken in 61b8d40 (#306) by @petrasovaa in (PR:504)
  • Test Module for Non-interactive display in Jupyter Notebooks by @chaedri in (PR:1739)
  • tests: Output more text and sort files by @wenzeslaus in (PR:1362)
  • testsuite example: info updated by @neteler in (PR:831)
  • testsuite: fix g.bands and i.band test by @neteler in (PR:1345)
  • testsuite: fix libgis/parser_json.c and r.fillnull by @neteler in (PR:1346)
  • testsuite: minor fixes by @neteler in (PR:855)
  • testsuite: r.blend quoting test by @neteler in (PR:347)
  • tools/mkhtml: fix src and src commits url in html addon module manual by @tmszi in (PR:987)
  • tools/mkhtml.py: fix keywords html pages paths if add-on html man page strored on the server by @tmszi in (PR:1165)
  • totools/mkhtml.py: fix replacing keywords (no keywords) html pages path if add-on html man page stored on the server by @tmszi in (PR:1172)
  • tplot/frame.py: fixes for Matplotlib 3.3+ by @neteler in (PR:1191)
  • Update db.drivers.html by @jidanni in (PR:212)
  • Update docs (#360) by @KolesovDmitry in (PR:361)
  • Updated translators.csv file by @lucadelu in (PR:1249)
  • Update from proj.4 to proj (g.version) by @kikislater in (PR:55)
  • Update g.access.html by @jidanni in (PR:209)
  • Update g.gisenv.html by @jidanni in (PR:219)
  • Update g.manual.html by @jidanni in (PR:207)
  • Update grass7.html by @jidanni in (PR:220)
  • Update helptext.html by @jidanni in (PR:614)
  • update how_release based on 7.8.6RC3 experience by @landam in (PR:1913)
  • Update i.eb.hsebal01.html by @jidanni in (PR:213)
  • Update i.evapo.pm.html by @jidanni in (PR:214)
  • Update i.smap.html by @jidanni in (PR:215)
  • Update Location Wizard: First page by @lindakladivova in (PR:493)
  • Update of travis configuration for Python 3 by @neteler in (PR:115)
  • Update PO files by @HuidaeCho in (PR:1361)
  • update Python 3 dependencies by @neteler in (PR:79)
  • Update r3.out.bin.html by @jidanni in (PR:216)
  • Update reference from proj.4 or proj4 to proj (g.version) by @kikislater in (PR:54)
  • Update r.in.gdal.html by @jidanni in (PR:621)
  • Update r.in.wms.py by @jidanni in (PR:616)
  • Update r.mask.html by @ecodiv in (PR:1861)
  • Update r.region.html by @jidanni in (PR:600)
  • Update r.series.html by @ecodiv in (PR:1246)
  • Updates made in the README.md file by @shubhamshah14102 in (PR:1951)
  • Update to Black 21.5b1 by @wenzeslaus in (PR:1605)
  • Update to upstream ctypesgen version by @nilason in (PR:1651)
  • update usage of map() function to Python 3 by @pesekon2 in (PR:114)
  • Update variables.html by @jidanni in (PR:218)
  • Update variables.html by @jidanni in (PR:222)
  • Update v.category.html by @jidanni in (PR:607)
  • Update v.db.addtable.html by @jidanni in (PR:211)
  • Update vectorintro.html by @jidanni in (PR:224)
  • Update v.edit.html by @jidanni in (PR:208)
  • Update v.edit.html by @jidanni in (PR:223)
  • Update v.extrude.html by @jidanni in (PR:210)
  • Update v.import.html by @jidanni in (PR:221)
  • Update v.lrs.label.html by @jidanni in (PR:217)
  • update wingrass installer to osgeo4w v2 + drop 32bit by @landam in (PR:1904)
  • Upgrade tgis db by @landam in (PR:306)
  • Use ${CC} instead of "cc" for linking on mac by @nilason in (PR:611)
  • use copy instead of git clone in Dockerfiles by @mmacata in (PR:151)
  • Use gs as alias for grass.script in doc by @wenzeslaus in (PR:282)
  • use proj 6.2.1 in apline Dockerfile by @mmacata in (PR:255)
  • Use .wxgui_history as history file for the gui (#962) by @susi in (PR:1917)
  • Using JSON for GUI settings by @petrasovaa in (PR:1015)
  • utils: Small fixes of Bash util scripts by @wenzeslaus in (PR:1363)

GUI: Improvements in the Graphical User Interface

  • NEW: entire rewrite of GRASS GIS startup
  • Added global dataset to download location in startup by @baharmon in (PR:544)
  • wxgui about: add link to github by @landam in (PR:131)
  • wxGUI/About: remove hardcoded white background for dark mode by @petrasovaa in (PR:1215)
  • wxGUI: add dark mode support for command output by @nilason in (PR:759)
  • wxGUI: add dark mode support for vector attribute data table by @nilason in (PR:793)
  • wxGUI: added install notranslation function by @marisn in (PR:156)
  • wxGUI: add env parameter in gcmd.py RunCommand by @petrasovaa in (PR:1113)
  • wxGUI: add missing giface, fixes error when emitting grassdbChanged signal by @petrasovaa in (PR:1139)
  • wxGUI: Add missing import from grass.app by @wenzeslaus in (PR:1358)
  • wxGUI: Add missing title params to frames by @wenzeslaus in (PR:1301)
  • wxGUI: Add new icons to data catalog for actions avaliable in context menu by @lindakladivova in (PR:811)
  • wxGUI: Add new icons to datacatalog for actions avaliable in context menu (continue) by @lindakladivova in (PR:830)
  • wxGUI: Add new location action to database node in Data tab by @lindakladivova in (PR:790)
  • wxGUI: Add new mapset action to data catalog by @lindakladivova in (PR:731)
  • wxGUI: address flake8 undefined variable by @petrasovaa in (PR:1325)
  • wxGUI Add web service layer: Fix dialog layout by @tmszi in (PR:627)
  • wxGUI AddWSDialog: Fix render WMTS layer with OGC:CRS84 coor system by @tmszi in (PR:674)
  • wxGUI AddWSDialog: Fix setting output layer name, after selecting another layer by @tmszi in (PR:667)
  • wxGUI AddWSDialog RenderWMSMgr: Fix render WMS jpeg source format by @tmszi in (PR:640)
  • wxGUI: Allow delete on multiple mapsets in data catalog by @lindakladivova in (PR:795)
  • wxGUI: always switch when creating new location/mapset by @petrasovaa in (PR:1229)
  • wxGUI: An action should be required before modifying other mapsets by @lindakladivova in (PR:848)
  • wxGUI animation: allow to use saved region instead of comp region by @petrasovaa in (PR:656)
  • wxGUI/animation: fix 3D animation by @petrasovaa in (PR:1551)
  • wxGUI/animation: fix deprecation warnings by @petrasovaa in (PR:149)
  • wxGUI/animation: fix https://trac.osgeo.org/grass/ticket/3894 and htt… by @petrasovaa in (PR:116)
  • wxGUI/animation: fix 'RuntimeError: dictionary changed size during iteration' by @tmszi in (PR:908)
  • wxGUI/animation: fix validation of extension of exported file by @tmszi in (PR:907)
  • wxGUI/animation: fix wxPyDeprecationWarning by @tmszi in (PR:854)
  • wxGUI/animation: fix wxPyDeprecationWarning by @tmszi in (PR:910)
  • wxGUI/animation: show error and proceed with temporal database mismatch by @petrasovaa in (PR:950)
  • wxGUI: Ask user about shell only when present by @wenzeslaus in (PR:1219)
  • wxGUI: avoid flush clipboard if not opened by @nilason in (PR:819)
  • wxGUI: avoid printing annoying wx debug message on startup by @petrasovaa in (PR:157)
  • wxGUI/catalog: do not expand mapset after filtering if was filtered out by @petrasovaa in (PR:763)
  • wxGUI/catalog: refactor frame.py to use DataCatalog panel from catalog.py by @petrasovaa in (PR:1030)
  • wxgui: catch also TypeError when importing ctypes, see #305 by @landam in (PR:324)
  • wxGUI: Changes in Layer Manager tabs order and labels by @lindakladivova in (PR:802)
  • wxGUI/colorrules: fix OnOK when preview is updated after window is de… by @petrasovaa in (PR:443)
  • wxGUI/composer: use integers instead of wx id to fix pickle error by @petrasovaa in (PR:641)
  • wxGUI/core: account for .post in wxPython 4.0.7.post2 by @wenzeslaus in (PR:246)
  • wxgui: Create grassdata automatically on the first GUI startup by @lindakladivova in (PR:705)
  • wxGUI: create parallel wx.frame for Single Window layout development by @lindakladivova in (PR:1604)
  • wxGUI: dark theme for Python shell and editor by @petrasovaa in (PR:1220)
  • wxGUI datacatalog: Adapt tooltip 'Add new grass database' button by @lindakladivova in (PR:936)
  • wxGUI datacatalog: add direct editing of mapset and location name by @lindakladivova in (PR:920)
  • wxGUI/datacatalog: add icon for adding grassdb by @petrasovaa in (PR:769)
  • wxGUI datacatalog: Add multiple GRASS databases by @lindakladivova in (PR:761)
  • wxGUI/datacatalog: avoid ValueError when map name corrupted with multiple @ chars by @petrasovaa in (PR:966)
  • wxGUI/datacatalog: change ReloadTreeItems to use node-specific reloads by @petrasovaa in (PR:847)
  • wxGUI/Data catalog: distinguish label and name of nodes by @lindakladivova in (PR:783)
  • wxGUI/datacatalog: do not use all available cores for loading by @petrasovaa in (PR:1422)
  • wxGUI/datacatalog: don't expand the location tree node if the transformation dialog is closed by @tmszi in (PR:823)
  • wxGUI/datacatalog: enable lazy loading of maps by @petrasovaa in (PR:1434)
  • wxGUI/datacatalog: fix #1184 by @petrasovaa in (PR:1230)
  • wxGUI/datacatalog: Fix bad flag in reprojection dialog by @nilason in (PR:806)
  • wxGUI/datacatalog: fix display 3D raster by @tmszi in (PR:889)
  • wxGUI/datacatalog: fix error handling and add busy cursor, refresh as loading dbs by @petrasovaa in (PR:957)
  • wxGUI/datacatalog: fix incorrect entry invalid (broken) regular expression by @tmszi in (PR:1267)
  • wxGUI/datacatalog: fix setting output vector/raster format by @tmszi in (PR:1596)
  • wxGUI/datacatalog: fix switching mapset between different dbs by @petrasovaa in (PR:931)
  • wxGUI/datacatalog: fix unresponsive gui if too many maps in current mapset watched with watchdog are changing at once by @petrasovaa in (PR:1556)
  • wxGUI/datacatalog: flatten mapset-layer hierarchy, add icons for types, highlight current by @petrasovaa in (PR:742)
  • wxGUI datacatalog: merge LocationMapTree and DataCatalogTree by @lindakladivova in (PR:755)
  • wxGUI/datacatalog: move or copy location/mapset isn't allowed, show warning message dialog by @tmszi in (PR:822)
  • wxGUI/datacatalog: multiple grass databases context menu shows Delete locations by @lindakladivova in (PR:914)
  • wxGUI datacatalog: process of creating a new database by @lindakladivova in (PR:937)
  • wxGUI/datacatalog: remove unnecessary check and warning for dragging mapsets/locations by @petrasovaa in (PR:1303)
  • wxGUI/datacatalog: show warning message dialog if drag map them to the target location node in the tree by @tmszi in (PR:810)
  • wxGUI/datalog: fix crashing due to accessing GUI from other thread by @petrasovaa in (PR:1027)
  • wxGUI/dbmgr: fix calculate column values by @tmszi in (PR:1370)
  • wxGUI/dbmgr: fix clik on the 'Modify layer' button if vector map doesn't have any layers by @tmszi in (PR:1334)
  • wxGUI dbmgr: Fix dbmgr widgets layout on the wxMSW by @tmszi in (PR:637)
  • wxGUI/dbmgr: fix get statistics for character column type if it contains NULL value by @tmszi in (PR:1574)
  • wxGUI/dbmgr: fix hit 'Refresh' button if vector map doesn't have any layers by @tmszi in (PR:1371)
  • wxGUI/dbmgr: fix insert record for each category into table by @tmszi in (PR:1333)
  • wxGUI/dbmgr: Show proper error when table parsing failed by @wenzeslaus in (PR:1112)
  • wxGUI d.histogram: Set default font by @tmszi in (PR:695)
  • wxGUI: displaying infobar focused on first-time user by @lindakladivova in (PR:1078)
  • wxGUI: displaying infobar focused on first-time user (part 2) by @lindakladivova in (PR:1183)
  • wxGUI d.mon: Fix launch light-weight wx monitor without toolbars and statusbar by @tmszi in (PR:678)
  • wxGUI/d.mon: fix rendered image size according actual map display size by @tmszi in (PR:1064)
  • wxGUI: Do not reload the tree after canceled Delete in data catalog by @lindakladivova in (PR:789)
  • wxGUI: drop show preferences dialog as modal by @nilason in (PR:1132)
  • wxGUI: Each layertree has its own display toolbar by @lindakladivova in (PR:1785)
  • wxGUI: easier switching between locations (GRASS GIS 8) by @lindakladivova in (PR:1598)
  • wxGUI: Enable all Flake8 warnings by @wenzeslaus in (PR:1535)
  • wxGUI: Enable import-related warnings by @wenzeslaus in (PR:1523)
  • wxGUI: Enable lambda, escape, except, l warnings by @wenzeslaus in (PR:1518)
  • wxGUI: Enable multiple hash warning by @wenzeslaus in (PR:1516)
  • wxGUI: Enable unused var warning by @wenzeslaus in (PR:1502)
  • wxGUI: Exit after fatal lock errors by @HuidaeCho in (PR:1428)
  • wxGUI: fix 3D view wxPyDeprecationWarning, from https://trac.osgeo.or… by @petrasovaa in (PR:81)
  • wxGUI: fix another wx flag assertion error in DefaultFontDialog by @nilason in (PR:1545)
  • wxGUI: fix another wx flag assertion error in iclass by @petrasovaa in (PR:1471)
  • wxGUI: fix atexit error in debug mode by @nilason in (PR:772)
  • wxGUI: fix bad indentation by @nilason in (PR:784)
  • wxGUI: fix calling coordselect validator by @petrasovaa in (PR:1455)
  • wxGUI: fix closing map displays when used with workspaces, consolidat… by @petrasovaa in (PR:512)
  • wxGUI: fix cmd-c closing interactive colour table on mac by @nilason in (PR:1293)
  • wxGUI: fix deleting dict key while iterating overlays by @petrasovaa in (PR:1763)
  • wxGUI: fix deprecated wx.NewId by @petrasovaa in (PR:152)
  • wxGUI: fix d.histogram - save only after rendering done by @petrasovaa in (PR:235)
  • wxGUI: fix d.mon for py3 by @petrasovaa in (PR:122)
  • wxGUI: fix d.mon rendering #3896, caused by garbage collection of map… by @petrasovaa in (PR:174)
  • wxGUI: fix d.out.file command parsing with --overwrite by @petrasovaa in (PR:1284)
  • wxGUI: fix flake F401 (unused import) by @petrasovaa in (PR:1294)
  • wxGUI: fix for cases when validator is called automatically from wx.Dialog upon closing it with OK by @petrasovaa in (PR:1418)
  • wxGUI: fix GCP manager for py3 by @petrasovaa in (PR:245)
  • wxGUI: fix g.gui.vdigit on windows #530 by @petrasovaa in (PR:572)
  • wxGUI: fix importing data when new location was created by @petrasovaa in (PR:1416)
  • wxGUI: fix inconsistent layer sizes during rendering by @petrasovaa in (PR:552)
  • wxGUI: Fix key binding issues on mac by @nilason in (PR:818)
  • wxGUI: fix layout flag assert in wms dialog by @petrasovaa in (PR:1764)
  • wxGUI: Fix layout flags in vector field statistics dialog for wx 4.1.0 by @nilason in (PR:821)
  • wxGUI: fix layout flags needed for wxPython 4.1.0 by @petrasovaa in (PR:570)
  • wxGUI: fix menustrings generation and adjust flake8 by @petrasovaa in (PR:541)
  • wxGUI: fix parsing GDAL/OGR formats which contains a colon in a description by @landam in (PR:1226)
  • wxGUI: fix psmap from last change, remove redundant import by @petrasovaa in (PR:380)
  • wxGUI: fix query dialog #369 by @petrasovaa in (PR:390)
  • wxGUI: fix query dialog after recent changes by @petrasovaa in (PR:1266)
  • wxGUI: fix RunCommand to decode also empty string to return unicode by @petrasovaa in (PR:702)
  • wxGUI: fix settings when item added to settings but it doesn't exist yet locally by @petrasovaa in (PR:1811)
  • wxGUI: fix some flake8 issues by @petrasovaa in (PR:538)
  • wxGUI: fix wizard, https://trac.osgeo.org/grass/ticket/3981 by @petrasovaa in (PR:233)
  • wxGUI: fix WMS, includes changing widget because listtreectrl didn't … by @petrasovaa in (PR:242)
  • wxGUI: fix wx flag assertion error in SavedRegion Dialog (#1679) by @nilason in (PR:1680)
  • wxGUI: fix 'wxPyDeprecationWarning: Call to deprecated item. Use FindItem instead.' by @tmszi in (PR:1344)
  • wxGUI: fix wxPython 4.1.0 support for "About GRASS GIS" dialog by @nilason in (PR:901)
  • wxGUI: fix wxPython 4.1 support by @nilason in (PR:1161)
  • wxGUI/FlatNotebook: fix crash on mac and add support for dark mode using wxPython 4.1 by @nilason in (PR:856)
  • wxGUI/forms: Add giface to standalone forms and fix history in giface by @wenzeslaus in (PR:971)
  • wxGUI/forms: fix Python 3.8 integer warning by @petrasovaa in (PR:1302)
  • wxGUI/gcmd: fix read command stdout by @tmszi in (PR:1228)
  • wxGUI/gcp: adding the option to overwrite the result map by @tmszi in (PR:912)
  • wxGUI gcp: Allow choose map display web service layer as target map to display by @tmszi in (PR:654)
  • wxGUI/gcp: fix checking vector map existence in the group by @tmszi in (PR:680)
  • wxGUI/gcp: fix launch add vector map to group dialog by @tmszi in (PR:924)
  • wxGUI gcp: Fix show add vector map to group dialog by @tmszi in (PR:685)
  • wxGUI gcp GroupDialog: Fix StaticText widget existence check by @tmszi in (PR:647)
  • wxGUI/gcpmanager: g.gui.gcp: crash when closing; fix #430 by @petrasovaa in (PR:447)
  • wxGUI/g.extension: fix failure to uninstall addon by @nilason in (PR:1524)
  • wxGUI g.gui.animation: Fix wx.CheckBox widget deprecation warning by @tmszi in (PR:718)
  • wxGUI/g.gui.gcp: fix launch g.gui.gcp by @tmszi in (PR:824)
  • wxGUI/g.gui.iclass: fix copy vector features from vector map by @tmszi in (PR:1020)
  • wxGUI/g.gui.image2target: fix close window (dissociate the managed window from the AuiManager) by @tmszi in (PR:1038)
  • wxGUI/g.gui.image2target: fix show Settings dialog by @tmszi in (PR:1037)
  • wxGUI/g.gui.mapswipe: fix hit Apply button if first and second raster aren't chosen by @tmszi in (PR:1042)
  • wxGUI/g.gui.mapswipe: Fix wx.CheckListBox widget wxPyDeprecationWarning by @tmszi in (PR:773)
  • wxGUI/g.gui.psmap: add checking map frame exists if you add labels by @tmszi in (PR:1048)
  • wxGUI/g.gui.psmap: disable draw graphics tool on the preview page by @tmszi in (PR:1057)
  • wxGUI/g.gui.psmap: fix add legend error message by @tmszi in (PR:1041)
  • wxGUI/g.gui.psmap: fix double click on the map frame with vector map by @tmszi in (PR:1055)
  • wxGUI/g.gui.psmap: fix launch ps.map module dialog from the File menu by @tmszi in (PR:1058)
  • wxGUI/g.gui.psmap: fix move line object error message by @tmszi in (PR:1031)
  • wxGUI/g.gui.psmap: fix move point object error message by @tmszi in (PR:1033)
  • wxGUI/g.gui.psmap: fix preview orientation if page orientation is landscape by @tmszi in (PR:1056)
  • wxGUI/g.gui.psmap: fix resize line object by @tmszi in (PR:1032)
  • wxGUI/g.gui.rdigit: raster digitizer as standalone module by @tmszi in (PR:1051)
  • wxGUI g.gui.rlisetup: Fix get rectangle sample units size by @tmszi in (PR:633)
  • wxGUI/gselect: fix select widget for wxGUI 'd.vect' module by @tmszi in (PR:1195)
  • wxGUI/gui_core: enable/disable toolbar long help if toolbar exists by @tmszi in (PR:1922)
  • wxGUI/gui_core: fix preferences dialog rendered height on wxPython 4.1.1 by @tmszi in (PR:1825)
  • wxGUI/gui_core: fix 'Set image size' dialog rendered size on wxPython 4.1.1 by @tmszi in (PR:1890)
  • wxGUI/gui_core: fix trigger 'wx.EVT_CHOICE' event if you set widget selection programatically by @tmszi in (PR:1580)
  • wxGUI/import: check all layers by default by @petrasovaa in (PR:1018)
  • wxGUI ImportDialog: Improve output map name existence validation by @tmszi in (PR:675)
  • wxGUI/import_export: fix output map overwriting if global overwrite setting is allowed by @tmszi in (PR:1029)
  • wxGUI/import_export: fix validation input map name (overwrite flag) by @tmszi in (PR:1209)
  • wxGUI: IndexError after right click on 'GRASS Locations in...' in the Data tab by @lindakladivova in (PR:736)
  • wxGUI/infobar: attempt to fix #1213 by @petrasovaa in (PR:1214)
  • wxGUI/infobar: fix infobar creation with wxPython 4.1 by @petrasovaa in (PR:1202)
  • wxGUI/lmgr: add layer menu items for check/uncheck selected layers by @tmszi in (PR:1905)
  • wxGUI/lmgr: adjusts the position of the layer context option button (if opacity label is appended into layer name) by @tmszi in (PR:1458)
  • wxGUI/lmgr: fix add group layer during vector map editing by @tmszi in (PR:1109)
  • wxGUI lmgr: Fix cancel save workspace dialog by @tmszi in (PR:628)
  • wxGUI/lmgr: fix get layer name by @tmszi in (PR:1066)
  • wxGUI lmgr: Fix position of bitmap image button overlaid web service map layer name by @tmszi in (PR:669)
  • wxGUI/lmgr: fix Python Shell 'help()' function and intro text by @tmszi in (PR:1894)
  • wxGUI lmgr: Fix remove both selected parent/children group layer by @tmszi in (PR:642)
  • wxGUI/lmgr: fix return 'Layer' class str value if map layer name is None by @tmszi in (PR: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 (PR:1896)
  • wxGUI location wizard: EPSG page by @lindakladivova in (PR:670)
  • wxGUI location wizard: First page by @lindakladivova in (PR:646)
  • wxGUI/location_wizard: fix column sorting of ListCtrl widget by @tmszi in (PR:1117)
  • Wx gui location wizard map picture removed by @lindakladivova in (PR:657)
  • wxGUI locdownload: Fix missing flush method by @tmszi in (PR:634)
  • wxGUI loc wizard: Correct errors according to flake 8 and add some description by @lindakladivova in (PR:728)
  • wxGUI/locwizard: fix flags for wxPython 4.1 by @petrasovaa in (PR:1330)
  • wxGUI/locwizard: fix more flags for wxPython 4.1 by @nilason in (PR:1343)
  • wxGUI loc wizard: fix title layout, bug introduced in changes for wx 4.1 by @petrasovaa in (PR:661)
  • wxGUI loc wizard: Improve new location's CRS method selection page by @lindakladivova in (PR:721)
  • wxGUI/locwizard: remove redundant message by @petrasovaa in (PR:1016)
  • wxGUI/LocWiz: remove unneeded +ellps proj4string tag by @nilason in (PR:1550)
  • wxGUI: Make Display related toolbars part of Display tab by @lindakladivova in (PR:1321)
  • wxGUI/mapdisp: Always respect user-set background color in Map Display by @wenzeslaus in (PR:1167)
  • wxGUI/mapdisp: fix double click on the overlays in the 3D view by @tmszi in (PR:872)
  • wxGUI/mapdisp: fix launch light-weight wx monitor without toolbars and statusbar by @tmszi in (PR:1903)
  • wxGUI/mapdisplay: register context menu items, addresses #1691 by @petrasovaa in (PR:1704)
  • wxGUI/mapdisp: Overlay properties in context menu by @wenzeslaus in (PR:1077)
  • wxGUI/mapswipe: call dialog Uninit only when dialog was actually created by @petrasovaa in (PR:836)
  • wxGUI/mapswipe: fix saving image to file by @petrasovaa in (PR:1725)
  • wxGUI/MapSwipe: Show comp. extent option in statusbar does not work #1714 by @lindakladivova in (PR:1717)
  • wxGUI/mapwin: add map overlays 'at' parameter arg validation by @tmszi in (PR:1069)
  • wxGUI/mapwin: check if 'BufferedMapWindow' instance exist before calling '_runUpdateMap()' method by @tmszi in (PR:1456)
  • wxGUI/mapwin: fix correct horizontal raster legend position after apply new legend setting by @tmszi in (PR:1080)
  • wxGUI mapwin: Fix Pointer tool double left click on a map canvas by @tmszi in (PR:529)
  • wxGUI/mapwin: fix saving the position of overlays after changing their position with the mouse pointer tool by @tmszi in (PR:817)
  • wxGUI mapwin: Fix show/hide vdigit toolbar by @tmszi in (PR:578)
  • wxGUI/mapwin: fix showing overlays module properties dialog from the map display context menu by @tmszi in (PR:1079)
  • wxGUI Module dialog: Fix enable scrolling for the Basic top module style (fix bug introduced in the issue #480) by @tmszi in (PR:503)
  • wxGUI: module search GUI improved by @petrasovaa in (PR:1194)
  • wxGUI: more suitable color for infobar on Windows by @lindakladivova in (PR:1504)
  • wxGUI: new design for GNotebooks by @lindakladivova in (PR:1801)
  • wxGUI: NewDisplay button moved to LMToolsToolbar by @lindakladivova in (PR:1783)
  • wxGUI: NewIdRef was added only in wxPython 4.0.3. Fix import for <4.0.3 by @marisn in (PR:155)
  • wxGUI: New management icons for vector and raster data import by @lindakladivova in (PR:1204)
  • wxGUI: New, simplified, unified window titles by @wenzeslaus in (PR:1216)
  • wxGUI/nviz: fix failed map centring on mac with pre-wx4.1 by @nilason in (PR:895)
  • wxGUI/nviz: fix relative import from 'wxnviz' module by @tmszi in (PR:887)
  • wxGUI/nviz: fix reopening 3D by reloading layers by @petrasovaa in (PR:953)
  • wxGUI/nviz: fix update list of surface in vector page during delete constant surface by @tmszi in (PR:881)
  • wxGUI/nviz: SetMaskColour causes problems on macos with wx 4.1.0 by @petrasovaa in (PR:787)
  • wxGUI: one row for lmgr toolbar after adding 3D view tab by @lindakladivova in (PR:1485)
  • wxGUI preferences: Fix load epsg codes by @tmszi in (PR:545)
  • wxGUI/prompt: support dark themes by @petrasovaa in (PR:1217)
  • wxGUI/prompt: update autocomplete map list when there is a change in db by @petrasovaa in (PR:1573)
  • wxGUI/psmap: fix retrieval of projection information by @tmszi in (PR:1310)
  • wxGUI/psmap: properly isolate region setting from the rest of GUI by @petrasovaa in (PR:1127)
  • wxGUI/pyedit: add quit toolbar tool by @tmszi in (PR:1022)
  • wxGUI/pyedit: add recent files history menu by @tmszi in (PR:1021)
  • wxGUI/PyShell: check for wxPython version by @nilason in (PR:1160)
  • wxGUI/rdigit: fix for Python3 by @petrasovaa in (PR:254)
  • wxGUI rdigit: Fix show save dialog by @tmszi in (PR:594)
  • wxGUI rdigit: Update list of available raster map layers, when map layers tree changed by @tmszi in (PR:707)
  • wxGUI: refactor changing mapset through file menu and catalog with signals by @petrasovaa in (PR:919)
  • wxGUI: refactoring: build display status bar based on wx.StatusBar widget by @lindakladivova in (PR:1646)
  • wxGUI: refactoring: build GUI tools' status bars based on wx.StatusBar widget by @lindakladivova in (PR:1689)
  • wxGUI refactoring: New WorkspaceManager class by @lindakladivova in (PR:1437)
  • wxGUI: Remove calls of unicode function which don't work in Python 3 by @wenzeslaus in (PR:1111)
  • wxGUI: remove deprecated methods from MapDisplay by @petrasovaa in (PR:1729)
  • wxGUI: remove legacy initialization of image handlers by @petrasovaa in (PR:153)
  • wxGUI: Remove python2 specific sys.stderr encoding handling. Fixes #3921 by @marisn in (PR:167)
  • wxGUI: Remove user mapset from demolocation by @lindakladivova in (PR:1173)
  • wxGUI: remove Version and copyright from menu as redundant by @petrasovaa in (PR:1264)
  • wxGUI: replace deprecated wx.Yield by @petrasovaa in (PR:160)
  • wxGUI: Replace getchildren and getiterator from ElementTree by @wenzeslaus in (PR:1120)
  • wxGUI: replace obsolete wx.BitmapFromImage by @petrasovaa in (PR:230)
  • wxGUI/rlisetup: dissociate the managed window from the manager ('wx.aui.AuiManager' instance) before destroy wizard window by @tmszi in (PR:1196)
  • wxGUI r.li.setup: Show message dialog if removed config file isn't selected from the list by @tmszi in (PR:631)
  • wxGUI/Save display to file dialog: add wxPython 4.1 support by @nilason in (PR:1175)
  • wxGUI: SaveToFile() missing 1 required positional argument by @lindakladivova in (PR:1637)
  • wxGUI/settings: fix updating nested dict when reading settings file by @petrasovaa in (PR:1823)
  • wxGUI: Show line numbers in the Python editor (pyedit and gmodeler) by @wenzeslaus in (PR:284)
  • wxGUI: Show the world map in Demolocation immediately after startup by @lindakladivova in (PR:1070)
  • wxGUI/Single-Window: arrange a startup GUI by @lindakladivova in (PR:1775)
  • wxGUI/Single-Window: Ensure display tab to be visible when added by @lindakladivova in (PR:1830)
  • wxGUI: Single-Window GUI: arrangement of basic widgets by @lindakladivova in (PR:1621)
  • wxGUI: Single-Window GUI: Integrate new map display wx.Panels into a AuiNotebook center pane #1735 by @lindakladivova in (PR:1732)
  • wxGUI/Single-Window: New change page event for AuiNotebook by @lindakladivova in (PR:1780)
  • wxGUI: small refactoring of mapframe by @petrasovaa in (PR:1669)
  • wxGUI/splashscreen: use standard one, try to show it before main app, increase timeout by @petrasovaa in (PR:1718)
  • wxGUI: Split widget initialization from notebook logic by @lindakladivova in (PR:1591)
  • wxGUI/startup: fix terminate location download dialog download thread by @tmszi in (PR:832)
  • wxgui: startup GUI automatic detection of grassdata: make case independent #644 by @lindakladivova in (PR:664)
  • wxGUI: startup screen removed by @lindakladivova in (PR:1400)
  • wxGUI/tplot: add option to show simple regression model line by @tmszi in (PR:1207)
  • wxGUI/tplot: fix export csv file by @tmszi in (PR:1206)
  • wxGUI/tplot: fix x, y coordinates validation by @tmszi in (PR:1199)
  • wxGUI/treemodel: fix removing children of root by @petrasovaa in (PR:775)
  • wxGUI/treemodel: refactor TreeModel to allow more flexible Node classes. by @petrasovaa in (PR:797)
  • wxGUI/treemodel: revert weakref as it doesn't work with deepcopy by @petrasovaa in (PR:782)
  • wxGUI/treemodel: used weakref to fix deleting of nodes by @petrasovaa in (PR:778)
  • wxGUI: update Slovakia 3D precipitation voxel sample dataset URL by @nilason in (PR:1292)
  • wxgui: Use correct (widget) with for word wrapping of warnings and errors by @marisn in (PR:490)
  • wxGUI: use default output font dialog for macOS and wxPython >=4.0.6 by @nilason in (PR:760)
  • wxGUI: Use system colours to enable dark mode support by @nilason in (PR:751)
  • wxGUI/vdigit: fix close settings dialog (if no vector map has been selected) by @tmszi in (PR:1394)
  • wxGUI/vdigit: fix 'Copy categories/features' editing tool if you select only one feature by @tmszi in (PR:1816)
  • wxGUI/vdigit: fix double click on the line/boundary after activate 'Edit selected line/boundary' editing tool by @tmszi in (PR: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 (PR:1815)
  • wxGUI vdigit: Fix Undo/Redo tool event by @tmszi in (PR:586)
  • wxGUI vdigit: Fix wx.CheckBox widget deprecation warning by @tmszi in (PR: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 (PR:1877)
  • wxGUI vdigit: Update list of available vector map layers, when map layers tree changed by @tmszi in (PR:708)
  • wxGUI/vdigit: use 'FloatSpin' widget, which allows you to set the decimal snapping threshold value by @tmszi in (PR:1882)
  • wxGUI vnet: Fix ctypes c_char_p arg type (bytes object) by @tmszi in (PR:687)
  • wxGUI/vnet: fix removing page, wx layout assert error, missing giface by @petrasovaa in (PR:1822)
  • wxGUI/vselect: fix delete row from selected features list by @tmszi in (PR:1231)
  • wxGUI/vselect: fix show error message if selected map layer type is raster by @tmszi in (PR:1059)
  • wxGUI: Workspace save fails with SbManager has no IsShown by @lindakladivova in (PR:1665)
  • wxGUI WSPropertiesDialog: Fix close dialog by @tmszi in (PR:684)
  • wxGUI WSPropertiesDialog: Fix render new selected web service map layer in the map canvas by @tmszi in (PR:668)
  • wxGUI WSPropertiesDialog: Fix select layer if the web service map layer properties dialog is open by @tmszi in (PR:666)
  • wxGUI WSPropertiesDialog: Fix show web service map layer properties dialog by @tmszi in (PR:665)
  • wxGUI/wxpyimgview: Fix launch wxpyimgview by @tmszi in (PR:735)
  • wxGUI/xml: update GUI tools toolbox items by @tmszi in (PR:1050)
  • wx.Menu.Append: remove text argument by @landam in (PR:335)
  • wxnviz: fix for HiDPI monitors with scaling set, fix decoding by @petrasovaa in (PR:307)
  • wxplot: add giface to write log correctly by @petrasovaa in (PR:428)
  • wxplot: use wxpython plotting instead of our old copy, adjust to use … by @petrasovaa in (PR:229)

Python scripting

Binder

  • Added additional GRASS info to example_notebook by @chaedri in (PR:1686)
  • Added Binder setup files by @chaedri in (PR:1603)

Projection support

GDAL support

  • ...

Database support

  • n/a

Library changes

  • libgis parser: Add angle brackets to a single option/flag rule by @HuidaeCho in (PR:1399)
  • libgis parser: Show error for option file by @wenzeslaus in (PR:1433)
  • libgis parser: Use #-space-% to allow writing PEP8-compliant Python code by @wenzeslaus in (PR:1287)
  • libgis parser: Add a standard option for nprocs= (G_OPT_M_NPROCS) by @HuidaeCho in (PR:1644)
  • libgis: add missing return keyword to Gmake_mapset_element_misc() by @nilason in (PR:1751)
  • libgis: add test for invalid value to parser by @metzm in (PR:1459)
  • libgis: Advancing va_list manually after calling ovprintf() by @HuidaeCho in (PR:725)
  • libgis: Distinguish dirs and objects in dir creation by @wenzeslaus in (PR:1681)
  • libgis: More clear comments for aprintf by @HuidaeCho in (PR:726)
  • libgis parser: an empty string is not an answer by @metzm in (PR:958)
  • libgis: Use the full string length in strncmp() calls. by @infrastation in (PR:1060)
  • lib/init: fix run py script with CRLF line terminators ('grass --exec file_with_CRLF.py') by @tmszi in (PR:860)
  • lib/init/grass.py: Updated bash history setting from 3000 to unlimite… by @cwhite911 in (PR:1026)
  • lib/init: set HISTSIZE to empty string for unlimited size by @nilason in (PR:1526)
  • libproj: added alias for ITRF92 by @neteler in (PR:1460)
  • libproj: change warning to debug message by @neteler in (PR:1337)
  • libproj: fix crs modification with PROJ6+ by @metzm in (PR:1007)
  • libproj: fix for PROJ6+ to get the ll equivalent of a CRS by @metzm in (PR:939)
  • libproj: fix lookup mechanism for datum grids with all versions of PROJ by @metzm in (PR:252)
  • libproj: fix results for ll equivalents by @metzm in (PR:1444)
  • libproj: fix test for PJ_TYPE_BOUND_CRS by @metzm in (PR:1013)
  • libproj: fix treatment of proj extension in wkt by @metzm in (PR:187)
  • libpython: Add helper library for benchmarking by @wenzeslaus in (PR:1670)
  • libpython: Add plot nprocs to benchmark CLI by @wenzeslaus in (PR:1761)
  • libpython: Avoid race condition when reading region in use_temp_region() by @wenzeslaus in (PR:638)
  • libpython: explain verbosity levels by @neteler in (PR:998)
  • libpython: relax requirements for band names by @metzm in (PR:1081)
  • libpython: Resolve path to mapset in setup.init by @wenzeslaus in (PR:1829)
  • libpython: Save and load benchmark results by @wenzeslaus in (PR:1711)
  • libpython/script: fix tests by @petrasovaa in (PR:1381)
  • libpython: Support non-parallel runs better by @wenzeslaus in (PR:1733)
  • libraster: add strerror(errno) to write failures by @metzm in (PR:1722)
  • libraster by @metzm in (PR:463)
  • libraster: change Rast_legal_bandref() return value to bool by @nilason in (PR:1897)
  • libraster: fix Rast_legal_bandref() by @metzm in (PR:1796)
  • libraster / gdal.c: add recent GDAL dlls by @ninsbl in (PR:1874)
  • Lib: Speed up listing a lot of mapsets by 20%. by @marisn in (PR:281)

JSON / REST support

  • ...

Code quality

  • Add list of commits for git blame to ignore by @wenzeslaus in (PR:1391)
  • Apply Black to all scripts by @wenzeslaus in (PR:1347)
  • Apply Black to doc utils in man by @wenzeslaus in (PR:1366)
  • Apply Black to grass package, use Python 3 style everywhere by @wenzeslaus in (PR:1382)
  • Apply Black to helpers, examples, doc, and others by @wenzeslaus in (PR:1386)
  • Apply Black to locale by @wenzeslaus in (PR:1513)
  • Apply Black to Python utils by @wenzeslaus in (PR:1365)
  • Apply Black to temporal modules by @wenzeslaus in (PR:1388)
  • Apply Black to tests by @wenzeslaus in (PR:1387)
  • Apply Black to wxGUI by @wenzeslaus in (PR:1527)
  • Apply Mega-Linter fixes to GH workflow scripts by @wenzeslaus in (PR:1369)
  • Flake8 fixes for docs and others by @wenzeslaus in (PR:1511)
  • Flake8 fixes for utils and man by @wenzeslaus in (PR:1379)
  • flake8: fix F401 (unused import) and F821 (undefined name) in scripts and lib by @petrasovaa in (PR:1314)

Unit tests / CI

  • Add C and C++ versions to CI by @wenzeslaus in (PR:596)
  • Add CentOS build check to CI by @wenzeslaus in (PR:604)
  • Add GitHub Action to build, run tests, and Python static code analysis by @wenzeslaus in (PR:525)
  • Add github workflow for docker build and push by @mmacata in (PR:1790)
  • Add label to new GitHub issue by @nilason in (PR:527)
  • CI: Add Flake8 check for grass.py by @wenzeslaus in (PR:1311)
  • CI: Add GH Super Linter for a subset of secondary files by @wenzeslaus in (PR:752)
  • CI: Add matplotlib to apt deps by @wenzeslaus in (PR:1703)
  • CI: add PDAL support by @neteler in (PR:1638)
  • CI: add proj-bin to have cs2cs for tests by @petrasovaa in (PR:1410)
  • CI: Do not run Docker job on forks by @wenzeslaus in (PR:1915)
  • CI: Enable Perl in Super-Linter by @wenzeslaus in (PR:1493)
  • CI: Fix ifs for jobs and rename master to main by @wenzeslaus in (PR:1813)
  • CI: Handpick C/C++ version combos for GCC tests by @wenzeslaus in (PR:1288)
  • CI: Make test report available as artifact by @wenzeslaus in (PR:1290)
  • CI: Make test report available even on failure by @wenzeslaus in (PR:1702)
  • CI: Print version info for Ubuntu and CentOS runs by @wenzeslaus in (PR:1832)
  • CI: Remove duplication in Ubuntu workflow by @wenzeslaus in (PR:1749)
  • CI: Remove notifications comming from Travis CI by @wenzeslaus in (PR:663)
  • CI: Run Docker for all release branches by @wenzeslaus in (PR:1975)
  • CI: Switch Travis to Ubuntu 20.04 (focal) by @wenzeslaus in (PR:1384)
  • CI: Update Flake8 by @wenzeslaus in (PR:1932)
  • CI: Update setting env vars, use 20.04, C gnu17 by @wenzeslaus in (PR:1092)
  • CI: Use a specific Flake8 version by @wenzeslaus in (PR:626)
  • CI: Use matrix and increase versions for Flake8 by @wenzeslaus in (PR:1309)

User Manuals - Documentation

  • Add CONTRIBUTING file with a standard contributor Git how-to by @wenzeslaus in (PR:237)
  • howto_release converted to MD incl cleanup by @neteler in (PR:96)
  • G80:r.cost manual: explain multiple directions by @metzm in (PR:846)

Portability

  • Apply more osgeo4w patches by @ninsbl in (PR:1921)
  • Apply patches from OSGeo4W upstreams by @ninsbl in (PR:1880)
  • gdal.c: add .so/.dll for GDAL 3.0 by @rouault in (PR:191)

Docker support

  • Docker images are now built for the 8.0 branch
  • Alpine dockerfile: removed PDAL by @neteler in (PR:455)
  • Alpine dockerfile: update python3 patch and add pdal package by @mmacata in (PR:378)
  • Alpine docker image: added subversion package for g.extension by @neteler in (PR:261)
  • Patch python instead of grass for alpine docker by @mmacata in (PR:304)
  • added singularity file by @lucadelu in (PR:181)
  • Docker alpine image patch to work with py3.8 by @mmacata in (PR:278)
  • docker: Alpine latest (stable) added by @neteler in (PR:275)
  • docker alpine: removed gisinit revision workaround by @neteler in (PR:280)
  • Dockerfile_alpine: fix broken pip six installation by @neteler in (PR:1568)
  • Dockerfile_alpine: fix broken pip six installation by @neteler in (PR:1581)
  • Dockerfile_alpine_wxgui: drop file by @neteler in (PR:1372)
  • Dockerfile: fix broken lib link by @neteler in (PR:1625)
  • Dockerfile READMEs added by @neteler in (PR:147)
  • Dockerfiles: fix broken grass-session tests by @neteler in (PR:1623)
  • Dockerfiles: install git before build by @mmacata in (PR:990)
  • Dockerfiles moved into distro specific subdirs by @neteler in (PR:148)
  • Dockerfiles: remove workaround for grass-session by @neteler in (PR:1624)
  • Dockerfile Ubuntu/Debian: another link fix by @neteler in (PR:1626)
  • Dockerfile with Python 3, PDAL, grass-session, Ubuntu based by @neteler in (PR:134)
  • docker: fix GRASS lib path detection by @neteler in (PR:883)
  • docker: fix README.md names by @neteler in (PR:984)
  • docker: image with Ubuntu 19:10 by @neteler in (PR:260)
  • docker: update Ubuntu based images by @neteler in (PR:1180)
  • docker: version matrix added by @neteler in (PR:606)

Message Translations

Packaging

  • ...

GitHub related

New Addons since GRASS 7.8.7

Closed GitHub tickets since the last release

See GitHub.

For old trac tickets, see below.

Closed trac bugs since the last release

#3295
GRASS GIS fails to start without terminal
#3637
Use the system temporary directory for all GUI rendering files
#3870
add missing depencencies into winGRASS
#3900
Go back to using community version of ctypesgen
#3912
r.in.gdal: Error messsge link to gdalwarp fails
#3913
new feature band reference breaks space time vector datasets
#3924
Port r.in.lidar to PDAL

Closed trac wishes since the last release

#542
grass7 vector libraries modifications
#764
Can the install process accept a DESTDIR additional variable?
#3084
i.segment: allow more than 2147483647 cells
#3474
Change the GRASS GIS start up to more beginner friendly
#3575
Associate database/location/mapset with workspace file
#3578
Add New Location action to the Datacatalog
#3585
Don't require -c for --tmp-location
#3926
allow limit viewshed computation by angle
#4006
Add option for vector types to v.rast.stats

Note: See TracWiki for help on using the wiki.