mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-18 05:52:51 +00:00
d3434dd46c1f4b7c2bdab75d79aa33b5096301ad
4320
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d3434dd46c |
fix(command): correct aggregate ID assignment of groups (#11725)
# Which Problems Are Solved The group write model used the `event.ID` field instead of `event.Aggregate().ID` as aggregate id. # How the Problems Are Solved replaced `event.ID` with `event.Aggregate().ID` |
||
|
|
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 |
||
|
|
7db9af486f |
docs: add guest user auth use case (#11715)
this PR adds a guest user auth doc to the use cases sidebar section |
||
|
|
8d09630a0d |
docs: update feedback form (#11717)
This PR forces the user to enter a reason/explanation before submitting a negative feedback. Negative feedback without an explanation is not actionable. |
||
|
|
a3d0df1f4c |
docs: small fixes across docs (#11687)
# Which Problems Are Solved This PR fixes a couple of minor issues in the docs: - Duplicated sentences - Obsolete names - Wrong header hierarchy # How the Problems Are Solved Solved by rewriting/fixing the mdx files. # Additional Changes none # Additional Context none |
||
|
|
7a72e7207e |
fix(i18n): instance error translations in API (#11708)
# Which Problems Are Solved #11351 renamed IAM to instance. This included also translation keys in the backend. As most translation files already contained an `Instance` in the error section, renaming `IAM` to `Instance` on the same level, results in a duplicate key. # How the Problems Are Solved This PR merges the section to remove the duplictes. # Additional Changes None # Additional Context - relates to #11351 - backport to v4.x --------- Co-authored-by: Tim Möhlmann <[email protected]> Co-authored-by: Copilot <[email protected]> |
||
|
|
855bac2731 |
fix: revert renaming of (management) console feature flag (#11706)
# Which Problems Are Solved #11390 renamed "Console" to "Management Console". This included a rename of the feature key to enable the management console to use the V2 API for user creation. Due to the rename generated events would also be changed, resp. existing events would be ignored, which leads to inconsistency in the data model. # How the Problems Are Solved Renamed the key back to `KeyConsoleUseV2UserApi`. And added a comment to prevent future issues. # Additional Changes None # Additional Context - relates to #11390 - backport to v4 |
||
|
|
fb35fdd3c7 |
feat: add recovery codes to user repository (#11702)
# Which Problems Are Solved Adds a repository implementation to add/remove recovery codes to the users relational table. # How the Problems Are Solved This is achieved by: * adding the following columns to the users table: `recovery_codes`, `recovery_code_last_successful_check`, `recovery_code_failed_attempts` * adding the `RecoveryCodes` field to the `HumanUser` domain with fields to set recovery `codes`, `lastSuccessfullyCheckedAt` timestamp, and `failedAttempts` * setting `recoveryCodes` in the `Get` user query statement to return a json object with details related to the recovery codes * adding the repository-layer implementation to add/remove recovery codes and set fields related to recovery code checks. * adding projection reducers to handle the following events: `HumanRecoveryCodesAddedEvent`, `HumanRecoveryCodesRemovedEvent`, `HumanRecoveryCodeCheckSucceededEvent`, and `HumanRecoveryCodeCheckFailedEvent` * adding unit tests # Additional Changes * fix the error message when the recovery is empty in `internal/command/user_human_recovery_codes.go` * add a new error message for empty recovery code during checks in `en.yaml` # Additional Context - Closes https://github.com/zitadel/zitadel/issues/11212 - Follow-up: integration tests for the reducers will be added in a different PR after this [PR](https://github.com/zitadel/zitadel/pull/11478) is merged |
||
|
|
850adc0da4 |
docs(deps): update fumadocs to latest versions (#11692)
## Summary Updates fumadocs packages to their latest versions: | Package | Before | After | |---------|--------|-------| | `fumadocs-core` | 16.6.3 | 16.6.5 | | `fumadocs-ui` | 16.6.3 | 16.6.5 | | `fumadocs-mdx` | 14.2.7 | 14.2.8 | | `fumadocs-openapi` | 10.3.6 | 10.3.11 | See https://github.com/fuma-nama/fumadocs/releases for full changelogs. Co-authored-by: Copilot <[email protected]> Co-authored-by: Federico Coppede <[email protected]> |
||
|
|
e9e6ad4e17 |
fix(test): resolve nil-pointer panic in TestCommandSide_ChangeUserHuman (#11695)
# Which Problems Are Solved
1. `nx run @zitadel/api:test-unit` panics in
`TestCommandSide_ChangeUserHuman` due to two test cases (added in
|
||
|
|
f5020f3873 |
chore: update the readme (#11694)
Just a little spring cleaning of the readme. |
||
|
|
ed48fbfbcd |
docs: update custom domain guide for customer portal (#11691)
This PR fixes some issues on the custom domain guide for the customer portal --------- Co-authored-by: Copilot <[email protected]> |
||
|
|
3b74b86dc4 |
fix(login): check for primary auth methods on user discovery (#11689)
# Which Problems Are Solved - Currently, if a user has only secondary authentication methods (like TOTP) configured but no primary authentication method (Password, Passkey, or IDP), the login flow fails to handle them correctly, resulting in an unhelpful "user not found" error when they attempt to log in. - These users are not correctly prompted to set up a primary authentication factor, leaving them in a state where they cannot successfully authenticate. # How the Problems Are Solved - Updated `sendLoginname` to evaluate if a user has an active primary authentication method (`AuthenticationMethodType.PASSWORD`, `PASSKEY`, or `IDP`. If they lack a primary method, the flow now correctly redirects them into the verification/invite process rather than falling through the method checks and returning a generic error. - Updated `sendVerification` to replace the empty `authMethodTypes` array check with a specific check for primary authentication methods. Now, after completing email/invite verification, users who do not have a primary authentication method are explicitly redirected to `/authenticator/set` to set one up. |
||
|
|
c8abf6de74 |
feat(login): add optional TLS termination support (#11663)
# Which Problems Are Solved The login container can only serve HTTP. In deployments where a reverse proxy is not used, operators need the login container to terminate TLS itself. Closes #11473 # How the Problems Are Solved The container now supports optional HTTPS via three environment variables that match the pattern already used by the backend server: `ZITADEL_TLS_ENABLED`, `ZITADEL_TLS_CERTPATH`, and `ZITADEL_TLS_KEYPATH`. When `ZITADEL_TLS_ENABLED` is not set or set to `false`, behavior is identical to before. When set to `true`, the server reads the provided certificate and key files and serves HTTPS using the lower-level `getRequestHandlers` API from Next.js. The Docker healthcheck was updated to probe the correct scheme automatically based on the same environment variable. # Additional Changes Added a dockerized integration test that verifies both HTTP and HTTPS modes using testcontainers. # Additional Context The TLS path uses `getRequestHandlers` from `next/dist/server/lib/start-server` instead of `startServer` because the latter rejects self-signed certificates in production mode. This is the same internal API that `startServer` itself calls. --------- Co-authored-by: Copilot <[email protected]> |
||
|
|
0261536243 | Merge commit from fork | ||
|
|
b2532e9666 |
Merge commit from fork
* Inject DenyList from config to `StartCommands()` * Implementation draft * Move address checker to separate package * Migrate usages of actions.AddressChecker to denylist.AddressChecker * Rename denylist package files * Pass []denylist.AddressChecker to StartCommand * Add DenyList to defaults.yaml and add custom config parser * net: add HostnameToIPList function * denylist: Add IsHostBlocked() * actions: use denylist.IsHostBlocked() * command: Inject ip lookup function + extend add target validationt test * command: Unexport ChangeTarget.IsValid() * command: Add denyList check on ChangeTarget validation * command: Export ActionsV2DenyList and IPLookupFunction params * Lint fix * Check denylist during action execution * Fix integration tests * Apply suggestions * Add `mapstructure.StringToSliceHookFunc()` to decode `HTTPConfigDecodeHook` |
||
|
|
bac224c56d |
chore: improve docker compose template, tests and docs (#11593)
Replaces the single-file `docker-compose.yaml` quickstart with a production-aware, Traefik-based compose pack in `deploy/compose/`. The pack covers the full arc from a 2-minute localhost quickstart to a hardened homelab or semi-production deployment. ### What's in the pack **Stack**: Traefik (proxy) → ZITADEL API (Go `:8080`) + ZITADEL Login (Next.js `:3000`) → PostgreSQL All HTTP/gRPC routing is handled by Traefik via Docker labels — no manual proxy config needed. The Login V2 UI is enabled by default. Login URLs are derived automatically from `ZITADEL_DOMAIN`, `ZITADEL_EXTERNALPORT`, and `ZITADEL_PUBLIC_SCHEME` — no separate URL variables needed. **Compose files** | File | Purpose | |------|---------| | `docker-compose.yml` | Base stack — works standalone. Uses explicit `name: zitadel` network for reliable Traefik service discovery. | | `docker-compose.mode-letsencrypt.yml` | TLS overlay: ACME HTTP challenge | | `docker-compose.mode-external-tls.yml` | TLS overlay: upstream LB/CDN terminates TLS. Uses `forwardedHeaders.trustedIPs` (configurable via `TRAEFIK_TRUSTED_IPS`) instead of `insecure=true`. | | `docker-compose.mode-local-tls.yml` | TLS overlay: self-signed certs for LAN | | `docker-compose.prodlike.yml` | Splits init / setup / start for controlled upgrades | | `docker-compose.test.yml` | CI overlay: swaps images to locally-built `:local` tags | **Optional profiles**: `cache` (Redis), `observability` (OpenTelemetry Collector) ### Build infra - New `@zitadel/api:pack` and `@zitadel/login:pack` Nx targets build local Docker images (`zitadel/zitadel:local`, `zitadel/zitadel-login:local`) for use in CI and local testing - `apps/api/Dockerfile` now accepts a `BINARY` build arg so local and release builds share the same image ### Testing - New `@zitadel/compose` Nx project with targets: `test-config` (validates all overlay combinations using `--quiet`), `test-run` (starts full stack with local images), `test-e2e` (Playwright wiring + protocol matrix tests through Traefik), `test-full` (end-to-end: build → start → test → teardown), `stop` - **`@zitadel/compose` is explicitly excluded from `nx affected` in CI for now** — the full stack smoke test requires a Docker daemon and significant resources. The intent is to add a dedicated `compose_smoke_test` CI job in a follow-up. The targets can be run locally with `pnpm nx run @zitadel/compose:test-full`. ### Documentation - **`compose.mdx`**: Complete rewrite with a staged structure (Stage 1 Quickstart → Stage 2 Homelab → Stage 3 Beyond Compose). Documents TLS modes, profiles, secrets hardening, ExternalDomain/Port/Secure invariant, upgrades, and the path to Kubernetes - **New `requirements.mdx`**: Lists supported PostgreSQL versions (14–18), Redis (standalone), Docker Compose v2.x, and reverse proxy h2c requirements - **`reverse_proxy.mdx`**: Added intro covering h2c requirements, TLS modes table, and Login UI routing split - **`troubleshooting.mdx`**: New sections for container restarts on upgrade, FIRSTINSTANCE env vars not taking effect, and diagnosing unhealthy containers - **`caddy/index.mdx`**: Known issue and workaround for the `TE: trailers` header hang - Removed the old `apps/docs/content/self-hosting/deploy/docker-compose.yaml` embedded in the docs ### Breaking change The old `apps/docs/content/self-hosting/deploy/docker-compose.yaml` file is deleted. The getting-started docs page (`/self-hosting/deploy/compose`) now points to the new pack via a `curl | tar` download command. --- ### Checklist - [x] `deploy/compose/` smoke test passes end-to-end locally (`pnpm nx run @zitadel/compose:test-full`) - [x] Docs build passes (`pnpm nx run @zitadel/docs:build`) - [ ] Follow-up issue created to add `compose_smoke_test` CI job --------- Co-authored-by: Mridang Agarwalla <[email protected]> |
||
|
|
54095b64b1 | feat(login): add LOGIN_SERVICE_KEY_FILE authentication support (#11572) | ||
|
|
839a2d3b5b |
Prevent failure in setup step 69 if cache.objects does not exist (#11673)
# Which Problems Are Solved If the `cache.objects`-table does not exist setup failes with the following error: `ERROR: relation "cache.objects" does not exist at character 44` # How the Problems Are Solved Changed statement to prevent immediately throw an error if the table is missing. # Additional Context - reported in https://discord.com/channels/927474939156643850/1473769282880934089 - backport to v4 |
||
|
|
ab0f045499 |
feat(login): dynamically configure languages based on settings (#11372)
Closes #11199 # Which Problems Are Solved This PR refactors the login app to load allowed languages and the default language directly from the Zitadel API equivalents (`getGeneralSettings`), rather than relying on a hardcoded list. This ensures that the available languages in the UI and the locale selection logic match the instance's configuration. # How the Problems Are Solved - Fetches allowed languages server-side and passes them to the LanguageSwitcher - The NEXT_LOCALE cookie and Accept-Language headers are now strictly validated against the API-provided allowed languages. - Fallback: If a cookie requests an unsupported language, the system now falls back to the API's defaultLanguage (instead of valid but unconfigured defaults). # Additional Changes Helper: Added `getLanguage(code)` to map API language codes to display names (utilizing Intl.DisplayNames if the code isn't in our static mapping). --------- Co-authored-by: Livio Spring <[email protected]> |
||
|
|
d27833e1bc |
feat(login): redirect configuration options in multi-domain setups (#11527)
# Which Problems Are Solved This PR introduces robust redirect configuration options and enhances security for Server Actions in multi-domain setups. # How the Problems Are Solved - Redirect Fallback Logic: Implemented a unified `resolveRedirectUri` utility that prioritizes redirect targets as follows: - Environment override (`DEFAULT_REDIRECT_URI`) - Organization settings (`defaultRedirectUri`). - Relative fallback (`/signedin?...`). - Host Reflection: `DEFAULT_REDIRECT_URI` supports absolute URLs or relative paths via host reflection. - Server Action Security: Configured `serverActions.allowedOrigins` to be dynamically manageable via the `SERVER_ACTION_ALLOWED_ORIGINS` environment variable (comma-separated list). It defaults to an empty list for maximum security. - UI Integration: Updated the /signedin page to use the unified redirect logic, ensuring consistent behavior for the "Continue" button. - Documentation: Added type definitions and detailed descriptions for new environment variables in `next-env-vars.d.ts` --------- Co-authored-by: Copilot <[email protected]> |
||
|
|
87aae1b5fc | chore(deps): bump the prod group across 1 directory with 16 updates (#11615) | ||
|
|
6ce78152e9 |
docs: add cloud production checklist (#11671)
# Which Problems Are Solved We do have a production checklist for self-hosters which lacks some important things for our cloud customers. # How the Problems Are Solved Adding a production checklist specifically for cloud users --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Florian Forster <[email protected]> |
||
|
|
5df8a97f9d |
feat(repository): implement user repository (#10967)
## Summary This PR introduces the relational user repository for backend v3, including schema, repository APIs, reducers/projections, and tests for both human and machine users. ## What changed * Added user-focused relational migrations (users, verifications, metadata, PATs, machine keys, passkeys, identity provider links) and related FK wiring. * Implemented/expanded repository domain contracts and storage implementations for human and machine user flows. * Added support for machine secret handling and aligned access token type modeling. * Extended user domain models (verifications, password/email/phone/TOTP state, passkeys, metadata, invite handling, identity provider links). * Updated projection/reduction coverage and integration tests for key user lifecycle events. * Regenerated and updated mocks/enums plus supporting database change/column utilities. ## Notes for reviewers * This PR is large because it establishes the foundational relational user storage layer and related test scaffolding. Sorry for that. ## Closes Closes #10218 Closes #10224 Closes #10225 Closes #10209 Closes #10802 --------- Co-authored-by: Iraq Jaber <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Marco A. <[email protected]> Co-authored-by: Tim Möhlmann <[email protected]> |
||
|
|
40c7b38ca1 |
docs: saas use-case - update project settings description for clarity (#11665)
# Which Problems Are Solved
The Project Settings section of the
[/docs/guides/solution-scenarios/saas](https://zitadel.com/docs/guides/solution-scenarios/saas#project-settings)
page refers to a setting `PROJECT.ROLE.CHECK` that got renamed
([1](https://github.com/zitadel/zitadel/blob/00f7dbe875606486a183f88c77497db9576e7cf5/console/src/assets/i18n/en.json#L1209),
[2](https://github.com/zitadel/zitadel/blob/0f2a349ec145fc3efe0ec45db52d1f974fa180d2/console/src/assets/i18n/en.json#L2138),
[3](https://github.com/zitadel/zitadel/blob/7e11f7a03279655366ab47909fd8b20151abc215/console/src/assets/i18n/en.json#L2138)).
Also, the meaning of the setting was inverted on [
|
||
|
|
6150a61216 | docs: added docs for the new dotnet example (#11541) | ||
|
|
71fab2e574 |
feat: allow adding trusted domains in instance setup (#11169)
# Which Problems Are Solved When running Zitadel behind a reverse proxy and especially when the API and the login UI don't run on the same domain, Zitadel needs to be configured to trust the corresponding domains and use them in public responses, like email links and more. This can be done by adding a trusted domain. However it's currently only possible through the API and not in the instance setup process. # How the Problems Are Solved Added a possibility to configure multiple trusted domains in the first instance setup process. # Additional Changes None # Additional Context - closes #11153 |
||
|
|
2c260a1f10 | docs: add description frontmatter to content pages for SEO (#11654) | ||
|
|
afeeee87c3 |
fix: allow creating new invite code before previous is invalid (#11649)
# Which Problems Are Solved In the refactoring of the logic for the creating and resending of invite codes (#9962), a bug was introduced where the creating of a new code was not possible if the request was to return it. It worked when being sent via mail. # How the Problems Are Solved Fixed the check for an existing code. # Additional Changes none # Additional Context - closes https://github.com/zitadel/zitadel/issues/10718 - requires backport to v4.x - relates to #9962 Co-authored-by: Marco A. <[email protected]> |
||
|
|
df8824e16c |
fix(login): CSP img-src resolved at build time instead of runtime (#11603)
<!-- 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 - On self-hosted ZITADEL, the CSP `img-src` directive was baked in at build time from `ZITADEL_API_URL`, blocking branding logos when the runtime domain differs from the build environment - CSP construction was duplicated across three files with no single source of truth # How the Problems Are Solved - Introduced a centralized `buildCSP()` function in `src/lib/csp.ts` that constructs the full CSP string from runtime inputs (`serviceUrl` for img-src, `iframeOrigins` for frame-ancestors) - Middleware and flow-initiation now call `buildCSP()` instead of concatenating strings against a static `DEFAULT_CSP` - `constants/csp.js` is simplified to a static fallback used only by `next.config.mjs` # Additional Changes - Removed no-op `securitySettings.embeddedIframe.allowedOrigins;` statements in flow-initiation - Removed duplicate `X-Frame-Options: SAMEORIGIN` header from `next.config.mjs` (conflicted with `X-Frame-Options: deny`) - Added `X-Frame-Options: deny` explicitly on proxy route responses in middleware (previously relied on next.config.mjs static header surviving the rewrite) # Additional Context - Closes #11088 - Closes #11602 |
||
|
|
1a2c2d3183 |
docs: update graphics to ensure naming is consistent (#11643)
# Which Problems Are Solved Some graphics used in the docs are using the wrong naming for specific terms # How the Problems Are Solved Replaced graphics with updated terms: - Role Assignment instead of User Grant, Authorization - Project Grant instead of Organization Grant Co-authored-by: Livio Spring <[email protected]> |
||
|
|
9b2507832a |
docs: update outdated screenshots (#11630)
# Which Problems Are Solved Update outdated screenshots in the docs. # How the Problems Are Solved By replacing the outdated ones with current screenshots # Additional Changes Replace the usage of "authorization" with "role assignments" in docs where it was previously missed. # Additional Context - Follow-up for PR https://github.com/zitadel/zitadel/pull/11588 - there are some more docs to be updated, which will be done in a following PR --------- Co-authored-by: Copilot <[email protected]> |
||
|
|
1494f91f80 |
fix: session termination after user deletion/deactivation (#11644)
# Which Problems Are Solved After a user is deactivated, their sessions are still valid. When the user is redirected to login page, they're stuck in a loop on a blank page on the `users/me` endpoint as the user's session is still valid. # How the Problems Are Solved By terminating a deactivated user's session. This is done by: - Adding a new reducer in session projection to delete sessions for `UserDeactivatedEvent`, `UserLockedEvent` and `UserRemovedEvent` events - Adding a new reducer in the relation session projection to delete sessions based on `UserDeactivatedEvent`, `UserLockedEvent` events # Additional Changes N/A # Additional Context - Closes https://github.com/zitadel/zitadel/issues/10307 - todo: add integration test cases for relational session reducers based on user deactivated, locked, deleted events |
||
|
|
545e2665f3 |
docs: fix code block styling by migrating to native fumadocs-ui components (#11646)
# Which Problems Are Solved - Docs code blocks that display imported files (YAML configs, Go examples) render as unstyled plain text with no syntax highlighting, unlike fenced code blocks which go through `rehypeCode`/Shiki # How the Problems Are Solved - Deleted `components/docusaurus/code-block.tsx` entirely — no custom wrapper is needed anymore - Replaced all usages with `DynamicCodeBlock` from `fumadocs-ui/components/dynamic-codeblock` directly in MDX files; it handles SSR pre-rendering through the same Shiki pipeline as all other code blocks - Raw file content (YAML, Go) is imported as strings via webpack's existing `asset/source` rule already configured in `next.config.mjs` — no new infrastructure required - In `_proxy_guide_tls_mode.mdx`, the `Commands` JSX component was refactored from concatenated JSX array children to a single template literal string, which is what `DynamicCodeBlock` (and any string-based highlighter) requires - All changes applied to both non-versioned docs and versioned snapshots (v4.10, v4.11) # Additional Changes None. # Additional Context - Affected MDX files: YAML config files under `self-hosting/manage/configure/`, reverse-proxy guides, `self-hosting/deploy/compose.mdx`, and the actions `testing-request-signature.mdx` guide <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>code block style is weird</issue_title> > <issue_description>### Preflight Checklist > > - [x] I could not find a solution in the existing issues, docs, nor discussions > - [x] I have joined the [ZITADEL chat](https://zitadel.com/chat) > > ### Describe the docs your are missing or that are wrong > > This hurts my eyes: > > <img width="867" height="525" alt="Image" src="https://github.com/user-attachments/assets/b7b66d92-56e1-4e0a-8dba-3cab448930fe" /> > > ### Additional Context > > _No response_</issue_description> > > <agent_instructions>the user reported a weirdly styled code block in the docs page where we used to display yaml files. Investigate the docs and fix the styling</agent_instructions> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > <comment_new><author>@fforootd</author><body> > haha, ok that is certainly weird, let me look at that.</body></comment_new> > </comments> > </details> <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes zitadel/zitadel#11645 <!-- START COPILOT CODING AGENT TIPS --> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: fforootd <[email protected]> Co-authored-by: Florian Forster <[email protected]> |
||
|
|
e25220bfab |
feat(login): add autoFocus to input components (#11566)
<!-- 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 The first input field on login screens is not automatically focused, requiring users to manually click before typing. This creates unnecessary friction during the login flow, particularly for keyboard-oriented users and accessibility scenarios. # How the Problems Are Solved - Added the `autoFocus` prop to the first `TextInput` in all 12 login form components. - For forms with conditionally rendered first inputs (`set-password-form` and `register-form-idp-incomplete`), `autoFocus` is set dynamically so the correct field receives focus depending on which input is visible. # Additional Changes None # Additional Context - Closes #11565 Co-authored-by: Max Peintner <[email protected]> |
||
|
|
9dd2773e80 | chore(build): enhance proto caching and install binary plugins for improved performance, remove reliance on BSR (#11634) | ||
|
|
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]> |
||
|
|
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 |
||
|
|
a5a5b65931 |
chore: update PR title convention and semantic types in AGENTS.md and CONTRIBUTING.md (#11620)
Since I and the agents sometimes get confused about which scopes and types to use in our commits and PRs, I've created an explicit list that we can verify against our existing `semantic.yml` file. Co-authored-by: Marco A. <[email protected]> Co-authored-by: Livio Spring <[email protected]> |
||
|
|
e41b70b1e3 |
feat(api): allow specifying access token type for user of type machine (#11599)
# Which Problems Are Solved The user service v2 didn't allow the specify or change the access token type for users of type machine and referred to using the management API, which in return was already deprecated and linked to the user service. # How the Problems Are Solved Added a possibility to specify the access token type in the creation and update request. # Additional Changes None # Additional Context - closes #10850 - requires backport to v4.x --------- Co-authored-by: Copilot <[email protected]> |
||
|
|
a31e435491 |
docs: fix readme logo file path (#11628)
# Which Problems Are Solved The readme file is using the wrong path for the zitadel logo and oidc-cert file. <img width="1252" height="415" alt="Screenshot 2026-02-18 at 15 15 07" src="https://github.com/user-attachments/assets/dc0dbe79-58fe-4695-ac01-6130b0e8441e" /> PR #11166 changed the README path from `./docs/static/logos/` to `./apps/docs/static/logos/`. However, that same commit actually moved the file to `apps/docs/public/img/logos/` — the README update used the wrong destination path. # How the Problems Are Solved - Replace image path with the correct one. # Additional Changes n/a # Additional Context n/a |
||
|
|
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]> |
||
|
|
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 |
||
|
|
64065bbe3c |
feat: add current password field to password reset (#11534)
<!-- 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 The password change flow in Login V2 does not ask the user to confirm their current password before setting a new one. # How the Problems Are Solved - Added a "Current Password" field to the change password form - The current password is verified via a session password check before the new password is set - If the current password is incorrect, the user sees a clear error message - Removed the previous 5-minute session freshness check, which is no longer needed since the current password is verified inline # Additional Changes Added translations for the new field labels and error messages across all supported languages # Additional Context - Closes #11533 --------- Co-authored-by: Max Peintner <[email protected]> |
||
|
|
11d48edd84 |
fix(login): update login logic to correctly handle email and phone re… (#11618)
## Problem Enabling `Disable Phone Login` (or `Disable Email Login`) in the login policy caused some users to receive "User not found in the system" even when logging in with a valid, non-phone identifier. Users whose preferred login name looked like an email address (e.g. `[email protected]` in an org-scoped context) were rejected incorrectly. Toggling the setting back off immediately restored login for those users. Fixes #11518 ## Root Cause In `loginname.ts` and `password.ts`, the post-lookup guard that enforces the disable-phone/email restriction used `||` instead of `&&`: ```ts // BEFORE (buggy): rejects if preferredLoginName doesn't match OR email doesn't match // → any user whose preferredLoginName ≠ raw email is rejected if (user.preferredLoginName !== concatLoginname || humanUser?.email?.email !== command.loginName) { return preventUserEnumeration(...); } // AFTER (correct): rejects only if preferredLoginName doesn't match AND email doesn't match // → user passes through if they matched by either their preferred login name or their email if (user.preferredLoginName !== concatLoginname && humanUser?.email?.email !== command.loginName) { return preventUserEnumeration(...); } ``` The intent is to allow the user through if they matched by their preferred login name **or** by the still-permitted identifier. By De Morgan's law, the rejection condition must be `¬A ∧ ¬B`, not `¬A ∨ ¬B`. ## Changes - **`loginname.ts`**: fixed 2 `||` → `&&` in the `disableLoginWithEmail` and `disableLoginWithPhone` guards - **`password.ts`**: fixed 4 `||` → `&&` across the same guards in both `resetPassword` and `sendPassword` - **`loginname.test.ts`**: added two regression tests: - `disableLoginWithPhone=true`, user logs in with their email-format preferred login name → must succeed (was broken) - `disableLoginWithPhone=true`, user logs in with their actual phone number → must be blocked (feature still works) ## Testing All 654 unit tests pass. Co-authored-by: Max Peintner <[email protected]> |
||
|
|
f3b578f19f | fix(log): correct log stream in setup (#11623) | ||
|
|
c02d812b6c |
fix(slog): masking of grouped attributes (#11606)
# Which Problems Are Solved Group attributes weren't masked if their corresponding key was configured. For example setting `data` as a masked key entry in the runtime config would still print unmasked event data. This was because ReplaceAttr does not receive group attributes, only the flattened attributes with group information. # How the Problems Are Solved Check the current groups stack in the replacer. When a configured key is found in the group, mask the current attribute. This means that the attribute structure is preserved and all sub-keys of a masked group are still printed. # Additional Changes - Use a binary search for key matching. As we are now comparing slice against slice, a binary search should make the process a little faster if many keys are configured. # Additional Context - Follow-up for PR #11435 --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: muhlemmer <[email protected]> |
||
|
|
93c6099482 |
chore(deps-dev): bump the dev group across 1 directory with 13 updates (#11548)
Bumps the dev group with 13 updates in the /apps/docs directory: | Package | From | To | | --- | --- | --- | | [@bufbuild/buf](https://github.com/bufbuild/buf) | `1.61.0` | `1.65.0` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.2` | `10.0.1` | | [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.1.17` | `4.1.18` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.19.7` | `25.2.3` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.54.0` | `8.55.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.54.0` | `8.55.0` | | [eslint](https://github.com/eslint/eslint) | `8.57.1` | `10.0.0` | | [glob](https://github.com/isaacs/node-glob) | `11.0.3` | `13.0.2` | | [globals](https://github.com/sindresorhus/globals) | `17.2.0` | `17.3.0` | | [next-validate-link](https://github.com/fuma-nama/next-validate-link) | `1.6.3` | `1.6.4` | | [semver](https://github.com/npm/node-semver) | `7.7.3` | `7.7.4` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.14` | `4.1.18` | | [yaml-loader](https://github.com/eemeli/yaml-loader) | `0.8.1` | `0.9.0` | Updates `@bufbuild/buf` from 1.61.0 to 1.65.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bufbuild/buf/releases"><code>@bufbuild/buf</code>'s releases</a>.</em></p> <blockquote> <h2>v1.65.0</h2> <ul> <li>Add <code>buf registry policy {commit,create,delete,info,label,settings}</code> commands to manage BSR policies.</li> <li>Add LSP deprecate code action to add the deprecated option on types and symbols.</li> <li>Fix import LSP document link to not include <code>import</code> keyword.</li> <li>Update <code>PROTOVALIDATE</code> lint rule to support checking unenforceable <code>required</code> rules on <code>repeated.items</code>, <code>map.keys</code> and <code>map.values</code>.</li> <li>Add <code>buf source edit deprecate</code> command to deprecate types by setting the <code>deprecate = true</code> option.</li> </ul> <h2>v1.64.0</h2> <ul> <li>Fix LSP completion for options.</li> <li>Add LSP document highlighting support.</li> <li>Add LSP completion for fully-qualified type references.</li> <li>Improve LSP semantic tokens implementation (for syntax highlighting).</li> <li>Add LSP organize imports code action to add missing imports, remove unused imports, and sort imports alphabetically.</li> <li>Add LSP document link support.</li> <li>Add LSP folding range support.</li> <li>Update <code>PROTOVALIDATE</code> lint rule to support checking <code>cel_expression</code> fields for valid CEL.</li> </ul> <h2>v1.63.0</h2> <ul> <li>Update <code>PROTOVALIDATE</code> lint rule to support field mask rules.</li> <li>Add LSP completion for field numbers.</li> </ul> <h2>v1.62.1</h2> <ul> <li>Fix default behavior for <code>swift_prefix</code> to remain unset when no override is provided in managed mode.</li> </ul> <h2>v1.62.0</h2> <ul> <li>Add <code>swift_prefix</code> to managed mode.</li> <li>Add <code>textDocument/rename</code> and <code>textDocument/prepareRename</code> support for <code>buf lsp serve</code>.</li> <li>Fix panic in LSP for empty option paths.</li> <li>Fix support for multi-arch image manifests for <code>buf beta registry plugin push</code>.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bufbuild/buf/blob/main/CHANGELOG.md"><code>@bufbuild/buf</code>'s changelog</a>.</em></p> <blockquote> <h2>[v1.65.0] - 2026-02-03</h2> <ul> <li>Add <code>buf registry policy {commit,create,delete,info,label,settings}</code> commands to manage BSR policies.</li> <li>Add LSP deprecate code action to add the deprecated option on types and symbols.</li> <li>Fix import LSP document link to not include <code>import</code> keyword.</li> <li>Update <code>PROTOVALIDATE</code> lint rule to support checking unenforceable <code>required</code> rules on <code>repeated.items</code>, <code>map.keys</code> and <code>map.values</code>.</li> <li>Add <code>buf source edit deprecate</code> command to deprecate types by setting the <code>deprecate = true</code> option.</li> </ul> <h2>[v1.64.0] - 2026-01-19</h2> <ul> <li>Fix LSP completion for options.</li> <li>Add LSP document highlighting support.</li> <li>Add LSP completion for fully-qualified type references.</li> <li>Improve LSP semantic tokens implementation (for syntax highlighting).</li> <li>Add LSP organize imports code action to add missing imports, remove unused imports, and sort imports alphabetically.</li> <li>Add LSP document link support.</li> <li>Add LSP folding range support.</li> <li>Update <code>PROTOVALIDATE</code> lint rule to support checking <code>cel_expression</code> fields for valid CEL.</li> </ul> <h2>[v1.63.0] - 2026-01-06</h2> <ul> <li>Update <code>PROTOVALIDATE</code> lint rule to support field mask rules.</li> <li>Add LSP completion for field numbers.</li> </ul> <h2>[v1.62.1] - 2025-12-29</h2> <ul> <li>Fix default behavior for <code>swift_prefix</code> to remain unset when no override is provided in managed mode.</li> </ul> <h2>[v1.62.0] - 2025-12-29</h2> <ul> <li>Add <code>swift_prefix</code> to managed mode.</li> <li>Add <code>textDocument/rename</code> and <code>textDocument/prepareRename</code> support for <code>buf lsp serve</code>.</li> <li>Fix panic in LSP for empty option paths.</li> <li>Fix support for multi-arch image manifests for <code>buf beta registry plugin push</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bufbuild/buf/commit/5155f6174d9a74aa2668b0ba0ac26a84ed15ba7e"><code>5155f61</code></a> Release v1.65.0 (<a href="https://redirect.github.com/bufbuild/buf/issues/4316">#4316</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/772be42e9f75a76af4a9b265590fddc6f61cac96"><code>772be42</code></a> Update alpine image (<a href="https://redirect.github.com/bufbuild/buf/issues/4315">#4315</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/84520721570c729ace25fa5d69061ac7fcf478e3"><code>8452072</code></a> Add buf source edit deprecate command (<a href="https://redirect.github.com/bufbuild/buf/issues/4306">#4306</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/1596cdd76486c928ed4f985e30d7b766a4c6815c"><code>1596cdd</code></a> Add tags to LSP diagnostics (<a href="https://redirect.github.com/bufbuild/buf/issues/4311">#4311</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/7b0cdfd737db299bffbe1f79e61fa8cadb6382ba"><code>7b0cdfd</code></a> Make upgrade (<a href="https://redirect.github.com/bufbuild/buf/issues/4314">#4314</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/16e09a1373cc1b7cb4a641fe41c5509d0c40732c"><code>16e09a1</code></a> Fix edge case in LSP symbol doc hover (<a href="https://redirect.github.com/bufbuild/buf/issues/4310">#4310</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/08df2b35ef620d7ec4b09afb6e6c01ed56224b18"><code>08df2b3</code></a> Update <code>PROTOVALIDATE</code> lint rule to check unenforceable required rules (<a href="https://redirect.github.com/bufbuild/buf/issues/4309">#4309</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/4899175426b22dc3344452ca9e5e407d2a94e262"><code>4899175</code></a> Fix import LSP document link to not include <code>import</code> keyword (<a href="https://redirect.github.com/bufbuild/buf/issues/4308">#4308</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/15d712bc3de6ee522fa95a371b4db9d8f2ac6f2a"><code>15d712b</code></a> Add LSP code action for deprecating symbols (<a href="https://redirect.github.com/bufbuild/buf/issues/4299">#4299</a>)</li> <li><a href="https://github.com/bufbuild/buf/commit/2bdc2170adbc5fb9e24e4d36b85e8a2474aa6775"><code>2bdc217</code></a> Separate deprecated types in protostat (<a href="https://redirect.github.com/bufbuild/buf/issues/4307">#4307</a>)</li> <li>Additional commits viewable in <a href="https://github.com/bufbuild/buf/compare/v1.61.0...v1.65.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by [GitHub Actions](<a href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a> Actions), a new releaser for <code>@bufbuild/buf</code> since your current version.</p> </details> <br /> Updates `@eslint/js` from 9.39.2 to 10.0.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases"><code>@eslint/js</code>'s releases</a>.</em></p> <blockquote> <h2>v10.0.0</h2> <h2>Breaking Changes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b"><code>f9e54f4</code></a> feat!: estimate rule-tester failure location (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20420">#20420</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f"><code>a176319</code></a> feat!: replace <code>chalk</code> with <code>styleText</code> and add <code>color</code> to <code>ResultsMeta</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20227">#20227</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84"><code>c7046e6</code></a> feat!: enable JSX reference tracking (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20152">#20152</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa"><code>fa31a60</code></a> feat!: add <code>name</code> to configs (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20015">#20015</a>) (Kirk Waiblinger)</li> <li><a href="https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0"><code>3383e7e</code></a> fix!: remove deprecated <code>SourceCode</code> methods (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20137">#20137</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce"><code>501abd0</code></a> feat!: update dependency minimatch to v10 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20246">#20246</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e"><code>ca4d3b4</code></a> fix!: stricter rule tester assertions for valid test cases (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20125">#20125</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b"><code>96512a6</code></a> fix!: Remove deprecated rule context methods (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20086">#20086</a>) (Nicholas C. Zakas)</li> <li><a href="https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90"><code>c69fdac</code></a> feat!: remove eslintrc support (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20037">#20037</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04"><code>208b5cc</code></a> feat!: Use <code>ScopeManager#addGlobals()</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20132">#20132</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14"><code>a2ee188</code></a> fix!: add <code>uniqueItems: true</code> in <code>no-invalid-regexp</code> option (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20155">#20155</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab"><code>a89059d</code></a> feat!: Program range span entire source text (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20133">#20133</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53"><code>39a6424</code></a> fix!: assert 'text' is a string across all RuleFixer methods (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20082">#20082</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44"><code>f28fbf8</code></a> fix!: Deprecate <code>"always"</code> and <code>"as-needed"</code> options of the <code>radix</code> rule (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20223">#20223</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98"><code>aa3fb2b</code></a> fix!: tighten <code>func-names</code> schema (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20119">#20119</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756"><code>f6c0ed0</code></a> feat!: report <code>eslint-env</code> comments as errors (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20128">#20128</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db"><code>4bf739f</code></a> fix!: remove deprecated <code>LintMessage#nodeType</code> and <code>TestCaseError#type</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20096">#20096</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247"><code>523c076</code></a> feat!: drop support for jiti < 2.2.0 (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20016">#20016</a>) (michael faith)</li> <li><a href="https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64"><code>454a292</code></a> feat!: update <code>eslint:recommended</code> configuration (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20210">#20210</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1"><code>4f880ee</code></a> feat!: remove <code>v10_*</code> and inactive <code>unstable_*</code> flags (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20225">#20225</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f"><code>f18115c</code></a> feat!: <code>no-shadow-restricted-names</code> report <code>globalThis</code> by default (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20027">#20027</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e"><code>c6358c3</code></a> feat!: Require Node.js <code>^20.19.0 || ^22.13.0 || >=24</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20160">#20160</a>) (Milos Djermanovic)</li> </ul> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822"><code>bff9091</code></a> feat: handle <code>Array.fromAsync</code> in <code>array-callback-return</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20457">#20457</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222"><code>290c594</code></a> feat: add <code>self</code> to <code>no-implied-eval</code> rule (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20468">#20468</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2"><code>43677de</code></a> feat: fix handling of function and class expression names in <code>no-shadow</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20432">#20432</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/f0cafe5f37e7765e9d8c2751b5f5d33107687009"><code>f0cafe5</code></a> feat: rule tester add assertion option <code>requireData</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20409">#20409</a>) (fnx)</li> <li><a href="https://github.com/eslint/eslint/commit/f7ab6937e63bc618d326710858f5861a68f80616"><code>f7ab693</code></a> feat: output RuleTester test case failure index (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/19976">#19976</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/7cbcbf9c3c2008deee7d143ae35e668e8ffbccb3"><code>7cbcbf9</code></a> feat: add <code>countThis</code> option to <code>max-params</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20236">#20236</a>) (Gerkin)</li> <li><a href="https://github.com/eslint/eslint/commit/f148a5eaa1e89dd80ade62f0a690186b00b9f6e1"><code>f148a5e</code></a> feat: add error assertion options (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20247">#20247</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/09e66549ecada6dcb8c567a60faf044fce049188"><code>09e6654</code></a> feat: update error loc of <code>require-yield</code> and <code>no-useless-constructor</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20267">#20267</a>) (Tanuj Kanti)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/436b82f3c0a8cfa2fdc17d173e95ea11d5d3ee03"><code>436b82f</code></a> fix: update eslint (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20473">#20473</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/1d29d22fe302443cec2a11da0816397f94af97ec"><code>1d29d22</code></a> fix: detect default <code>this</code> binding in <code>Array.fromAsync</code> callbacks (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20456">#20456</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/727451eff55b35d853e0e443d0de58f4550762bf"><code>727451e</code></a> fix: fix regression of global mode report range in <code>strict</code> rule (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20462">#20462</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/e80485fcd27196fa0b6f6b5c7ac8cf49ad4b079d"><code>e80485f</code></a> fix: remove fake <code>FlatESLint</code> and <code>LegacyESLint</code> exports (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20460">#20460</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/9eeff3bc13813a786b8a4c3815def97c0fb646ef"><code>9eeff3b</code></a> fix: update esquery (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20423">#20423</a>) (cryptnix)</li> <li><a href="https://github.com/eslint/eslint/commit/b34b93852d014ebbcf3538d892b55e0216cdf681"><code>b34b938</code></a> fix: use <code>Error.prepareStackTrace</code> to estimate failing test location (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20436">#20436</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/51aab5393b058f7cbed69041a9069b2bd106aabd"><code>51aab53</code></a> fix: update eslint (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20443">#20443</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/23490b266276792896a0b7b43c49a1ce87bf8568"><code>23490b2</code></a> fix: handle space before colon in <code>RuleTester</code> location estimation (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20433">#20433</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/f244dbf2191267a4cafd08645243624baf3e8c83"><code>f244dbf</code></a> fix: use <code>MessagePlaceholderData</code> type from <code>@eslint/core</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20348">#20348</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/d186f8c0747f14890e86a5a39708b052b391ddaf"><code>d186f8c</code></a> fix: update eslint (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20427">#20427</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/2332262deb4ef3188b210595896bb0ff552a7e66"><code>2332262</code></a> fix: error location should not modify error message in RuleTester (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20421">#20421</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/ab99b21a6715dee1035d8f4e6d6841853eb5563f"><code>ab99b21</code></a> fix: ensure <code>filename</code> is passed as third argument to <code>verifyAndFix()</code> (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20405">#20405</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/8a60f3bc80ad96c65feeb29886342623c630199c"><code>8a60f3b</code></a> fix: remove <code>ecmaVersion</code> and <code>sourceType</code> from <code>ParserOptions</code> type (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20415">#20415</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/eafd727a060131f7fc79b2eb5698d8d27683c3a2"><code>eafd727</code></a> fix: remove <code>TDZ</code> scope type (<a href="https://github.com/eslint/eslint/tree/HEAD/packages/js/issues/20231">#20231</a>) (jaymarvelz)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/eslint/eslint/commits/HEAD/packages/js">compare view</a></li> </ul> </details> <br /> Updates `@tailwindcss/postcss` from 4.1.17 to 4.1.18 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/releases"><code>@tailwindcss/postcss</code>'s releases</a>.</em></p> <blockquote> <h2>v4.1.18</h2> <h3>Fixed</h3> <ul> <li>Ensure validation of <code>source(…)</code> happens relative to the file it is in (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19274">#19274</a>)</li> <li>Include filename and line numbers in CSS parse errors (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19282">#19282</a>)</li> <li>Skip comments in Ruby files when checking for class names (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243">#19243</a>)</li> <li>Skip over arbitrary property utilities with a top-level <code>!</code> in the value (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243">#19243</a>)</li> <li>Support environment API in <code>@tailwindcss/vite</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18970">#18970</a>)</li> <li>Preserve case of theme keys from JS configs and plugins (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19337">#19337</a>)</li> <li>Write source maps correctly on the CLI when using <code>--watch</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19373">#19373</a>)</li> <li>Handle special defaults (like <code>ringColor.DEFAULT</code>) in JS configs (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19348">#19348</a>)</li> <li>Improve backwards compatibility for <code>content</code> theme key from JS configs (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19381">#19381</a>)</li> <li>Upgrade: Handle <code>future</code> and <code>experimental</code> config keys (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19344">#19344</a>)</li> <li>Try to canonicalize any arbitrary utility to a bare value (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19379">#19379</a>)</li> <li>Validate candidates similarly to Oxide (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19397">#19397</a>)</li> <li>Canonicalization: combine <code>text-*</code> and <code>leading-*</code> classes (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19396">#19396</a>)</li> <li>Correctly handle duplicate CLI arguments (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19416">#19416</a>)</li> <li>Don’t emit color-mix fallback rules inside <code>@keyframes</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19419">#19419</a>)</li> <li>CLI: Don't hang when output is <code>/dev/stdout</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19421">#19421</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md"><code>@tailwindcss/postcss</code>'s changelog</a>.</em></p> <blockquote> <h2>[4.1.18] - 2025-12-11</h2> <h3>Fixed</h3> <ul> <li>Ensure validation of <code>source(…)</code> happens relative to the file it is in (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19274">#19274</a>)</li> <li>Include filename and line numbers in CSS parse errors (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19282">#19282</a>)</li> <li>Skip comments in Ruby files when checking for class names (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243">#19243</a>)</li> <li>Skip over arbitrary property utilities with a top-level <code>!</code> in the value (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243">#19243</a>)</li> <li>Support environment API in <code>@tailwindcss/vite</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18970">#18970</a>)</li> <li>Preserve case of theme keys from JS configs and plugins (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19337">#19337</a>)</li> <li>Write source maps correctly on the CLI when using <code>--watch</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19373">#19373</a>)</li> <li>Handle special defaults (like <code>ringColor.DEFAULT</code>) in JS configs (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19348">#19348</a>)</li> <li>Improve backwards compatibility for <code>content</code> theme key from JS configs (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19381">#19381</a>)</li> <li>Upgrade: Handle <code>future</code> and <code>experimental</code> config keys (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19344">#19344</a>)</li> <li>Try to canonicalize any arbitrary utility to a bare value (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19379">#19379</a>)</li> <li>Validate candidates similarly to Oxide (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19397">#19397</a>)</li> <li>Canonicalization: combine <code>text-*</code> and <code>leading-*</code> classes (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19396">#19396</a>)</li> <li>Correctly handle duplicate CLI arguments (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19416">#19416</a>)</li> <li>Don’t emit color-mix fallback rules inside <code>@keyframes</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19419">#19419</a>)</li> <li>CLI: Don't hang when output is <code>/dev/stdout</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19421">#19421</a>)</li> </ul> <h2>[3.4.19] - 2025-12-10</h2> <h3>Fixed</h3> <ul> <li>Don’t break <code>sibling-*()</code> functions when used inside <code>calc(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/19335">#19335</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tailwindlabs/tailwindcss/commit/9b32f7cb2fd341e1f9ddbe40a4d61d2f272ae33f"><code>9b32f7c</code></a> Release v4.1.18 (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19431">#19431</a>)</li> <li><a href="https://github.com/tailwindlabs/tailwindcss/commit/9c8cf8ac19dd5e742794d33e249b4f9c69b3fa5c"><code>9c8cf8a</code></a> Fix formatting of path in README.md (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19407">#19407</a>)</li> <li>See full diff in <a href="https://github.com/tailwindlabs/tailwindcss/commits/v4.1.18/packages/@tailwindcss-postcss">compare view</a></li> </ul> </details> <br /> Updates `@types/node` from 22.19.7 to 25.2.3 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.54.0 to 8.55.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/eslint-plugin</code>'s releases</a>.</em></p> <blockquote> <h2>v8.55.0</h2> <h2>8.55.0 (2026-02-09)</h2> <h3>🚀 Features</h3> <ul> <li><strong>utils:</strong> deprecate defaultOptions in favor of meta.defaultOptions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11992">#11992</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unused-vars] remove trailing newline when removing entire import (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11990">#11990</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] require strictNullChecks (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11966">#11966</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12000">#12000</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] report unnecessary defaults in ternary expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11984">#11984</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] reduce param index to ts this handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11949">#11949</a>)</li> <li><strong>typescript-estree:</strong> forbid invalid modifier in object expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11931">#11931</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Christian Rose <a href="https://github.com/chrros95"><code>@chrros95</code></a></li> <li>fisker Cheung <a href="https://github.com/fisker"><code>@fisker</code></a></li> <li>Josh Goldberg</li> <li>Maria Solano <a href="https://github.com/MariaSolOs"><code>@MariaSolOs</code></a></li> <li>Minyeong Kim <a href="https://github.com/minyeong981"><code>@minyeong981</code></a></li> <li>SungHyun627 <a href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li> <li>Yukihiro Hasegawa <a href="https://github.com/y-hsgw"><code>@y-hsgw</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.55.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md"><code>@typescript-eslint/eslint-plugin</code>'s changelog</a>.</em></p> <blockquote> <h2>8.55.0 (2026-02-09)</h2> <h3>🚀 Features</h3> <ul> <li><strong>utils:</strong> deprecate defaultOptions in favor of meta.defaultOptions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11992">#11992</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] reduce param index to ts this handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11949">#11949</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] report unnecessary defaults in ternary expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11984">#11984</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] require strictNullChecks (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11966">#11966</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12000">#12000</a>)</li> <li><strong>eslint-plugin:</strong> [no-unused-vars] remove trailing newline when removing entire import (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11990">#11990</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Christian Rose <a href="https://github.com/chrros95"><code>@chrros95</code></a></li> <li>Josh Goldberg</li> <li>Maria Solano <a href="https://github.com/MariaSolOs"><code>@MariaSolOs</code></a></li> <li>Minyeong Kim <a href="https://github.com/minyeong981"><code>@minyeong981</code></a></li> <li>SungHyun627 <a href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li> <li>Yukihiro Hasegawa <a href="https://github.com/y-hsgw"><code>@y-hsgw</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.55.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/fedfe8665afbabd5c7d3ee09d14f450d5ba0b10a"><code>fedfe86</code></a> chore(release): publish 8.55.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/8a95834bb5fd818cc049390e4cb57196717a011f"><code>8a95834</code></a> fix(eslint-plugin): [no-useless-default-assignment] reduce param index to ts ...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/4ba1e72cd76f357044dca209978d87137c31e6c0"><code>4ba1e72</code></a> fix(eslint-plugin): [no-useless-default-assignment] report unnecessary defaul...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1f86179074a143fdb06445a28b1144427d33ec9"><code>a1f8617</code></a> feat(utils): deprecate defaultOptions in favor of meta.defaultOptions (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11992">#11992</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3f0ce54da520cdc58f1dd2e2c45073c92617e2c2"><code>3f0ce54</code></a> fix(eslint-plugin): [no-useless-default-assignment] require strictNullChecks ...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/3df0002e8663f170749cc4a9a054af377cf0c554"><code>3df0002</code></a> fix(eslint-plugin): [no-unused-vars] remove trailing newline when removing en...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/b931f8c706beafc289462824814dca158694cb48"><code>b931f8c</code></a> chore: use workspace refs for workspace deps (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12018">#12018</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1f17a7918cd507b11fd04ce75fe44a9c62bf9542"><code>1f17a79</code></a> chore: migrate to pnpm (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11248">#11248</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.55.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.54.0 to 8.55.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases"><code>@typescript-eslint/parser</code>'s releases</a>.</em></p> <blockquote> <h2>v8.55.0</h2> <h2>8.55.0 (2026-02-09)</h2> <h3>🚀 Features</h3> <ul> <li><strong>utils:</strong> deprecate defaultOptions in favor of meta.defaultOptions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11992">#11992</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unused-vars] remove trailing newline when removing entire import (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11990">#11990</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] require strictNullChecks (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11966">#11966</a>, <a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12000">#12000</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] report unnecessary defaults in ternary expressions (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11984">#11984</a>)</li> <li><strong>eslint-plugin:</strong> [no-useless-default-assignment] reduce param index to ts this handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11949">#11949</a>)</li> <li><strong>typescript-estree:</strong> forbid invalid modifier in object expression (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11931">#11931</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Christian Rose <a href="https://github.com/chrros95"><code>@chrros95</code></a></li> <li>fisker Cheung <a href="https://github.com/fisker"><code>@fisker</code></a></li> <li>Josh Goldberg</li> <li>Maria Solano <a href="https://github.com/MariaSolOs"><code>@MariaSolOs</code></a></li> <li>Minyeong Kim <a href="https://github.com/minyeong981"><code>@minyeong981</code></a></li> <li>SungHyun627 <a href="https://github.com/SungHyun627"><code>@SungHyun627</code></a></li> <li>Yukihiro Hasegawa <a href="https://github.com/y-hsgw"><code>@y-hsgw</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.55.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md"><code>@typescript-eslint/parser</code>'s changelog</a>.</em></p> <blockquote> <h2>8.55.0 (2026-02-09)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.55.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/fedfe8665afbabd5c7d3ee09d14f450d5ba0b10a"><code>fedfe86</code></a> chore(release): publish 8.55.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/b931f8c706beafc289462824814dca158694cb48"><code>b931f8c</code></a> chore: use workspace refs for workspace deps (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12018">#12018</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1f17a7918cd507b11fd04ce75fe44a9c62bf9542"><code>1f17a79</code></a> chore: migrate to pnpm (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/11248">#11248</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.55.0/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `eslint` from 8.57.1 to 10.0.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.0.0</h2> <h2>Breaking Changes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b"><code>f9e54f4</code></a> feat!: estimate rule-tester failure location (<a href="https://redirect.github.com/eslint/eslint/issues/20420">#20420</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f"><code>a176319</code></a> feat!: replace <code>chalk</code> with <code>styleText</code> and add <code>color</code> to <code>ResultsMeta</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20227">#20227</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84"><code>c7046e6</code></a> feat!: enable JSX reference tracking (<a href="https://redirect.github.com/eslint/eslint/issues/20152">#20152</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa"><code>fa31a60</code></a> feat!: add <code>name</code> to configs (<a href="https://redirect.github.com/eslint/eslint/issues/20015">#20015</a>) (Kirk Waiblinger)</li> <li><a href="https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0"><code>3383e7e</code></a> fix!: remove deprecated <code>SourceCode</code> methods (<a href="https://redirect.github.com/eslint/eslint/issues/20137">#20137</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce"><code>501abd0</code></a> feat!: update dependency minimatch to v10 (<a href="https://redirect.github.com/eslint/eslint/issues/20246">#20246</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e"><code>ca4d3b4</code></a> fix!: stricter rule tester assertions for valid test cases (<a href="https://redirect.github.com/eslint/eslint/issues/20125">#20125</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b"><code>96512a6</code></a> fix!: Remove deprecated rule context methods (<a href="https://redirect.github.com/eslint/eslint/issues/20086">#20086</a>) (Nicholas C. Zakas)</li> <li><a href="https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90"><code>c69fdac</code></a> feat!: remove eslintrc support (<a href="https://redirect.github.com/eslint/eslint/issues/20037">#20037</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04"><code>208b5cc</code></a> feat!: Use <code>ScopeManager#addGlobals()</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20132">#20132</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14"><code>a2ee188</code></a> fix!: add <code>uniqueItems: true</code> in <code>no-invalid-regexp</code> option (<a href="https://redirect.github.com/eslint/eslint/issues/20155">#20155</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab"><code>a89059d</code></a> feat!: Program range span entire source text (<a href="https://redirect.github.com/eslint/eslint/issues/20133">#20133</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53"><code>39a6424</code></a> fix!: assert 'text' is a string across all RuleFixer methods (<a href="https://redirect.github.com/eslint/eslint/issues/20082">#20082</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44"><code>f28fbf8</code></a> fix!: Deprecate <code>"always"</code> and <code>"as-needed"</code> options of the <code>radix</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/20223">#20223</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98"><code>aa3fb2b</code></a> fix!: tighten <code>func-names</code> schema (<a href="https://redirect.github.com/eslint/eslint/issues/20119">#20119</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756"><code>f6c0ed0</code></a> feat!: report <code>eslint-env</code> comments as errors (<a href="https://redirect.github.com/eslint/eslint/issues/20128">#20128</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db"><code>4bf739f</code></a> fix!: remove deprecated <code>LintMessage#nodeType</code> and <code>TestCaseError#type</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20096">#20096</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247"><code>523c076</code></a> feat!: drop support for jiti < 2.2.0 (<a href="https://redirect.github.com/eslint/eslint/issues/20016">#20016</a>) (michael faith)</li> <li><a href="https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64"><code>454a292</code></a> feat!: update <code>eslint:recommended</code> configuration (<a href="https://redirect.github.com/eslint/eslint/issues/20210">#20210</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1"><code>4f880ee</code></a> feat!: remove <code>v10_*</code> and inactive <code>unstable_*</code> flags (<a href="https://redirect.github.com/eslint/eslint/issues/20225">#20225</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f"><code>f18115c</code></a> feat!: <code>no-shadow-restricted-names</code> report <code>globalThis</code> by default (<a href="https://redirect.github.com/eslint/eslint/issues/20027">#20027</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e"><code>c6358c3</code></a> feat!: Require Node.js <code>^20.19.0 || ^22.13.0 || >=24</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20160">#20160</a>) (Milos Djermanovic)</li> </ul> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822"><code>bff9091</code></a> feat: handle <code>Array.fromAsync</code> in <code>array-callback-return</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20457">#20457</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222"><code>290c594</code></a> feat: add <code>self</code> to <code>no-implied-eval</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/20468">#20468</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2"><code>43677de</code></a> feat: fix handling of function and class expression names in <code>no-shadow</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20432">#20432</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/f0cafe5f37e7765e9d8c2751b5f5d33107687009"><code>f0cafe5</code></a> feat: rule tester add assertion option <code>requireData</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20409">#20409</a>) (fnx)</li> <li><a href="https://github.com/eslint/eslint/commit/f7ab6937e63bc618d326710858f5861a68f80616"><code>f7ab693</code></a> feat: output RuleTester test case failure index (<a href="https://redirect.github.com/eslint/eslint/issues/19976">#19976</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/7cbcbf9c3c2008deee7d143ae35e668e8ffbccb3"><code>7cbcbf9</code></a> feat: add <code>countThis</code> option to <code>max-params</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20236">#20236</a>) (Gerkin)</li> <li><a href="https://github.com/eslint/eslint/commit/f148a5eaa1e89dd80ade62f0a690186b00b9f6e1"><code>f148a5e</code></a> feat: add error assertion options (<a href="https://redirect.github.com/eslint/eslint/issues/20247">#20247</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/09e66549ecada6dcb8c567a60faf044fce049188"><code>09e6654</code></a> feat: update error loc of <code>require-yield</code> and <code>no-useless-constructor</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20267">#20267</a>) (Tanuj Kanti)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/436b82f3c0a8cfa2fdc17d173e95ea11d5d3ee03"><code>436b82f</code></a> fix: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/20473">#20473</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/1d29d22fe302443cec2a11da0816397f94af97ec"><code>1d29d22</code></a> fix: detect default <code>this</code> binding in <code>Array.fromAsync</code> callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/20456">#20456</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/727451eff55b35d853e0e443d0de58f4550762bf"><code>727451e</code></a> fix: fix regression of global mode report range in <code>strict</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/20462">#20462</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/e80485fcd27196fa0b6f6b5c7ac8cf49ad4b079d"><code>e80485f</code></a> fix: remove fake <code>FlatESLint</code> and <code>LegacyESLint</code> exports (<a href="https://redirect.github.com/eslint/eslint/issues/20460">#20460</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/9eeff3bc13813a786b8a4c3815def97c0fb646ef"><code>9eeff3b</code></a> fix: update esquery (<a href="https://redirect.github.com/eslint/eslint/issues/20423">#20423</a>) (cryptnix)</li> <li><a href="https://github.com/eslint/eslint/commit/b34b93852d014ebbcf3538d892b55e0216cdf681"><code>b34b938</code></a> fix: use <code>Error.prepareStackTrace</code> to estimate failing test location (<a href="https://redirect.github.com/eslint/eslint/issues/20436">#20436</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/51aab5393b058f7cbed69041a9069b2bd106aabd"><code>51aab53</code></a> fix: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/20443">#20443</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/23490b266276792896a0b7b43c49a1ce87bf8568"><code>23490b2</code></a> fix: handle space before colon in <code>RuleTester</code> location estimation (<a href="https://redirect.github.com/eslint/eslint/issues/20433">#20433</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/f244dbf2191267a4cafd08645243624baf3e8c83"><code>f244dbf</code></a> fix: use <code>MessagePlaceholderData</code> type from <code>@eslint/core</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20348">#20348</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/d186f8c0747f14890e86a5a39708b052b391ddaf"><code>d186f8c</code></a> fix: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/20427">#20427</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/2332262deb4ef3188b210595896bb0ff552a7e66"><code>2332262</code></a> fix: error location should not modify error message in RuleTester (<a href="https://redirect.github.com/eslint/eslint/issues/20421">#20421</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/ab99b21a6715dee1035d8f4e6d6841853eb5563f"><code>ab99b21</code></a> fix: ensure <code>filename</code> is passed as third argument to <code>verifyAndFix()</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20405">#20405</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/8a60f3bc80ad96c65feeb29886342623c630199c"><code>8a60f3b</code></a> fix: remove <code>ecmaVersion</code> and <code>sourceType</code> from <code>ParserOptions</code> type (<a href="https://redirect.github.com/eslint/eslint/issues/20415">#20415</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/eafd727a060131f7fc79b2eb5698d8d27683c3a2"><code>eafd727</code></a> fix: remove <code>TDZ</code> scope type (<a href="https://redirect.github.com/eslint/eslint/issues/20231">#20231</a>) (jaymarvelz)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/4e6c4ac042e321da8fc29ce53ed03c86dcaa44a7"><code>4e6c4ac</code></a> 10.0.0</li> <li><a href="https://github.com/eslint/eslint/commit/ddd8a223000ac6a2182cc8eae35254806a3b0289"><code>ddd8a22</code></a> Build: changelog update for 10.0.0</li> <li><a href="https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822"><code>bff9091</code></a> feat: handle <code>Array.fromAsync</code> in <code>array-callback-return</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20457">#20457</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/1ece282c2286b5dc187ece2a793dbd8798f20bd7"><code>1ece282</code></a> chore: ignore <code>/docs/v9.x</code> in link checker (<a href="https://redirect.github.com/eslint/eslint/issues/20452">#20452</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/034e1397446205e83eb341354605380195c88633"><code>034e139</code></a> ci: add type integration test for <code>@html-eslint/eslint-plugin</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20345">#20345</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56"><code>f3fbc2f</code></a> chore: set <code>@eslint/js</code> version to 10.0.0 to skip releasing it (<a href="https://redirect.github.com/eslint/eslint/issues/20466">#20466</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/e978ddaab7e6a3c38b4a2afa721148a6ef38f29a"><code>e978dda</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/4cecf8393ae9af18c4cfd50621115eb23b3d0cb6"><code>4cecf83</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/c79f0ab2e2d242a93b08ff2f6a0712e2ef60b7b8"><code>c79f0ab</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/afc06817bbd0625c7b0a46bdc81c38dab0c99441"><code>afc0681</code></a> chore: remove scopeManager.addGlobals patch for typescript-eslint parser (<a href="https://redirect.github.com/eslint/eslint/issues/20">#20</a>...</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v8.57.1...v10.0.0">compare view</a></li> </ul> </details> <br /> Updates `glob` from 11.0.3 to 13.0.2 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/isaacs/node-glob/blob/main/changelog.md">glob's changelog</a>.</em></p> <blockquote> <h1>changeglob</h1> <h2>13</h2> <ul> <li>Move the CLI program out to a separate package, <code>glob-bin</code>. Install that if you'd like to continue using glob from the command line.</li> </ul> <h2>12</h2> <ul> <li>Remove the unsafe <code>--shell</code> option. The <code>--shell</code> option is now ONLY supported on known shells where the behavior can be implemented safely.</li> </ul> <h2>11.1</h2> <p><a href="https://github.com/isaacs/node-glob/security/advisories/GHSA-5j98-mcp5-4vw2">GHSA-5j98-mcp5-4vw2</a></p> <ul> <li>Add the <code>--shell</code> option for the command line, with a warning that this is unsafe. (It will be removed in v12.)</li> <li>Add the <code>--cmd-arg</code>/<code>-g</code> as a way to <em>safely</em> add positional arguments to the command provided to the CLI tool.</li> <li>Detect commands with space or quote characters on known shells, and pass positional arguments to them safely, avoiding <code>shell:true</code> execution.</li> </ul> <h2>11.0</h2> <ul> <li>Drop support for node before v20</li> </ul> <h2>10.4</h2> <ul> <li>Add <code>includeChildMatches: false</code> option</li> <li>Export the <code>Ignore</code> class</li> </ul> <h2>10.3</h2> <ul> <li>Add <code>--default -p</code> flag to provide a default pattern</li> <li>exclude symbolic links to directories when <code>follow</code> and <code>nodir</code> are both set</li> </ul> <h2>10.2</h2> <ul> <li>Add glob cli</li> </ul> <h2>10.1</h2> <ul> <li>Return <code>'.'</code> instead of the empty string <code>''</code> when the current working directory is returned as a match.</li> <li>Add <code>posix: true</code> option to return <code>/</code> delimited paths, even on</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/isaacs/node-glob/commit/2135b0c3580caf6330e28dedb2d57cea75f15154"><code>2135b0c</code></a> 13.0.2</li> <li><a href="https://github.com/isaacs/node-glob/commit/52544940ddddead912084a436ac08604592c5a81"><code>5254494</code></a> ship minified by default, update deps</li> <li><a href="https://github.com/isaacs/node-glob/commit/0a603fe1857105aedf4a1f80a75375fc3e4c0385"><code>0a603fe</code></a> remove unused tshy config</li> <li><a href="https://github.com/isaacs/node-glob/commit/c759f03302b7b2ab76747cfe2cadf4a51b113082"><code>c759f03</code></a> 13.0.1</li> <li><a href="https://github.com/isaacs/node-glob/commit/8354a188e58d66e015f7ad50845260abba8bdd9e"><code>8354a18</code></a> update deps</li> <li><a href="https://github.com/isaacs/node-glob/commit/ff6e0f541ac0fca999fc7803a2774cf1d94f4f47"><code>ff6e0f5</code></a> ci: update action versions</li> <li><a href="https://github.com/isaacs/node-glob/commit/14692860a3d266cae5d0fcc119953a13351f6a10"><code>1469286</code></a> update workflows and formatting/docs</li> <li><a href="https://github.com/isaacs/node-glob/commit/3bfb9604fabcd372fd13bbacef90339d10d1aa92"><code>3bfb960</code></a> 13.0.0</li> <li><a href="https://github.com/isaacs/node-glob/commit/db31a63edaffa88b6361199267f155112f49f4fe"><code>db31a63</code></a> Split the CLI out from the main project</li> <li><a href="https://github.com/isaacs/node-glob/commit/54934586bc33b3f90fde6c13c1ca5b719801ee78"><code>5493458</code></a> ci: remove node 20</li> <li>Additional commits viewable in <a href="https://github.com/isaacs/node-glob/compare/v11.0.3...v13.0.2">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~isaacs">isaacs</a>, a new releaser for glob since your current version.</p> </details> <br /> Updates `globals` from 17.2.0 to 17.3.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sindresorhus/globals/releases">globals's releases</a>.</em></p> <blockquote> <h2>v17.3.0</h2> <ul> <li>Update globals (2026-02-01) (<a href="https://redirect.github.com/sindresorhus/globals/issues/336">#336</a>) 295fba9</li> </ul> <hr /> <p><a href="https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0">https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sindresorhus/globals/commit/5edc6020698a76964b0fa17cb604f4484451143b"><code>5edc602</code></a> 17.3.0</li> <li><a href="https://github.com/sindresorhus/globals/commit/295fba929adf8b44f945688233778a57ff754368"><code>295fba9</code></a> Update globals (2026-02-01) (<a href="https://redirect.github.com/sindresorhus/globals/issues/336">#336</a>)</li> <li>See full diff in <a href="https://github.com/sindresorhus/globals/compare/v17.2.0...v17.3.0">compare view</a></li> </ul> </details> <br /> Updates `next-validate-link` from 1.6.3 to 1.6.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fuma-nama/next-validate-link/releases">next-validate-link's releases</a>.</em></p> <blockquote> <h2>[email protected]</h2> <h3>Patch Changes</h3> <ul> <li>e8b1df1: Improve error message format to support editor jumping</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/fuma-nama/next-validate-link/blob/dev/CHANGELOG.md">next-validate-link's changelog</a>.</em></p> <blockquote> <h2>1.6.4</h2> <h3>Patch Changes</h3> <ul> <li>e8b1df1: Improve error message format to support editor jumping</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/fuma-nama/next-validate-link/commit/875c724f5a3ef1498d9071e94851f98e9226492a"><code>875c724</code></a> Merge pull request <a href="https://redirect.github.com/fuma-nama/next-validate-link/issues/96">#96</a> from fuma-nama/changeset-release/dev</li> <li><a href="https://github.com/fuma-nama/next-validate-link/commit/abb9795c43fc13cf8506413cfb35ea29168dacd7"><code>abb9795</code></a> run lint</li> <li><a href="https://github.com/fuma-nama/next-validate-link/commit/e7cd386893492172d98c67a8b5dbac99fa4d814f"><code>e7cd386</code></a> update example</li> <li><a href="https://github.com/fuma-nama/next-validate-link/commit/e8b1df10f58fb8bf1e4651fe931880859d201be1"><code>e8b1df1</code></a> feat: Improve error message format to support editor jumping</li> <li>See full diff in <a href="https://github.com/fuma-nama/next-validate-link/compare/[email protected]@1.6.4">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by [GitHub Actions](<a href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a> Actions), a new releaser for next-validate-link since your current version.</p> </details> <br /> Updates `semver` from 7.7.3 to 7.7.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/npm/node-semver/releases">semver's releases</a>.</em></p> <blockquote> <h2>v7.7.4</h2> <h2><a href="https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4">7.7.4</a> (2026-01-16)</h2> <h3>Bug Fixes</h3> <ul> <li><a href="https://github.com/npm/node-semver/commit/a29faa5f3309a01c8e5aeb965fb5c02c4c4e80e2"><code>a29faa5</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/835">#835</a> cli: pass options to semver.valid() for loose version validation (<a href="https://redirect.github.com/npm/node-semver/issues/835">#835</a>) (<a href="https://github.com/mldangelo"><code>@mldangelo</code></a>)</li> </ul> <h3>Documentation</h3> <ul> <li><a href="https://github.com/npm/node-semver/commit/1d28d5e82de16163daf721a7c76fff93e0d333ab"><code>1d28d5e</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/836">#836</a> fix typos and update -n CLI option documentation (<a href="https://redirect.github.com/npm/node-semver/issues/836">#836</a>) (<a href="https://github.com/mldangelo"><code>@mldangelo</code></a>)</li> </ul> <h3>Dependencies</h3> <ul> <li><a href="https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793"><code>120968b</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/840">#840</a> <code>@npmcli/[email protected].0</code> (<a href="https://redirect.github.com/npm/node-semver/issues/840">#840</a>)</li> </ul> <h3>Chores</h3> <ul> <li><a href="https://github.com/npm/node-semver/commit/44d7130c60cedd3703048aa671bb1d659b79ab07"><code>44d7130</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/824">#824</a> bump <code>@npmcli/eslint-config</code> from 5.1.0 to 6.0.0 (<a href="https://redirect.github.com/npm/node-semver/issues/824">#824</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot])</li> <li><a href="https://github.com/npm/node-semver/commit/70735767b68a1775eb67ac816b183b4a422101f4"><code>7073576</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/820">#820</a> reorder parameters in invalid-versions.js test (<a href="https://redirect.github.com/npm/node-semver/issues/820">#820</a>) (<a href="https://github.com/reggi"><code>@reggi</code></a>)</li> <li><a href="https://github.com/npm/node-semver/commit/5816d4cfd6d85169527a2bc22fbd5bf4c64f34e3"><code>5816d4c</code></a> <a href="https://redirect.github.com/npm/node-semver/pull/829">#829</a> bump <code>@npmcli/template-oss</code> from 4.28.0 to 4.28.1 (<a href="https://redirect.github.com/npm/node-semver/issues/829">#829</a>) (<a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot], <a href="https://github.com/npm-cli-bot"><code>@... _Description has been truncated_ --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <[email protected]> Co-authored-by: fforootd <[email protected]> Co-authored-by: Florian Forster <[email protected]> |
||
|
|
d17e954f26 |
docs: update fumadocs dependencies (#11594)
This PR upgrade Fuma docs and alings some code snippets since shiki 3.22.0 does no longer include defaults for `curl`. |
||
|
|
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]> |