= GRASS GIS 7.8.4 = [[TOC]] A short summary of changes: '''[wiki:Grass7/NewFeatures78 New features in GRASS 7.8]''' === Releases === ==== Stable Release ==== * Release date: ''5 Oct 2020'' * Changelog: https://grass.osgeo.org/grass78/source/ChangeLog_7.8.4.gz * Binaries: ​https://grass.osgeo.org/download/software/#g78x * Source code: * https://github.com/OSGeo/grass/releases/tag/7.8.4 * https://grass.osgeo.org/grass78/source/grass-7.8.4.tar.gz ([https://grass.osgeo.org/grass78/source/grass-7.8.4.md5sum md5sum]) ==== Release Candidate 1 (RC1) ==== * Release date: ''26 Sep 2020'' * Changelog: https://grass.osgeo.org/grass78/source/ChangeLog_7.8.4RC1.gz * Binaries: ​https://grass.osgeo.org/download/software/#g78x * Source code: * https://github.com/OSGeo/grass/releases/tag/7.8.4RC1 * https://grass.osgeo.org/grass78/source/grass-7.8.4RC1.tar.gz ([https://grass.osgeo.org/grass78/source/grass-7.8.4RC1.md5sum md5sum]) === Git Source Code === * Milestone: [milestone:"7.8.4"] * Release branch created on 4 Aug 2019 (GH d4879d4) * Git clone of latest 7.8 release branch (including yet unpublished bugfixes): {{{ git clone https://github.com/OSGeo/grass.git cd grass git checkout releasebranch_7_8 }}} === Overview of changes === The focus of this release are stability fixes. Important wxGUI stability fixes, now wxPython 4.1 is supported. GRASS GIS terminal prompt has now full support for Z shell (Zsh). The GRASS GIS 7.8.4 release provides '''more than [https://github.com/OSGeo/grass/compare/releasebranch_7_8@%7B05-05-20%7D...releasebranch_7_8@%7B09-26-20%7D 170 fixes and improvements]''' with respect to the previous 7.8.3 release. This minor release again focuses on wxGUI fixes, especially in the animation export, the layer management, 3D visualization and the data catalogue. Many display modules received fixes as well, and the vector digitizer now works as expected. ==== New modules ==== * n/a ==== Major module changes ==== (see also below for closed bugs) * raster module memory management: enable gisrc variable to set new value globally (PR:922) ==== Minor module changes ==== (see also below for closed bugs) * G78:d.rast.arrow: Fix negative drainage directions (PR:777) * G78:g.extension: fix module launch with compile '-i' or download '-d' flag (PR:938) * G78:g.gui.iclass: replace `dist_point_to_segment()` removed from matplotlib (PR:645) * G78:g.gui.timeline: improve missing package msg * G78:g.proj: fix segfault when reading proj info from georef file (PR:599) * G78:g.search.modules: without keywords, list all modules (PR:989) * G78:i.pansharpen: fix encode string (PR:745) * G78:r.category: G_debug added in parsing section * G78:r.category: more specific parse error message * G78:r.cost (PR:846) * G78:r.geomorphon: Spell "flatness" correctly (PR:982) * G78:r.geomorphon: Fix an out-of-bounds read w/multires (PR:995) * G78:r.grow.distance: update module description with value raster (PR:983) * G78:r.import: do not reproject when projection matches (bug #547) (PR:659) * G78:r.in.wms !BaseCapabilitiesTree: fix init !ElementTree class (cap file/cap file str arg) (PR:651) * G78:r.in.wms.py: improve user msg (PR:616) * G78:r.in.wms.py message improvement (PR:613) * G78:r.out.gdal: fix building overviews * G78:r.plane manual: example improved (PR:900) * G78:r.region: add geometry keyword * G78:r.univar: support large regions with more than 2 billion cells (PR:672) * G78:r.volume manual: example and screenshot added (PR:903) * G78:t.rast.out.vtk manual: fix example * G78:v.cluster manual: added note about cluster IDs * G78:v.import: Do not reproject if projections match (PR:845) * G78:v.info/v.proj: fix printing UTM zone (PR:892) (PR:977) * G78:v.in.wfs: add options to set user and password (PR:808) * G78:v.in.wfs manual: fix example (PR:809) * G78:v.kernel: fix inconsistent msg (PR:825) * G78:v.net manual: link to Vector Network Analysis Tool * G78:v.surf.bspline: fix method selection (PR:727) * G78:v.to.db: Add --overwrite to help and GUI (PR:807) ==== GUI: Improvements in the Graphical User Interface ==== * Startup: Avoid a race condition (PR:548) * backport changes for wx4.1.0 #570 * images2gif: PILLOW_VERSION is obsolete (PR:899) * G78:wxGUI Add web service layer: Fix dialog layout (PR:627) * G78:wxGUI !AddWSDialog: fix 'Access window out of range in !RasterIO()' error (PR:693) * G78:wxGUI !AddWSDialog: fix render WMTS layer with OGC:CRS84 coor system (PR:674) * G78:wxGUI !AddWSDialog: fix setting output layer name, after selecting another layer (PR:667) * G78:wxGUI !AddWSDialog !RenderWMSMgr: fix render WMS jpeg source format (PR:640) * G78:wxGUI/animation: add export output animation file validation, before export file (PR:839) * G78:wxGUI/animation: fix export (run as background thread) output animation file to avi format (PR:840) * G78:wxGUI/animation: fix '!RuntimeError: dictionary changed size during iteration' (PR:908) * G78:wxGUI/animation: fix validation of extension of exported file (PR:907) * G78:wxGUI/animation: fix !wxPyDeprecationWarning (PR:854) * G78:wxGUI/animation: fix !wxPyDeprecationWarning (PR:910) * G78:wxGUI/animation: set default export file type choice option (PR:838) * G78:wxGUI: avoid flush clipboard if not opened (PR:819) * G78:wxGUI/composer: use integers instead of wx id, which can't be pickled and cause error (PR:641) * G78:wxGUI/datacatalog: fix display 3D raster (PR:889) * G78:wxGUI/datacatalog: Fix error after right click on grass database tree item (PR:736) * G78:wxGUI/datacatalog: Fix layout flag in reprojection dialog for wx 4.1.0 (PR:806) * G78:wxGUI dbmgr: Fix dbmgr widgets layout on the wxMSW (PR:637) * G78:wxGUI d.histogram: Set default font (PR:695) * G78:wxGUI d.mon: Fix launch light-weight wx monitor without toolbars and statusbar (PR:678) * G78:wxGUI, d.rast.edit: remove 'wxversion' module (PR:713) * G78:wxGUI: fix atexit error in debug mode when exiting GUI (PR:772) * G78:wxGUI: fix bad indentation (PR:784) * G78:wxGUI: fixes incomplete map display when opening from gwx workspace (PR:500) * G78:wxGUI: fix g.gui.vdigit on windows #530 (PR:572) * G78:wxGUI: fix inconsistent layer sizes during rendering (PR:552) * G78:wxGUI: fix layout flags for wx 4.1.0 * G78:wxGUI: Fix layout flags in vector field statistics dialog for wx 4.1.0 (PR:821) * G78:wxGUI: fix !RunCommand to decode also empty string to return unicode (PR:702) * G78:wxGUI: fix wx4.1 support for About GRASS GIS dialog (PR:901) * G78:wxGUI/gcp: adding the option/show overwrite confirm dialog to overwrite the result map (PR:912) * G78:wxGUI gcp: fix adding vector map to group when no vector maps exist (PR:685) * G78:wxGUI gcp: fix checking vector map existence in the group (PR:680) * G78:wxGUI/gcp: fix launch add vector map to group dialog (PR:924) * G78:wxGUI g.gui.animation: fix wx.CheckBox widget deprecation warning (PR:718) * G78:wxGUI g.gui.rlisetup: fix get rectangle sample units size (PR:633) * G78:wxGUI GroupDialog: fix !StaticText widget existence check (PR:647) * G78:wxGUI lmgr: fix cancel save workspace dialog (PR:628) * G78:wxGUI lmgr: Fix position of layer image button overlaid map layer name (PR:669) * G78:wxGUI lmgr: fix remove both selected parent/children group layer (PR:642) * G78:wxGUI/lmgr: fix return 'Layer' class str value if map layer name is None (PR:820) * G78:wxGUI location wizard: fix title layout, bug introduced in changes for wxPython 4.1 (PR:661) * G78:wxGUI locdownload: fix missing flush method (PR:634) * G78:wxGUI: macOS use default output font dialog (PR:760) * G78:wxGUI/mapdisp: fix double click on the overlays in the 3D view (PR:872) * G78:wxGUI/mapswipe: call dialog Uninit only when dialog was actually created, fix for #833 (PR:836) * G78:wxGUI/mapswipe: fix wx.CheckListBox widget !wxPyDeprecationWarning (PR:773) * G78:wxGUI/mapwin: fix saving the position of overlays after changing their position with the mouse pointer tool (PR:817) * G78:wxGUI mapwin: fix show/hide vdigit toolbar (PR:578) * G78:wxGUI/nviz: fix failed map centring on mac with pre-wx4.1 (PR:895) * G78:wxGUI/nviz: fix relative import from 'wxnviz' module (PR:887) * G78:wxGUI/nviz: fix reopening 3D by reloading layers (PR:953) * G78:wxGUI/nviz: fix update list of surface in vector page during delete constant surface (PR:881) * G78:wxGUI/nviz: !SetMaskColour causes problems on macos with wx 4.1.0 (PR:787) * G78:wxGUI rdigit: fix quitting behavior when no map edited (PR:594) * G78:wxGUI rdigit: update list of available raster map layers, when map layers tree changed (PR:707) * G78:wxGUI rendering: when deleting layer check if .legrow file exists (PR:691) * G78:wxGUI r.li.setup: Show message dialog if removed config file isn't selected from the list (PR:631) * G78:wxGUI/startup: fix terminate location download dialog download thread (PR:832) (PR:873) * G78:wxGUI tplot: fix an error when exporting csv file from g.gui.tplot (PR:690) * G78:wxGUI: update wx4.1.0 support for !FlatNotebook (PR:856) * G78:wxGUI vdigit: fix Undo/Redo tool when no map edited (PR:586) * G78:wxGUI vdigit: fix wx.CheckBox widget deprecation warning (PR:700) * G78:wxGUI vdigit: update list of available vector map layers, when map layers tree changed (launch 'd.vect map=mapname' from the wxGUI Console page) (PR:708) * G78:wxGUI vnet: fix ctypes c_char_p arg type (bytes object) (PR:687) * G78:wxGUI WSPropertiesDialog: fix applying ws panel widgets updates, after panel is the shown (PR:665) * G78:wxGUI WSPropertiesDialog: fix closing dialog (PR:684) * G78:wxGUI WSPropertiesDialog: Fix showing selected layer in wms layer tree (PR:666) * G78:wxGUI WSPropertiesDialog: fix updating ws map layer if map layer changed (PR:668) * G78:wxGUI/wxpyimgview: Fix wxpyimgview for Python3/wxPython4 (PR:735) ==== Python scripting ==== * libpython: fix Iterable import in pygrass/vector (PR:734) * libpython: mapcalc_start fix encode string (PR:738) ==== Projection support ==== * fix proj 6+ support for share/proj/epsg (PR:183) * datum.table: add RGFG95 (PR:813) ==== GDAL support ==== * n/a ==== Database support ==== * n/a ==== Library changes ==== * init: ensure zsh environment variable SAVEHIST is set (PR:857) * Add zsh terminal prompt support (PR:722) * lib/init: fix run py script with CRLF line terminators ('grass --exec file_with_CRLF.py') (PR:860) * libgis parser: an empty string is not an answer (PR:958) * color table percentage forest cover (PR:894) * Add national land cover dataset color table (PR:518) ==== JSON / REST support ==== * n/a ==== Unit tests / CI ==== * Add [https://github.com/OSGeo/grass/actions/ GitHub Actions] with build, test, and Python static code analysis (PR:583) * gunittest docs: fix broken links (PR:934) * gunittest: Non-zero return code on certian percetage of tests failing (PR:377) * CI: Use a specific Flake8 version (PR:626) ==== User Manuals - Documentation ==== * various updates * G78:helptext.html: improved wording (PR:614) * G78:g.version manual: explain "revision=exported" * G78:i.pansharpen manual: updated North Carolina example * G78:rasterintro manual: mention various raster stats modules * G78:r.category manual: minor addition * G78:r.carve manual: fix example for stream vector (PR:968) * G78:r.clump manual: screenshots added (PR:902) * G78:r.horizon manual: explain negative values (PR:754) ==== Portability ==== * use ${CC} instead of "cc" for linking on macOS (PR:611) * macOS: modernize app bundle info (PR:941) * macos: update app icon for hi-res support (PR:829) * grass.spec: enable EPEL8 * env.bat.tmpl: Deal with blanks in OSGEO4W_ROOT (PR:859) ==== Docker support ==== * Alpine docker: install git before build (PR:990) * Alpine docker: gdal-tools added * docker: fix GRASS lib path detection (PR:883) * docker: fix README.md names (PR:984) * singularityfile: fix GRASS lib path detection ==== Message Translations ==== * i18N: added new translations from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/) * i18n: Translation update of Latvian language (PR:876) === New Addons since GRASS 7.8.3 === * wx.metadata/m.csw.update: module for adding new csw connections resources candidates (PR:238) === Closed tickets === See [https://github.com/OSGeo/grass/milestone/1?closed=1 GitHub]. Old trac tickets below. ==== Closed bugs since the last release ==== [[TicketQuery(status=closed&milestone=7.8.4&type=defect&resolution=fixed&order=priority)]] ==== Closed wishes since the last release ==== [[TicketQuery(status=closed&milestone=7.8.4&type=enhancement&resolution=fixed&order=priority)]]