From e9d18919e623e9e5c206724e5dd8734c332775b3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 19 Jul 2026 15:54:39 +0000 Subject: [PATCH] chore(journeys): re-release 1.9.1 to drop the last exact @modular-frontend/core pin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @modular-react/journeys@1.9.0 was published between @modular-frontend/journeys-engine@1.8.0 and 1.8.1, so its tarball still depends on engine@1.8.0 — the version that carried @modular-frontend/core@0.3.0 as a hard, exact-pinned dependency (before 1.8.1 promoted it to a >=0.1.0 <2.0.0 peer). Installing journeys therefore still dragged in the old engine and its exact core pin, forcing a manual @modular-frontend/core override for consumers on core@0.4.0. Bump journeys 1.9.0 -> 1.9.1 (no source/API change). The workspace now resolves journeys-engine at 1.8.1, so the republished tarball pins the fixed engine and the whole journeys -> journeys-engine -> core chain admits the unified >=0.1.0 <2.0.0 range. nuxt (0.4.1), vue-journeys (1.3.1), and journeys-engine (1.8.1) were already re-released onto the permissive range; journeys was the last package still transitively carrying the old pin. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01L7SRbJ8ZLSejGRieH2DEJU --- CHANGELOG.md | 6 ++++++ packages/journeys/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 660ff70..7528c4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ Per-package detail lives in the GitHub release tagged `@`. ## Unreleased +### Fixed — `@modular-react/journeys` re-release drops the last exact `@modular-frontend/core` pin + +`@modular-react/journeys@1.9.0` was published in the window between `@modular-frontend/journeys-engine@1.8.0` and `1.8.1`, so its tarball still depends on `@modular-frontend/journeys-engine@1.8.0` — the version that carried `@modular-frontend/core@0.3.0` as a hard, exact-pinned `dependencies` entry (before the shared-peer-dependency change below promoted it to a `>=0.1.0 <2.0.0` peer in `1.8.1`). The net effect: installing `@modular-react/journeys` still dragged in the old engine and its exact `0.3.0` core pin, so consumers pulling `@modular-frontend/core@0.4.0` (for panels/overlays) still needed a manual `@modular-frontend/core` override to resolve the conflict. + +This patch re-releases `@modular-react/journeys` (`1.9.0` → `1.9.1`) with no source or API change. Because the workspace now resolves `@modular-frontend/journeys-engine` at `1.8.1`, the republished tarball pins the fixed engine, and the fixed engine expresses `@modular-frontend/core` as the unified `>=0.1.0 <2.0.0` peer — so the whole `journeys → journeys-engine → core` chain admits the current engine line and the override is no longer needed. The Nuxt (`@modular-vue/nuxt@0.4.1`), Vue-journeys (`@modular-vue/journeys@1.3.1`), and engine (`@modular-frontend/journeys-engine@1.8.1`) packages were already re-released onto the permissive range; `@modular-react/journeys` was the last package still transitively carrying the old exact pin. + ### Added — state-keyed overlay host (pick-one, modal) Implements the counter-proposal from the cat-factory slice-5 triage (`docs/overlay-host-triage.md`): the **overlay host**, a pick-**one**, app-state-keyed, open-contribution modal surface — the modal dual of the render-all panels. Modules (first-party and consumer alike) contribute _windows_ to a host's slot; application state names the one active window by id; the framework mounts it inside a managed modal shell owning the behaviour hand-rolled modals get wrong somewhere: teleport/portal, backdrop press-and-release close (a press that starts inside the dialog and slips onto the backdrop is not a close request), a shared overlay **stack** (nested overlays layer; Escape closes the top first), focus trap + focus return (re-applied when the active window swaps without closing), body scroll lock, and a11y wiring (`role="dialog"` / `aria-modal` / `aria-label` from the entry's subject-aware `title`). Headless — the host renders only the backdrop and dialog elements (class props + stable `data-modular-overlay-*` e2e hooks); the app's chrome lives in a `wrap` render-prop/slot, and the host never closes itself (it _requests_ close; state stays app-owned). Contributions ride the existing module → slot path; no new registration seam, package, or descriptor change. diff --git a/packages/journeys/package.json b/packages/journeys/package.json index 0796a19..2f90abd 100644 --- a/packages/journeys/package.json +++ b/packages/journeys/package.json @@ -1,6 +1,6 @@ { "name": "@modular-react/journeys", - "version": "1.9.0", + "version": "1.9.1", "description": "Typed, serializable workflows that compose multiple modules. A journey declares entry/exit transitions between modules and owns shared state; modules stay journey-unaware.", "repository": { "type": "git",