Commit Graph
705 Commits
Author SHA1 Message Date
13f8ba4215 fix(console): delete role assignment in admin profile #10376 (#11867)
# Which Problems Are Solved

Currently it's not possible to delete role assignments in the user
profile.
<img width="1026" height="516" alt="CleanShot 2026-03-18 at 10 50 01"
src="https://github.com/user-attachments/assets/7b8eb316-852b-4c16-9f4b-4c041215e410"
/>

# How the Problems Are Solved

Switched the removal of role assignments to the newer [Delete
Authorization
call](https://zitadel.com/docs/reference/api/authorization/zitadel.authorization.v2.AuthorizationService.DeleteAuthorization).

# Additional Changes

Correctly pass the role assignment id based on the context of the call.

# Additional Context

- Closes: #10376

---------

Co-authored-by: Max Peintner <[email protected]>
Co-authored-by: Max Peintner <[email protected]>
2026-04-29 10:32:49 +02:00
2c8d63bb71 feat(console): improve client details dialog ux #11834 (#11836)
# Which Problems Are Solved

The console provided conflicting warnings when creating a pkce based
project.


# How the Problems Are Solved
<img width="1026" height="432" alt="grafik"
src="https://github.com/user-attachments/assets/d6609d2d-1438-42bd-9bc4-2e896c3e47d9"
/>

Removed the `keep your client secret at a safe place...` warning when a
auth-method without a client secret is used.
Changed the dialog title to `Client Details` instead of `Client Secret`

# Additional Changes
- Improves type safety for data passed to the
`AppSecretDialogComponent`.
- Updates the `AppSecretDialogComponent` to use modern Angular features,
improving readability and maintainability.

# Additional Context
- Closes #11834

---------

Co-authored-by: Max Peintner <[email protected]>
2026-04-29 08:46:49 +02:00
RamonandGitHub 83919d82b4 fix(console): display actions v1 with correct permissions #12001 (#12068)
# Which Problems Are Solved
- Users needed broader IAM read permissions to access the Actions V1
page in the console.

# How the Problems Are Solved
- Updates the console route configuration for `/actions` to require
`org.action.read`.

# Additional Context
 - Closes #12001
2026-04-28 17:25:21 +02:00
dd9dcf9f72 feat(console): improve org search performance in create project grant page #11121 (#12057)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

When creating a new Project Grant in the Zitadel console, the UI becomes
extremely sluggish/unusable. The issue appears tied to the organization
search dropdown attempting to load a very large dataset.

# How the Problems Are Solved

The refactored `SearchOrgAutocompleteComponent` uses server side
filtering and ondemand loading using infinite scrolling. This makes sure
on a subset of organizations is ever loaded on the client.

# Additional Changes

- Added tailwindcss for easier styling
- Removed build warnings
- Removed some of the SCSS syntax warnings

# Additional Context
- Closes #11121

---------

Co-authored-by: Max Peintner <[email protected]>
2026-04-22 11:46:27 +02:00
RamonandGitHub bfffd69d60 fix(console): normalize empty OIDC redirect uri updates #12053 (#12067)
# Which Problems Are Solved

- Clearing OIDC redirect URI lists in the console does not persist
correctly resulting in no changes error.

 # How the Problems Are Solved

- Normalizes empty OIDC URI list updates to [""] before sending the save
request.
- Uses the application v2 update call for the affected OIDC config save
path.
 
 # References
- Closes #12053
2026-04-22 09:23:50 +02:00
RamonandGitHub 8b5d7a751a fix(console): jwt provider callback urls #11589 (#11966)
# Which Problems Are Solved
The console didn't specify any callback url's for the JWT idp provider.

# How the Problems Are Solved

Added callback url's to the JWT idp provider screen in the management
console.

# Additional Changes

# Additional Context

- Closes #11589
2026-04-09 21:24:57 +00:00
0bf3045142 fix(console): always show settings page to admin (#11779)
# Which Problems Are Solved

The settings tab is hidden when there's only 1 organization. This was
very confusing when I created an IdP using terraform and then could not
find it. I eventually found the `gs` shortcut which brought me to the
org settings. This was last touched here #10912

# How the Problems Are Solved

Always show the settings tab, even if there's just 1 org.

Co-authored-by: Ramon <[email protected]>
2026-04-08 09:02:56 +00:00
RamonandGitHub 23f0cd0ade chore(console): remove all console eslint warnings (#11853)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

When running the nx target @zitadel/console:lint-check-ng currently
there are a lot of eslint warnings.

# How the Problems Are Solved

Removed unused variables, imports etc.

# Additional Changes

# Additional Context
2026-04-07 09:28:22 +00:00
RamonandGitHub 6877f09c84 fix(console): disallow smtp double create #8964 (#11868)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

When creating a new smtp providers it was possible to click the create
button multiple times and create duplicate smtp providers.

# How the Problems Are Solved

Disable the create button when the smtp provider creation is pending.

# Additional Context
- Closes: #8964
2026-04-03 10:12:25 +00:00
0945195f68 chore: deps update (#11968)
# Which Problems Are Solved
This pr updates major and minor dependencies and is the first step on
getting our dependabot alerts cut down.

# How the Problems Are Solved

Depedency updates across the board eg:
- Upgrade Angular to v21
- Upgrade next.js to v16.2
- Upgrade tailwind to v4 in the login
- Upgrade vitest to v4 in the login

This is an uncompleted list refer to the changed files for a full
overview of all the updates.

# Additional Changes

Migrated all control flow in the console to the modern control flow
syntax.
Fixed the dependsOn setting for the @zitadel/login:test-unit nx target.

# Additional Context

- Closes https://github.com/zitadel/zitadel/issues/11274

---------

Co-authored-by: Max Peintner <[email protected]>
2026-04-02 15:53:08 +02:00
Aaron DewesandGitHub c97ffd6eb7 fix(console): pass data to user delete dialog (#11595)
# Which Problems Are Solved

The account deletion modal for users with the user.self.delete
permission was previously broken (displayed no text) because the
properties were not passed to it:

<img width="1920" height="951" alt="grafik"
src="https://github.com/user-attachments/assets/3bfc6126-1777-4f1a-9fa9-c151a8275cea"
/>


# How the Problems Are Solved

The data is correctly passed to the modal.
2026-04-01 17:22:14 +02:00
Vitor Bari BucciantiandGitHub 8c8fc47884 fix(console): Fix onboarding link for user login guide (#11958)
# Which Problems Are Solved

Onboarding steps has broken link to log in documentation:
https://zitadel.com/docs/guides/integrate/login-users

<img width="974" height="409" alt="Screenshot 2026-03-27 at 15 41 58"
src="https://github.com/user-attachments/assets/51863a49-14a2-45f2-b767-cf072dc30ea6"
/>

# How the Problems Are Solved

Change broken link to
https://zitadel.com/docs/guides/integrate/login/login-users

# Additional Changes

n/a

# Additional Context

n/a
2026-04-01 09:01:43 +00:00
cbf05dbe16 fix(ui/auth): display correct Apple sign-in callback URL (#11439)
# Which Problems Are Solved

- Apple Sign-In uses a Form Post method to return the authorization
response, which ZITADEL handles at a specific endpoint ending in /form
for the login v1.
- The Console previously displayed the standard callback URL (without
`/form`), causing confusion and configuration errors..


# How the Problems Are Solved

- **Console**: Updated ProviderNextService to accept a suffix string . 
- **Console**: Updated ProviderAppleComponent to append the suffix to
the urls.


# Additional Changes
- Updated `docs/docs/guides/integrate/identity-providers/apple.mdx` to
explicitly state that the callback URL end with `/form`
- Updated `docs/docs/guides/integrate/login-ui/external-login.mdx` to
clarify the `/form` suffix requirement for Apple Sign-In in the hosted
login documentation.
# Additional Context
- fixes #11438

---------

Co-authored-by: Ramon <[email protected]>
Co-authored-by: Florian Forster <[email protected]>
2026-03-12 10:24:48 +00:00
Mridang AgarwallaandGitHub 7cdee1703f chore: standardised the eslint config structure accross the project (#11814) 2026-03-12 11:02:52 +01:00
Livio SpringandGitHub d5f35fbd54 fix(console): switch to webkeys v2 (from v2beta) (#11807)
# Which Problems Are Solved

The Management Console was still using the deprecate v2beta endpoints of
the webkey service even though the v2 service was move to GA a while
ago.

# How the Problems Are Solved

Switch to the v2 endpoints.

# Additional Changes

None

# Additional Context

- relates to #10773
2026-03-11 08:20:21 +00:00
689b90d9d9 fix(console): organization column display in grants #10822 (#11742)
# Which Problems Are Solved

- The organization name in the user grants table was not consistently
displayed. The `grantedOrgName` property was sometimes missing,
resulting in an empty or incorrect value in the 'org' column.

# How the Problems Are Solved

- Implements a conditional check for the 'org' column in the user grants
table. The cell now displays `grantedOrgName` if available, otherwise it
falls back to `orgName`.

# Additional Changes

- Imports and adds `TypeSafeCellDefModule` to the user grants module,
providing the `cnslCellDef` directive for more flexible and type-safe
cell definitions.

# Additional Context

- Fixes #10822

---------

Co-authored-by: Copilot <[email protected]>
2026-03-10 13:47:13 +00:00
33c635fbc3 fix(console): role assignment manipulation #10517 (#11756)
# Which Problems Are Solved

The management console deletes all roles if user grant is not
manipulated before saving in the dialog.


# How the Problems Are Solved

Correctly prefill the selected role assignments so when no change was
done we keep the current state.

# Additional Changes

- Prevents displaying misleading error messages to users when a role
assignment operation results in no actual changes.

# Additional Context

- Closes #10517

Co-authored-by: Max Peintner <[email protected]>
2026-03-10 12:59:44 +00:00
RamonandGitHub 86ec54b22f fix(console): manager removal #11543 (#11627)
# Which Problems Are Solved
Organization managers could not be removed in the add manager modal

# How the Problems Are Solved
Correctly emit a change event in the SearchUserAutocompleteComponent to
update dependent components.

# Additional Changes

# Additional Context
- Closes #11543
2026-03-10 09:13:22 +01:00
Livio SpringandGitHub 110a082fc2 fix: list all frameworks (#11716)
# Which Problems Are Solved

Not all frameworks were listed in the Management Console when creating
an application.

# How the Problems Are Solved

Aligned the list from the docs and console.

# Additional Changes

None

# Additional Context

requires backport to v4.x
2026-03-02 08:37:44 +01:00
Mridang AgarwallaandGitHub 6150a61216 docs: added docs for the new dotnet example (#11541) 2026-02-23 07:55:18 +00:00
369b468720 chore: consistent naming for object ids (#11604)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved
As part of the consistent naming effort, this PR focuses on Resource
ID's.

# How the Problems Are Solved
Renamed generic Resource ID to matching Object + ID such as

- Organization ID
- User ID
- Application ID
- Identity Provider ID
- Instance ID
- Project ID

# Additional Changes
None

# Additional Context
- Closes #11306

---------

Co-authored-by: Livio Spring <[email protected]>
2026-02-19 06:21:01 +00:00
Gayathri VijayanandGitHub 6ad1ef859b fix: set refresh token in the RetrieveIdentityIntentResponse (#11613)
# Which Problems Are Solved

This PR adds support for storing and retrieving refresh tokens from
external identity providers during the IDP intent flow.

# How the Problems Are Solved

* Updated `idp.proto` (v2 and v2beta): added an optional `refresh_token`
field to `IDPOAuthAccessInformation`, which, in turn, is used in
`RetrieveIdentityProviderIntentResponse`
* Added the `IDPRefreshToken` field to the IDP intent `SucceededEvent`
struct, and updated the corresponding constructor to set the refresh
token
* Added the `IDPRefreshToken` field to `IDPIntentWriteModel`, and
updated `reduceOAuthSucceededEvent` to populate refresh token from
events
* Updated `tokensForSucceededIDPIntent` function to extract and encrypt
the refresh token from IDP session, if set
* Updated `idpOAuthTokensToPb` function to decrypt refresh token before
returning to clients
* Updated unit and integration tests

# Additional Changes
Updated the link to the JWT IDP docs linked in the Console

# Additional Context
- Closes https://github.com/zitadel/zitadel/issues/11047
2026-02-19 06:06:30 +00:00
b23346f6ca chore: consistent naming for organization domain (#11356)
# Which Problems Are Solved

As part of the consistent naming effort, this PR focuses on
"Organization domain".

# How the Problems Are Solved

- All terms referring referring to Organization Domains where changed to
be Organization Domain

# Additional Changes

None

# Additional Context

- closes [#11283](https://github.com/zitadel/zitadel/issues/11283)

---------

Co-authored-by: Copilot <[email protected]>
2026-02-18 14:46:21 +00:00
Wim Van LaerandGitHub 699ed17918 chore: rename configuration to settings (#11568)
# Which Problems Are Solved

naming inconsistencies: Configuration <-> Settings

# How the Problems Are Solved


# Additional Changes


# Additional Context

- Closes #11282
2026-02-18 14:25:42 +01:00
93a4ed8857 chore: rename authorization to role assignment (#11588)
# Which Problems Are Solved

As part of the naming consistency initiative, the terms Authorization,
User grants, internal authorization and other similar terms that are
used in the context of assigning project roles to users are replaced by
Role Assignments in the UI, API docs, and documentation.

# How the Problems Are Solved

By replacing the following terms with Role Assignments in API docs,
Console UI, and guides.

- Authorization
- internal authorization
- external authorization
- User Grant
- Roles and Authorizations

By adding a note in the API docs to make it clear that Authorization
within the context of Authorization Service API refers to role
assignments, not to OAuth authorization as it is still used in the APIs.

By updating some screenshots in documentation / guides to show "Role
Assignments" instead of "Authorizations" in the UI.

# Additional Changes

N/A

# Additional Context

- Closes https://github.com/zitadel/zitadel/issues/11289

---------

Co-authored-by: Copilot <[email protected]>
2026-02-17 13:14:57 +01:00
fa5e76661a fix(console): generic oidc help button opens Google config page (#11605)
<!--
Please inform yourself about the contribution guidelines on submitting a
PR here:
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#submit-a-pull-request-pr.
Take note of how PR/commit titles should be written and replace the
template texts in the sections below. Don't remove any of the sections.
It is important that the commit history clearly shows what is changed
and why.
Important: By submitting a contribution you agree to the terms from our
Licensing Policy as described here:
https://github.com/zitadel/zitadel/blob/main/LICENSING.md#community-contributions.
-->

# Which Problems Are Solved

Replace this example text with a concise list of problems that this PR
solves.
For example:
- Generic OIDC Identity Provider - help button opens Google
Configuration page

# How the Problems Are Solved

Replace this example text with a concise list of changes that this PR
introduces.
For example:
- made the URL update in `provider-oidc.component.html`


# Additional Context

Replace this example with links to related issues, discussions, discord
threads, or other sources with more context.
Use the Closing #issue syntax for issues that are resolved with this PR.
- Closes #11505

---------

Co-authored-by: Rajat Singh <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-02-17 14:03:02 +05:30
Marco A.andGitHub 382aec2d61 chore: Service Account Naming Consistency (#11557)
# Which Problems Are Solved

Inconsistent naming of service account, found in the following
variations:

  - Machine User
  - machine user
  - Service User
  - Machine Account
  - Technical Account
  - User: Type Machine

# How the Problems Are Solved

Attentive search and replace.

Localizations have been translated using Copilot

# Additional Changes

Some unused methods have been removed from the Go code.

# Additional Context

- Closes #11285
2026-02-13 12:31:43 +01:00
Livio SpringandGitHub 5b8ba90295 fix(console): fix self-management without explicit roles (#11583)
# Which Problems Are Solved

The self-management of user without any permissions in Console was no
longer possible and the UI was completely stuck.
This was due to the method `getActiveOrg`, which returned an error in
case no organization could be retrieved.

# How the Problems Are Solved

- Return `undefined` in case no organization is found and handle cases
where an organization is required.
- Redirect the user to `/users/me` if no organization is retrieved on
the start
- Prevent users without roles to access the home page

# Additional Changes

None

# Additional Context

closes #11567
2026-02-13 10:11:23 +01:00
RamonandGitHub ceffb9c536 feat: SMTP xoauth2 in console (#11545)
# Which Problems Are Solved
This adds the newly added xoauth2 option to the console allowing SMTP
Providers to be setup that use xoauth2 instead of plain auth.

# How the Problems Are Solved
Added the xoauth2 option to the SMTP Provider Settings


# Additional Changes
Heavily refactored the SMTP Provider page to allow more dynamic
configuration and use Tanstack Query for Data Fetching.

# Additional Context
- Closes #11451
- Backend changes #11239
2026-02-11 17:12:41 +00:00
cc7a6145f1 chore: rename manager/member to administrator (#11542)
# Which Problems Are Solved

As part of the naming consistency initiative, the terms `Manager`,
`Member` and other similar terms that are used in the context of an
administrator are replaced by `Administrator` in the UI and
documentation.

# How the Problems Are Solved

By replacing the following terms with Administrator / Administrator
Roles in docs, Console UI, and guides.

- Manager
- Add Manager
- Add a Manager
- Administrator (used as a person type)
- Membership
- Member grants

# Additional Changes
minor grammatical edits in the docs

# Additional Context
- Closes https://github.com/zitadel/zitadel/issues/11291

---------

Co-authored-by: Marco A. <[email protected]>
2026-02-11 17:43:06 +01:00
7e2c335df9 fix: Login v2 callback url's in console #11053 (#11398)
# Which Problems Are Solved
Correctly display callback URL's in the console for external identity
providers.
<img width="1965" height="527" alt="CleanShot 2026-01-21 at 14 21 56"
src="https://github.com/user-attachments/assets/149fa74d-02d9-4e81-9933-a16eaeac316d"
/>

# How the Problems Are Solved
Changed the template string in the console to match the correct
endpoint.

# Additional Changes

# Additional Context
- Closes #11053

Co-authored-by: Marco A. <[email protected]>
2026-02-11 08:57:18 +00:00
702e0d0447 docs: Quickstart missing frameworks to quickstart (#11507)
# Which Problems Are Solved

Some frameworks a user can select in the onboarding of the console are
missing in the quickstart

# How the Problems Are Solved

- Add missing frameworks to quickstart
  - Astro
  - Django
  - Express.js
  - FastAPI
  - Fastify
  - Flask
  - Hono
  - Laravel
  - Nuxtjs
  - Qwik
  - SolidStart
  - Spring
  - Svelte
- Update console configurations to match the example repositories
- Remove console client configurations, as they all point towards an SDK
which doesn't make sense with a default configuration

---------

Co-authored-by: Federico Coppede <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Mridang Agarwalla <[email protected]>
2026-02-11 08:48:52 +00:00
RamonandGitHub 5dab2ba658 fix: login v2 console feature toggle allow empty base uri (#11428)
# Which Problems Are Solved
The hosted login v2 required the base uri to be empty in the consoles
feature settings. The console however has a validator that checks if the
field is set to something.

# How the Problems Are Solved
Remove the required validator from the field.

# Additional Changes
Refactored the cnsl-login-v2-feature-toggle component to use the new
angular if statements.

# Additional Context
- Closes #11417
2026-02-11 08:32:56 +00:00
5a2181bcec chore: rename IAM to instance (#11351)
# Which Problems Are Solved

In many cases IAM was used where instance was meant. 

# How the Problems Are Solved

- Rename wrong usage of IAM to instance all over the code base.
- Add an agents.md which explains the terms used in Zitadel's
architecture.

# Additional Context

- closes #11280

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: muhlemmer <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Marco A. <[email protected]>
2026-02-10 20:25:39 +01:00
1f0d54a978 chore(docs): User (Human) naming consistency (#11512)
# Which Problems Are Solved

Naming inconsistencies - User (Human)

# How the Problems Are Solved

Most of the occurrences have not been changed. `User (Human)` was mostly
changed when talking about code objects and where I felt it was
necessary to distinguish them from machine users.

When both human and machine user occurrences were found, the machine
user has been changed to service account (see
https://github.com/zitadel/zitadel/issues/11285)

# Additional Context

- Closes #11284

---------

Co-authored-by: Wim Van Laer <[email protected]>
2026-02-06 09:46:24 +00:00
Livio SpringandGitHub 21723df541 chore: naming inconsistency project grants (#11488)
# Which Problems Are Solved

As part of the consistent naming effort, this PR focuses on "Project
Grants".

# How the Problems Are Solved

All terms referring to a project being granted to another organization
for self-management were changed to "Project Grant" or "project grant".

# Additional Changes

None

# Additional Context

- closes #11287
2026-02-06 09:29:05 +00:00
Livio SpringandGitHub ce30a5a98e feat(oidc): move back-channel logout from beta to GA (#11493)
# Which Problems Are Solved

This PR marks the OIDC Back-Channel Logout as general available (GA).

# How the Problems Are Solved

- API:
- deprecated the feature toggle (to prevent breaking changes) in v2beta
and v2 API
  - removed all related event logic and updated the projection iteration
  - removed the toggle usage for back-channel logout
  - removed related translations
- Management Console:
  - removed the feature toggle and its translations
- Docs:
  - removed all beta labels and feature toggle notes

# Additional Changes

none

# Additional Context

- closes #11277 
- requires backport to v4.x
2026-02-05 10:51:09 +00:00
Livio SpringandGitHub 39ad844fb5 feat(console): manage OIDC back-channel logout uri (#11446)
# Which Problems Are Solved

The Management Console lacked the ability to configure the OIDC
Back-Channel Logout URI for OIDC applications which was introduced in
the API a while ago.

# How the Problems Are Solved

This PR adds the property to the OIDC application detail page.

# Additional Changes

None

# Additional Context

- closes #8469 
- requires backport to v4.x
2026-02-05 07:55:44 +00:00
Max PeintnerandGitHub 38dbd4cf3e fix(login, console): replace allowUsernamePassword with allowLocalAuthentication in login, change translation in console (#11413)
# Which Problems Are Solved

This PR deprecates and replaces the use of `allowUsernamePassword` with
`allowLocalAuthentication`.
It additionally disables the username on organizations that disallow
local authentication. In such a case, only IDPs are shown.

# How the Problems Are Solved

- replace `allowUsernamePassword` by `allowLocalAuthentication`
- disable username form if !allowLocalAuthentication
- translate property in console UI
2026-02-04 12:54:37 +00:00
6f07b8deee docs: Quickstart add frameworks (#11485)
# Which Problems Are Solved

The quickstart only shows the steps to take to get a working zitadel
login into your app with react.
For users with another framework or languages we didn't show how to get
to success fast.

# How the Problems Are Solved

- Adding different frameworks to the qucisktart example
- Make sure the app configurations in the onboarding flow from the
console match the configurations from the examples
- Docs link in console onboarding flow point towards quickstart
- Quickstart accepts framework selector, to pre select a framework from
another page

---------

Co-authored-by: Federico Coppede <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-02-04 13:09:25 +01:00
b99271755b chore: renamed one time password to OTP (#11447)
# Which Problems Are Solved

naming consistency for TOTP/OTP

# How the Problems Are Solved


# Additional Changes


# Additional Context

- Closes #11299 
- Closes #11302 
- Closes #11304

---------

Co-authored-by: Marco A. <[email protected]>
Co-authored-by: Florian Forster <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-02-04 10:20:47 +01:00
Wim Van LaerandGitHub 61d4060df3 chore: naming inconsistency application (#11431) 2026-02-04 07:20:07 +00:00
09cf7cf0ae feat(oauth/oidc): move token exchange from beta to GA (#11475)
# Which Problems Are Solved

This PR marks the OAuth2 Token Exchange as general available (GA).

# How the Problems Are Solved

- API:
- deprecated the feature toggle (to prevent breaking changes) in v2beta
and v2 API
- removed all related event logic and updated the projection interation
  - removed the toggle usage for token exchange
  - removed related translations
- Management Console:
  - removed the feature toggle and its translations
- Docs:
  - removed all beta labels and feature toggle notes

# Additional Changes

- removed unused `Errors.WebKey.FeatureDisabled` translations

# Additional Context

- closes #11114

---------

Co-authored-by: Marco A. <[email protected]>
2026-02-02 09:47:56 +00:00
d8ea041c56 docs: introduce versioned docs and migrate to fuma (#11166)
## Todos for release

- [x] Configure Env in docs project on vercel
- [x] Configure Root Path in the docs project on vercel
- [ ] Remove old CSP https://github.com/zitadel/website/pull/1592

## What we did

This pull request migrates the project documentation from the old
`docs/` directory to the new `apps/docs/` directory, introduces a new
documentation system built with Next.js and Fumadocs, and updates all
relevant references, configuration files, and documentation to reflect
this change. It also adds new configuration and ignore files for the new
documentation app, updates CI and linting to exclude the new docs from
certain checks, and revises the contributing guidelines accordingly.

**Documentation System Migration and New Docs App**

* Migrated all documentation from `docs/` to `apps/docs/`, and updated
all references in `README.md`, `CONTRIBUTING.md`, and other files to
point to the new location.
[[1]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L585-L640)
[[2]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L660-R607)
[[3]](diffhunk://#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055L740-R687)
[[4]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L2-R3)
[[5]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L30-R30)
* Added a new Next.js/Fumadocs-based documentation app under
`apps/docs/`, including core app files, layouts, routing, search API,
and a comprehensive `README.md` with development and contribution
instructions.
[[1]](diffhunk://#diff-5a1b07344a2c1b4d3f37b23ff1388b62cd9f57dea3c1cd23d8a0412b7602b132R1-R74)
[[2]](diffhunk://#diff-462b9ad1eabbb7d1c29bb9c36e4931eb180fd7190900e6d2babf8f4d66ad1c28R1-R39)
[[3]](diffhunk://#diff-e16ae25660ded787b10ac35dea96d5ecaacf895dae0afc8a9bd4382dc79a8c87R1-R7)
[apps/docs/app/[[...slug]]/layout.tsxR1-R81](diffhunk://#diff-59e08acde4e805b7aeccef1dcf98f1d71dfc550777e6b9402085cee0e9fa4e0aR1-R81),
[apps/docs/app/[[...slug]]/page.tsxR1-R79](diffhunk://#diff-e5df3f80d0fa01e12d63d81f29c57a9d14e846c78fd3beabb2ef768e38fd9580R1-R79),
[[4]](diffhunk://#diff-389b34918e040cacaa87cd7201ffa462cc2b0b716736f537e3d3c660ac69353bR1-R7)
[[5]](diffhunk://#diff-d3b03416d1c457b19f1c27b26f2db741412df841b875c26ccadc36e4522247f4R1-R29)
[[6]](diffhunk://#diff-c8fb8339570a5305809be7c618e14705fd86390dc278e6ce8ba224a7bc8b0c3cR1-R25)

**Configuration and Tooling Updates**

* Updated `.github/workflows/codeql.yml`, `.golangci.yaml`, and
`.github/dependabot.yml` to properly handle the new docs app: excluded
`apps/docs` from certain checks, added npm dependency updates for the
docs app, and excluded generated content.
[[1]](diffhunk://#diff-12783128521e452af0cfac94b99b8d250413c516ec71fe6d97dbea666ff7ba27L8-R14)
[[2]](diffhunk://#diff-9917ddc9f1c3304218f7269265b746d997c5c0615478177b5fceecd33ef47cb5R5-R6)
[[3]](diffhunk://#diff-9917ddc9f1c3304218f7269265b746d997c5c0615478177b5fceecd33ef47cb5R126-R129)
[[4]](diffhunk://#diff-dd4fbda47e51f1e35defb9275a9cd9c212ecde0b870cba89ddaaae65c5f3cd28R89-R106)
* Updated `.devcontainer/devcontainer.json` to use the latest Go 1.25.3
version for consistency.

**Licensing and Miscellaneous**

* Added `apps/docs/` to the list of licensed directories in
`LICENSING.md`.

These changes ensure the documentation is now maintained in a modern,
scalable system and all project tooling is updated to support the new
structure.

---------

Co-authored-by: Federico Coppede <[email protected]>
2026-01-29 08:38:36 -08:00
RamonandGitHub 7b6395c348 fix: improve NX caching (#11434)
# Which Problems Are Solved
This PR improves our NX caching, especially for the console and api.
It makes sure that if the console is changed the api is also rebuilt and
if the api is changed the functional-ui tests are rerun. It is important
to note this only fixes a subset of our problems.

# How the Problems Are Solved
NX ignores .gitignored files even if they are explicitly added to the
inputs of an NX target. To counteract this one can add these files to a
.nxignore file with a negated pattern.
https://nx.dev/docs/reference/inputs#token-behavior-with-nested-projects
. This solution is not documented per se but can be find in this Github
issue: https://github.com/nrwl/nx/issues/6821 . Further more nx
calculates the hashes of inputs at the start and does not recalculate
them even if a dependency of a target changes. To solve this problem one
needs to use
https://nx.dev/docs/reference/inputs#outputs-of-dependent-tasks . This
comment of an NX developer helped me further to understand the actual
behaviour of NX:
https://github.com/nrwl/nx/issues/33379#issuecomment-3657929455 .

# Additional Changes
Because the functional-ui tests now correctly run again they had to be
fixed. This pr unifies the field names in the user create v1 and v2 ui.

# Additional Context
To document this somewhere, this proposed fix does not work:
https://github.com/nrwl/nx/issues/6821#issuecomment-1309475504 . In my
local testing NX runtime inputs also get executed at the beginning of
the NX loop and ignore subsequent changes by targets. While testing this
fix and browsing through NX code I found this, which could be helpful in
the future and isn't documented: https://github.com/nrwl/nx/pull/31428
2026-01-29 14:42:52 +01:00
Marco A.andGitHub 96bbd6a65c chore: management console naming inconsistency (#11390)
# Which Problems Are Solved

The following terms have all been renamed to management console:

- Customer Portal (when used to mean the console)
- Console
- Admin Console

# How the Problems Are Solved

- Search & Replace smartly
- Use Copilot for translation files

Changes done to: backend + frontend codebase, docs, translations and
protobufs (descriptions only)

# Additional Context

- Partially Closes #11279
2026-01-26 14:52:15 +00:00
1fc6f048a9 feat(i18n): add Arabic language support (#11161)
## Which Problems Are Solved

- Add comprehensive Arabic language support to ZITADEL

## How the Problems Are Solved

- Added full Arabic translation files for the login UI, console, and
notification (yaml and json).
- Ensured all keys match the latest English reference files to avoid
missing or inconsistent entries.
- Updated the localization loader to include `ar` as a supported
language.

## Additional Changes


## Additional Context


Closes #11146

---------

Co-authored-by: Marco A. <[email protected]>
2026-01-22 17:07:47 +01:00
d7cec1d3bd chore: replace "manager role" with "administrator role" (#11395)
# Which Problems Are Solved

As part of the naming consistency initiative, the term `Manager Roles`
is replaced by `Administrator Roles`

# How the Problems Are Solved

By replacing `Manager Roles` with `Administrator Roles` in API docs,
Console UI, and guides.

# Additional Changes
N/A

# Additional Context
- Closes https://github.com/zitadel/zitadel/issues/11293

---------

Co-authored-by: Copilot <[email protected]>
2026-01-21 13:06:27 +05:30
RamonandGitHub e401da3cfa fix(console): remove rehauled navigation #10863 (#10912)
# Which Problems Are Solved
The new breadcrumbs were causing problems with some more advanced
Zitadel setups. This pr removes the new breadcrumbs to revert to the old
navigation behaviour.

# How the Problems Are Solved
Most of the changes could be kept but those specific to the navigation
where mostly reverted.

# Additional Changes
Updated some dependencies.

# Additional Context
- Closes #10863
2026-01-16 08:30:09 +01:00
be9d2a53eb chore: replace given and family names with first and last names (#11343)
# Which Problems Are Solved

Naming inconsistency w.r.t the usage of Given Name / Family Name instead
of First Name / Last Name

# How the Problems Are Solved

* By replacing given and family names with first and last names in UI
and docs (not in the API definitions)
* Updated translations in multiple languages to first and last names
instead of given/family names

# Additional Changes
* Add `internal/**/*.yaml` path to the nx sources input to rebuild the
binary upon changes to these files
* Fix failing unit tests in `user_notifier_legacy_test.go` by updating
`Passwordless` with `Passkey`

# Additional Context
- Closes https://github.com/zitadel/zitadel/issues/11308

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Wim Van Laer <[email protected]>
2026-01-15 10:29:48 +00:00