= GRASS GIS 7.6.0 = NOTE: PLANNED RELEASE [[TOC]] A short summary of changes: '''[wiki:Grass7/NewFeatures76 New features in GRASS 7.6]''' === Releases === ==== Stable Release ==== * ~~Release date: ''DD MM 2018''~~ * ~~Announcement: https://grass.osgeo.org/news/TODOTODO/GRASS-GIS-7-6-0-released/~~ * ~~Changelog: https://grass.osgeo.org/grass76/source/ChangeLog_7.6.0.gz~~ * ~~Binaries: ​https://grass.osgeo.org/download/software/#g76x~~ * ~~Source code: https://grass.osgeo.org/grass76/source/grass-7.6.0.tar.gz ([https://grass.osgeo.org/grass76/source/grass-7.6.0.md5sum md5sum])~~ * ~~SVN Source Code Checkout 7.6.0:~~ {{{ svn checkout https://svn.osgeo.org/grass/grass/tags/release_2018XXYY_grass_7_6_0 }}} ==== Release Candidate 1 (RC1) ==== * ~~Release date: ''DD MM 2018''~~ * ~~Changelog: https://grass.osgeo.org/grass76/source/ChangeLog_7.6.0RC1.gz~~ * ~~Binaries: ​https://grass.osgeo.org/download/software/#g76x~~ * ~~Source code: https://grass.osgeo.org/grass76/source/grass-7.6.0RC1.tar.gz ([https://grass.osgeo.org/grass76/source/grass-7.6.0RC1.md5sum md5sum])~~ * ~~SVN Source Code Checkout 7.6.0RC1:~~ {{{ svn checkout https://svn.osgeo.org/grass/grass/tags/release_2018XXYY_grass_7_6_0RC1 }}} === SVN Source Code === * Milestone: [milestone:"7.6.0"] * Release branch created in r73210 * SVN Checkout latest 7.6 release branch (including yet unpublished bugfixes): {{{ svn checkout https://svn.osgeo.org/grass/grass/branches/releasebranch_7_6 }}} === Overview of changes === A series of new features and stability fixes, manual improvements, and a few language translations have been added. The GRASS GIS 7.6.0 release provides '''more than XXX fixes and improvements''' with respect to the stable release 7.4.2. ==== New modules ==== * G76:r.buildvrt: Build a VRT (Virtual Raster) from the list of input raster maps ==== Major module changes ==== (see also below for closed bugs) * G76:... ==== Minor module changes ==== (see also below for closed bugs) * G76:db.connect: enhance default answers * G76:db.connect: use GRASS default, not current parameters as default answer, fix setting from default and from user options (see #3601) * G76:db driver ogr: fix handling of OFTInteger64 * G76:db.droptable: fatal -> warning if table not found, as for g.remove * G76:db.execute: check return code of db_execute_immediate() also for sql option * G76:d.grid: adjust PROJ 5 usage; use new GRASS API for coordinate transformation, use new PROJ 5+ API if available * G76:d.rast.edit manual: updated to current version; example added * G76:d.vect with z height colors uses a random polygon point for height * G76:d.where: adjust PROJ 5 usage; use new GRASS API for coordinate transformation, use new PROJ 5+ API if available * G76:g.extension: example to download specific version from GRASS Addons * G76:g.extension: fix debug message syntax * G76:g.gui.tplot: added capabilities to export plotted data in CSV file, to set x,y axis labels and title for the plot, added title,xlabel,ylabel support to command line, fixed bug with strds and csv output * G76:g.mkfontcap: fix qsort callback (partial fix for #3564) * G76:g.proj: use new GRASS API for coordinate transformation; use new PROJ 5+ API if available * G76:grass76 start script: add --tmp-location (based on patch from radeknovotny94 in #3537). Creates a location in program's tmp dir which is deleted at the end; meant for use with --exec, fix confusing message about missing WIND file fixed * G76:g.region: added pixel option, use new GRASS API for coordinate transformation, use new PROJ 5+ API if available * G76:g.version: use new PROJ 5+ API if available * G76:i.atcorr: fixed numerical instability, added example to process Sentinel bands, added PlanetScope 0c-0d 0e 0f-10 support, * G76:i.colors.enhance: check for not existing maps * G76:i.group: add file option for a file with a list of raster maps * G76:i.maxlik: Correctly handle fully qualified output raster map names * G76:i.ortho.transform: do not overwrite transformed coordinates * G76:i.segment: fix for memory management estimation, avoid integer overflow with extremely large regions,fix writing out goodness of fit * G76:i.spectral: Add subgroup option * G76:i.vi: corrected MSAVI2 equation according to https://doi.org/10.1016/0034-4257(94)90134-1, see #3385 * G76:nviz: various openGL related fixes, use direct rendering; Indirect rendering disabled by default in modern Xorg (since 1.17?) * G76:ps.map: adjust support for PROJ 5+ API if available * G76:r3.out.netcdf: adjust for PROJ 5+ API * G76:r.buffer: fix integer overflow (fixes #3620) * G76:r.buildvrt, G76:r.external: write more metadata * G76:r.colors: add inferno, magma and plasma color tables * G76:r.colors and G76:r3.colors: new flag -d to list available rules with description (e.g. "srtm: color palette for Shuttle Radar Topography Mission elevation [range: -11000 to 8850]") * G76:r.fillnulls: RST segmax/npmin logic is fixed to avoid segmentation on small holes * G76:r.mapcalc: Do not add extra spaces when inserting a map name or function in GUI * G76:r.slope.aspect: add -n option to create aspect as degrees clockwise from North (azimuth), with flat = -9999 * G76:v.colors: add inferno, magma and plasma color tables * G76:v.profile: Use GEOS for buffer generation due to errors in native buffering functions ==== Improvements in the Graphical User Interface ==== * wxGUI/dbmgr: don't show db info connection by default, it's just occupying space in the dialog ==== Python scripting ==== * libpython: add tempname() function to grass.script.core, fix #3615 * libpython array.py: added quiet option to write function * libpython db.py: added option in db_table_in_vector to check by default only vectors in current mapset * libpython: by default, no error output is produced even though the output in case of failure reads "Process ended with non-zero return code 1. See errors in the (error) output.", change default to cpature and report error output (backport trunk r73238) * pygrass: attempt to access data from a closed raster map now rises IndexError * pygrass: add Module support to underscore in parameter's name * pygrass: Avoid to pass unicode to C functions in mapsets and location * pygrass: Category.__init__ expects map name to be provided * pygrass: grid avoid to add a mapset if already present in the path * pygrass: grid: Fix doctest * pygrass: number_of() add support for boundaries and centroids (merge r73394 from trunk) * pygrass: Provide better error message when raster row index is out of range; Raise IndexError (instead of fatal exit) when operating on a colsed map. This is a more Pyhtonic way. * pygrass: raster PEP8 cleanup * pygrass: shortcuts: Fix use of python reserved words * pygrass: fix wrongly reports lines for point vector maps, see #3549 (g76: merge r73393 from trunk) * python ctypes: add __int64 to ctypes_type_map ==== Projection support ==== * Support of PROJ v.5 * configure: use new PROJ API only with proj-5.1.x or higher, otherwise fall back to old PROJ.4 API ==== Library changes ==== * dbmibase: fix get/set connection parameters, clarify default and current parameters * libgis: update to lz4-1.8.2 * libgis: use G_vasprintf() to avoid buffer overflow * libproj: +new GRASS API for coordinate transformation, use new PROJ 5+ API starting with proj-5.1.0 if available * libproj: support user-defined PROJ 5+ pipelines * libraster: +GRASS virtual raster (VRT) * libraster: update documentation for Map type ("raster", "reclass", "GDAL-link", or "virtual") * libsegment: + all in memory cache * libsegment: do not zero fill, use lseek in Segment_open() * libstats: init vars * libstats: sum of weights must be DCELL; fix regression t value * libogsf: Use framebuffer objects for off-screen GL rendering; Use Core OpenGL (CGL) for the MacOS instead of deprecated 32-bit only AGL (Fix #3600, #2114, #3606) * G76:grass-sqlite driver: fix default column length for declared column types * Vlib: change topology building messages to verbose messages, use grass_int64 for count of vertices * Vlib: fix for self-intersections in Vect_line_intersection2(): snap self-intersection only once * Vlib: fix self-intersections in Vect_line_intersection2() * Vlib: fix with_z = 0 for Vect_line_check_intersection2() and Vect_line_intersection2(), fixes #3567 * Vlib: increase buffer to 4096 when copying files (sync to lib/gis/copy_dir.c) * Vlib: optimize snapping with box search instead of distance search * Vlib: print messages only when needed during topology building * Vlib: reduce dynamic fp representation error threshold * Vlib, Vect_merge_lines(): use correct line type in messages * temporal algebra: Added suffix option for time and granularity based raster map names * temporal algebra: Do not create the parsertab file when running the algebra * temporal library: eval support for t.info, see #3264 * temporal modules: Fixed tgis suffix function spell mistake * temporal python library: t.rast.algebra output basename is using leading zeros ==== User Manuals - Documentation ==== * various examples added * keyword index improved * G76:m.transform/i.ortho.transform: update manuals * G76:raster3dintro manual: more details and better structure for section: 3D raster import ==== Portability ==== * config.guess + config.sub updated from http://git.savannah.gnu.org/cgit/config.git/plain/ * make: support GIFs in all Makefiles * osgeo4w: add missing msvcrt dependencies * Travis: enabled IRC notification in #grass (https://webchat.freenode.net/grass, see https://docs.travis-ci.com/user/notifications/#Configuring-IRC-notifications) ==== Docker support ==== * Dockerfile: dependencies updated, cleanup, added ZSTD, liblas and OpenJPEG/JP2 support * Dockerfile: 'set ENV SHELL' to avoid /bin/sh fallback in interactive GRASS GIS sessions in docker ==== Message Translations ==== * i18N: added Hungarian from Transifex (https://www.transifex.com/grass-gis/grass7/dashboard/) === New Addons since GRASS 7.6.0 === * G7A:... * TODO === Closed tickets === ==== Closed bugs since the last release ==== [[TicketQuery(status=closed&milestone=7.6.0&type=defect&resolution=fixed&order=priority)]] ==== Closed wishes since the last release ==== [[TicketQuery(status=closed&milestone=7.6.0&type=enhancement&resolution=fixed&order=priority)]]