wiki:Release/8.0.0-News

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

--

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)

UNSORTED FIXME

  • wxGUI: Add rename and delete of Location and Mapset in Datacatalog by @lindakladivova in (PR:771)
  • wxGUI: address digitizer backround map issue (PR:467) by @petrasovaa in (PR:494)
  • wxGUI: Add temporary files for Non-Interactive Display by @chaedri in (PR:1727)
  • Allow delete on multiple locations in data catalog by @lindakladivova in (PR:875)
  • catalog: first load and display tree with locations for responsiveness, then load everything by @petrasovaa in (PR:1043)
  • Add zsh history change by @nilason in (PR:975)
  • Add zsh terminal prompt support by @nilason in (PR:722)

  • 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)
  • 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 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)
  • copy libs into bin directory after running make distclean by @landam in (PR:172)
  • 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)
  • 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)
  • 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)
  • 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 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 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 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 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 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 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 source code URL when addon path starts with root path by @HuidaeCho in (PR:1645)
  • 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)
  • Format YAML in GH workflows by @wenzeslaus in (PR:1367)
  • 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)
  • gitignore: Add testreport directory by @nilason in (PR:852)
  • GRASS GIS 8.0 changes by @neteler in (PR:1597)
  • wxGUI: do not fail on invalid RC file (empty) by @landam in (PR:185)
  • wxGUI: use %d instead of %s for integers by @HuidaeCho in (PR:554)
  • wxGUI iclass + iscatt: fixes for Python3 by @petrasovaa in (PR:316)
  • libimagery: 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)
  • introduce docker multistage build to alpine image by @mmacata in (PR:276)
  • Keep module_items.xml in docker alpine by @mmacata in (PR:330)
  • Lazy imports and work without import numpy by @wenzeslaus in (PR:511)
  • libsymbol: fix bad argument order by @nilason in (PR:1820)
  • 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)
  • 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)
  • more proofreading for r.geomorphon by @infrastation in (PR:991)
  • 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)
  • New color table: percentage of forest cover by @neteler in (PR:894)
  • Number of bands relevant only to strds by @landam in (PR:1447)
  • open_stds: check for unknown band references by @landam in (PR:1844)
  • 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)
  • PS Driver: Write data to a tempfile before closing by @HuidaeCho in (PR:1451)
  • 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)
  • 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)
  • Reference CONTRIBUTING.md file in README by @wenzeslaus in (PR:283)
  • Reflect grassdb changes in catalog by @petrasovaa in (PR:994)
  • 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 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)
  • 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)
  • 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)
  • Start in a demo/startup location by @lindakladivova in (PR:868)
  • Startup: Avoid a race condition by @HuidaeCho in (PR:548)
  • Store list of databases in settings by @lindakladivova in (PR:858)
  • 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)
  • 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 Location Wizard: First page by @lindakladivova in (PR:493)
  • Update of travis configuration for Python 3 by @neteler in (PR:115)
  • Update reference from proj.4 or proj4 to proj (g.version) by @kikislater in (PR:54)
  • 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)
  • 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 .wxgui_history as history file for the gui (#962) by @susi in (PR:1917)

New modules

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)

GUI: Improvements in the Graphical User Interface

  • NEW: entire rewrite of GRASS GIS startup
  • Add new splash screen as decided in #1716 by @veroandreo in (PR:1803)
  • 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/json: Using JSON for GUI settings by @petrasovaa in (PR:1015)
  • 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: Field calculator wx.ListBox widget choices argument by @tmszi in (PR:460)
  • wxGUI: g.gui.rlisetup config file open mode for write in text mode by @tmszi in (PR:410)
  • wxGUI: g.gui.vdigit update available vector maps after the frame is show by @tmszi in (PR:465)
  • wxGUI: Graphical Modeler About Dialog import by @tmszi in (PR:438)
  • wxGUI: Graphical Modeler decode string by @tmszi in (PR:441)
  • wxGUI: Graphical Modeler wx widget deprecation warning by @tmszi in (PR:442)
  • wxGUI: Histogramming Tool Plot xSpec, ySpec property value by @tmszi in (PR:422)
  • wxGUI: Histogramming Tool save text settings (font family/style/weight) into the file by @tmszi in (PR:421)
  • wxGUI: Import vector/raster dialog min width by @tmszi in (PR:492)
  • wxGUI: Layer Manager add layer into the empty layer group by @tmszi in (PR:413)
  • wxGUI: Layer Manager add vector map layer Set color table interactively menu item by @tmszi in (PR:472)
  • wxGUI: Layer Manager close the Layers NoteBook Display FlatNotebook page by @tmszi in (PR:411)
  • wxGUI: Manage color rules interactively (vector map) frame by @tmszi in (PR:429)
  • wxGUI: Manage color rules interactively (vector map) number of LoadTable method calls by @tmszi in (PR:444)
  • wxGUI: Manage color rules interactively (vector map) wx.CollapsiblePane widget layout by @tmszi in (PR:449)
  • wxGUI: Set vector output format load profile settings by @tmszi in (PR:451)
  • wxGUI: Set vector output format wx.Choice widget width by @tmszi in (PR:453)
  • wxGUI: Vector Network Analysis Tool close dialog by @tmszi in (PR:419)
  • wxGUI: Vector Network Analysis Tool ComboBox widget deprecation warning by @tmszi in (PR:418)
  • wxGUI: Vector Network Analysis Tool execute analysis by @tmszi in (PR:440)
  • wxGUI: Vector Network Analysis Tool FlatNotebook page small grey square artifact by @tmszi in (PR:425)
  • wxGUI: Vector Network Analysis Tool merge dicts by @tmszi in (PR:417)
  • 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/tplot: fixes for Matplotlib 3.3+ by @neteler in (PR:1191)
  • 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

  • New Python subpackage for working with locations and mapsets by @wenzeslaus in (PR:837)
  • 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/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)
  • 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)

