Changes between Version 8 and Version 9 of Release/8.0.0-News


Ignore:
Timestamp:
Dec 17, 2021, 9:58:35 AM (3 years ago)
Author:
neteler
Comment:

major cleanup

Legend:

Unmodified
Added
Removed
Modified
  • Release/8.0.0-News

    v8 v9  
    8181 * @SunveerSingh made their first contribution in (PR:1464)
    8282
     83==== UNSORTED FIXME ====
     84
     85 * wxGUI: Add rename and delete of Location and Mapset in Datacatalog by @lindakladivova in (PR:771)
     86 * wxGUI: address digitizer backround map issue #467 by @petrasovaa in (PR:494)
     87 * wxGUI: Add temporary files for Non-Interactive Display by @chaedri in (PR:1727)
     88 * Allow delete on multiple locations in data catalog by @lindakladivova in (PR:875)
     89 * catalog: first load and display tree with locations for responsiveness, then load everything by @petrasovaa in (PR:1043)
     90
     91
     92
     93 * Add zsh history change by @nilason in (PR:975)
     94 * Add zsh terminal prompt support by @nilason in (PR:722)
     95 
     96 * allow larger maps in r.terraflow by @ninsbl in (PR:265)
     97 * Allow parsing long GISDBASE paths by @attilaolah in (PR:1376)
     98 * allow to overwrite command history by @ninsbl in (PR:272)
     99 * Allow to use a fixed random seed via SOURCE_DATE_EPOCH by @bmwiedemann in (PR:251)
     100
     101
     102 * Change default color for rendering vectors (gray->blue) [news] by @wenzeslaus in (PR:1166)
     103 * changed natural earth dataset archive from zip to tarball by @baharmon in (PR:867)
     104 * Change is/is not to ==/!= for literal comparisons by @HuidaeCho in (PR:264)
     105 * Change local variable names to lowercase by @HuidaeCho in (PR:273)
     106 * change sponsor link to opencollective by @veroandreo in (PR:1865)
     107 * Check for gislock and other issues when deleting/renaming/editing mapset and location in catalog by @lindakladivova in (PR:904)
     108 * Cleanup .swp files too by @sebastic in (PR:97)
     109 * Code quality fixes for grass package (lib/python) by @wenzeslaus in (PR:576)
     110
     111 * copy libs into bin directory after running make distclean by @landam in (PR:172)
     112
     113 * Data catalog: double click on map from different location fails by @lindakladivova in (PR:886)
     114 * datacatalog: fix when no watchdog is present, fix pasting map by @petrasovaa in (PR:1099)
     115 * datum: add support for D_Rauenberg_1983 by @neteler in (PR:1331)
     116 * datum.table: added SIRGAS 1995 by @neteler in (PR:464)
     117 * datum.table: add RGFG95 by @neteler in (PR:813)
     118 * Define MIN() and MAX() correctly and exactly once. by @infrastation in (PR:1795)
     119 * delete ctypesgencore/parser/lextab.py by @neteler in (PR:95)
     120 * delete unused function toolboxes._encode_string() by @pesekon2 in (PR:234)
     121 * demolocation: update by @petrasovaa in (PR:1285)
     122 * disable module check since svn keywords are not maintained by git by @landam in (PR:117)
     123 * Distinguish mapsets by ownership and lock in Data tab by @lindakladivova in (PR:849)
     124 * Docstring improvements by @chaedri in (PR:1800)
     125 * Do not install config.status by @bmwiedemann in (PR:263)
     126 * Do not show Flags: in help if there are no flags by @wenzeslaus in (PR:105)
     127 * env.bat.tmpl: Deal with blanks in OSGEO4W_ROOT by @jef-n in (PR:859)
     128 * Error message has appeared in the console tab/cmd after close any module dialog  by @tmszi in (PR:249)
     129 * fix 3D rendering in animation tool by @petrasovaa in (PR:293)
     130 * fix #411: closing Map Display and layer tree from different places by @petrasovaa in (PR:427)
     131 * Fix an error when exporting csv file from g.gui.tplot by @lbartoletti in (PR:690)
     132 * fix band references assignment  by @landam in (PR:132)
     133 * Fix Cairo for Windows by @nilason in (PR:1697)
     134 * Fix Cartographic Composer Add graphic tool (Line/Rectangle), Add Image/North Arrow dialog wx FloatSpin widget size by @tmszi in (PR:310)
     135 * Fix Cartographic Composer wxPython deprecation warning by @tmszi in (PR:309)
     136 * Fix check wxGUI Set vector output format native format dsn by @tmszi in (PR:450)
     137 * Fix copy-to-clipboard key binding for console (trac#3008) by @nilason in (PR:393)
     138 * Fix dbmgr for Python3 by @petrasovaa in (PR:344)
     139 * Fix decoding stderr after render layer fail by @tmszi in (PR:407)
     140 * fix deprecated call warning for FutureCall by @petrasovaa in (PR:294)
     141 * fix deprecated wx.NewId() by @neteler in (PR:150)
     142 * Fix destroy open wxGUI Vector Network Analysis Tool dialog when wxGUI is closed by @tmszi in (PR:432)
     143 * fix double string encoding with EncodeString() by @pesekon2 in (PR:241)
     144 * Fixed the pygrass rpc server to avoid wrong restart warnings by @huhabla in (PR:100)
     145 * Fix failing vector digitizer on mac, trac#3487 by @nilason in (PR:456)
     146 * Fix fixed-width CJK formatting by @HuidaeCho in (PR:523)
     147 * Fix Flake8 errors in temporal modules by @wenzeslaus in (PR:573)
     148 * Fix flake8 pep8 errors by @neteler in (PR:986)
     149 * Fix g.extension -i (compile), -d (download) flag by @tmszi in (PR:496)
     150 * fix g.extension -l ValueError by @landam in (PR:1849)
     151 * fix g.extension test by @petrasovaa in (PR:1364)
     152 * fix init_dbif() returned values better interpretation by @pesekon2 in (PR:1008)
     153 * fix Iterable import in pygrass/vector by @lrntct in (PR:734)
     154 * Fix linker flags on FreeBSD. by @MikaelUrankar in (PR:1936)
     155 * Fix missing checkboxes in ListCtrl by @petrasovaa in (PR:204)
     156 * fix newid in psmap by @petrasovaa in (PR:154)
     157 * fix NULL values for very small areas address in v.rast.stats by @ninsbl in (PR:402)
     158 * Fix osgeo4w workflow by @agiudiceandrea in (PR:1757)
     159 * fix position of null cells by @ninsbl in (PR:389)
     160 * fix py3-numpy-dev package name by @neteler in (PR:112)
     161 * Fix r.fillnulls to run in python 3 by @mwort in (PR:85)
     162 * Fix set up sampling and analysis framework wizard relative import by @tmszi in (PR:409)
     163 * Fix show layer inside the layer subgroup by @tmszi in (PR:400)
     164 * Fix source code URL when addon path starts with root path by @HuidaeCho in (PR:1645)
     165 * Fix spelling in comments esp. in GUI code by @wenzeslaus in (PR:1357)
     166 * Fix SyntaxError issues with Python 3. by @sebastic in (PR:549)
     167 * fix the renaming of wx.Event variables by @pesekon2 in (PR:128)
     168 * fix typo in databaseintro.html by @jentjr in (PR:650)
     169 * Fix typo in v.distance fatal msg by @wenzeslaus in (PR:163)
     170 * Fix unable to open file from python editor by @aroche in (PR:288)
     171 * fix usage of vector cats in constraint by @metzm in (PR:262)
     172 * Fix use wxGUI Raster Digitizer input raster map layer temporary region by @tmszi in (PR:470)
     173 * Fix valid location check, sync with other functions by @wenzeslaus in (PR:1777)
     174 * Fix v.in.pdal compilation on mac, #475 by @nilason in (PR:479)
     175
     176 * Format YAML in GH workflows by @wenzeslaus in (PR:1367)
     177 * geos-config: Rename --libs to --clibs (configure uses --clibs) by @HuidaeCho in (PR:177)
     178 * __getattr__ shortcut for calling GRASS display modules by @chaedri in (PR:1723)
     179 * get rid of wx.insertStringItem deprecation warnings by @pesekon2 in (PR:120)
     180 * GIS_H_DATE: switch to date -Iseconds format by @landam in (PR:485)
     181 * GIS_H_VERSION: use git hash by @metzm in (PR:325)
     182 * gislib/dox: Refine the command line parsing doc. by @infrastation in (PR:1010)
     183 * gitignore: Add testreport directory by @nilason in (PR:852)
     184 * GRASS GIS 8.0 changes by @neteler in (PR:1597)
     185 * wxGUI: do not fail on invalid RC file (empty) by @landam in (PR:185)
     186 * wxGUI: use %d instead of %s for integers by @HuidaeCho in (PR:554)
     187 * wxGUI iclass + iscatt: fixes for Python3 by @petrasovaa in (PR:316)
     188 * libimagery: move signatures to subdirs by @marisn in (PR:1850)
     189 * images2gif: PILLOW_VERSION is obsolete by @petrasovaa in (PR:899)
     190 * Improve G_open|find _misc function documentation by @marisn in (PR:1760)
     191 * infrastructure doc: converted to MD by @neteler in (PR:715)
     192 * infrastructure.md: add latest updates by @neteler in (PR:863)
     193 * init: Add --tmp-mapset option by @wenzeslaus in (PR:313)
     194 * init: Apply Black to the init script by @wenzeslaus in (PR:1359)
     195 * init: Change the history file according to the current mapset for Bash by @wenzeslaus in (PR:930)
     196 * init: Clean up Flake8 config by @wenzeslaus in (PR:1508)
     197 * init: Create demolocation in grass.py, not wxGUI gis_set.py by @wenzeslaus in (PR:1208)
     198 * init: Default to Bash, fallback to sh by @wenzeslaus in (PR:1836)
     199 * init: ensure zsh environment variable SAVEHIST is set by @nilason in (PR:805)
     200 * init: Solve most of Flake8 issues in grass.py by @wenzeslaus in (PR:1536)
     201 * init: Start in last used mapset with --gui like --text by @wenzeslaus in (PR:767)
     202 * init: Start shell only with TTY by @wenzeslaus in (PR:768)
     203 * init: Update doc for non-interactive jobs by @wenzeslaus in (PR:1753)
     204 * init: Update mapset and simplify shell prompts by @wenzeslaus in (PR:923)
     205 * init: Use argparse instead of custom parsing for CLI by @wenzeslaus in (PR:1239)
     206 * install: check lowercased prefix by @nilason in (PR:949)
     207 * Integrate band references into portable signature files by @marisn in (PR:1501)
     208 * introduce docker multistage build to alpine image by @mmacata in (PR:276)
     209 * Keep module_items.xml in docker alpine by @mmacata in (PR:330)
     210 * Lazy imports and work without import numpy by @wenzeslaus in (PR:511)
     211 * libsymbol: fix bad argument order by @nilason in (PR:1820)
     212 * Make band references optional to simplify generation of signatures by @marisn in (PR:1866)
     213 * Make Data tab the default in GUI by @lindakladivova in (PR:756)
     214 * make python script in gmodeler using items instead of iteritems by @pesekon2 in (PR:340)
     215 * MapSwipe window has wrong title by @lindakladivova in (PR:1692)
     216 * misc: fix indentation for r.series and r.patch by @aaronsms in (PR:1772)
     217 * misc(r.slope.aspect): reindent C source files by @aaronsms in (PR:1765)
     218 * Misleading lock symbol icon in the in the Data tab toolbar by @lindakladivova in (PR:870)
     219 * more proofreading for r.geomorphon by @infrastation in (PR:991)
     220 * Move grass package content to directory named grass by @wenzeslaus in (PR:1356)
     221 * Move headers from include to include/grass by @wenzeslaus in (PR:1350)
     222 * New color table: percentage of forest cover by @neteler in (PR:894)
     223 * Number of bands relevant only to strds by @landam in (PR:1447)
     224 * open_stds: check for unknown band references by @landam in (PR:1844)
     225 * os.newline should not be used when writing in text mode by @petrasovaa in (PR:387)
     226 * perlcritic: fix perlcritic errors by @ocsmit in (PR:1431)
     227 * PS Driver: Write data to a tempfile before closing by @HuidaeCho in (PR:1451)
     228 * rasterlib: Explain missing header file in get_cellhd by @wenzeslaus in (PR:933)
     229 * raster module memory: set new value globally by @neteler in (PR:922)
     230 * Rast_log_colors: Another attempt to address r.colors -g/-a (#1480) by @HuidaeCho in (PR:1937)
     231 * Readd the ubuntu based Dockerfile by @hwbllmnn in (PR:143)
     232 * Reference CONTRIBUTING.md file in README by @wenzeslaus in (PR:283)
     233 * Reflect grassdb changes in catalog  by @petrasovaa in (PR:994)
     234 * register.py: allow registering from io objects by @ninsbl in (PR:1929)
     235 * Remove colouring of standard buttons by @nilason in (PR:744)
     236 * remove deprecated py 'PIL' module 'fromstring', 'tostring' method call by @tmszi in (PR:1223)
     237 * Remove redundant encode string call in the error message string interpolation by @tmszi in (PR:308)
     238 * Removing map layer crashes wxGUI (trac.osgeo.org/grass/ticket/3607) by @petrasovaa in (PR:462)
     239 * render: Fix .legrow file existence check by @tmszi in (PR:691)
     240 * replace deprecated inspect function by @petrasovaa in (PR:334)
     241 * replace obsolete time.clock() in Python 3.3 by @petrasovaa in (PR:244)
     242 * Set locale to euc-kr only for Windows by @HuidaeCho in (PR:520)
     243 * several fixes related to font dialog by @petrasovaa in (PR:292)
     244 * simplify GRASS_EXECUTABLE handling in package.sh by @landam in (PR:445)
     245 * Simplify raster band reference management by @marisn in (PR:1272)
     246 * Start in a demo/startup location by @lindakladivova in (PR:868)
     247 * Startup: Avoid a race condition by @HuidaeCho in (PR:548)
     248 * Store list of databases in settings by @lindakladivova in (PR:858)
     249 * switch environment: also change mapset by @metzm in (PR:286)
     250 * Switch to another mapset when in use (aka force remove lock) by @lindakladivova in (PR:906)
     251 * Switch to debian 10.1 as dockerfile base image (master) by @hwbllmnn in (PR:140)
     252 * Sync Korean translations by @HuidaeCho in (PR:556)
     253 * tcsh prompt: fix update with change of mapset by @nilason in (PR:765)
     254 * Update docs (#360) by @KolesovDmitry in (PR:361)
     255 * Updated translators.csv file by @lucadelu in (PR:1249)
     256 * Update from proj.4 to proj (g.version) by @kikislater in (PR:55)
     257 * Update Location Wizard: First page by @lindakladivova in (PR:493)
     258 * Update of travis configuration for Python 3 by @neteler in (PR:115)
     259 * Update reference from proj.4 or proj4 to proj (g.version) by @kikislater in (PR:54)
     260 * Updates made in the README.md file by @shubhamshah14102 in (PR:1951)
     261 * Update to Black 21.5b1 by @wenzeslaus in (PR:1605)
     262 * Update to upstream ctypesgen version by @nilason in (PR:1651)
     263 * update usage of map() function to Python 3 by @pesekon2 in (PR:114)
     264 * Upgrade tgis db by @landam in (PR:306)
     265 * Use ${CC} instead of "cc" for linking on mac by @nilason in (PR:611)
     266 * use copy instead of git clone in Dockerfiles by @mmacata in (PR:151)
     267 * Use .wxgui_history as history file for the gui (#962) by @susi in (PR:1917)
     268
     269
    83270==== New modules ====
    84271
     272 * G80:g.download.location: moved to core, create grass.utils lib by @wenzeslaus in (PR:1715)
    85273 * G80:i.band.library - Prints available semantic label information used for multispectral data.
    86274 * G80:r.in.pdal: a PDAL based replacement of r.in.lidar by @marisn in (PR:1200)
     
    142330 * G80:g.search.modules: without keywords, list all modules by @metzm in (PR:989)
    143331 * G80:g.version: Fix February print by @HuidaeCho in (PR:366)
     332 * G80:grass: added support for google-chrome and chromium by @neteler in (PR:201)
     333 * G80:grass: Evaluate ^export lines only and expand variables in double/non-quoted values by @HuidaeCho in (PR:170)
     334 * G80:grass: fix typo in info_text, svn -> dev by @landam in (PR:78)
     335 * G80:grass: Match.__getitem__ is new from version 3.6, we need to use g… by @petrasovaa in (PR:253)
     336 * G80:grass: used space as delimiter to get GRASS_VERSION_STRING by @ninsbl in (PR:405)
     337 * G80:grass: enforce Python 3 by @neteler in (PR:345)
    144338 * G80:i.group: fit long names to fancy file listing by @nilason in (PR:1818)
    145339 * G80:i.ortho.photo: Add optional correction for panorama cameras by @metzm in (PR:401)
     
    291485 * G80:t.vect.export: GPKG support added by @neteler in (PR:129)
    292486
    293 
    294 ==== UNSORTED FIXME ====
    295 
    296  * Added warning about region not being respected by @CarlosGrohmann in (PR:1857)
    297  * Add locale by @hwbllmnn in (PR:146)
    298  * Add missing add web services layer required package in the Dockerfile by @tmszi in (PR:303)
    299  * Add missing #include <stdlib.h> to display/d.where/main.c by @attilaolah in (PR:1377)
    300  * Add missing Temporal GUI Tools required package in the Dockerfile by @tmszi in (PR:312)
    301  * Add mod(x,y) function to r.mapcalc and r3.mapcalc doc by @agiudiceandrea in (PR:1617)
    302  * Add mswindows/crosscompile.sh by @HuidaeCho in (PR:269)
    303  * Add national land cover dataset color table by @baharmon in (PR:518)
     487==== GUI: Improvements in the Graphical User Interface ====
     488
     489 * **NEW: entire rewrite of GRASS GIS startup**
    304490 * Add new splash screen as decided in #1716 by @veroandreo in (PR:1803)
    305  * Add numpy and other Python pkgs to CI by @wenzeslaus in (PR:585)
    306  * Add python3-wxgtk deb package in the Dockerfile by @tmszi in (PR:243)
    307  * add python-grass.bat for Python initialization by @landam in (PR:436)
    308  * Add rename and delete of Location and Mapset in Datacatalog by @lindakladivova in (PR:771)
    309  * address digitizer backround map issue #467 by @petrasovaa in (PR:494)
    310  * Add soname on FreeBSD by @lbartoletti in (PR:301)
    311  * Add temporary files for Non-Interactive Display by @chaedri in (PR:1727)
    312  * add text snippet and how to add band references by @veroandreo in (PR:1887)
    313  * Add -Werror to "GCC C/C++ standards check" CI builds by @nilason in (PR:1804)
    314  * Add zsh history change by @nilason in (PR:975)
    315  * Add zsh terminal prompt support by @nilason in (PR:722)
    316  * Allow delete on multiple locations in data catalog by @lindakladivova in (PR:875)
    317  * allow larger maps in r.terraflow by @ninsbl in (PR:265)
    318  * Allow parsing long GISDBASE paths by @attilaolah in (PR:1376)
    319  * allow to overwrite command history by @ninsbl in (PR:272)
    320  * Allow to use a fixed random seed via SOURCE_DATE_EPOCH by @bmwiedemann in (PR:251)
    321  * Band references implementation by @landam in (PR:63)
    322  * Binder button by @chaedri in (PR:1628)
    323  * catalog: first load and display tree with locations for responsiveness, then load everything by @petrasovaa in (PR:1043)
    324  * catalog: use natural sort by @petrasovaa in (PR:1012)
    325  * change alpine docker to alpine version 3.12 by @anikaweinmann in (PR:711)
    326  * Change default color for rendering vectors (gray->blue) [news] by @wenzeslaus in (PR:1166)
    327  * changed natural earth dataset archive from zip to tarball by @baharmon in (PR:867)
    328  * Change is/is not to ==/!= for literal comparisons by @HuidaeCho in (PR:264)
    329  * Change local variable names to lowercase by @HuidaeCho in (PR:273)
    330  * change Python shebang to python3 by @neteler in (PR:75)
    331  * change Python shebang to python3 by @neteler in (PR:82)
    332  * change python to python3 by @neteler in (PR:98)
    333  * change sponsor link to opencollective by @veroandreo in (PR:1865)
    334  * Check for gislock and other issues when deleting/renaming/editing mapset and location in catalog by @lindakladivova in (PR:904)
    335  * Cleanup .swp files too by @sebastic in (PR:97)
    336  * Code quality fixes for grass package (lib/python) by @wenzeslaus in (PR:576)
    337  * config.guess + config.sub: updated by @neteler in (PR:1155)
    338  * configure, config.sub, config.guess: updated by @neteler in (PR:1585)
    339  * configure update by @neteler in (PR:89)
    340  * configure: upgrade to autoconf 2.69 by @nilason in (PR:1845)
    341  * configure: use pkg-config for FreeType 2 by @infrastation in (PR:1719)
    342  * CONTRIBUTING.md: intro added for newcomers by @neteler in (PR:1566)
    343  * copy libs into bin directory after running make distclean by @landam in (PR:172)
    344  * Cross compilation by @HuidaeCho in (PR:257)
    345  * crosscompile enhancements by @HuidaeCho in (PR:1947)
    346  * crosscompile: Fix python.exe search by @HuidaeCho in (PR:1945)
    347  * crosscompile: More enhancements by @HuidaeCho in (PR:1948)
    348  * crosscompile: Sorting env vars more logically by @HuidaeCho in (PR:1954)
    349  * crosscompile: Support for BusyBox for Windows by @HuidaeCho in (PR:1946)
    350  * Cross-platform version of date -Iseconds in configure by @HuidaeCho in (PR:568)
    351  * CRS management by @metzm in (PR:976)
    352  * ctypes: fix Callable for Python 3.10 by @neteler in (PR:1672)
    353  * ctypes: Fix ctypesgencore for Python 3 by @wenzeslaus in (PR:379)
    354  * ctypes: move directory out of python/grass by @nilason in (PR:1898)
    355  * Data catalog: double click on map from different location fails by @lindakladivova in (PR:886)
    356  * datacatalog: fix when no watchdog is present, fix pasting map by @petrasovaa in (PR:1099)
    357  * datum: add support for D_Rauenberg_1983 by @neteler in (PR:1331)
    358  * datum.table: added SIRGAS 1995 by @neteler in (PR:464)
    359  * datum.table: add RGFG95 by @neteler in (PR:813)
    360  * Define MIN() and MAX() correctly and exactly once. by @infrastation in (PR:1795)
    361  * delete ctypesgencore/parser/lextab.py by @neteler in (PR:95)
    362  * delete unused function toolboxes._encode_string() by @pesekon2 in (PR:234)
    363  * demolocation: update by @petrasovaa in (PR:1285)
    364  * disable module check since svn keywords are not maintained by git by @landam in (PR:117)
    365  * Distinguish mapsets by ownership and lock in Data tab by @lindakladivova in (PR:849)
    366  * Docstring improvements by @chaedri in (PR:1800)
    367  * Document r.external issues with r.null by @mankoff in (PR:91)
    368  * Do not install config.status by @bmwiedemann in (PR:263)
    369  * Do not show Flags: in help if there are no flags by @wenzeslaus in (PR:105)
    370  * Drop wx.ALIGN_CENTER_HORIZONTAL, wx.ALIGN_CENTER_VERTICAL and wx.ALIGN_RIGHT when wxEXPAND is used by @ggardet in (PR:565)
    371  * Duplicate entry of "output" keyword by @kikislater in (PR:1001)
    372  * Enable Ctypesgen parsing of non-utf8 files on macOS, fixes trac #3883 by @nilason in (PR:385)
    373  * env.bat.tmpl: Deal with blanks in OSGEO4W_ROOT by @jef-n in (PR:859)
    374  * Error message has appeared in the console tab/cmd after close any module dialog  by @tmszi in (PR:249)
    375  * Example notebooks by @chaedri in (PR:1787)
    376  * Extend keywords for null and mask modules by @wenzeslaus in (PR:239)
    377  * feat(misc): set NPROCS environment variable by @aaronsms in (PR:1734)
    378  * Fedora SPEC file: updated by @neteler in (PR:256)
    379  * fix #3882 by @petrasovaa in (PR:161)
    380  * fix 3D rendering in animation tool by @petrasovaa in (PR:293)
    381  * fix #411: closing Map Display and layer tree from different places by @petrasovaa in (PR:427)
    382  * Fix alpine docker by removing Python3 patch and PDAL by @anikaweinmann in (PR:373)
    383  * Fix an error when exporting csv file from g.gui.tplot by @lbartoletti in (PR:690)
    384  * fix band references assignment  by @landam in (PR:132)
    385  * Fix basic Flake8 warnings in scripts by @wenzeslaus in (PR:539)
    386  * Fix bug introduced in the issue #466 by @tmszi in (PR:500)
    387  * Fix Cairo for Windows by @nilason in (PR:1697)
    388  * Fix Cartographic Composer Add graphic tool (Line/Rectangle), Add Image/North Arrow dialog wx FloatSpin widget size by @tmszi in (PR:310)
    389  * Fix Cartographic Composer wxPython deprecation warning by @tmszi in (PR:309)
    390  * Fix check wxGUI Set vector output format native format dsn by @tmszi in (PR:450)
    391  * Fix compiler warnings, part 10 by @nilason in (PR:1395)
    392  * Fix compiler warnings, part 12 by @nilason in (PR:1406)
    393  * Fix compiler warnings, part 5 (rst/interpfl lib & v.surf.rst) by @nilason in (PR:1271)
    394  * Fix compiler warnings, part 9 by @nilason in (PR:1316)
    395  * Fix copy-to-clipboard key binding for console (trac#3008) by @nilason in (PR:393)
    396  * Fix dbmgr for Python3 by @petrasovaa in (PR:344)
    397  * Fix decoding stderr after render layer fail by @tmszi in (PR:407)
    398  * fix deprecated call warning for FutureCall by @petrasovaa in (PR:294)
    399  * fix deprecated wx.NewId() by @neteler in (PR:150)
    400  * Fix destroy open wxGUI Vector Network Analysis Tool dialog when wxGUI is closed by @tmszi in (PR:432)
    401  * fix double string encoding with EncodeString() by @pesekon2 in (PR:241)
    402  * Fixed gis parser json implementation by @huhabla in (PR:99)
    403  * Fixed the pygrass rpc server to avoid wrong restart warnings by @huhabla in (PR:100)
    404  * Fix failing vector digitizer on mac, trac#3487 by @nilason in (PR:456)
    405  * Fix fixed-width CJK formatting by @HuidaeCho in (PR:523)
    406  * Fix Flake8 errors in temporal modules by @wenzeslaus in (PR:573)
    407  * Fix flake8 pep8 errors by @neteler in (PR:986)
    408  * Fix g.extension -i (compile), -d (download) flag by @tmszi in (PR:496)
    409  * fix g.extension -l ValueError by @landam in (PR:1849)
    410  * fix g.extension test by @petrasovaa in (PR:1364)
    411  * Fix grass-session installation in alpine docker by @mmacata in (PR:516)
    412  * Fix grass-session installation in docker files by @neteler in (PR:517)
    413  * fix init_dbif() returned values better interpretation by @pesekon2 in (PR:1008)
    414  * fix Iterable import in pygrass/vector by @lrntct in (PR:734)
    415  * Fix linker flags on FreeBSD. by @MikaelUrankar in (PR:1936)
    416  * Fix macOS gui bug for v.proj and r.proj on, addresses #3502 by @nilason in (PR:363)
    417  * Fix missing checkboxes in ListCtrl by @petrasovaa in (PR:204)
    418  * fix newid in psmap by @petrasovaa in (PR:154)
    419  * fix NULL values for very small areas address in v.rast.stats by @ninsbl in (PR:402)
    420  * Fix osgeo4w workflow by @agiudiceandrea in (PR:1757)
    421  * fix position of null cells by @ninsbl in (PR:389)
    422  * fix py3-numpy-dev package name by @neteler in (PR:112)
    423  * Fix r.fillnulls to run in python 3 by @mwort in (PR:85)
    424  * Fix set up sampling and analysis framework wizard relative import by @tmszi in (PR:409)
    425  * Fix show layer inside the layer subgroup by @tmszi in (PR:400)
    426  * Fix some Flake8 for pydispatch by @wenzeslaus in (PR:1808)
    427  * Fix some Flake8 warnings in grass package by @wenzeslaus in (PR:540)
    428  * Fix source code URL when addon path starts with root path by @HuidaeCho in (PR:1645)
    429  * Fix spelling errors. by @sebastic in (PR:1916)
    430  * Fix spelling errors. by @sebastic in (PR:561)
    431  * Fix spelling errors. by @sebastic in (PR:871)
    432  * Fix spelling errors. by @sebastic in (PR:992)
    433  * Fix spelling in comments esp. in GUI code by @wenzeslaus in (PR:1357)
    434  * Fix SyntaxError issues with Python 3. by @sebastic in (PR:549)
    435  * fix the renaming of wx.Event variables by @pesekon2 in (PR:128)
    436  * fix typo in databaseintro.html by @jentjr in (PR:650)
    437  * Fix typo in v.distance fatal msg by @wenzeslaus in (PR:163)
    438  * Fix unable to open file from python editor by @aroche in (PR:288)
    439  * fix usage of vector cats in constraint by @metzm in (PR:262)
    440  * Fix use wxGUI Raster Digitizer input raster map layer temporary region by @tmszi in (PR:470)
    441  * Fix valid location check, sync with other functions by @wenzeslaus in (PR:1777)
    442  * Fix v.in.pdal compilation on mac, #475 by @nilason in (PR:479)
    443  * Fix wxGUI Field calculator wx.ListBox widget choices argument by @tmszi in (PR:460)
    444  * Fix wxGUI g.gui.rlisetup config file open mode for write in text mode by @tmszi in (PR:410)
    445  * Fix wxGUI g.gui.vdigit update available vector maps after the frame is show by @tmszi in (PR:465)
    446  * Fix wxGUI Graphical Modeler About Dialog import by @tmszi in (PR:438)
    447  * Fix wxGUI Graphical Modeler decode string by @tmszi in (PR:441)
    448  * Fix wxGUI Graphical Modeler wx widget deprecation warning by @tmszi in (PR:442)
    449  * Fix wxGUI Histogramming Tool Plot xSpec, ySpec property value by @tmszi in (PR:422)
    450  * Fix wxGUI Histogramming Tool save text settings (font family/style/weight) into the file by @tmszi in (PR:421)
    451  * Fix wxGUI Import vector/raster dialog min width by @tmszi in (PR:492)
    452  * Fix wxGUI Layer Manager add layer into the empty layer group by @tmszi in (PR:413)
    453  * Fix wxGUI Layer Manager add vector map layer Set color table interactively menu item by @tmszi in (PR:472)
    454  * Fix wxGUI Layer Manager close the Layers NoteBook Display FlatNotebook page by @tmszi in (PR:411)
    455  * Fix wxGUI Manage color rules interactively (vector map) frame by @tmszi in (PR:429)
    456  * Fix wxGUI Manage color rules interactively (vector map) number of LoadTable method calls by @tmszi in (PR:444)
    457  * Fix wxGUI Manage color rules interactively (vector map) wx.CollapsiblePane widget layout by @tmszi in (PR:449)
    458  * Fix wxGUI Set vector output format load profile settings by @tmszi in (PR:451)
    459  * Fix wxGUI Set vector output format wx.Choice widget width by @tmszi in (PR:453)
    460  * Fix wxGUI Vector Network Analysis Tool close dialog by @tmszi in (PR:419)
    461  * Fix wxGUI Vector Network Analysis Tool ComboBox widget deprecation warning by @tmszi in (PR:418)
    462  * Fix wxGUI Vector Network Analysis Tool execute analysis by @tmszi in (PR:440)
    463  * Fix wxGUI Vector Network Analysis Tool FlatNotebook page small grey square artifact by @tmszi in (PR:425)
    464  * Fix wxGUI Vector Network Analysis Tool merge dicts by @tmszi in (PR:417)
    465  * Format YAML in GH workflows by @wenzeslaus in (PR:1367)
    466  * GDAL/OGR import: check projection of input data by @metzm in (PR:317)
    467  * GDAL/OGR import: report XY location when comparing projections by @metzm in (PR:368)
    468  * geos-config: Rename --libs to --clibs (configure uses --clibs) by @HuidaeCho in (PR:177)
    469  * __getattr__ shortcut for calling GRASS display modules by @chaedri in (PR:1723)
    470  * get rid of wx.insertStringItem deprecation warnings by @pesekon2 in (PR:120)
    471  * GIS_H_DATE: switch to date -Iseconds format by @landam in (PR:485)
    472  * GIS_H_VERSION: use git hash by @metzm in (PR:325)
    473  * gislib/dox: Refine the command line parsing doc. by @infrastation in (PR:1010)
    474  * GitHub action CI: drop ubuntu-16.04 by @neteler in (PR:1254)
    475  * GitHub Action: Completion of security analysis with CodeQL by @mmacata in (PR:1300)
    476  * gitignore: Add testreport directory by @nilason in (PR:852)
    477  * Git: Un-ignore locale directory by @wenzeslaus in (PR:1512)
    478  * gmodeler: fix python export - main()  by @landam in (PR:336)
    479  * GRASS GIS 8.0 changes by @neteler in (PR:1597)
    480  * grass.jupyter: add property filename to GrassRenderer by @petrasovaa in (PR:1846)
    481  * grass.jupyter: more flexible region handling for rendering by @petrasovaa in (PR:1871)
    482  * grass.py: Evaluate ^export lines only and expand variables in double/non-quoted values by @HuidaeCho in (PR:170)
    483  * grass.py: fix typo in info_text, svn -> dev by @landam in (PR:78)
    484  * grass.py: Match.__getitem__ is new from version 3.6, we need to use g… by @petrasovaa in (PR:253)
    485  * grass.py: used space as delimiter to get GRASS_VERSION_STRING by @ninsbl in (PR:405)
    486  * grass.sh: enforce Python 3 by @neteler in (PR:345)
    487  * grass startup: added support for google-chrome and chromium by @neteler in (PR:201)
    488  * GUI: do not fail on invalid RC file (empty) by @landam in (PR:185)
    489  * GUI: use %d instead of %s for integers by @HuidaeCho in (PR:554)
    490  * gunittest: CalledModuleError constructor accepts module, code, returncode, and errors by @HuidaeCho in (PR:1788)
    491  * gunittest: Deduplicate output decoding code by @wenzeslaus in (PR:1539)
    492  * gunittest docs: fix broken links by @neteler in (PR:934)
    493  * gunittest: Exclude broken tests by @wenzeslaus in (PR:1587)
    494  * gunittest: Fix stdout used instead of stderr by @wenzeslaus in (PR:1707)
    495  * gunittest: init super() to initialise 'errors' attribute by @nilason in (PR:1685)
    496  * gunittest: Non-zero return code on certian percetage of tests failing by @wenzeslaus in (PR:377)
    497  * gunittest: update module interface doctest by @nilason in (PR:1699)
    498  * iclass + iscatt: fixes for Python3 by @petrasovaa in (PR:316)
    499  * Ignore current errors from wxGUI, scripts, temporal by @wenzeslaus in (PR:537)
    500  * Ignore paths in CodeQL by @wenzeslaus in (PR:1778)
    501  * imagery/i.image.mosaic: fix encode, decode string by @tmszi in (PR:1035)
    502  * Imagery lib: Add notes to documentation about I_get_*2() functions by @marisn in (PR:1250)
    503  * Imagery: move signatures to subdirs by @marisn in (PR:1850)
    504  * images2gif: PILLOW_VERSION is obsolete by @petrasovaa in (PR:899)
    505  * Improve G_open|find _misc function documentation by @marisn in (PR:1760)
    506  * infrastructure doc: converted to MD by @neteler in (PR:715)
    507  * infrastructure.md: add latest updates by @neteler in (PR:863)
    508  * init: Add --tmp-mapset option by @wenzeslaus in (PR:313)
    509  * init: Apply Black to the init script by @wenzeslaus in (PR:1359)
    510  * init: Change the history file according to the current mapset for Bash by @wenzeslaus in (PR:930)
    511  * init: Clean up Flake8 config by @wenzeslaus in (PR:1508)
    512  * init: Create demolocation in grass.py, not wxGUI gis_set.py by @wenzeslaus in (PR:1208)
    513  * init: Default to Bash, fallback to sh by @wenzeslaus in (PR:1836)
    514  * init: ensure zsh environment variable SAVEHIST is set by @nilason in (PR:805)
    515  * init: Solve most of Flake8 issues in grass.py by @wenzeslaus in (PR:1536)
    516  * init: Start in last used mapset with --gui like --text by @wenzeslaus in (PR:767)
    517  * init: Start shell only with TTY by @wenzeslaus in (PR:768)
    518  * init: Update doc for non-interactive jobs by @wenzeslaus in (PR:1753)
    519  * init: Update mapset and simplify shell prompts by @wenzeslaus in (PR:923)
    520  * init: Use argparse instead of custom parsing for CLI by @wenzeslaus in (PR:1239)
    521  * install: check lowercased prefix by @nilason in (PR:949)
    522  * Integrate band references into portable signature files by @marisn in (PR:1501)
    523  * Interactive vector maps for Jupyter Notebooks by @chaedri in (PR:1710)
    524  * introduce docker multistage build to alpine image by @mmacata in (PR:276)
    525  * json parser: change + to @ for URLs by @neteler in (PR:175)
    526  * json parser: fix mapsets in tokenizing by @neteler in (PR:1252)
    527  * jupyter: Add virtual framebuffer X server dependency by @wenzeslaus in (PR:1827)
    528  * jupyter: Fix main notebook URL, note grass.jupyter is a preview by @wenzeslaus in (PR:1828)
    529  * Jupyter: Non-interactive display by @chaedri in (PR:1668)
    530  * jupyter: Render 3D images with m.nviz.image by @wenzeslaus in (PR:1831)
    531  * Keep module_items.xml in docker alpine by @mmacata in (PR:330)
    532  * keyword 'geometry' added by @neteler in (PR:940)
    533  * Lazy imports and work without import numpy by @wenzeslaus in (PR:511)
    534  * libsymbol: fix bad argument order by @nilason in (PR:1820)
    535  * Mac: converted compile instructions from RTF to markdown by @neteler in (PR:636)
    536  * macOS/install: do not install system level docs by @nilason in (PR:1909)
    537  * macOS: modernize app bundle info by @nilason in (PR:941)
    538  * macOS: use @rpath as dynamic linker by @nilason in (PR:981)
    539  * Mac ReadMe: stylistic update by @nilason in (PR:639)
    540  * Mac: Update app icon for hi-res support by @nilason in (PR:829)
    541  * make: Add support for Makefile variable DESTDIR by @nilason in (PR:1234)
    542  * Make band references optional to simplify generation of signatures by @marisn in (PR:1866)
    543  * Make Data tab the default in GUI by @lindakladivova in (PR:756)
    544  * make python script in gmodeler using items instead of iteritems by @pesekon2 in (PR:340)
    545  * MapSwipe window has wrong title by @lindakladivova in (PR:1692)
    546  * misc: fix indentation for r.series and r.patch by @aaronsms in (PR:1772)
    547  * misc(r.slope.aspect): reindent C source files by @aaronsms in (PR:1765)
    548  * Misleading lock symbol icon in the in the Data tab toolbar by @lindakladivova in (PR:870)
    549  * more proofreading for r.geomorphon by @infrastation in (PR:991)
    550  * Move g.download.location to core, create grass.utils lib by @wenzeslaus in (PR:1715)
    551  * Move grass package content to directory named grass by @wenzeslaus in (PR:1356)
    552  * Move headers from include to include/grass by @wenzeslaus in (PR:1350)
    553  * mswindows: crosscompile under WSL by @HuidaeCho in (PR:1940)
    554  * mswindows: Update crosscompile.sh to 8.0 by @HuidaeCho in (PR:1876)
    555  * mswindows: Update crosscompile.sh to the master branch of MXE by @HuidaeCho in (PR:1939)
    556  * NC full sample dataset: new URL by @neteler in (PR:1463)
    557  * Needed version updates for GRASS GIS 7.9 by @neteler in (PR:77)
    558  * New color table: percentage of forest cover by @neteler in (PR:894)
    559  * New Python subpackage for working with locations and mapsets by @wenzeslaus in (PR:837)
    560  * Number of bands relevant only to strds by @landam in (PR:1447)
    561  * NVIZ: Fix a typo by @HuidaeCho in (PR:553)
    562  * NVIZ: Fix a typo (cont'ed) by @neteler in (PR:557)
    563  * open_stds: check for unknown band references by @landam in (PR:1844)
    564  * OSGeo4W BAT files review by @landam in (PR:437)
    565  * OSGeo4W workflow for GitHub Actions by @HuidaeCho in (PR:692)
    566  * os.newline should not be used when writing in text mode by @petrasovaa in (PR:387)
    567  * perlcritic: fix perlcritic errors by @ocsmit in (PR:1431)
    568  * postgres: Assign 1000 to TEXT field length by @HuidaeCho in (PR:412)
    569  * PS Driver: Write data to a tempfile before closing by @HuidaeCho in (PR:1451)
    570  * pygrass: Add update parameters method to Module by @wenzeslaus in (PR:1712)
    571  * pygrass: call centroid function when buffering areas by @ninsbl in (PR:1655)
    572  * pygrass: remove failing test as not useful by @petrasovaa in (PR:1411)
    573  * pygrass: Remove usage of bare except by @wenzeslaus in (PR:1544)
    574  * python gunittest: Add a new assertion for raster equivalence by @marisn in (PR:1148)
    575  * pythonlib: add env variables to all relevant functions in script lib by @petrasovaa in (PR:677)
    576  * pythonlib: allow wkt to be also string in create_location() by @petrasovaa in (PR:723)
    577  * pythonlib: Enable ambiguous variable name warning by @wenzeslaus in (PR:1538)
    578  * pythonlib: Enable bare except warning by @wenzeslaus in (PR:1549)
    579  * pythonlib: Enable escape sequence warning by @wenzeslaus in (PR:1529)
    580  * pythonlib: Enable unused var warning by @wenzeslaus in (PR:1509)
    581  * pythonlib: fix pygrass Module tests by making it picklable by @petrasovaa in (PR:1407)
    582  * pythonlib: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1486)
    583  * pythonlib/grassdb: on Windows we can't simply get file owner by @petrasovaa in (PR:945)
    584  * pythonlib/grassdb: replace unix only function for file owner name by @petrasovaa in (PR:896)
    585  * pythonlib: Reduce usage of bare except in script by @wenzeslaus in (PR:1543)
    586  * pythonlib: Remove star imports by @wenzeslaus in (PR:1546)
    587  * pythonlib: return None from run_command() by @wenzeslaus in (PR:165)
    588  * pythonlib: safer mechanism for switching dbs in create_location by @petrasovaa in (PR:804)
    589  * pythonlib: Use more specific language in CalledModuleError by @wenzeslaus in (PR:1525)
    590  * python scripting lib: fix run_command(error='status') not returning 0 by @petrasovaa in (PR:1839)
    591  * python/script/raster.py: Fix encode string by @tmszi in (PR:738)
    592  * Python scripts: remove UTF-8 coding line by @neteler in (PR:1461)
    593  * python verbosity docs: minor layout fixes by @neteler in (PR:1004)
    594  * Quick-fix for d.correlate.py by @NikosAlexandris in (PR:1149)
    595  * quick fix of g.extension on MS Windows by @landam in (PR:176)
    596  * rasterlib: Explain missing header file in get_cellhd by @wenzeslaus in (PR:933)
    597  * raster module memory: set new value globally by @neteler in (PR:922)
    598  * Raster Support for Interactive Jupyter maps with folium by @chaedri in (PR:1769)
    599  * Rast_log_colors: Another attempt to address r.colors -g/-a (#1480) by @HuidaeCho in (PR:1937)
    600  * Readd the ubuntu based Dockerfile by @hwbllmnn in (PR:143)
    601  * README: more CI status badges added by @neteler in (PR:764)
    602  * README refactoring by @pesekon2 in (PR:231)
    603  * Reduce Flake8 config to one file by @wenzeslaus in (PR:1807)
    604  * Reference CONTRIBUTING.md file in README by @wenzeslaus in (PR:283)
    605  * Reflect grassdb changes in catalog  by @petrasovaa in (PR:994)
    606  * Refs by S Gebbert added by @neteler in (PR:121)
    607  * register.py: allow registering from io objects by @ninsbl in (PR:1929)
    608  * Remove colouring of standard buttons by @nilason in (PR:744)
    609  * remove deprecated py 'PIL' module 'fromstring', 'tostring' method call by @tmszi in (PR:1223)
    610  * remove @# from GRASS_VERSION_STRING by @landam in (PR:528)
    611  * remove now unneeded Python 3 shebang trick by @neteler in (PR:90)
    612  * Remove __pycache__ directories before release. by @sebastic in (PR:182)
    613  * remove python3-3.8.1 patch by @mmacata in (PR:383)
    614  * Remove redundant encode string call in the error message string interpolation by @tmszi in (PR:308)
    615  * Removing map layer crashes wxGUI (trac.osgeo.org/grass/ticket/3607) by @petrasovaa in (PR:462)
    616  * Rename the master branch to main by @wenzeslaus in (PR:1806)
    617  * Rename tools directory to utils by @wenzeslaus in (PR:1348)
    618  * render: Fix .legrow file existence check by @tmszi in (PR:691)
    619  * replace deprecated inspect function by @petrasovaa in (PR:334)
    620  * replace obsolete time.clock() in Python 3.3 by @petrasovaa in (PR:244)
    621  * REQUIREMENTS.html: numerous URLs updated by @neteler in (PR:202)
    622  * scripts: Enable ambiguous variable name warning by @wenzeslaus in (PR:1515)
    623  * scripts: Enable bare except warning by @wenzeslaus in (PR:1517)
    624  * scripts: Enable import not at top warning by @wenzeslaus in (PR:1510)
    625  * scripts: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1487)
    626  * scripts: Remove unused vars or ignore in Flake8 by @wenzeslaus in (PR:1498)
    627  * scripts/r.plane/r.plane.py:fixed bare except by @ShubhamSwati in (PR:1608)
    628  * Session initiations functions for Jupyter Notebooks by @chaedri in (PR:1629)
    629  * Set locale to euc-kr only for Windows by @HuidaeCho in (PR:520)
    630  * several fixes related to font dialog by @petrasovaa in (PR:292)
    631  * simplify GRASS_EXECUTABLE handling in package.sh by @landam in (PR:445)
    632  * Simplify raster band reference management by @marisn in (PR:1272)
    633  * Small code fixes for d.legend and Cairo_Text by @wenzeslaus in (PR:1076)
    634  * Sort file lists by @bmwiedemann in (PR:247)
    635  * standardization of Markdown files by @pesekon2 in (PR:346)
    636  * Start in a demo/startup location by @lindakladivova in (PR:868)
    637  * Startup: Avoid a race condition by @HuidaeCho in (PR:548)
    638  * Stop ignoring .git folder for docker builds by @mmacata in (PR:1182)
    639  * Store list of databases in settings by @lindakladivova in (PR:858)
    640  * Support Korean (ko) language settings from g.gui for Windows by @HuidaeCho in (PR:519)
    641  * svn refs changed to git by @neteler in (PR:93)
    642  * Switch alpine docker to alpine 3.11 and compiled pdal by @mmacata in (PR:399)
    643  * switch environment: also change mapset by @metzm in (PR:286)
    644  * Switch to another mapset when in use (aka force remove lock) by @lindakladivova in (PR:906)
    645  * Switch to debian 10.1 as dockerfile base image (master) by @hwbllmnn in (PR:140)
    646  * Sync Korean translations by @HuidaeCho in (PR:556)
    647  * tcsh prompt: fix update with change of mapset by @nilason in (PR:765)
    648  * temporal: fix TGIS broken in 61b8d40 (#306) by @petrasovaa in (PR:504)
    649  * Test Module for Non-interactive display in Jupyter Notebooks by @chaedri in (PR:1739)
    650  * tests: Output more text and sort files by @wenzeslaus in (PR:1362)
    651  * testsuite example: info updated by @neteler in (PR:831)
    652  * testsuite: fix libgis/parser_json.c and r.fillnull by @neteler in (PR:1346)
    653  * testsuite: minor fixes by @neteler in (PR:855)
    654  * testsuite: r.blend quoting test by @neteler in (PR:347)
    655  * tplot/frame.py: fixes for Matplotlib 3.3+ by @neteler in (PR:1191)
    656  * Update docs (#360) by @KolesovDmitry in (PR:361)
    657  * Updated translators.csv file by @lucadelu in (PR:1249)
    658  * Update from proj.4 to proj (g.version) by @kikislater in (PR:55)
    659  * Update Location Wizard: First page by @lindakladivova in (PR:493)
    660  * Update of travis configuration for Python 3 by @neteler in (PR:115)
    661  * Update reference from proj.4 or proj4 to proj (g.version) by @kikislater in (PR:54)
    662  * Updates made in the README.md file by @shubhamshah14102 in (PR:1951)
    663  * Update to Black 21.5b1 by @wenzeslaus in (PR:1605)
    664  * Update to upstream ctypesgen version by @nilason in (PR:1651)
    665  * update usage of map() function to Python 3 by @pesekon2 in (PR:114)
    666  * update wingrass installer to osgeo4w v2 + drop 32bit by @landam in (PR:1904)
    667  * Upgrade tgis db by @landam in (PR:306)
    668  * Use ${CC} instead of "cc" for linking on mac by @nilason in (PR:611)
    669  * use copy instead of git clone in Dockerfiles by @mmacata in (PR:151)
    670  * Use gs as alias for grass.script in doc by @wenzeslaus in (PR:282)
    671 
    672  * Use .wxgui_history as history file for the gui (#962) by @susi in (PR:1917)
    673  * Using JSON for GUI settings by @petrasovaa in (PR:1015)
    674  * utils: Small fixes of Bash util scripts by @wenzeslaus in (PR:1363)
    675 
    676 ==== GUI: Improvements in the Graphical User Interface ====
    677 
    678  * **NEW: entire rewrite of GRASS GIS startup**
    679491 * Added global dataset to download location in startup by @baharmon in (PR:544)
    680492 * wxgui about: add link to github by @landam in (PR:131)
     
    849661 * wxGUI/infobar: attempt to fix #1213 by @petrasovaa in (PR:1214)
    850662 * wxGUI/infobar: fix infobar creation with wxPython 4.1 by @petrasovaa in (PR:1202)
     663 * wxGUI/json: Using JSON for GUI settings by @petrasovaa in (PR:1015)
    851664 * wxGUI/lmgr: add layer menu items for check/uncheck selected layers by @tmszi in (PR:1905)
    852665 * wxGUI/lmgr: adjusts the position of the layer context option button (if opacity label is appended into layer name) by @tmszi in (PR:1458)
     
    888701 * wxGUI/mapwin: fix showing overlays module properties dialog from the map display context menu by @tmszi in (PR:1079)
    889702 * wxGUI Module dialog: Fix enable scrolling for the Basic top module style (fix bug introduced in the issue #480) by @tmszi in (PR:503)
     703 * wxGUI: Field calculator wx.ListBox widget choices argument by @tmszi in (PR:460)
     704 * wxGUI: g.gui.rlisetup config file open mode for write in text mode by @tmszi in (PR:410)
     705 * wxGUI: g.gui.vdigit update available vector maps after the frame is show by @tmszi in (PR:465)
     706 * wxGUI: Graphical Modeler About Dialog import by @tmszi in (PR:438)
     707 * wxGUI: Graphical Modeler decode string by @tmszi in (PR:441)
     708 * wxGUI: Graphical Modeler wx widget deprecation warning by @tmszi in (PR:442)
     709 * wxGUI: Histogramming Tool Plot xSpec, ySpec property value by @tmszi in (PR:422)
     710 * wxGUI: Histogramming Tool save text settings (font family/style/weight) into the file by @tmszi in (PR:421)
     711 * wxGUI: Import vector/raster dialog min width by @tmszi in (PR:492)
     712 * wxGUI: Layer Manager add layer into the empty layer group by @tmszi in (PR:413)
     713 * wxGUI: Layer Manager add vector map layer Set color table interactively menu item by @tmszi in (PR:472)
     714 * wxGUI: Layer Manager close the Layers NoteBook Display FlatNotebook page by @tmszi in (PR:411)
     715 * wxGUI: Manage color rules interactively (vector map) frame by @tmszi in (PR:429)
     716 * wxGUI: Manage color rules interactively (vector map) number of LoadTable method calls by @tmszi in (PR:444)
     717 * wxGUI: Manage color rules interactively (vector map) wx.CollapsiblePane widget layout by @tmszi in (PR:449)
     718 * wxGUI: Set vector output format load profile settings by @tmszi in (PR:451)
     719 * wxGUI: Set vector output format wx.Choice widget width by @tmszi in (PR:453)
     720 * wxGUI: Vector Network Analysis Tool close dialog by @tmszi in (PR:419)
     721 * wxGUI: Vector Network Analysis Tool ComboBox widget deprecation warning by @tmszi in (PR:418)
     722 * wxGUI: Vector Network Analysis Tool execute analysis by @tmszi in (PR:440)
     723 * wxGUI: Vector Network Analysis Tool FlatNotebook page small grey square artifact by @tmszi in (PR:425)
     724 * wxGUI: Vector Network Analysis Tool merge dicts by @tmszi in (PR:417)
    890725 * wxGUI: module search GUI improved by @petrasovaa in (PR:1194)
    891726 * wxGUI: more suitable color for infobar on Windows by @lindakladivova in (PR:1504)
     
    946781 * wxGUI/tplot: fix export csv file by @tmszi in (PR:1206)
    947782 * wxGUI/tplot: fix x, y coordinates validation by @tmszi in (PR:1199)
     783 * wxGUI/tplot: fixes for Matplotlib 3.3+ by @neteler in (PR:1191)
    948784 * wxGUI/treemodel: fix removing children of root by @petrasovaa in (PR:775)
    949785 * wxGUI/treemodel: refactor TreeModel to allow more flexible Node classes. by @petrasovaa in (PR:797)
     
    981817==== Python scripting ====
    982818
    983  * PEP8 fixes by @neteler in (PR:1317)
    984  * ...
     819 * New Python subpackage for working with locations and mapsets by @wenzeslaus in (PR:837)
     820 * pygrass: Add update parameters method to Module by @wenzeslaus in (PR:1712)
     821 * pygrass: call centroid function when buffering areas by @ninsbl in (PR:1655)
     822 * pygrass: remove failing test as not useful by @petrasovaa in (PR:1411)
     823 * pygrass: Remove usage of bare except by @wenzeslaus in (PR:1544)
     824 * python gunittest: Add a new assertion for raster equivalence by @marisn in (PR:1148)
     825 * pythonlib: add env variables to all relevant functions in script lib by @petrasovaa in (PR:677)
     826 * pythonlib: allow wkt to be also string in create_location() by @petrasovaa in (PR:723)
     827 * pythonlib: Enable ambiguous variable name warning by @wenzeslaus in (PR:1538)
     828 * pythonlib: Enable bare except warning by @wenzeslaus in (PR:1549)
     829 * pythonlib: Enable escape sequence warning by @wenzeslaus in (PR:1529)
     830 * pythonlib: Enable unused var warning by @wenzeslaus in (PR:1509)
     831 * pythonlib: fix pygrass Module tests by making it picklable by @petrasovaa in (PR:1407)
     832 * pythonlib/grassdb: on Windows we can't simply get file owner by @petrasovaa in (PR:945)
     833 * pythonlib/grassdb: replace unix only function for file owner name by @petrasovaa in (PR:896)
     834 * pythonlib: Reduce usage of bare except in script by @wenzeslaus in (PR:1543)
     835 * pythonlib: Remove star imports by @wenzeslaus in (PR:1546)
     836 * pythonlib: return None from run_command() by @wenzeslaus in (PR:165)
     837 * pythonlib: safer mechanism for switching dbs in create_location by @petrasovaa in (PR:804)
     838 * pythonlib: Use more specific language in CalledModuleError by @wenzeslaus in (PR:1525)
     839 * python scripting lib: fix run_command(error='status') not returning 0 by @petrasovaa in (PR:1839)
     840 * python/script/raster.py: Fix encode string by @tmszi in (PR:738)
     841 * scripts: Enable ambiguous variable name warning by @wenzeslaus in (PR:1515)
     842 * scripts: Enable bare except warning by @wenzeslaus in (PR:1517)
     843 * scripts: Enable import not at top warning by @wenzeslaus in (PR:1510)
     844 * scripts: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1487)
     845 * scripts: Remove unused vars or ignore in Flake8 by @wenzeslaus in (PR:1498)
    985846
    986847==== Binder ====
     848
     849 * Binder button by @chaedri in (PR:1628)
    987850 * Added additional GRASS info to example_notebook by @chaedri in (PR:1686)
    988851 * Added Binder setup files by @chaedri in (PR:1603)
    989852
    990 ==== Projection support ====
    991 
    992  * PROJ6+ + WKT2 support by @metzm in (PR:118), (PR:183), (PR:1240)
    993 
    994 ==== GDAL support ====
    995 
    996  * ...
    997 
    998 ==== Database support ====
    999 
    1000  * n/a
    1001 
    1002 ==== Library changes ====
    1003 
    1004  * libgis parser: Add angle brackets to a single option/flag rule by @HuidaeCho in (PR:1399)
    1005  * libgis parser: Show error for option file by @wenzeslaus in (PR:1433)
    1006  * libgis parser: Use #-space-% to allow writing PEP8-compliant Python code by @wenzeslaus in (PR:1287)
    1007  * libgis parser: Add a standard option for nprocs= (G_OPT_M_NPROCS) by @HuidaeCho in (PR:1644)
    1008  * libgis: add missing return keyword to G__make_mapset_element_misc() by @nilason in (PR:1751)
    1009  * libgis: add test for invalid value to parser by @metzm in (PR:1459)
    1010  * libgis: Advancing va_list manually after calling ovprintf() by @HuidaeCho in (PR:725)
    1011  * libgis: Distinguish dirs and objects in dir creation by @wenzeslaus in (PR:1681)
    1012  * libgis: More clear comments for aprintf by @HuidaeCho in (PR:726)
    1013  * libgis parser: an empty string is not an answer by @metzm in (PR:958)
    1014  * libgis: Use the full string length in strncmp() calls. by @infrastation in (PR:1060)
    1015  * lib/init: fix run py script with CRLF line terminators ('grass --exec file_with_CRLF.py') by @tmszi in (PR:860)
    1016  * lib/init/grass.py: Updated bash history setting from 3000 to unlimite… by @cwhite911 in (PR:1026)
    1017  * lib/init: set HISTSIZE to empty string for unlimited size by @nilason in (PR:1526)
    1018  * libproj: added alias for ITRF92 by @neteler in (PR:1460)
    1019  * libproj: change warning to debug message by @neteler in (PR:1337)
    1020  * libproj: fix crs modification with PROJ6+ by @metzm in (PR:1007)
    1021  * libproj: fix for PROJ6+ to get the ll equivalent of a CRS by @metzm in (PR:939)
    1022  * libproj: fix lookup mechanism for datum grids with all versions of PROJ by @metzm in (PR:252)
    1023  * libproj: fix results for ll equivalents by @metzm in (PR:1444)
    1024  * libproj: fix test for PJ_TYPE_BOUND_CRS by @metzm in (PR:1013)
    1025  * libproj: fix treatment of proj extension in wkt by @metzm in (PR:187)
    1026  * libpython: Add helper library for benchmarking by @wenzeslaus in (PR:1670)
    1027  * libpython: Add plot nprocs to benchmark CLI by @wenzeslaus in (PR:1761)
    1028  * libpython: Avoid race condition when reading region in use_temp_region() by @wenzeslaus in (PR:638)
    1029  * libpython: explain verbosity levels by @neteler in (PR:998)
    1030  * libpython: relax requirements for band names by @metzm in (PR:1081)
    1031  * libpython: Resolve path to mapset in setup.init by @wenzeslaus in (PR:1829)
    1032  * libpython: Save and load benchmark results by @wenzeslaus in (PR:1711)
    1033  * libpython/script: fix tests by @petrasovaa in (PR:1381)
    1034  * libpython: Support non-parallel runs better by @wenzeslaus in (PR:1733)
    1035  * libraster: add strerror(errno) to write failures by @metzm in (PR:1722)
    1036  * libraster by @metzm in (PR:463)
    1037  * libraster: change Rast_legal_bandref() return value to bool by @nilason in (PR:1897)
    1038  * libraster: fix Rast_legal_bandref() by @metzm in (PR:1796)
    1039  * libraster / gdal.c: add recent GDAL dlls by @ninsbl in (PR:1874)
    1040  * Lib: Speed up listing a lot of mapsets by 20%. by @marisn in (PR:281)
    1041 
    1042 ==== JSON /  REST support ====
    1043 
    1044  * ...
    1045 
    1046 ==== Code quality ====
    1047 
    1048  * Add list of commits for git blame to ignore by @wenzeslaus in (PR:1391)
    1049  * Apply Black to all scripts by @wenzeslaus in (PR:1347)
    1050  * Apply Black to doc utils in man by @wenzeslaus in (PR:1366)
    1051  * Apply Black to grass package, use Python 3 style everywhere by @wenzeslaus in (PR:1382)
    1052  * Apply Black to helpers, examples, doc, and others by @wenzeslaus in (PR:1386)
    1053  * Apply Black to locale by @wenzeslaus in (PR:1513)
    1054  * Apply Black to Python utils by @wenzeslaus in (PR:1365)
    1055  * Apply Black to temporal modules by @wenzeslaus in (PR:1388)
    1056  * Apply Black to tests by @wenzeslaus in (PR:1387)
    1057  * Apply Black to wxGUI by @wenzeslaus in (PR:1527)
    1058  * Apply Mega-Linter fixes to GH workflow scripts by @wenzeslaus in (PR:1369)
    1059  * Flake8 fixes for docs and others by @wenzeslaus in (PR:1511)
    1060  * Flake8 fixes for utils and man by @wenzeslaus in (PR:1379)
    1061  * flake8: fix F401 (unused import) and F821 (undefined name) in scripts and lib by @petrasovaa in (PR:1314)
    1062 
    1063 
    1064 ==== Unit tests / CI ====
    1065 
    1066  * Add C and C++ versions to CI by @wenzeslaus in (PR:596)
    1067  * Add CentOS build check to CI by @wenzeslaus in (PR:604)
    1068  * Add GitHub Action to build, run tests, and Python static code analysis by @wenzeslaus in (PR:525)
    1069  * Add github workflow for docker build and push by @mmacata in (PR:1790)
    1070  * Add label to new GitHub issue by @nilason in (PR:527)
    1071  * CI: Add Flake8 check for grass.py by @wenzeslaus in (PR:1311)
    1072  * CI: Add GH Super Linter for a subset of secondary files by @wenzeslaus in (PR:752)
    1073  * CI: Add matplotlib to apt deps by @wenzeslaus in (PR:1703)
    1074  * CI: add PDAL support by @neteler in (PR:1638)
    1075  * CI: add proj-bin to have cs2cs for tests by @petrasovaa in (PR:1410)
    1076  * CI: Do not run Docker job on forks by @wenzeslaus in (PR:1915)
    1077  * CI: Enable Perl in Super-Linter by @wenzeslaus in (PR:1493)
    1078  * CI: Fix ifs for jobs and rename master to main by @wenzeslaus in (PR:1813)
    1079  * CI: Handpick C/C++ version combos for GCC tests by @wenzeslaus in (PR:1288)
    1080  * CI: Make test report available as artifact by @wenzeslaus in (PR:1290)
    1081  * CI: Make test report available even on failure by @wenzeslaus in (PR:1702)
    1082  * CI: Print version info for Ubuntu and CentOS runs by @wenzeslaus in (PR:1832)
    1083  * CI: Remove duplication in Ubuntu workflow by @wenzeslaus in (PR:1749)
    1084  * CI: Remove notifications comming from Travis CI by @wenzeslaus in (PR:663)
    1085  * CI: Run Docker for all release branches by @wenzeslaus in (PR:1975)
    1086  * CI: Switch Travis to Ubuntu 20.04 (focal) by @wenzeslaus in (PR:1384)
    1087  * CI: Update Flake8 by @wenzeslaus in (PR:1932)
    1088  * CI: Update setting env vars, use 20.04, C gnu17 by @wenzeslaus in (PR:1092)
    1089  * CI: Use a specific Flake8 version by @wenzeslaus in (PR:626)
    1090  * CI: Use matrix and increase versions for Flake8 by @wenzeslaus in (PR:1309)
     853==== Jupyter Notebooks ====
     854
     855 * Raster Support for Interactive Jupyter maps with folium by @chaedri in (PR:1769)
     856 * Interactive vector maps for Jupyter Notebooks by @chaedri in (PR:1710)
     857 * grass.jupyter: add property filename to GrassRenderer by @petrasovaa in (PR:1846)
     858 * grass.jupyter: more flexible region handling for rendering by @petrasovaa in (PR:1871)
     859 * jupyter: Add virtual framebuffer X server dependency by @wenzeslaus in (PR:1827)
     860 * jupyter: Fix main notebook URL, note grass.jupyter is a preview by @wenzeslaus in (PR:1828)
     861 * jupyter: Non-interactive display by @chaedri in (PR:1668)
     862 * jupyter: Render 3D images with m.nviz.image by @wenzeslaus in (PR:1831)
     863 * Session initiations functions for Jupyter Notebooks by @chaedri in (PR:1629)
    1091864
    1092865==== User Manuals - Documentation ====
    1093866
    1094867 * Add CONTRIBUTING file with a standard contributor Git how-to by @wenzeslaus in (PR:237)
     868 * grass7 manual: document --config parameters by @neteler in (PR:532)
     869 * GRASS GIS Quickstart by @lindakladivova in (PR:1577)
    1095870 * Fix link to startup script manual page by @veroandreo in (PR:1875)
    1096871 * full index manual: add missing pages by @neteler in (PR:258)
     
    1133908 * G80:v.lrs.label manual updated by @jidanni in (PR:217)
    1134909 * G80:v.to.rast manual: update example to NC dataset by @neteler in (PR:1053)
    1135  * grass7 manual: document --config parameters by @neteler in (PR:532)
    1136  * GRASS GIS Quickstart by @lindakladivova in (PR:1577)
    1137910 * howto_release converted to MD incl cleanup by @neteler in (PR:96)
    1138911 * manual: add 'plot' keyword by @neteler in (PR:1087)
     
    1151924 * tools/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)
    1152925
     926==== Projection support ====
     927
     928 * PROJ6+ + WKT2 support by @metzm in (PR:118), (PR:183), (PR:1240)
     929 * CRS management by @metzm in (PR:976)
     930
     931==== GDAL support ====
     932
     933 * GDAL/OGR import: check projection of input data by @metzm in (PR:317)
     934 * GDAL/OGR import: report XY location when comparing projections by @metzm in (PR:368)
     935
     936==== Database support ====
     937
     938 * postgres driver: Assign 1000 to TEXT field length by @HuidaeCho in (PR:412)
     939
     940==== Library changes ====
     941
     942 * configure: upgrade to autoconf 2.69 by @nilason in (PR:1845)
     943 * configure: use pkg-config for FreeType 2 by @infrastation in (PR:1719)
     944 * ctypes: fix Callable for Python 3.10 by @neteler in (PR:1672)
     945 * ctypes: Fix ctypesgencore for Python 3 by @wenzeslaus in (PR:379)
     946 * ctypes: move directory out of python/grass by @nilason in (PR:1898)
     947 * libgis parser: Add angle brackets to a single option/flag rule by @HuidaeCho in (PR:1399)
     948 * libgis parser: Show error for option file by @wenzeslaus in (PR:1433)
     949 * libgis parser: Use #-space-% to allow writing PEP8-compliant Python code by @wenzeslaus in (PR:1287)
     950 * libgis parser: Add a standard option for nprocs= (G_OPT_M_NPROCS) by @HuidaeCho in (PR:1644)
     951 * libgis: add missing return keyword to G__make_mapset_element_misc() by @nilason in (PR:1751)
     952 * libgis: add test for invalid value to parser by @metzm in (PR:1459)
     953 * libgis: Advancing va_list manually after calling ovprintf() by @HuidaeCho in (PR:725)
     954 * libgis: Distinguish dirs and objects in dir creation by @wenzeslaus in (PR:1681)
     955 * libgis: More clear comments for aprintf by @HuidaeCho in (PR:726)
     956 * libgis parser: an empty string is not an answer by @metzm in (PR:958)
     957 * libgis: Use the full string length in strncmp() calls. by @infrastation in (PR:1060)
     958 * lib/init: fix run py script with CRLF line terminators ('grass --exec file_with_CRLF.py') by @tmszi in (PR:860)
     959 * lib/init/grass.py: Updated bash history setting from 3000 to unlimite… by @cwhite911 in (PR:1026)
     960 * lib/init: set HISTSIZE to empty string for unlimited size by @nilason in (PR:1526)
     961 * libproj: added alias for ITRF92 by @neteler in (PR:1460)
     962 * libproj: change warning to debug message by @neteler in (PR:1337)
     963 * libproj: fix crs modification with PROJ6+ by @metzm in (PR:1007)
     964 * libproj: fix for PROJ6+ to get the ll equivalent of a CRS by @metzm in (PR:939)
     965 * libproj: fix lookup mechanism for datum grids with all versions of PROJ by @metzm in (PR:252)
     966 * libproj: fix results for ll equivalents by @metzm in (PR:1444)
     967 * libproj: fix test for PJ_TYPE_BOUND_CRS by @metzm in (PR:1013)
     968 * libproj: fix treatment of proj extension in wkt by @metzm in (PR:187)
     969 * libpython: Add helper library for benchmarking by @wenzeslaus in (PR:1670)
     970 * libpython: Add plot nprocs to benchmark CLI by @wenzeslaus in (PR:1761)
     971 * libpython: Avoid race condition when reading region in use_temp_region() by @wenzeslaus in (PR:638)
     972 * libpython: explain verbosity levels by @neteler in (PR:998)
     973 * libpython: relax requirements for band names by @metzm in (PR:1081)
     974 * libpython: Resolve path to mapset in setup.init by @wenzeslaus in (PR:1829)
     975 * libpython: Save and load benchmark results by @wenzeslaus in (PR:1711)
     976 * libpython/script: fix tests by @petrasovaa in (PR:1381)
     977 * libpython: Support non-parallel runs better by @wenzeslaus in (PR:1733)
     978 * libraster: add strerror(errno) to write failures by @metzm in (PR:1722)
     979 * libraster: Band references implementation by @landam in (PR:63)
     980 * libraster: change Rast_legal_bandref() return value to bool by @nilason in (PR:1897)
     981 * libraster: fix Rast_legal_bandref() by @metzm in (PR:1796)
     982 * libraster / gdal.c: add recent GDAL dlls by @ninsbl in (PR:1874)
     983 * Lib: Speed up listing a lot of mapsets by 20% by @marisn in (PR:281)
     984
     985==== JSON /  REST support ====
     986
     987 * Fixed gis parser json implementation by @huhabla in (PR:99)
     988 * json parser: change + to @ for URLs by @neteler in (PR:175)
     989 * json parser: fix mapsets in tokenizing by @neteler in (PR:1252)
     990
     991==== Code quality ====
     992
     993 * Add list of commits for git blame to ignore by @wenzeslaus in (PR:1391)
     994 * Apply Black to all python scripts by @wenzeslaus in (PR:1347)
     995 * Apply Black to doc utils in man by @wenzeslaus in (PR:1366)
     996 * Apply Black to grass package, use Python 3 style everywhere by @wenzeslaus in (PR:1382)
     997 * Apply Black to helpers, examples, doc, and others by @wenzeslaus in (PR:1386)
     998 * Apply Black to locale by @wenzeslaus in (PR:1513)
     999 * Apply Black to Python utils by @wenzeslaus in (PR:1365)
     1000 * Apply Black to temporal modules by @wenzeslaus in (PR:1388)
     1001 * Apply Black to tests by @wenzeslaus in (PR:1387)
     1002 * Apply Black to wxGUI by @wenzeslaus in (PR:1527)
     1003 * Apply Mega-Linter fixes to GH workflow scripts by @wenzeslaus in (PR:1369)
     1004 * Fix compiler warnings, part 1 by @nilason in (PR:1248)
     1005 * Fix compiler warnings, part 2 by @nilason in (PR:1256)
     1006 * Fix compiler warnings, part 3 by @nilason in (PR:1263)
     1007 * Fix compiler warnings, part 4 by @nilason in (PR:1265)
     1008 * Fix compiler warnings, part 5 by @nilason in (rst/interpfl lib & v.surf.rst) (PR:1271)
     1009 * Fix compiler warnings, part 6 by @nilason in (PR:1274)
     1010 * Fix compiler warnings, part 7 by @nilason in (PR:1275)
     1011 * Fix compiler warnings, part 8 by @nilason in (PR:1276)
     1012 * Fix compiler warnings, part 9 by @nilason in (PR:1316)
     1013 * Fix compiler warnings, part 10 by @nilason in (PR:1395)
     1014 * Fix compiler warnings, part 11 by @nilason in (PR:1405)
     1015 * Fix compiler warnings, part 12 by @nilason in (PR:1406)
     1016 * Flake8 fixes for docs and others by @wenzeslaus in (PR:1511)
     1017 * Flake8 fixes for utils and man by @wenzeslaus in (PR:1379)
     1018 * Flake8: fix F401 (unused import) and F821 (undefined name) in scripts and lib by @petrasovaa in (PR:1314)
     1019 * python PEP8 fixes by @neteler in (PR:1317)
     1020 * pythonlib: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1486)
     1021 * Remove __pycache__ directories before release. by @sebastic in (PR:182)
     1022 * Fix spelling errors. by @sebastic in (PR:1916), (PR:561), (PR:871), (PR:992)
     1023
     1024==== Unit tests / CI ====
     1025
     1026 * Add C and C++ versions to CI by @wenzeslaus in (PR:596)
     1027 * Add CentOS build check to CI by @wenzeslaus in (PR:604)
     1028 * Add GitHub Action to build, run tests, and Python static code analysis by @wenzeslaus in (PR:525)
     1029 * Add github workflow for docker build and push by @mmacata in (PR:1790)
     1030 * Add label to new GitHub issue by @nilason in (PR:527)
     1031 * CI: Add Flake8 check for grass.py by @wenzeslaus in (PR:1311)
     1032 * CI: Add GH Super Linter for a subset of secondary files by @wenzeslaus in (PR:752)
     1033 * CI: Add matplotlib to apt deps by @wenzeslaus in (PR:1703)
     1034 * CI: add PDAL support by @neteler in (PR:1638)
     1035 * CI: add proj-bin to have cs2cs for tests by @petrasovaa in (PR:1410)
     1036 * CI: Do not run Docker job on forks by @wenzeslaus in (PR:1915)
     1037 * CI: Enable Perl in Super-Linter by @wenzeslaus in (PR:1493)
     1038 * CI: Fix ifs for jobs and rename master to main by @wenzeslaus in (PR:1813)
     1039 * CI: Handpick C/C++ version combos for GCC tests by @wenzeslaus in (PR:1288)
     1040 * CI: Make test report available as artifact by @wenzeslaus in (PR:1290)
     1041 * CI: Make test report available even on failure by @wenzeslaus in (PR:1702)
     1042 * CI: Print version info for Ubuntu and CentOS runs by @wenzeslaus in (PR:1832)
     1043 * CI: Remove duplication in Ubuntu workflow by @wenzeslaus in (PR:1749)
     1044 * CI: Remove notifications comming from Travis CI by @wenzeslaus in (PR:663)
     1045 * CI: Run Docker for all release branches by @wenzeslaus in (PR:1975)
     1046 * CI: Switch Travis to Ubuntu 20.04 (focal) by @wenzeslaus in (PR:1384)
     1047 * CI: Update Flake8 by @wenzeslaus in (PR:1932)
     1048 * CI: Update setting env vars, use 20.04, C gnu17 by @wenzeslaus in (PR:1092)
     1049 * CI: Use a specific Flake8 version by @wenzeslaus in (PR:626)
     1050 * CI: Use matrix and increase versions for Flake8 by @wenzeslaus in (PR:1309)
     1051 * gunittest: CalledModuleError constructor accepts module, code, returncode, and errors by @HuidaeCho in (PR:1788)
     1052 * gunittest: Deduplicate output decoding code by @wenzeslaus in (PR:1539)
     1053 * gunittest docs: fix broken links by @neteler in (PR:934)
     1054 * gunittest: Exclude broken tests by @wenzeslaus in (PR:1587)
     1055 * gunittest: Fix stdout used instead of stderr by @wenzeslaus in (PR:1707)
     1056 * gunittest: init super() to initialise 'errors' attribute by @nilason in (PR:1685)
     1057 * gunittest: Non-zero return code on certian percetage of tests failing by @wenzeslaus in (PR:377)
     1058 * gunittest: update module interface doctest by @nilason in (PR:1699)
     1059 * tests: Output more text and sort files by @wenzeslaus in (PR:1362)
     1060 * testsuite example: info updated by @neteler in (PR:831)
     1061 * testsuite: fix libgis/parser_json.c and r.fillnull by @neteler in (PR:1346)
     1062 * testsuite: minor fixes by @neteler in (PR:855)
     1063 * testsuite: r.blend quoting test by @neteler in (PR:347)
     1064
    11531065==== Portability ====
    11541066
     1067MS-Windows:
    11551068 * Apply more osgeo4w patches by @ninsbl in (PR:1921)
    11561069 * Apply patches from OSGeo4W upstreams by @ninsbl in (PR:1880)
    11571070 * gdal.c: add .so/.dll for GDAL 3.0 by @rouault in (PR:191)
     1071 * mswindows: crosscompile under WSL by @HuidaeCho in (PR:1940)
     1072 * mswindows: Update crosscompile.sh to 8.0 by @HuidaeCho in (PR:1876)
     1073 * mswindows: Update crosscompile.sh to the master branch of MXE by @HuidaeCho in (PR:1939)
     1074 * OSGeo4W BAT files review by @landam in (PR:437)
     1075 * OSGeo4W workflow for GitHub Actions by @HuidaeCho in (PR:692)
     1076 * update wingrass installer to osgeo4w v2 + drop 32bit by @landam in (PR:1904)
     1077 * Cross compilation by @HuidaeCho in (PR:257)
     1078 * crosscompile: Support for BusyBox for Windows by @HuidaeCho in (PR:1946)
     1079
     1080Mac:
     1081 * Mac: converted compile instructions from RTF to markdown by @neteler in (PR:636)
     1082 * macOS/install: do not install system level docs by @nilason in (PR:1909)
     1083 * macOS: modernize app bundle info by @nilason in (PR:941)
     1084 * macOS: use @rpath as dynamic linker by @nilason in (PR:981)
     1085 * Mac ReadMe: stylistic update by @nilason in (PR:639)
     1086 * Mac: Update app icon for hi-res support by @nilason in (PR:829)
    11581087
    11591088==== Docker support ====
    11601089
    1161  * Docker images are now built for the 8.0 branch
     1090New: Docker images are now built for the 8.0 branch.
     1091
     1092Docker:
    11621093 * Alpine dockerfile: removed PDAL by @neteler in (PR:455)
    11631094 * Alpine dockerfile: update python3 patch and add pdal package by @mmacata in (PR:378)
    1164  * Alpine docker image: added subversion package for g.extension by @neteler in (PR:261)
    1165  * Patch python instead of grass for alpine docker by @mmacata in (PR:304)
    1166  * added singularity file by @lucadelu in (PR:181)
    1167  * Docker alpine image patch to work with py3.8 by @mmacata in (PR:278)
    1168  * docker: Alpine latest (stable) added by @neteler in (PR:275)
    1169  * docker alpine: removed gisinit revision workaround by @neteler in (PR:280)
    1170  * Dockerfile_alpine: fix broken pip six installation by @neteler in (PR:1568)
    1171  * Dockerfile_alpine: fix broken pip six installation by @neteler in (PR:1581)
    1172  * Dockerfile_alpine_wxgui: drop file by @neteler in (PR:1372)
    1173  * Dockerfile: fix broken lib link by @neteler in (PR:1625)
     1095 * Alpine dockerfile: use proj 6.2.1 by @mmacata in (PR:255)
     1096 * Alpine dockerfile: added subversion package for g.extension by @neteler in (PR:261)
     1097 * Alpine dockerfile: Patch python instead of grass for alpine docker by @mmacata in (PR:304)
     1098 * Alpine dockerfile: patch to work with py3.8 by @mmacata in (PR:278)
     1099 * Alpine dockerfile: Alpine latest (stable) added by @neteler in (PR:275)
     1100 * Alpine dockerfile: removed gisinit revision workaround by @neteler in (PR:280)
     1101 * Alpine dockerfile: fix broken pip six installation by @neteler in (PR:1568), (PR:1581)
    11741102 * Dockerfile READMEs added by @neteler in (PR:147)
     1103 * Dockerfiles: fix broken lib link by @neteler in (PR:1625)
    11751104 * Dockerfiles: fix broken grass-session tests by @neteler in (PR:1623)
    11761105 * Dockerfiles: install git before build by @mmacata in (PR:990)
    1177  * Dockerfiles moved into distro specific subdirs by @neteler in (PR:148)
     1106 * Dockerfiles: moved into distro specific subdirs by @neteler in (PR:148)
    11781107 * Dockerfiles: remove workaround for grass-session by @neteler in (PR:1624)
    11791108 * Dockerfile Ubuntu/Debian: another link fix by @neteler in (PR:1626)
    11801109 * Dockerfile with Python 3, PDAL, grass-session, Ubuntu based by @neteler in (PR:134)
    11811110 * docker: fix GRASS lib path detection by @neteler in (PR:883)
    1182  * docker: fix README.md names by @neteler in (PR:984)
    11831111 * docker: image with Ubuntu 19:10 by @neteler in (PR:260)
    11841112 * docker: update Ubuntu based images by @neteler in (PR:1180)
    11851113 * docker: version matrix added by @neteler in (PR:606)
    1186  * use proj 6.2.1 in alpine Dockerfile by @mmacata in (PR:255)
     1114
     1115Singularity:
     1116 * added singularity file by @lucadelu in (PR:181)
    11871117
    11881118==== Message Translations ====
    11891119
    1190  * i18N: sync from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/) (PR:xxx)
    1191  * i18N: restore translations by @neteler in (PR:1011)
    1192  * i18n: sync from Transifex by @HuidaeCho in (PR:1326)
    1193  * i18n: Sync from Transifex by @HuidaeCho in (PR:1465)
    1194  * i18n: Sync from Transifex by @HuidaeCho in (PR:1519)
    1195  * i18N: sync from Transifex by @neteler in (PR:1153)
    1196  * i18N: sync from Transifex by @neteler in (PR:124)
    1197  * i18N: sync from Transifex by @neteler in (PR:158)
    1198  * i18N: sync from Transifex by @neteler in (PR:169)
    1199  * i18N: sync from Transifex by @neteler in (PR:559)
    1200  * i18N: sync from Transifex by @neteler in (PR:697)
    1201  * i18N: sync from Transifex by @neteler in (PR:87)
    1202  * i18n: Transifex sync by @HuidaeCho in (PR:1592)
    1203  * i18n: Transifex sync by @HuidaeCho in (PR:1676)
    1204  * i18n: Translation update of Latvian language by @marisn in (PR:865)
     1120 * i18N: sync from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/)
     1121   * by @HuidaeCho in (PR:1326), (PR:1465), (PR:1519),  (PR:1592), (PR:1676)
     1122   * by @neteler in (PR:1153), (PR:1011), (PR:124), (PR:158), (PR:169), (PR:559), (PR:697), (PR:87)
     1123   * update of Latvian language by @marisn in (PR:865)
     1124 * Support Korean (ko) language settings from g.gui for Windows by @HuidaeCho in (PR:519)
    12051125
    12061126==== Packaging ====
     
    12111131
    12121132 * Issues are now on GitHub by @wenzeslaus in (PR:315)
    1213 
    1214 === New Addons since GRASS 7.8.7 ===
     1133 * Rename the master branch to main by @wenzeslaus in (PR:1806)
     1134 * Rename tools directory to utils by @wenzeslaus in (PR:1348)
     1135 * GitHub action CI: drop ubuntu-16.04 by @neteler in (PR:1254)
     1136 * GitHub Action: Completion of security analysis with CodeQL by @mmacata in (PR:1300)
     1137 * svn refs changed to git by @neteler in (PR:93)
     1138
     1139=== New Addons since GRASS 7.8.6 ===
    12151140
    12161141{{{
     
    12191144https://github.com/OSGeo/grass-addons/pulls?q=is%3Apr+label%3A%22new+addon%22+is%3Aclosed
    12201145}}}
    1221  * G7A:xxx
     1146 * G8A:xxx
    12221147
    12231148=== Closed !GitHub tickets since the last release ===