Skip to content

5.21.1 — 2026-10-24

← 5.21.2 | 5.21.0 → | ↑ 5.x series

Fixed

Adapters - Keycloak

  • Existing Realm With skip_exists - create_realm no longer raises a TypeError when the realm already exists.
    • python-keycloak raises the TypeError itself when skip_exists is set (python-keycloak issue 730)
    • create_realm now posts through the admin connection, so an existing realm returns status == "already_exists" and skip_exists=False raises RealmAlreadyExistsError
  • UMA Permission Checks - permissions_check checks several permissions correctly.
    • python-keycloak joins them into one comma-separated form field, which Keycloak does not understand (python-keycloak issue 705)
    • The adapter sends one permission field each and returns True only when every requested permission is granted
  • Denied UMA Decisions - A UMA request that grants nothing raises InsufficientPermissionsError, where it used to surface as InternalError.

Tests

Tests - Keycloak

  • Permission Checks and Realm Creation - Added sync and async scenarios for permissions_check with several permissions and for creating an existing realm with and without skip_exists.