c1e5deea42 chore(deps): bump vulnerable npm dependencies and refresh overrides (#12981)
# Which Problems Are Solved

- Several npm dependencies fell behind releases that contain security
fixes (`pnpm audit` reported 36 findings, 12 of them high).
- Some `pnpm-workspace.yaml` overrides had outdated floors or comments
that no longer named the parent pinning the old version.

# How the Problems Are Solved

Direct bumps:

| package | from | to | where | type |
|---|---|---|---|---|
| `next` | 16.3.6 | 16.3.8 | login, docs | patch |
| `@next/eslint-plugin-next` | 16.3.6 | 16.3.8 | login | patch |
| `@angular/*` framework packages (core, common, router, forms, …) |
21.2.24 | 21.2.25 | console | patch |
| `@angular/build`, `@angular/cli` | 21.2.24 | 21.2.27 | console | patch
|
| `moment` | 2.30.1 | 2.31.0 | login, console | minor |
| `concurrently` | 10.0.3 | 10.0.6 | login | patch |
| `vitest` | 4.1.11 | 4.1.12 | login, `@zitadel/client` | patch |

Lockfile refreshes within existing ranges:
- `hono` 4.13.9 → 4.13.13 (via `@modelcontextprotocol/sdk`)
- along with these, a few webpack subtree packages in docs (`raw-loader`
→ `webpack`) moved by a patch or minor version: `schema-utils`,
`watchpack`, `minimizer-webpack-plugin`, `browserslist`
- other transitive dependencies refreshed within their ranges

Removed:
- `@tailwindcss/typography` from docs (unused)

Overrides: all existing overrides were removed, dependencies
reinstalled, and only the ones `pnpm audit` still needs were re-added.
On top of that, this PR adds new overrides for packages whose latest
parent release still pins a vulnerable version. Each override is scoped
to the vulnerable range and names the parent that pins it:

| override | pinned by |
|---|---|
| `axios@>=1.0.0 <1.20.0` → `^1.20.0` (new) | nx 22.7.12 (latest 22.x) |
| `follow-redirects@<1.16.1` → `^1.16.1` (new) | nx 22.7.12 (latest
22.x) |
| `brace-expansion@>=4.0.0 <5.0.12` → `^5.0.12` (floor raised) | nx
22.7.12 |
| `smol-toml@<1.9.0` → `^1.9.0` (floor raised) | nx 22.7.12 |
| `@modelcontextprotocol/sdk@<1.32.0` → `^1.32.0` (new) | `@angular/cli`
21.2.27 (latest 21.x) |
| `vite@>=7.0.0 <7.3.7` → `^7.3.7` (new) | `@angular/build` 21.2.27
(latest 21.x) |
| `esbuild@>=0.27.3 <0.28.1` → `^0.28.1` | tsup 8.x (via
`@zitadel/client`) |
| `@opentelemetry/core`, `@opentelemetry/propagator-jaeger` | login's
`@opentelemetry/sdk-node` 0.218 and `auto-instrumentations-node` 0.76 |

Every new override stays within the same major version.

# Additional Changes

None of the bumps is a major release, and none changes anything
operators can observe. Manual checks:
- Login: `/ui/v2/login/loginname`, the password and passkey flows, and
the image-heavy pages (Next 16.3.8).
- Console: navigating between orgs, projects and users, including deep
links and the back button (Angular router 21.2.25).
- Docs: start the dev server and open a few MDX pages (vite override via
`fumadocs-mdx`).

# Additional Context

Still open in `pnpm audit` on purpose (11 packages: 9 moderate, 2 high):
- 8 `@opentelemetry/instrumentation-*` DB packages in login, pinned by
`auto-instrumentations-node` 0.76. The bump to sdk-node 0.222+ /
auto-instrumentations 0.80+ moves HTTP spans to stable semantic
conventions, which changes operator dashboards, so it will come as its
own PR.
- `braces` and `sprintf-js` via `@changesets/cli` 2.x. There is no 2.x
fix, and changesets 3 needs Node 22 while `release.yml` uses Node 20.
- `node-forge`: there is no upstream fix. Only the dockerized login test
CA uses it (`apps/login/dockerized/ca/utils/tls.ts`).

Follow-ups that would remove overrides: nx 23/24 (axios,
follow-redirects, brace-expansion, smol-toml), tsup 9 (esbuild), Angular
22 (MCP SDK, vite).

Verified locally: `pnpm install --frozen-lockfile`, `build test-unit
lint` for `@zitadel/login`, `@zitadel/client` and `@zitadel/console`,
and `check-types test` for `@zitadel/docs`. I didn't run the docs static
`build` locally (not enough disk), so that one relies on CI. I also
didn't run the dockerized login tests, because nothing changes the
image, containers or telemetry.

- Supersedes #12728 (next) and #12892 (moment)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Livio Spring <9405495+livio-a@users.noreply.github.com>
2026-10-23 07:15:12 +00:00
2026-09-28 06:10:03 +02:00
2023-07-17 10:08:20 +02:00
2024-07-26 22:39:55 +02:00
2021-02-08 16:48:41 +01:00
2025-04-02 16:53:06 +02:00
2026-02-04 11:51:43 +01:00
2026-02-25 19:36:00 -03:00
2026-06-10 11:53:26 +00:00

ZITADEL Logo ZITADEL Logo

GitHub Workflow Status (with event) GitHub contributors

The Identity Infrastructure for Developers

ZITADEL is an open-source identity and access management platform built for teams that need more than basic auth. Whether you're securing a SaaS product, building a B2B platform, or self-hosting a production IAM stack — ZITADEL gives you everything out of the box: SSO, MFA, Passkeys, OIDC, SAML, SCIM, and a battle-tested multi-tenancy model.

No vendor lock-in. No compromise on control. Just a robust, API-first identity platform you can own.


🏡 Website  |  💬 Chat  |  📋 Docs  |  🧑‍💻 Blog  |  📞 Contact


Why ZITADEL

We built ZITADEL to handle the hardest IAM challenges at scale — starting with multi-tenancy.

ZITADEL FusionAuth Keycloak Auth0/Okta
Open-source ✅ ❌ ✅ ❌
Self-hostable ✅ ✅ ✅ ❌
Infrastructure-level tenants ✅ Instances (High scale) ✅ Tenants 🟡 Realms (Scaling limits) ❌ (Multi-tenant = multi-account)
B2B Organizations ✅ Native & Unlimited 🟡 via Entity Management ✅ (Recent addition) 🟡 (Plan/Account dependent)
Full audit trail ✅ Comprehensive Event Stream* 🟡 Audit logs 🟡 Audit logs 🟡 Audit logs
Passkeys (FIDO2) ✅ ✅ ✅ ✅
Actions / webhooks ✅ ✅ 🟡 via SPI ✅
API-first (gRPC + REST) ✅ 🟡 REST only 🟡 REST only 🟡 REST only
SaaS + self-host parity ✅ ✅ ➖ N/A ➖ N/A

ZITADEL Cloud and self-hosted ZITADEL run the same codebase.

Key differentiators for architects:

  • Relational core, event-driven soul — every mutation is written as an immutable event for a complete, API-accessible audit trail. Unlike systems that log only select activities, ZITADEL provides a comprehensive event stream that can be audited or streamed to external systems via Webhooks.
  • Strict multi-tenant hierarchy — Identity System → Organizations → Projects, with isolated data and policy scoping at multiple levels
  • API-first design — every resource and action is available via connectRPC, gRPC, and HTTP/JSON APIs
  • Zero-downtime updates and horizontal scalability without external session stores

Get Started in 3 Minutes

👉 Quick Start Guide

ZITADEL Self-Hosted

# Docker Compose — up and running in under 3 minutes
curl -LO https://raw.githubusercontent.com/zitadel/zitadel/main/deploy/compose/docker-compose.yml \
  && curl -LO https://raw.githubusercontent.com/zitadel/zitadel/main/deploy/compose/.env.example \
  && cp .env.example .env \
  && docker compose up -d --wait

Full deployment guides:

Need professional support for your self-hosted deployment? Contact us.

ZITADEL Cloud (SaaS)

Start for free at zitadel.com — no credit card required. Available in US · EU · AU · CH. Pay-as-you-go pricing.


Integrate with the V2 API

ZITADEL exposes every capability over a typed API. Here's how to create a user with the V2 REST API:

curl -X POST https://$ZITADEL_DOMAIN/v2/users/human \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "alice@example.com",
    "profile": { "givenName": "Alice", "familyName": "Smith" },
    "email": { "email": "alice@example.com", "sendCode": {} }
  }'

Explore the full API reference — including connectRPC and gRPC transports — or jump straight to quickstart examples.


Features

Authentication

Multi-Tenancy

Integration

Self-Service & Admin

Deployment

Track upcoming features on our roadmap and follow our changelog for recent updates.


Showcase

Login V2

Our new, fully customizable login experience — documentation


Adopters & Ecosystem

Used in production by organizations worldwide. See the full Adopters list — and add yours by submitting a pull request.


How To Contribute

ZITADEL is built in the open and welcoming to contributions of all kinds.

Contributors

Made with contrib.rocks.


Security

Security policy: SECURITY.md

Vulnerability Disclosure Policy — how to responsibly report security issues.

Technical Advisories are published for major issues that could impact security or stability in production.

License

AGPL-3.0 — see LICENSING.md for the full licensing policy, including Apache 2.0 and MIT exceptions for specific directories.

Languages
Go 74.4%
TypeScript 12.2%
MDX 7.9%
HTML 2.6%
SCSS 1.2%
Other 1.7%