v4.14.0

QuentinFuxa/WhisperLiveKitv4.14.0Apr 24, 2026by github-actions[bot]

AI Summary

Focuses on stabilization and usability improvements including console bug fixes, OIDC enhancements, and new authentication capabilities like x.509 support.

Key Highlights

  • Portuguese translations for Login V2 are now available.
  • Support for ECDSA and ED25519 public keys is now enabled.
  • Authenticated encryption for opaque tokens has been implemented.

New Features

  • x.509 certificate system-api-user tokens option.
  • ECDSA and ED25519 public key support.
  • Standard OTEL environment variable support via autoexport.
  • Improved error classification for ConnectError.

Full Release Notes

# [4.14.0](https://github.com/zitadel/zitadel/compare/v4.13.1...v4.14.0) (2026-04-24)


### Bug Fixes

* **console:** always show settings page to admin ([#11779](https://github.com/zitadel/zitadel/issues/11779)) ([2f81454](https://github.com/zitadel/zitadel/commit/2f81454fe31541f53e31cf76c1e46687cd59c4b0)), closes [#10912](https://github.com/zitadel/zitadel/issues/10912)
* **console:** disallow smtp double create [#8964](https://github.com/zitadel/zitadel/issues/8964) ([#11868](https://github.com/zitadel/zitadel/issues/11868)) ([aeddf0e](https://github.com/zitadel/zitadel/commit/aeddf0ef91141052dea94ce5fae4f227047c95a0))
* **console:** Fix onboarding link for user login guide ([#11958](https://github.com/zitadel/zitadel/issues/11958)) ([677450e](https://github.com/zitadel/zitadel/commit/677450eec28ac84a2c049fe94ac476aa0da2ca66))
* **console:** jwt provider callback urls [#11589](https://github.com/zitadel/zitadel/issues/11589) ([#11966](https://github.com/zitadel/zitadel/issues/11966)) ([bfbf943](https://github.com/zitadel/zitadel/commit/bfbf943d7af61c3f9dd380efae726ee3752dd38a))
* **console:** normalize empty OIDC redirect uri updates [#12053](https://github.com/zitadel/zitadel/issues/12053) ([#12067](https://github.com/zitadel/zitadel/issues/12067)) ([c16667b](https://github.com/zitadel/zitadel/commit/c16667b67bd0067fab0fb0f0e2437d061f312d07))
* **console:** pass data to user delete dialog ([#11595](https://github.com/zitadel/zitadel/issues/11595)) ([4706a80](https://github.com/zitadel/zitadel/commit/4706a806145cc381e45d85097a85392d0090b69f))
* **console:** update protoc-gen-js ([#12046](https://github.com/zitadel/zitadel/issues/12046)) ([a1cd331](https://github.com/zitadel/zitadel/commit/a1cd33140893933dc84ba02d2762b27cc57cb9ab))
* **grpc:** increase MaxSendMsgSize ([#12066](https://github.com/zitadel/zitadel/issues/12066)) ([31ac2a4](https://github.com/zitadel/zitadel/commit/31ac2a49eac9907492ef0ecb1f55bf5e94b1ea36))
* **grpc:** return 401 for unauthenticated v1 gateway errors ([#11786](https://github.com/zitadel/zitadel/issues/11786)) ([5b4e6ec](https://github.com/zitadel/zitadel/commit/5b4e6ec4ee4afea0251f2d5e309a3a909926d969)), closes [#11730](https://github.com/zitadel/zitadel/issues/11730)
* invalid jwt assertion error handling ([#11933](https://github.com/zitadel/zitadel/issues/11933)) ([1c04220](https://github.com/zitadel/zitadel/commit/1c0422031bbe12d94c603dca515a77f5355c9d7e)), closes [/github.com/zitadel/oidc/blob/main/pkg/oidc/verifier.go#L195](https://github.com//github.com/zitadel/oidc/blob/main/pkg/oidc/verifier.go/issues/L195)
* **login:** add OIDC/SAML requestId to resend invite / resend email code ([#11927](https://github.com/zitadel/zitadel/issues/11927)) ([501091c](https://github.com/zitadel/zitadel/commit/501091c9be37fbdc9593fffcd2f4f4ad5a6b05fc))
* **login:** ClassifiedConnectError breaking ConnectError instanceof checks ([#12022](https://github.com/zitadel/zitadel/issues/12022)) ([72bbfd4](https://github.com/zitadel/zitadel/commit/72bbfd47b70e6a7d7a539008c4bd71354e56516e)), closes [#11903](https://github.com/zitadel/zitadel/issues/11903) [#11926](https://github.com/zitadel/zitadel/issues/11926)
* **login:** improve error classification ([#11926](https://github.com/zitadel/zitadel/issues/11926)) ([6b9062f](https://github.com/zitadel/zitadel/commit/6b9062f58baee4ed5497d208e53ff8feb23c7070)), closes [#11923](https://github.com/zitadel/zitadel/issues/11923)
* **login:** invite flow instead of email verification for users with no primary method, improve sending behaviour ([#11837](https://github.com/zitadel/zitadel/issues/11837)) ([fa1d9e8](https://github.com/zitadel/zitadel/commit/fa1d9e8e03e11ba709cd42b13531b075c0665821)), closes [#10929](https://github.com/zitadel/zitadel/issues/10929)
* **login:** load SSL_CERT_DIR certificates without requiring hashed filenames ([#12029](https://github.com/zitadel/zitadel/issues/12029)) ([95f61c7](https://github.com/zitadel/zitadel/commit/95f61c769d52771bccb6f816581397dfa10bc576))
* **login:** preserve OIDC request context during email verification ([#11990](https://github.com/zitadel/zitadel/issues/11990)) ([b61ad1e](https://github.com/zitadel/zitadel/commit/b61ad1e5ae08b7abbbc0177d92db89a137a24ee4))
* **login:** prevent duplicate email-code verification issue ([#11893](https://github.com/zitadel/zitadel/issues/11893)) ([c1919db](https://github.com/zitadel/zitadel/commit/c1919dbe9a3cfe08506d434436ae204c8f1b7a0f)), closes [#11857](https://github.com/zitadel/zitadel/issues/11857)
* **login:** replace custom SWR cache with lru-cache ([#11945](https://github.com/zitadel/zitadel/issues/11945)) ([c3b0982](https://github.com/zitadel/zitadel/commit/c3b098201f5133f56a9b27bb0a1a7e21e72d8f42))
* **login:** respect branding themeMode for theme toggle, fix CSP ([#11903](https://github.com/zitadel/zitadel/issues/11903)) ([643088f](https://github.com/zitadel/zitadel/commit/643088ffd504c361545c438b95a6b2df4dcb4dd7)), closes [#11721](https://github.com/zitadel/zitadel/issues/11721)
* **oidc:** use authenticated encryption for opaque tokens ([#12017](https://github.com/zitadel/zitadel/issues/12017)) ([4ad07d2](https://github.com/zitadel/zitadel/commit/4ad07d22398bf8b2d6655439529a8bb8997758df)), closes [#11315](https://github.com/zitadel/zitadel/issues/11315)
* propagate non-NotFound errors from instance interceptor ([#12019](https://github.com/zitadel/zitadel/issues/12019)) ([52f9d7e](https://github.com/zitadel/zitadel/commit/52f9d7eab6805436b93c6b631caa7319a2bce280))


### Features

* add option to use x.509 certificate system-api-user tokens ([#11876](https://github.com/zitadel/zitadel/issues/11876)) ([9a00c49](https://github.com/zitadel/zitadel/commit/9a00c493366fba456716100517d1c8f2bda60686)), closes [#11442](https://github.com/zitadel/zitadel/issues/11442)
* allow ECDSA and ED25519 public keys ([#11819](https://github.com/zitadel/zitadel/issues/11819)) ([bce7c48](https://github.com/zitadel/zitadel/commit/bce7c48bfa13e0db8d1b35e6b0a22233551bfb6c)), closes [#8433](https://github.com/zitadel/zitadel/issues/8433) [#8433](https://github.com/zitadel/zitadel/issues/8433)
* **console:** improve org search performance in create project grant page [#11121](https://github.com/zitadel/zitadel/issues/11121) ([#12057](https://github.com/zitadel/zitadel/issues/12057)) ([7e20724](https://github.com/zitadel/zitadel/commit/7e207245f270c5e4d21a4caa5cb2e7482af0a14c))
* **login:** add Portuguese (pt) translations for Login V2 ([#11897](https://github.com/zitadel/zitadel/issues/11897)) ([88ba29c](https://github.com/zitadel/zitadel/commit/88ba29ce85684709b420c12fd5cf219e360a0d23)), closes [#11782](https://github.com/zitadel/zitadel/issues/11782) [#11782](https://github.com/zitadel/zitadel/issues/11782)
* **login:** add ZITADEL_API_AWAITINITIALCONN support ([#12032](https://github.com/zitadel/zitadel/issues/12032)) ([ad6b5b1](https://github.com/zitadel/zitadel/commit/ad6b5b143795996981d6398029822a04c7dae905))
* **login:** simplify login client auth and support PKCS[#1](https://github.com/zitadel/zitadel/issues/1) keys ([#11888](https://github.com/zitadel/zitadel/issues/11888)) ([810b344](https://github.com/zitadel/zitadel/commit/810b344686ffcd5c18c11294a40cdc091105cfb9))
* support standard OTEL env vars via autoexport ([#11864](https://github.com/zitadel/zitadel/issues/11864)) ([3f1a29f](https://github.com/zitadel/zitadel/commit/3f1a29f3b38ccda3183c854033ebd27b49664a10))