Back to all versions
4.0.0
from 3.0.0 2025-07-31
Contains Breaking Changes
major ZITADEL v4.0.0 is a major release with significant API improvements and new features. The primary breaking change is the promotion of Actions V2 API from beta to GA with endpoint path changes. All V1 APIs remain functional but are deprecated.
Breaking Changes 2
Security 3
- Proto Header Validation and HTTPS Enforcement (#9975) highValidate proto header and provide https enforcement for better securityapi security
- CORS Configuration for ConnectRPC (#10227) highProper CORS configuration for connectRPC and grpc-web to prevent cross-origin attacksapi security
- Organization Cache Isolation (#10012) criticalPrevent org cache overwrite by other instances to ensure data isolation in multi-tenant deploymentscache security
Features 29
- SHA2 and PHPass Password Hash Support (#9809)Support for SHA2 and PHPass password hash algorithms for better migration from legacy systemscrypto authentication
- User API - Resource-Based (#9794)User API requests migrated to resource API for consistent resource-based user managementapi users
- Generate WebKeys Setup Step (#10105)Automated web key generation during setup for simplified initial configurationsetup crypto
- Project Member Permission Filter (#9757)Permission filtering for project members for better access control granularitypermissions projects
- Resource Counters Projections (#9979)Projection-based resource counting for better performanceprojections
- Login V2 i18n for Required Messages (#10288)Internationalization for all input required messages in Login V2login i18n
- User ID Index on Sessions (#9834)Add user id index on sessions for performance improvementdatabase sessions
- Invite Codes for Verified Emails (#9962)Allow invite codes for users with verified emails for more flexible usageauthentication
Bug Fixes 62
- Actions V2 Deleted Target Handling (#9822) highImproved handling of deleted targets in executions to prevent errorsactions
- Actions Empty Deny List Handling (#9753) mediumCorrectly handle empty deny lists in action execution filteringactions
- User State Queries Mapping (#9956) mediumCorrect mapping of user state queries in API for accurate filteringapi users
- CORS for ConnectRPC and gRPC-web (#10227) highProper CORS configuration for connectRPC and grpc-web to fix cross-origin issuesapi cors
- SAML Form Post Data in IDP Intent (#10136) mediumReturn typed SAML form post data in idp intent for better integrationsaml idp
- Cache Org Overwrite Prevention (#10012) criticalPrevent org cache overwrite by other instances to fix data consistency issues in multi-instance deploymentscache organizations
- Console User List Count and Timestamps (#9705) mediumCorrect count for users list and show create timestamp in user detailsconsole
- Console V2 Sessions List Uniqueness (#9778) mediumList of unique v2 sessions to prevent duplicate displayconsole sessions
- Console Org Context for V2 User Creation (#9971) mediumProper org context for V2 user creation to ensure users created in correct organizationconsole users
- Project Service ID Filter (#10035) mediumCorrect id filter for project service for accurate filteringprojects
- Google IDP User Unmarshalling (#9799) mediumCorrect unmarshalling of IdP user when using Google OAuthidp google
- Single Matching User by Loginname (#9865) mediumCorrectly use single matching user by loginname to prevent ambiguous lookupsauthentication
- Eventstore Decimal and Mirror Correction (#9914) highUse decimal and correct mirror in eventstore for data consistencyeventstore
- MFA Factors Display (#9313) lowAllow only enabled factors to be displayed on user page for cleaner UIconsole mfa
- Project Fields by ID and Resource Owner (#10034) mediumCorrect project field retrieval by id and resource ownerprojects
- IDP User Information Mapping (#9892) mediumCorrect idp user information mapping for proper user data from external IdPsidp
- Import/Export Deactivated State Preservation (#9992) highFix for deactivated user/organization being imported as active - preserves deactivation stateimport export
- Instance Web Key Generation Defaults (#9815) mediumAdd web key generation to instance defaults for automated setupinstances crypto
- Login V1 Auto-Link with Suffixed Usernames (#10205) mediumCorrectly auto-link users on organizations with suffixed usernameslogin organizations
- Login V1 Organization Token Context (#10221) criticalEnsure the user's organization is always set into the token context to prevent authorization issueslogin authentication
- Login V1 Password Reset with Email/Phone (#10228) mediumHandle password reset when authenticating with email or phone numberlogin authentication
- Login SAML Cookie Serialization Error Handling (#10259) mediumBetter error handling for saml cookie serialization with more graceful error messageslogin saml
- Login Invite Code Permission Check (#10197) mediumChanged permission check for sending invite code on log in for proper authorizationlogin permissions
- Login Email/Phone Query and Session Context (#10158) mediumEmail or phone query with session context from loginname for flexible login identifierslogin
- Login FormPost Data Cookie Encoding (#10173) mediumEncode formpost data to cookie for proper SAML flow data handlinglogin saml
- Login i18n Locale Context (#10156) mediumEnsure correct i18n locale context for proper language displaylogin i18n
- Login SAML Cookie Settings (#10266) mediumCorrect SAML cookie settings for proper session handlinglogin saml
- Metadata Encoding and Decoding (#10024) mediumCorrect metadata decoding and encoding for proper metadata handlingmetadata
- Mirror Max Auth Request Age Configuration (#9812) lowAdd max auth request age configuration to mirror for better lifecycle managementmirror
- Organization Unique Constraints (#10243) criticalAdding unique constraints to not allow an org to be added twice with same idorganizations database
- Packages CJS and Module Resolution (#10322) mediumCJS and module resolution fix for better package compatibilitypackages
- Project Grant Permissions V2 Remove (#10337) mediumProject grant permissions v2 remove functionality for proper cleanupprojects permissions
- Projection Users with Factors Removal (#9877) mediumRemove users with factors from projection for data consistencyprojections
- Queue Projection List Reset (#10001) mediumReset projection list before each Register call to prevent registration issuesqueue projections
- Service Ping Endpoint and Validation (#10166) mediumCorrect endpoint, validate and randomize default interval for proper operationtelemetry
- Settings Restricted Languages (#9947) lowFix for setting restricted languages to work correctlysettings
- Setup Index Creation Re-enable (#9868) mediumReenable index creation in setup for proper database indexingsetup database
- Documentation Typo in Migration Guide (#9867) lowTypo in 'Migrate from ZITADEL' documentationdocumentation
- Documentation Link Update (#9802) lowUpdate link to postgres-insecure example in docs for correct referencesdocumentation
- Session Recordings for PostHog (#9775) lowUpdate session recordings for posthog analyticsanalytics
- WebAuthn Old Credentials on Session API (#10150) mediumAllow to use 'old' passkeys/u2f credentials on session API for backward compatibilitywebauthn sessions
- Auto Cleanup Failed Setup Steps (#9736) mediumAuto cleanup failed Setup steps if process is killed for cleaner recoverysetup
- Execution Handler Current State in Setup (#9863) mediumAdd current state for execution handler into setup for proper state trackingsetup actions
- Removed Targets Handling (#9824) mediumCorrect handling of removed targets to prevent errorsactions
- Actions V2 Texts Improvement (#9814) lowImprove Actions V2 Texts and reenable in settings for better UIactions console
- Actions V2 Translations (#9826) lowImprove Actions V2 translations for better multilingual supportactions i18n
- Default SystemAPIUsers Comment (#9813) lowComment default SystemAPIUsers for configuration clarityconfiguration
Deprecations 2
- V1 API EndpointsMultiple V1 endpoints deprecated including Organization Objects V1 (Users, Projects, Members) and Instance Lifecycle V1. These endpoints remain functional but users should migrate to v2 resource-based APIs.api
- OpenAPI 2.0 for New EndpointsOpenAPI 2.0 discontinued for new v2 endpoints in favor of connectRPCapi
Removed 3
Maintenance & Chores 4
Contributors 1
Upgrade Warnings
- • Actions V2 API endpoint paths have changed - update client code before upgrading
- • New v2 services require connectRPC-compatible clients
- • V1 APIs are deprecated and will be removed in v5.0.0