wiki:Grass7/NewFeatures78

Version 41 (modified by neteler, 15 months ago) ( diff )

--

List of new features in GRASS GIS 7.8

GRASS GIS 7.8 has been developed and maintained with a first 7.8.0 stable release in Sep. 2019. In total, it comes with more than 1650 fixes and improvements with respect to the previous stable releases 7.6.x. This page summarizes the manifold new features which have been added to GRASS 7.8.

What's new in a nutshell

After more than 1 year of development the new stable release GRASS GIS 7.8 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: Python 3, PROJ 6 and GDAL 3 compatibility

This re-establishes compatibility with QGIS and other connected software packages.

Releases

Graphical User Interface

GRASS GIS 7.8 graphical user interface comes with many fixes for Python 3 and wxpython4.

Modules (commands)

A number of relevant improvements have been made (selected list; for details bugfixes see the more detailed individual release pages):

General modules

Raster modules

Vector modules

The following vector modules have been significantly improved with new options, flags, fixes and other enhancements:

Imagery modules

  • G78:i.pansharpen: updated i.pansharpen to handle pixel depths from 2-30 bits, and quashed some bugs
  • G78:i.zc: avoid integer overflow with large maps

Temporal GIS modules

Graphical user interface

  • wxGUI: numerous fixes for Python3 and wxpython4
  • wxGUI Field calculator: fix wx.ListBox widget choices argument (PR:460)
  • wxGUI: fix 3D rendering in animation tool (PR:293)
  • wxGUI: fix Cartographic Composer Add graphic tool (Line/Rectangle), (PR:310)
  • wxGUI: fix copy-to-clipboard key binding on macOS (PR:393)
  • wxGUI: Fix dbmgr for Python3 (PR:344)
  • wxGUI: Fix error message has appeared after close any module dialog (PR:249)
  • wxGUI: fix failing vector digitizer on mac (PR:3487) (PR:456)
  • wxGUI Fix import vector/raster dialog min width (PR:492)
  • wxGUI fix manage color rules interactively (vector map) frame (PR:429)
  • wxGUI fix set vector output format wx.Choice widget width (PR:453)
  • wxGUI: Fix unable to open file from python editor (PR:288)
  • wxGUI: fix WMS (PR:242)
  • G78:g.gui.vdigit: fix update available vector maps
  • G78:g.gui.psmap: various fixes
  • wxGUI Graphical Modeler About Dialog: fix import (PR:438)
  • wxGUI Graphical Modeler: remove py2 unicode func (PR:441)
  • wxGUI Histogramming Tool: fix Plot xSpec, ySpec property value (PR:422)
  • wxGUI Layer Manager: fix add layer into the new empty group (PR:413)
  • wxGUI Layer Manager: fix add vector map layer Set color table interactively
  • wxGUI Layer Manager: fix close Layers Display FlatNotebook page (PR:411)
  • wxGUI Manage color rules interactively (vector map)
  • wxGUI mapwin: fix Pointer tool double left click on a map canvas (PR:529)
  • wxGUI preferences: fix load epsg codes (PR:545)
  • wxGUI Raster Digitizer: fix use input raster map layer region (PR:470)
  • wxGUI: removing map layer crashes wxGUI (PR:3607)
  • wxGUI Set vector output format: fix check native format dsn (PR:450)
  • wxGUI Set vector output format: fix load profile settings (PR:451)
  • wxGUI: several fixes related to font dialog (PR:292)
  • wxGUI: Show line numbers in the Python editor (pyedit and gmodeler) (PR:284)
  • wxGUI Vector Network Analysis Tool: fix close dialog (PR:419)
  • wxGUI Vector Network Analysis Tool: fix ComboBox widget deprecation warning (PR:418)
  • wxGUI Vector Network Analysis Tool: fix destroy open dialog (PR:432)
  • wxGUI Vector Network Analysis Tool: fix execute analysis (PR:440)
  • wxGUI Vector Network Analysis Tool: fix merge dicts (PR:417)
  • wxGUI: wxnviz: fix for HiDPI monitors with scaling set, fix decoding (PR:307)
  • wxGUI: fix wxPython 4.1 support (​PR:1161)

