= GRASS GIS 7.8.6 = [[TOC]] A short summary of changes: '''[wiki:Grass7/NewFeatures78 New features in GRASS 7.8]''' === Releases === ==== Stable Release ==== * Release date: ''10 Oct 2021'' * Changelog: https://grass.osgeo.org/grass78/source/ChangeLog_7.8.6.gz * Binaries: ​https://grass.osgeo.org/download/software/#g78x * Source code: * https://github.com/OSGeo/grass/releases/tag/7.8.6 * https://grass.osgeo.org/grass78/source/grass-7.8.6.tar.gz ([https://grass.osgeo.org/grass78/source/grass-7.8.6.md5sum md5sum]) ==== Release Candidate 3 (RC3) ==== * Release date: ''01 Oct 2021'' * Changelog: https://grass.osgeo.org/grass78/source/ChangeLog_7.8.6RC3.gz * Binaries: ​https://grass.osgeo.org/download/software/#g78x * Source code: * https://github.com/OSGeo/grass/releases/tag/7.8.6RC3 * https://grass.osgeo.org/grass78/source/grass-7.8.6RC3.tar.gz ([https://grass.osgeo.org/grass78/source/grass-7.8.6RC3.md5sum md5sum]) ==== Release Candidate 2 (RC2) ==== * Release date: ''10 Aug 2021'' * Changelog: https://grass.osgeo.org/grass78/source/ChangeLog_7.8.6RC2.gz * Binaries: ​https://grass.osgeo.org/download/software/#g78x * Source code: * https://github.com/OSGeo/grass/releases/tag/7.8.6RC2 * https://grass.osgeo.org/grass78/source/grass-7.8.6RC2.tar.gz ([https://grass.osgeo.org/grass78/source/grass-7.8.6RC2.md5sum md5sum]) ==== Release Candidate 1 (RC1) ==== * Release date: ''19 May 2021'' * Changelog: https://grass.osgeo.org/grass78/source/ChangeLog_7.8.6RC1.gz * Binaries: ​https://grass.osgeo.org/download/software/#g78x * Source code: * https://github.com/OSGeo/grass/releases/tag/7.8.6RC1 * https://grass.osgeo.org/grass78/source/grass-7.8.6RC1.tar.gz ([https://grass.osgeo.org/grass78/source/grass-7.8.6RC1.md5sum md5sum]) === Git Source Code === * Milestone: [https://github.com/OSGeo/grass/milestone/6?closed=1 "7.8.6"] * 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. Importantly, PROJ6+ / WKT2 are now supported. Further stability fixes, documentation improvements and updated message translations are included. The raster data link module `r.external` is now notably faster. And a new module to downgrade a temporal DB from version 3 to 2 has been added. Eventually, a series of new add-ons has been made available as well. The GRASS GIS 7.8.6 release provides more than [https://github.com/OSGeo/grass/compare/7.8.5...7.8.6 149 fixes and improvements] with respect to the release 7.8.5. ==== New modules ==== * G78:t.downgrade: downgrade a temporal DB from version 3 to 2 (PR:1449) ==== Major module changes ==== (see also below for closed bugs) * G78:g.extension: updated to match new addon repository structure (PR:1762) * G78:g.extension: match module files on Windows (PR:1575) * G78:r.external major speed-up (PR:1305) ==== Minor module changes ==== (see also below for closed bugs) * NC full sample dataset: new URL (PR:1463) * G78:d.mon: do not clear an existing output file on fatal error (PR:1475) * G78:g.extension: ignore cruft __pycache__ files (PR:1496) * G78:g.proj: fix segfault issue #1163 (PR:1170) * G78:g.proj: fix reading input WKT (PR:1582) * G78:i.vi: fix check input 'red' param arg (PR:1353) * G78:i.vi: fix the check for the existence of the 'redchan' variable (PR:1378) * G78:m.proj: fix PROJ URL in error message * G78:psdriver: write data to a tempfile before closing (rel78) (PR:1506) * G78:r.in.wms: enable !CreateOptions for GDAL driver * G78:r.out.gdal: fix xy export (PR:1564) * G78:t.register: strip newline from list of maps to avoid error (PR:1295) * G78:v.colors: fix v.colors cannot properly copy color table (#1297, PR:1429) * G78:v.colors: Fix color inversion (PR:1478, PR:1479) * G78:v.import: add layer to the projection check (PR:1328) * G78:v.net.visibility: fix coordinates parameter (PR:1336) * G78:v.out.ogr: fix xy export (PR:1564) * G78:v.patch: v.patch: fix segmentation fault when DB table absent in one input map (#1488, PR:1492) * G78:v.surf.idw: less confusing error message (PR:1332) * G78:v.surf.idw: fix uninitialized ret value for 2D without column specified (PR:1548) ==== GUI: Improvements in the Graphical User Interface ==== * wxGUI/dbmgr: fix calculate column values (PR:1370) * wxGUI/dbmgr: fix click on the 'Modify layer' button if vector map doesn't have any layers (PR:1334) * wxGUI/dbmgr: fix hit 'Refresh' button if vector map doesn't have any layers (PR:1371) * wxGUI/dbmgr: fix insert record for each category into table (PR:1333) * wxGUI: fix another wx flag assertion error in iclass (PR:1471) * wxGUI: fix calling coordselect validator (PR:1455) * wxGUI: fix cmd-c closing interactive colour table on mac (PR:1293) * wxGUI: fix d.out.file command parsing with --overwrite (PR:1284) * wxGUI: Fix key binding issues on mac (PR:818 #1160) * wxGUI: fix search field in location wizard (PR:1322) * wxGUI: fix validators (partial backport of #1069 and #1418) (PR:1427) * wxGUI: fix 'wxPyDeprecationWarning: Call to deprecated item. Use !FindItem instead.' (PR:1344) * wxGUI: fix parsing GDAL/OGR formats which contains a colon in a description (PR:1226) * wxGUI: fix wx flag assertion error in !DefaultFontDialog (PR:1545) * wxGUI/forms: fix Python 3.8 integer warning (PR:1302) * wxGUI: update Slovakia 3D precipitation voxel sample dataset URL (PR:1292) * wxGUI/animation: fix 3D rendering (PR:1551) * wxGUI/g.extension: fix failure to uninstall addon (PR:1524) * wxGUI/dbmgr: fix get statistics for character column type if it contains NULL value (PR:1574) * wxGUI/gcmd: fix read command stdout (PR:1228) * wxGUI/locwizard: fix flags for wxPython 4.1 (PR:1330) * wxGUI/locwizard: fix more flags for wxPython 4.1 (PR:1343) * wxGUI/locwizard: remove unneeded +ellps proj4string tag (PR:1550) * wxGUI/mapwin: check if '!BufferedMapWindow' instance exist before calling '_runUpdateMap()' method (PR:1456) * wxGUI/rlisetup: dissociate the managed window from the manager ('wx.aui.!AuiManager' instance) before destroy wizard window (PR:1196) * wxGUI/tplot: fix x, y coordinates validation (PR:1199) * wxGUI/vselect: fix delete row from selected features list (PR:1231) * wxGUI/WMS: replace broken URLs with alternative WMS (PR:1674) ==== Python scripting ==== * remove deprecated py 'PIL' module 'fromstring', 'tostring' method call (removed from 'PIL' module version >= 8.0.0) (PR:1223) * pygrass: backport #1407 Module fix (PR:1606) * ctypes: fix Callable for Python 3.10 (PR:1673) ==== Projection support ==== * **PROJ6+ / WKT2 support** (PR:1240) * libproj: added alias for ITRF92 (PR:1460) * libproj: change warning to debug message (PR:1337) * lib/proj: fix results for ll equivalents (PR:1444) * datum: add support for D_Rauenberg_1983 (PR:1331) ==== GDAL support ==== * GDAL 3.3.0 introduces the use of standard C bool type, compatibility added (PR:1567) ==== Database support ==== * n/a ==== Library changes ==== * make: add support for Makefile variable DESTDIR (PR:1234) * libgis: add test for invalid value to parser (PR:1459) * libgis: enable the C99 bool type (PR:1567) * libgis: fix reading of WKT and SRID * libgis: add read/write functions for WKT and srid (PR:976) * parser: accept `#-space-%` to allow writing PEP8-compliant Python code (PR:1446) * parser: add a standard option for nprocs= (G_OPT_M_NPROCS) (PR:1648, PR:1652) ==== JSON / REST support ==== * json parser: fix mapsets in tokenizing (PR:1252) ==== Code quality ==== * Add missing `#include ` to display/d.where/main.c. (PR:1377) * Allow parsing long GISDBASE paths (PR:1376) * Imagery lib: Add notes to documentation about I_get_*2() functions (PR:1250) ==== Unit tests / CI ==== * CI: make test report available as artifact (PR:1484) * !GitHub action CI: drop ubuntu-16.04 (PR:1254) * testsuite: fix libgis/parser_json.c and r.fillnull (PR:1346) ==== User Manuals - Documentation ==== * [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING.md]: intro added for newcomers (PR:1566) * G78:g.gui manual: example load workspace from command line * G78:r.import manual: explain missing resampling methods (PR:1557) * r.random*/r.surf.* manuals: examples and screenshots added (PR:1542) * G78:r.out.gdal manual: added COG example (PR:1554), fix LZW export example * G78:r.series: manual update (PR:1246) * G78:r.stream.extract: fix typos in the manual (PR:1352) (PR:1383) * G78:t.register manual: add link to r.timestamp * G78:t.select manual: add scientific paper ref * G78:v.in.ogr manual: update old GDAL links ==== Portability ==== * attempt to fix #1218 windows does not start (PR:1270) ==== Docker support ==== * Dockerfile Alpine: fix broken pip six installation (PR:1568, PR:1581) ==== Message Translations ==== * i18N: sync from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/) (PR:1520) * i18n: Sync from Transifex for rel78 (PR:1340, PR:1466, PR:1593) * i18n: Remove duplicate messages from po files (PR:1397) * Sync Transifex; labelcolumn => label_column for v.to.rast (PR:1385) * Updated translators.csv file (PR:1249) ==== Packaging ==== * make: Add support for Makefile variable DESTDIR (PR:1234) * Hint for Debian: {{{ INST_DIR=/usr/lib/$(BASE_NAME) UNIX_BIN=/usr/bin }}} * Hint for other Linux distros: TBD * configure: updated to autoconf 2.69 (PR:1867) === New Addons since GRASS 7.8.5 === {{{ #!htmlcomment Get from here: ("new addons" tag) https://github.com/OSGeo/grass-addons/pulls?q=is%3Apr+label%3A%22new+addon%22+is%3Aclosed }}} * G7A:g.projpicker: Queries projection information spatially. * G7A:i.gabor: Creates Gabor filter bank for a 2-dimensional image. * G7A:i.landsat toolset: G7A:i.landsat.download, G7A:i.landsat.import, G7A:i.landsat.qc * G7A:m.csv.clean: Cleaning of CSV files * G7A:r.area.createweights: Creates a weighting layer for dasymetric mapping, using a random forest regression model. * G7A:r.bearing.distance: Find the bearing and/or straight-line distance from all non-null cells to the specified point. * G7A:r.centroids: Creates vector map of centroids from raster of "clumps". * G7A:r.centroids: Creates vector map of centroids from raster of "clumps". * G7A:r.extract: Extracts specified categories of an integer input map. * G7A:r.extract: Extracts specified categories of an integer input map. * G7A:r.in.ogc and G7A:v.in.ogc suites: Import raster and vector data from several OGC API standards * G7A:r.in.ogc, G7A:r.in.ogc.coverages: OGC API support * G7A:r.skyline: Compute the skyline index and / or find the horizon cells in a raster viewshed. * G7A:r.suitability.regions: From suitability map to suitable regions. * G7A:v.in.csv: Easy import of CSV as vector points * G7A:v.in.ogc, G7A:v.in.ogc.coverages: OGC API support * G7A:v.percolate: Continuum percolation analysis === Closed !GitHub tickets since the last release === See [https://github.com/OSGeo/grass/milestone/6?closed=1 GitHub]. For old trac tickets, see below. ==== Closed trac bugs since the last release ==== [[TicketQuery(status=closed&milestone=7.8.6&type=defect&resolution=fixed&order=priority)]] ==== Closed trac wishes since the last release ==== [[TicketQuery(status=closed&milestone=7.8.6&type=enhancement&resolution=fixed&order=priority)]]