n8n/packages/cli
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
..
bin chore: Initial V2 changes (#22553) 2025-12-01 20:44:59 +02:00
scripts test(core): Add channel integration tests (#33080) 2026-06-30 14:59:05 +00:00
src feat(core): Add login session management 2026-07-01 17:28:11 -04:00
templates fix(core): Surface form submission errors instead of failing silently (#32305) 2026-06-18 13:02:31 +00:00
test fix(core): Beta import/export API not available on cloud (no-changelog) (#33382) 2026-07-01 15:58:02 +00:00
BREAKING-CHANGES.md fix: Security patches (#22748) 2025-12-05 13:28:39 +00:00
eslint.config.mjs test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
nodemon.json build: Fix cli nodemon config (#10628) 2024-08-30 19:03:47 +03:00
package.json chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
tsconfig.build.json chore: Create a lightweight version of pnpm reset (#32125) 2026-06-11 12:24:46 +00:00
tsconfig.json chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.base.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.integration.testcontainers.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.integration.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.migration.testcontainers.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.migration.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
vitest.tsc-entity-transform.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
vitest.workspace-externals.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00