Back to all versions

4.17.0

2026-08-12
minor

Features 4

  • RFC 7591 Dynamic Client Registration (#12313, #9810, #12313, #12518)
    Implements RFC 7591, allowing clients to register themselves at runtime with support for both open and token-gated modes.
    OIDC API
  • RFC 7592 Dynamic Client Management (#12315, #9810, #12315, #12313)
    Implements RFC 7592, enabling dynamically registered clients to manage their configurations using a registration access token.
    OIDC API
  • Native app links for passkeys (#12580, #12497, #12531, #12532, #12536, #12537, #12547)
    Implements iOS/Android app-link support, including serving required trust files (apple-app-site-association and assetlinks.json) and adding configuration fields to OIDC apps.
    Login OIDC Mobile
  • Sign in with ZITADEL (Identity Brokering) (#12530, #11824, #5127, #11823, #11922, #12050, #12051, #12397, #12446)
    Allows users to use their ZITADEL account from another instance as an identity provider.
    Login Identity Provider

Bug Fixes 9

  • Allow adding raw metadata values via Actions (#12567, #10666, #10470, #5526)
    Adds api.v1.user.appendMetadataRaw to allow storing metadata values without JSON encoding, fixing a regression where scalar strings were always quoted.
    Actions API
  • Allow invite codes for users with no auth methods (#12453)
    Allows resending invite codes to users who had all their auth methods removed by making the 'initialized' check dynamic.
    Users Auth
  • Correct binding for Security Settings API (#12518, #12313)
    Binds SetSecuritySettings to PUT /v2/settings/security for API path consistency.
    API Settings
  • Console username change and email verification fixes (#12155, #10803, #12146)
    Fixes issues where cancelling a username change threw an error and email verification failed if the email address remained unchanged.
    Console
  • Prevent password exposure in Postgres logs during init (#12538, #12178) high
    Prevents leaking plaintext passwords in Postgres logs during initialization by checking for existing roles before execution.
    Database Setup
  • Honour login_hint and skip auto-submit loop in OIDC (#12431, #12346)
    Resolves a loop and UI flash in OIDC flows with login_hint by resolving the user server-side and skipping the username step.
    Login OIDC
  • Hidden username fields on password forms (#12490)
    Adds hidden username fields to password forms to improve compatibility with password managers.
    Login
  • Fix unknownContext error on password page (#12512)
    Ensures consistent handling of ignoreUnknownUsernames between server and client-side pages to prevent misleading unknownContext errors.
    Login
  • Treat verified passkey as MFA fulfillment (#12575)
    Fixes a loop where users with passkeys + MFA were stuck because passkey logins weren't correctly marked as fulfilling MFA.
    Login MFA

Maintenance & Chores 2

  • Autovacuum tuning for events2 table (#12449, #12448, #10754, #10260, #8585, #9239)
    Implements table-level autovacuum tuning for the events2 table to prevent progressive performance degradation and system latency.
    Eventstore Database
  • Updated IDP userAction handling (#12433, #11369)
    Migrates to use the new user_action oneof in IDP intent responses for parity between creation and updates.
    Login