Skip to content

Commit c27a2d1

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat-teams-update
# Conflicts: # api/generated/oas_router_gen.go
2 parents 17ee22e + 7ea32f8 commit c27a2d1

102 files changed

Lines changed: 5631 additions & 883 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/delete-user-endpoint.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@zitadel/server": minor
3+
"@zitadel/api": minor
4+
---
5+
6+
Add `DELETE /users/{user_id}` to delete a user from a project. Requires an OAuth2 bearer with the `user.write` scope and returns `204 No Content`.

.changeset/list-user-passkeys.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
"@zitadel/server": minor
3+
"@zitadel/api": minor
4+
---
5+
6+
Add `GET /users/{user_id}/passkeys` to list a user's registered passkeys,
7+
returning each passkey's `id`, `name`, and `created_at`. Requires an OAuth2
8+
bearer with the `user.read` scope.
9+
10+
Registered passkeys now get a name of their own instead of reusing the user's
11+
display name, which was the same for every passkey a user registered (and empty
12+
whenever the flow collected no identifier). A passkey takes the name the
13+
registering caller supplies, and otherwise one derived from the credential
14+
itself: `Security key`, `Synced passkey`, or `Device-bound passkey`.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@zitadel/server": minor
3+
"@zitadel/api": minor
4+
---
5+
6+
Give every project a full key set at creation. The project key encryption key (KEK) now wraps purpose-scoped keys — token, secret and cookie encryption plus an EdDSA token signing key — and callers resolve them by purpose instead of sharing a single data-encryption key. Adds a `signing_keys` table and per-purpose "one active key per project" constraints.

.changeset/rotatable-kek.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/rotatable-master-key.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@zitadel/server": patch
3+
---
4+
5+
Support rotatable master keys. The master key wrapping each project's key encryption key (KEK) is configured under `server.master_keys`, and wrapped keys are re-encrypted under a replacement master key on startup, with new `domain.EncryptionKey` handling for encrypt/decrypt/rotation, storage v2 crypto-key persistence for PostgreSQL and Spanner, and dedicated error definitions (`encryption_key-*`).

.github/instructions/release-docs.instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ state of the repo.
1111
CLI smoke checks, npm pack dry runs, Moon release snapshots, and the
1212
`consumer-journey-e2e` fresh-app quality gate.
1313
- Local-runtime image changes should preserve the zero-config Docker smoke:
14-
mounted `nextgen-data`, a generated root KEK under `keks/`, embedded Postgres,
15-
and no required encryption-key configuration.
14+
mounted `nextgen-data`, a generated master key under `master-keys/`, embedded
15+
Postgres, and no required master-key configuration.
1616
- The release workflow publishes alpha npm packages and containers, then creates
1717
or updates a draft product GitHub Release shell. Product prose remains manual
1818
until maintainers publish the draft.

0 commit comments

Comments
 (0)