Skip to content

v1.14.0

Compare
Choose a tag to compare
@index-git index-git released this 08 Sep 15:34
· 1778 commits to master since this release

Known issues

  • In some cases, Layman does not start with error OSError: Error reading file '/qgis/data/demo/workspaces/<workspace>/layers/<layer>/<layer>.qgis': failed to load external entity "/qgis/data/demo/workspaces/<workspace>/layers/<layer>/<layer>.qgis". See #465.
    • Fixed in v1.14.1.
  • Normalized raster file created by Layman can be 100x bigger then uploaded raster, because compression is not used.
    • Fixed in v1.15.0.
  • NoData values are changed to 0 during normalization. #525
    • Fixed in v1.15.1.

Upgrade requirements

  • It's strongly recommended to backup data directories, especially deps/postgresql/data, because of database upgrade.

  • After stopping layman and backing up data directories, you need to migrate PostgreSQL data directory from v10 to v13. We created script that automatically migrates two databases:

    • gis (Layman's database)
    • hsrs_micka6 (Micka's database, only if exists)
      If you use other databases in the postgres instance, their migration is up to you (you can inspire inside our script).

    Migration script:

    # Enter your layman's root directory.
    cd /path/to/your/layman/instance
    
    # Run script for DB migration.
    # It's necessary to run this script from layman's root directory
    ./src/layman/upgrade/upgrade_v1_14_postgres.sh
    

    It may take some time to run this script and it will produce large temporary files (database dumps).

  • Change LAYMAN_CLIENT_VERSION to v1.9.0

  • Set new environment variables

  • If you are running Layman with development settings, run

make build-dev
make client-build
make timgen-build

Migrations and checks

Data migrations

  • All bounding boxes are cropped not to exceed extent of EPSG:3857 projection ([-20026376.39, -20048966.10, 20026376.39, 20048966.10]) in all sources except filesystem and DB table. Only bounding boxes are affected, not data itself.

Changes

  • #167 Allow publishing also raster geospatial data using POST Workspace Layers and PATCH Workspace Layer.
    • Following formats are supported:
    • Following input combinations of bands and color interpretations are supported:
      • 1 band: Gray
      • 1 band: Palette
        • Transparency will be ignored. See #466 for details.
      • 2 bands: Gray, Alpha
        • Float data type with min/max values other than 0/255 may result in unexpected WMS output. See #466 for details.
      • 3 bands: Red, Green, Blue
      • 4 bands: Red, Green, Blue, Alpha
    • Following input CRS are supported:
      • EPSG:3857
      • EPSG:4326
    • Published raster files are normalized before registering to GeoServer. Normalization includes conversion to GeoTIFF in EPSG:3857 with overviews (pyramids). NoData values are normalized as transparent only if Alpha band is not available and NoData is set for each band. Normalized rasters are stored in normalized_raster_data directory inside LAYMAN_DATA_DIR. Normalized GeoTiff is then published as new layer (coverage) on GeoServer.
    • Raster layers are not stored in DB table. WFS is not available for raster layers. GET Workspace Layer and PATCH Workspace Layer do not return items wfs and db_table for raster layers.
    • Calling WFS-T endpoint starts asynchronous tasks only for vector layers.
  • #167 Add file_type item to file item in GET Workspace Layer response to distinguish raster and vector layers.
  • #167 Metadata property scale_denominator was removed. Its value is now accessible as subproperty of new spatial_resolution metadata property. The new metadata property spatial_resolution has one of two subproperties:
    • scale_denominator used for vector data
    • ground_sample_distance used for raster data
  • #367 When publishing or patching layer or map, it's bounding box is limited to extent of EPSG:3857 projection in all sources except filesystem and DB table. Only bounding box is affected, not data itself.
  • #347 When ordering publications by title, only letters, numbers, and spaces are considered.
  • #382 Map composition schema allows new properties hs.format.externalWFS and workspace. It was already introduced in v1.13.1.
  • #385 The style property can be specified using a string in SLD format, URL to SLD file or JSON object. It was already introduced in v1.13.1.
  • Errors 19: 'Layer is already in process.' and 29: 'Map is already in process.' are merged into 49: 'Publication is already in process.'.
  • Fix: In case of synchronous error during PATCH Workspace Layer layer data on the server remains always untouched. Previously, layer data on the server could be lost.
  • Fix: Raise error when more than one main layer file is sent in POST Workspace Layers or PATCH Workspace Layer.
  • Fix #408: Skip non-WMS layers in thumbnail generation. Previously thumbnail generation failed.
  • #418 Combination of none geometry type in layer file and any geometry type in QML file is allowed from now.
  • #380 Enable to upload geojson with "id" attribute with non-unique values.
  • #383 Add new Makefile target upgrade-after-timeout to finish upgrade in case of GeoServer call timeout.
  • Fix GET Workspace Layer documentation; style item was incorrectly used instead of sld.
  • #347 Upgrade PostgreSQL 10 to 13.3 and PostGIS 2.4 to 3.1. Use docker image from layermanager/postgis@hub.docker.com, source is located at layermanager/docker-postgis@github.com.
  • #367 Upgrade gdal from 2.4 to 3.3. Use docker image from osgeo/gdal@hub.docker.com, source is located at osgeo/gdal@github.com.
  • #367 Upgrade also
    • python from 3.6 to 3.8
    • flask from 1.1 to 2.0
    • werkzeug from 1 to 2
    • chromium from 77+ to 90+
    • chromedriver from 77+ to 90+
    • attrs from 20 to 21
    • click from 7 to 8
    • itsdangerous from 1 to 2
    • jinja2 from 2 to 3
    • markupsafe from 1 to 2
    • pytest-rerunfailures from 9 to 10
    • gunicorn from 19 to 20