Binder

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

Jupyter Notebooks

  • Raster Support for Interactive Jupyter maps with folium by @chaedri in (PR:1769)
  • Interactive vector maps for Jupyter Notebooks by @chaedri in (PR:1710)
  • 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)
  • 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)
  • Session initiations functions for Jupyter Notebooks by @chaedri in (PR:1629)

User Manuals - Documentation

Projection support

GDAL support

  • 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)

Database support

Library changes

  • configure: upgrade to autoconf 2.69 by @nilason in (PR:1845)
  • configure: use pkg-config for FreeType 2 by @infrastation in (PR:1719)
  • 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)
  • 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: Band references implementation by @landam in (PR:63)
  • 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

  • Fixed gis parser json implementation by @huhabla in (PR:99)
  • json parser: change + to @ for URLs by @neteler in (PR:175)
  • json parser: fix mapsets in tokenizing by @neteler in (PR:1252)

Code quality

  • Add list of commits for git blame to ignore by @wenzeslaus in (PR:1391)
  • Apply Black to all python 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)
  • Fix compiler warnings, part 1 by @nilason in (PR:1248)
  • Fix compiler warnings, part 2 by @nilason in (PR:1256)
  • Fix compiler warnings, part 3 by @nilason in (PR:1263)
  • Fix compiler warnings, part 4 by @nilason in (PR:1265)
  • Fix compiler warnings, part 5 by @nilason in (rst/interpfl lib & v.surf.rst) (PR:1271)
  • Fix compiler warnings, part 6 by @nilason in (PR:1274)
  • Fix compiler warnings, part 7 by @nilason in (PR:1275)
  • Fix compiler warnings, part 8 by @nilason in (PR:1276)
  • Fix compiler warnings, part 9 by @nilason in (PR:1316)
  • Fix compiler warnings, part 10 by @nilason in (PR:1395)
  • Fix compiler warnings, part 11 by @nilason in (PR:1405)
  • Fix compiler warnings, part 12 by @nilason in (PR:1406)
  • 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)
  • python PEP8 fixes by @neteler in (PR:1317)
  • pythonlib: Fix stylistic Flake8 warnings by @wenzeslaus in (PR:1486)
  • Remove pycache directories before release. by @sebastic in (PR:182)
  • Fix spelling errors. by @sebastic in (PR:1916), (PR:561), (PR:871), (PR:992)

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)
  • 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)
  • tests: Output more text and sort files by @wenzeslaus in (PR:1362)
  • testsuite example: info updated by @neteler in (PR:831)
  • 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)

Portability

MS-Windows:

Mac:

  • 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)

Docker support

New: Docker images are now built for the 8.0 branch.

Docker:

  • Alpine dockerfile: removed PDAL by @neteler in (PR:455)
  • Alpine dockerfile: update python3 patch and add pdal package by @mmacata in (PR:378)
  • Alpine dockerfile: use proj 6.2.1 by @mmacata in (PR:255)
  • Alpine dockerfile: added subversion package for g.extension by @neteler in (PR:261)
  • Alpine dockerfile: Patch python instead of grass for alpine docker by @mmacata in (PR:304)
  • Alpine dockerfile: patch to work with py3.8 by @mmacata in (PR:278)
  • Alpine dockerfile: Alpine latest (stable) added by @neteler in (PR:275)
  • Alpine dockerfile: removed gisinit revision workaround by @neteler in (PR:280)
  • Alpine dockerfile: fix broken pip six installation by @neteler in (PR:1568), (PR:1581)
  • Dockerfile READMEs added by @neteler in (PR:147)
  • Dockerfiles: fix broken lib link by @neteler in (PR:1625)
  • 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: 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)

Singularity:

  • added singularity file by @lucadelu in (PR:181)

Message Translations

Packaging

  • ...

GitHub related

  • Issues are now on GitHub by @wenzeslaus in (PR:315)
  • Rename the master branch to main by @wenzeslaus in (PR:1806)
  • Rename tools directory to utils by @wenzeslaus in (PR:1348)
  • 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)
  • svn refs changed to git by @neteler in (PR:93)

New Addons since GRASS 7.8.6

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.