## finos/architecture-as-code — cli-v1.59.0…cli-v1.60.0

_61 commits._

### Features
- **feat(calm-hub): OIDC-driven auth config and VS Code plugin login** (aa24360)
- **feat(calm-hub-ui): select latest version of controls when they're loaded** (40a76f2)
- **feat(calm-hub-ui): fixes Improve the UI of Controls** (77d6d2c)
- **feat(calm-lab): add the docs-style light/dark colour-mode toggle to the lab header** (60b0e64)
- **feat(calm-lab): match the docs navbar in the lab header and link the lab from the docs navbar** (4faf7d8)
- **feat(calm-lab): print the engine's pretty validation report and list hub commands** (d22f567)
- **feat(calm-lab): make the lab's validate and shell paths async with stale-result guards** (c1a647c)
- **feat(calm-lab): async shell with calm diff and manifest-driven unsupported-command messages** (3438b98)
- **feat(calm-lab): run validation and diff on @finos/calm-shared/browser** (777562d)
- **feat(calm-lab): scaffold the learning lab as a standalone Vite app and move the lab components** (f47349d)

### Fixes
- **Fix workspace path resolution** — Fixed an issue where workspaces created before a git repository existed could become unreachable if a .git folder later appeared higher in the directory tree. The CLI now prioritizes the nearest .calm-workspace file and stores file references relative to the bundle directory instead of as absolute paths, making manifests portable across machines and checkouts. (e201dc7)
- **fix(calm-hub): address round-2 review feedback on oidc plugin auth** (fa3050b)
- **fix(calm-hub): mock UserAccessValidator in TestDomainResourceShould** (2f90243)
- **fix(calm-hub): address CI feedback on the plugin-auth security rework** (cd8b9ba)
- **fix(calm-hub): address security review findings on OIDC plugin auth** (9f7a7dd)
- **fix(calm-lab): make the async validate and terminal paths robust to failures and resets** (8b9bffe)
- **fix(calm-lab): harden the diagram parser against invalid documents and add error boundaries** (beeefff)

### UI
- **Redesigned control detail view** — The control details interface has been rebuilt to fill the entire content pane instead of appearing as a side panel, with a new layout featuring improved headers, metadata chips, and readable field displays. Users now navigate back to the control list via breadcrumbs rather than closing an overlay panel. (77f5af2)
- **Launched in-browser learning lab** — A new standalone learning lab application is now available as a web app that runs the CALM engine directly in the browser. The lab includes an interactive editor, diagram visualization, terminal, and lesson system, with automated CI/CD pipelines for building and deploying to lab.calm.finos.org. (f5f6838)
- **Add OIDC authentication support** — Implemented OpenID Connect (OIDC) authentication for Calm Hub, enabling secure login through an OIDC provider and VS Code plugin authentication. The system now preserves user navigation state during login redirects and includes new auth configuration endpoints for plugin integration. (25fa262)

### Backend
- **Merge pull request #3109 from finos/release/cli-v1.60.0** (ca57ad7)
- **Merge remote-tracking branch 'upstream/main' into feat/rework-control-detail-viewer** (ef3f46d)
- **Merge branch 'main' into learning-lab** (317d247)
- **Merge branch 'main' into learning-lab** (dcbbe8d)
- **Merge remote-tracking branch 'origin/learning-lab' into learning-lab** (1463486)
- **Merge branch 'main' into learning-lab** (8da6a8b)
- **Merge branch 'main' into learning-lab** (da23daa)
- **Merge remote-tracking branch 'upstream/main' into learning-lab** (5842be3)
- **Merge remote-tracking branch 'upstream/main' into learning-lab** (102a937)

### Tests
- **test(calm-lab): cover the virtual filesystem and lesson checks** (2d840fa)

### Docs
- **docs: defer the docs links to the learning lab until lab.calm.finos.org is live** (fe5beda)
- **docs(calm-lab): match the subtitle colour to the docs navbar and document lesson authoring** (627fd22)
- **docs: replace the embedded lab with a landing page linking to lab.calm.finos.org** (261c612)
- **docs: highlight the lab diagram tab when unviewed changes exist** (369cb0a)
- **docs: add terminal tab completion and JSON highlighting to the lab** (c9f2c2d)
- **docs: render the lab diagram with the CALM Hub visualizer pipeline** (6b43ba0)
- **docs: fix light-mode hint contrast and copy-button feedback** (1e6a364)
- **docs: unify the lab into a theme-invariant IDE chassis** (c88204a)
- **docs: fix step-3 completion and make hints paste-safe** (3217cd2)
- **docs: make lab step checks state-based and add lesson-rail toggle** (89e53f0)
- **docs: move the lab diagram and problems into IDE tabs** (abb5ecc)
- **docs: dock the learning lab into a full-viewport IDE layout** (63c00cd)
- **docs: add in-browser CALM learning lab MVP** (bd8885d)
- **docs: address accessibility and label-name review feedback** (1e1dfcb)
- **docs: add guidelines for responsible use of AI coding assistants** (9da7509)
- **docs: address second round of talks-page review feedback** (86e4de9)
- **docs: address talks-page review feedback** (7b2fb0c)
- **docs: load talk players paused instead of autoplaying** (cc01454)
- **docs: start the OSFF London keynote embed at the CALM segment** (9477ede)
- **docs: redesign talks page as a media hub** (4c72dc2)

### Chore
- **ci(cli): release version 1.60.0** (0a2b893)
- **refactor(calm-hub-ui): consolidate formatFieldName into a shared utility** (12dfffa)
- **refactor(calm-hub-ui): extracted reusable utility** (c5768db)
- **refactor(calm-lab): finish the TypeScript conversion — no JS/JSX left** (d822929)
- **refactor(calm-lab): convert vfs.js and lesson.js to TypeScript** (29c034b)
- **refactor(calm-lab): inline diffArchitectures into the shell's diff command** (c59d308)
- **refactor(calm-hub-ui): improved style of controls section** (013f0ca)
- **chore(calm-lab): address Copilot review feedback** (a4a3f0e)
- **ci(calm-lab): typecheck after the build so shared's browser types exist** (2978d74)
- **chore(calm-lab): tidy dead code, comments, docs manifest and lint/typecheck wiring** (b988260)
- **ci(calm-lab): build and deploy the learning lab to lab.calm.finos.org** (8fd1436)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/finos/architecture-as-code?utm_source=github-action)._