v1.23.0
Known issues
- #1016 Flower container did not start if LAYMAN_ROLE_SERVICE_URI points to
host.docker.internal
.- Fixed in v1.23.1.
- #1021 WFS-T error "
<layer>
is read-only".- Fixed in v1.23.2.
- #1022 Login not working in demo configuration with authentication
- Fixed in v1.23.2.
Upgrade requirements
- Change environment variable LAYMAN_CLIENT_VERSION:
LAYMAN_CLIENT_VERSION=v1.18.0
- Stop using environment variable
LAYMAN_GS_ROLE_SERVICE
, it has no effect to Layman anymore. Layman now uses role service identified by new environment variable LAYMAN_ROLE_SERVICE_URI. The service is calledlayman_role_service
on GeoServer. - Set new environment variable LAYMAN_ROLE_SERVICE_URI
- Stop using environment variable
OAUTH2_INTROSPECTION_SUB_KEY
, it has no effect to Layman anymore. - If you are using Wagtail as OAuth2 provider
- After running
make upgrade-demo
ormake upgrade-demo-full
, run also scriptv1_23_change_oauth2_sub_username_to_user_id.py
:docker compose -f docker-compose.deps.demo.yml -f docker-compose.demo.yml run --rm --no-deps -u root -e LAYMAN_WAGTAIL_DB_URI=<URI_of_Wagtail_db> layman bash -c "cd src && python3 -B v1_23_change_oauth2_sub_username_to_user_id.py"
URI_of_Wagtail_db
is PostgreSQL connection URI to Wagtail database, e.g.postgresql://user:[email protected]:5432/wagtail_db_name
- The script changes OAuth2 "sub" values in Layman prime DB schema from Wagtail usernames to Wagtail user IDs. See 940.
- After running
Migrations and checks
Schema migrations
- #165 Add column
role_name
to tablerights
in prime DB schema. Add constraint that exactly one of columnsrole_name
andid_user
is not null. - #165 Create DB schema
_role_service
that can be used as role service. - #165 Column
name
in tableworkspaces
in prime DB schema length is changed to 59 characters. - Drop DB table
right_types
.
Data migrations
- #165 Delete technical roles and user-role relations in GeoServer
default
role service, which is now replaced by JDBC role service.
Changes
- #165 Prior to this version, Layman enabled to use usernames and pseudo-role
EVERYONE
in access rights. From now on, Layman accepts also role names. - #165 Roles (except of
EVERYONE
) are managed by role service. - #165 New REST endpoint GET Roles with list of all roles registered in role service, that can be used in access rights.
- This new endpoint was added to Test Client into tab "Others".
- #165 POST Workspace Layers/Maps and PATCH Workspace Layer/Map saves role names mentioned in
access_rights.read
andaccess_rights.write
parameters into prime DB schema. - #165 Many requests respect roles in access rights:
- #165 POST Workspace Layers/Maps respects roles in GRANT_CREATE_PUBLIC_WORKSPACE and GRANT_PUBLISH_IN_PUBLIC_WORKSPACE
- #165 Many endpoints return previously associated role names in
access_rights.read
andaccess_rights.write
keys: - #165 Name of users and public workspaces are from now on restricted to a maximum length of 59 characters.
- 940 Use
userId
as OAuth2 "sub" instead ofusername
. This is suitable for Wagtail. - 940 Stop supporting Liferay as OAuth2 provider.
- 941 Wagtail database is now persistent when restarting Layman or Wagtail.
- All changes from v1.22.1, v1.22.2 and v1.22.3.
- #960 Handle WMS requests with HTTP error more efficiently in timgen.
- #962 Make values of
layman_metadata.publication_status
andstatus
key(s) more consistent in responses of PATCH Workspace Layer/Map and GET Workspace Layer/Map. - Timgen handles better some edge cases:
- If map's internal layer points to non-existent workspace, Timgen is faster and does not fail.
- If map's file was not obtained from Layman, Timgen fails quickly.
- Upgrade Python dependencies
- werkzeug 2.3.7 -> 3.0.7 (suggested by dependabot)
- urllib3 1.26.16 -> 1.26.18 (suggested by dependabot)
- pillow 10.0.0 -> 10.1.0 (suggested by dependabot)
- cacheout 0.14.1 -> 0.15.0
- flask 2.3.3 -> 3.0.0
- jsonschema 4.19.0 -> 4.20.0
- owslib 0.29.2 -> 0.29.3
- importlib-metadata 6.8.0 -> 7.0.0
- psycopg2-binary 2.9.7 -> 2.9.9
- redis 5.0.0 -> 5.0.1
- unidecode 1.3.6 -> 1.3.7
- platformdirs 3.10.0 -> 4.1.0
- pycodestyle 2.11.0 -> 2.11.1
- pytest 7.4.2 -> 7.4.3
- pytest-rerunfailures 12.0 -> 13.0
- pytest-timeout 2.1.0 -> 2.2.0
- Add development dependency
plantuml/plantuml
for rendering PlantUML diagrams.