Skip to content

v3.4.0

Latest

Choose a tag to compare

@DavidMStraub DavidMStraub released this 19 Oct 11:40
6558eb3

Support for external authentication providers 🫆

This release implements one of the most wanted features on the roadmap: support for authenticating to Gramps Web API via external providers using the Open ID Connect (OIDC) protocol. As an optional alternative to username/password authentication, it allows interfacing Gramps Web with a self-hosted access management solution like Keycloak or Authentik, or using a Google, Microsoft, or Github account to sign in.

If you do not add any specific configuration for OIDC to your Gramps Web instance, external authentication is disabled by default. The configuration steps needed to enable it are described in the documentation.

Kudos to @AlexBocken for implementing all this!

Undo edits ↩️

This release adds the possibility to undo individual changes (transactions) to the database by introducing a new endpoint /api/transactions/history/<id>/undo. This is the backend part of an upcoming feature in Gramps Web that will add an "Undo" button to every revision in the revision history view!

User database migration ⚠️

Since the new OIDC feature requires a change to the schema of the Gramps Web user database, a schema migration must be run once (regardless of whether you plan to use OIDC or not). When using the default docker image and entrypoint, this is done automatically on startup. In custom environments, you will need to run

python3 -m gramps_webapi --config /app/config/config.cfg user migrate

in the Gramps Web API contrainer, or something equivalent for your custom setup.

The same command can also be used inside the Dev Container by developers using the recommended development environment, after pulling the latest Web API version.

Other changes 🆕

  • No ARMv7 images: The build times for the default docker images have been causing issues. To resolve them, we have decided to no longer provide pre-built images for the ARMv7 architecture, used on the very first Raspberry Pi models 1 and 2. We are still providing images for the ARM64 architecture (and will continue to do so), which is supported on the model 3 and newer, so we hope the impact on users is minimal.
  • Dropping Python 3.9 support: Python 3.9 has reached its end of life, so we are dropping support for it.

Bugs fixed 🪲

New Contributors💪

Full Changelog: v3.3.0...v3.4.0