Skip to content

v1.16.0

Compare
Choose a tag to compare
@index-git index-git released this 18 Feb 09:50
· 1303 commits to master since this release

Known issues

  • Generating map thumbnail can ends up in infinity loop and consume all celery workers.
    • Fixed in v1.16.1.
  • Layman can consume so many sources (CPU, RAM) that it leads to failure of async tasks or infinite running of async tasks. The reason is not stopping Firefox instances in some cases.
    • Fixed in v1.16.3.
  • Endpoints GET Layers, GET Workspace Layers, GET Maps and GET Workspace Maps return HTTP error code 500 when there is layer/map in EPSG:4326 and bounding box including point with latitude 90 or -90 and query includes bbox_filter or ordering_bbox in EPSG:3857. #606
    • Fixed in v1.17.0.

Upgrade requirements

  • Only versions 1.12.0 and newer can be upgraded to this version. For older versions, please upgrade to last 1.15.x first.
  • Due to GeoServer upgrade, it's possible that make upgrade-demo fails with following error:
Waiting for GeoServer REST API, user=layman, url=http://geoserver:8080/geoserver/rest/workspaces/
Traceback (most recent call last):
  File "src/wait_for_deps.py", line 158, in <module>
    main()
  File "src/wait_for_deps.py", line 88, in main
    response.raise_for_status()
  File "/usr/local/lib/python3.8/dist-packages/requests/models.py", line 960, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error:  for url: http://geoserver:8080/geoserver/rest/workspaces/

If you encounter such error, you can use script upgrade_v1_16_fix_gs.sh for fixing this issue. Be aware, that you will lose some security GeoServer settings, like Layman user and admin password, so you need to set them again after. The script needs to be run from Layman`s root directory:

make stop-demo
sh src/layman/upgrade/upgrade_v1_16_fix_gs.sh

After the script finishes, either set GEOSERVER_ADMIN_PASSWORD or create LAYMAN_GS_USER in GeoServer GUI.

make geoserver-build
make timgen-build
make client-build

Migrations and checks

Schema migrations

  • #64 Create new column srid in publication table.

Data migrations

  • #64 Native CRS of previously uploaded layers is set to EPSG:3857.
  • #64 Native CRS of previously uploaded maps is set according their composition file (either EPSG:3857 or EPSG:4326) and their composition file is upgraded to version 2.0.0.

Changes

  • #64 Upgrade GeoServer to 2.15.2, because 2.13.0 had serious problem with transformations of EPSG:5514.
  • #64 Responses of GET Layers, GET Workspace Layers, GET Workspace Layer, PATCH Workspace Layer, GET Maps, GET Workspace Maps, GET Workspace Map, PATCH Workspace Map contains new attributes
    • native_crs with native CRS in form "EPSG:<code>", e.g. "EPSG:4326"
    • native_bounding_box with coordinates in native CRS [minx, miny, maxx, maxy]
  • #64 New environment variable LAYMAN_INPUT_SRS_LIST
  • #64 Layman supports import of layers in EPSG:3034, EPSG:3035, EPSG:5514, EPSG:32633, EPSG:32634 and EPSG:3059.
  • #64 New raster layers are normalized in native CRS. New vector layers are imported into DB also in native CRS. Existing layers (normalized raster files, vector tables in DB) are kept in EPSG:3857 until they are patched with another file, or deleted.
  • #519 Endpoints GET Layers, GET Workspace Layers, GET Maps, GET Workspace Maps support new query parameters bbox_filter_crs and ordering_bbox_crs.
  • #64 Layer thumbnails are generated in native CRS of the layer.
  • #64 WMS proxy was added to WMS endpoint. In case of some special WMS GetMap requests, it changes requested CRS to fix some GeoServer issues.
  • #64 For layers in EPSG:5514 and WFS requests in CRS:84, the features may have wrong coordinates by hundreds of meters. For requests in EPSG:4326, coordinates are correct.
  • #572 Endpoints POST Workspace Layers and PATCH Workspace Layer accept also raster files with .jpeg extension .
  • #64 Map compositions are validated against map-composition-schema defined in describedBy key of map composition data JSON. Layman now supports only map compositions in version 2.
  • #489 Error responses from Micka and GeoServer are logged into log and also propagated as part of raised exception, so they can be seen from flower.
  • #548 Suppress GeoServer HTTP error 409 when setting layer access rights if they already have the same value.
  • #548 If Micka returns HTTP error 500 on CSW/SOAP Insert/Update/Delete, retry the request.
  • #548 If GeoServer returns HTTP error 500 on GetCapabilities, retry the request.
  • Remove LAYMAN_SETTINGS_MODULE, import src/layman_settings.py directly.
  • #555 Upgrade Selenium from 3 to 4
  • #555 Use Firefox instead of Chrome in Selenium for map thumbnail generation and Layman Test Client tests.