Scripting

Major efforts have been taken to port all Python scripts to Python 3.

Database support

  • PostgreSQL driver: assign 1000 to TEXT field length (PR:412)

Python 3 support

  • The deprecated shebang #!/usr/bin/env python has been changed to #!/usr/bin/env python3
  • numerous stability fixes regarding the Python 3 support

User Manuals - Documentation

Translations

Translations are managed in Transifex (please join and translate messages): https://www.transifex.com/grass-gis/grass7

User manual pages improvements

  • numerous user manual pages have received major or minor improvements
  • manual: put module name at first position (PR:248)
  • full index manual: add missing pages (PR:258)
  • Add CONTRIBUTING file with a standard contributor Git how-to (PR:237)
  • manuals and docs: update broken URLS (​PR:1003)
  • mkhtml: enable path setting for footer html pages (topics.html...) on add-on manual page (​PR:1122)

GRASS GIS 7 Library changes

  • libsegment: the all-in-memory cache has been improved
  • Vectlib: fix usage of vector cats in constraint (PR:262)
  • Vector network lib: fix for Python 3 (PR:279)
  • gisinit: re-enable the version check

PROJ support

In addition to PROJ 4 and PROJ 5 now also PROJ 6 compatibility implemented.

  • PROJ6+ / WKT2 support (​PR:1240)
  • convert lowercase epsg to uppercase EPSG
  • axis order of a CRS is no longer always easting, northing, it can also be northing, easting, e.g. EPSG:4326. If source and target CRS are available, axis order is adjusted using proj_normalize_for_visualization() to easting, northing if needed.
  • previously, GRASS GIS did conversions of degress to/from radians and meters from/to map units. Now PROJ6+ might do these conversions itself, or not. GRASS GIS is now doing the conversions only if needed.
  • in PROJ6+, there can be several different operations to transform coordinates from one CRS to another CRS. If more than one operation is available, information is provided about these different operations. The current region is used by PROJ to select an appropriate operation.
  • libproj: fix crs modification with PROJ6+ (​PR:1007)
  • libproj: fix test for PJ_TYPE_BOUND_CRS (​PR:1013)

GDAL support

  • GDAL 3 compatibility added.
  • GDAL 3.3.0 introduces the use of standard C bool type, compatibility added (​PR:1567)

Source Code Portability

  • Python-3 support implemented across the tree
  • FreeBSD: add soname (PR:301)
  • Mac: Ctypes related compilation failure fix #3883
  • Mac: Vector digitizer crash fix #3487
  • Mac: G78:g.gui.iclass crash fix #3472
  • Mac: Removing map layer from button in layer manager crashes GUI #3607
  • Mac: Copy-to-clipboard key binding (make CMD+C copy, not clear panel) #3008 and #3592
  • Mac: G78:v.in.pdal compilation failure fix (PR:475)
  • OSGeo4W: build fixes, rewrite of package.sh, GDAL3/PROJ6 support added

Unit tests / CI

JSON / REST support

  • json parser: change + to @ for URLs: Since + is used in algebraic expressions, this char is unsuitable for the indication of external URL resourcs as used by the importer of actinia (https://github.com/mundialis/actinia_core/)

Docker support

GRASS GIS 7.8 Addons

There are numerous new addons which enlarge the already impressive list of addons available (see http://grass.osgeo.org/grass7/manuals/addons/):

Migrating from GRASS GIS 6 to version 7.x

If you are still using GRASS GIS 6, here details upgrade instructions for own scripts:

  • see here for changes in parameter names and changed flags
  • see here for removed modules and renamed modules
  • see here for renamed options
Note: See TracWiki for help on using the wiki.