n8n/packages/cli/src
Ricardo Espinoza 2177fe1d89
Some checks failed
CI: Python / Checks (push) Has been cancelled
feat(core): Add login session management
Add a per-login session registry so users can see the browsers and devices
signed in to their account and revoke individual sessions or all other
sessions from their personal settings.

Backend:
- New user_login_session entity, migration and repository, keyed by a session
  id embedded as the JWT jti claim.
- LoginSessionService owns the session lifecycle (create on login, touch on
  refresh, list, revoke, revoke-all-others) and prunes expired rows on read.
- The session check is enforced in validateToken, so every auth path
  (interactive, webhook cookie auth, dynamic credentials) rejects a revoked or
  logged-out session. Tokens issued before this change carry no jti and fall
  back to the existing checks until they expire, so no one is logged out on
  upgrade.
- Password change, email change and MFA enable/disable revoke the user's other
  sessions.
- /me/login-sessions endpoints (list, revoke one, revoke all others).

Frontend:
- Login sessions section in personal settings listing device, IP, last active
  and sign-in time, with the current session flagged and per-row revoke plus a
  revoke-all-others action.
2026-07-01 17:28:11 -04:00
..
__tests__ fix(core): Prevent Code node failure when a workflow contains an AI tool (#33336) 2026-07-01 11:53:47 +00:00
auth feat(core): Add login session management 2026-07-01 17:28:11 -04:00
binary-data test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
blob-storage test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
chat test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
collaboration test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
commands chore: Add route-aware sampling for webhook traces (#33259) 2026-06-30 14:03:01 +00:00
concurrency test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
config feat(Microsoft Agent 365 Trigger Node): Integration for Microsoft Agents 365 (#25145) 2026-02-02 08:42:43 +00:00
controllers feat(core): Add login session management 2026-07-01 17:28:11 -04:00
credentials feat(core): Re-enable sharing private credentials (#33071) 2026-06-30 15:13:09 +00:00
databases/repositories/__tests__ test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
deduplication refactor(core): Move second batch of repositories to @n8n/db (#15137) 2025-05-06 16:40:34 +02:00
deprecation feat: Add unified N8N_WEBHOOK_URL for production and test webhook URLs (#33312) 2026-07-01 11:04:06 +00:00
environments.ee/variables test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
errors fix(core): Return a client error when the request body stream is unreadable (#33243) 2026-06-30 11:34:50 +00:00
evaluation.ee test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
eventbus test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
events feat(core): Add telemetry events for import / export (#33319) 2026-07-01 12:12:46 +00:00
execution-lifecycle feat(editor): Show private credential icon on execution list runs (#32957) 2026-06-30 14:06:54 +00:00
executions fix(core): Skip AI Gateway managed credentials in pre-execution permission check (#33269) 2026-06-30 10:45:57 +00:00
expression-observability test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
instance-settings-loader test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
license test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
metrics test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
mfa test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
middlewares fix(core): Return a client error when the request body stream is unreadable (#33243) 2026-06-30 11:34:50 +00:00
modules feat(core): Add login session management 2026-07-01 17:28:11 -04:00
node-catalog test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
node-execution test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
oauth feat(core): Add certificate authentication option to Microsoft OAuth2 credentials (#33227) 2026-07-01 13:55:09 +00:00
permissions.ee test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
posthog test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
public-api fix(core): Beta import/export API not available on cloud (no-changelog) (#33382) 2026-07-01 15:58:02 +00:00
push test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
scaling chore: Add no-application-error lint rule and ban new usage (no-changelog) (#33248) 2026-06-30 10:08:47 +00:00
security-audit fix(core): Skip vite analysis of security-audit reporter dynamic import (no-changelog) (#33257) 2026-06-30 07:06:49 +00:00
services feat(core): Add login session management 2026-07-01 17:28:11 -04:00
shutdown test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
sso.ee test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
task-runners chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
telemetry chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
tool-generation test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
types refactor(core): Remove Ask AI HTTP request feature (no-changelog) (#9931) 2024-07-04 12:09:45 +02:00
user-management/email test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
utils test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
webhooks fix(core): Return a client error when the request body stream is unreadable (#33243) 2026-06-30 11:34:50 +00:00
workflows feat(core): Emit wake-up signal on workflow publication changes (no-changelog) (#33345) 2026-07-01 10:21:15 +00:00
abstract-server.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
activation-errors.service.ts refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389) 2025-01-06 10:21:24 +01:00
active-executions.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
active-workflow-manager.ts feat(API): Support exporting projects via the public API (#33084) 2026-07-01 13:54:46 +00:00
command-registry.ts chore: Initial V2 changes (#22553) 2025-12-01 20:44:59 +02:00
constants.ts feat(Google Sheets Node): Allow custom OAuth2 scopes (#32660) 2026-06-22 11:56:44 +00:00
controller.registry.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
crash-journal.ts refactor(core): Move Logger to @n8n/backend-common (#15721) 2025-05-30 12:57:47 +02:00
credential-types.ts fix(core): Prevent mutation of credential type parents (#16841) 2025-06-30 17:32:51 +02:00
credentials-helper.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
credentials-overwrites.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
external-hooks.ts feat(core): Support checking for workflow tags existing in preExecute hook (#30440) 2026-05-19 18:23:18 +00:00
generic-helpers.ts feat(core): Update data model for Evaluations (no-changelog) (#15520) 2025-05-22 12:55:31 +02:00
index.ts ci: Refactor cli tests to speed up CI (no-changelog) (#5718) 2023-03-17 17:24:05 +01:00
interfaces.ts feat(core): Add agent heartbeat session metrics (#32732) 2026-06-23 10:00:00 +00:00
license.ts fix(core): Improve license diagnostics and CLI output (#30955) 2026-05-22 11:28:20 +00:00
load-nodes-and-credentials.ts refactor: Remove @n8n/utils barrel export (no-changelog) (#33082) 2026-06-30 16:05:24 +03:00
manual-execution.service.ts fix(core): Show clear error when running a tool node without an Agent (#30626) 2026-05-21 09:48:28 +00:00
node-types.ts fix(core): Prevent Code node failure when a workflow contains an AI tool (#33336) 2026-07-01 11:53:47 +00:00
requests.ts feat(core): Add project-level custom telemetry tags to OTel spans (#30985) 2026-06-01 09:48:18 +00:00
response-helper.ts feat(core): Add publication leader takeover and stepdown (no-changelog) (#32463) 2026-06-17 14:46:01 +00:00
server.ts feat: Browser Use connects directly to n8n instance without Computer Use (#32680) 2026-06-25 10:33:07 +00:00
utils.ts fix(core): Use expression isolate for ephemeral node executor (no-changelog) (#30892) 2026-05-21 12:29:59 +00:00
utlity.types.ts build: Update ESLint to v9 (#16639) 2025-06-27 10:42:47 +02:00
wait-tracker.ts fix(core): Propagate sub-workflow errors to parent after wait resume (#31927) 2026-06-11 14:10:04 +00:00
workflow-execute-additional-data.ts feat: Add unified N8N_WEBHOOK_URL for production and test webhook URLs (#33312) 2026-07-01 11:04:06 +00:00
workflow-helpers.ts fix(core): Ensure project variables override same-key global variables (#33137) 2026-06-29 13:02:30 +00:00
workflow-hook-context.service.ts feat(core): Support checking for workflow tags existing in preExecute hook (#30440) 2026-05-19 18:23:18 +00:00
workflow-runner.ts fix(core): Resolve private credentials in offloaded manual executions (#33214) 2026-06-30 07:55:47 +00:00
zod-alias-support.ts refactor(core): Overhaul commands setup. Add support for module commands (#16709) 2025-07-01 19:14:22 +02:00