From eaa9ea4b209a03e56e4abd08c50ec47f65897b02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Brand=C3=A3o?= Date: Tue, 15 Sep 2026 17:28:29 -0300 Subject: [PATCH 1/3] docs(changelog): document RoleSwitch RoleSwitch is exported from the package root but had no CHANGELOG entry, so it would have shipped in 2.0.0 without appearing in the release notes. --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0132665..0d015b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,10 @@ v2 is a full rewrite of the library's foundation. The styling stack (MUI + style - **`Text`** — new typography component with `variant: "title" | "subtitle" | "description"`, replacing hand-rolled heading/paragraph className strings at call sites. Each variant maps to a semantic tag (`h1`/`h2`/`p`, overridable via `as`) and uses design token colors (`text-cinnamon-dark`). +#### RoleSwitch + +- **`RoleSwitch`** — renders different content depending on the signed-in user's roles. `cases` are evaluated in order and the first whose `roles` match the session is rendered (`'*'` matches any authenticated user); `fallback` renders when none match. Accepts either a `CinnamonSession` or an `OidcAuthLike` as `auth`, using the same `hasAccess` check as the rest of the auth model. + #### SideMenu - **Animated accent rail** — the open drawer now draws a vertical accent line with a rounded connector that tracks the active item, plus a dashed grey rail that follows the row under hover/keyboard focus. Ported from the internal `HookSidebar` prototype. Motion uses spring physics and honours `prefers-reduced-motion`. From c574bf70a3fe6a34188f325a0db54f68015280a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Brand=C3=A3o?= Date: Tue, 15 Sep 2026 17:32:38 -0300 Subject: [PATCH 2/3] ci: publish 2.x under the npm latest dist-tag 2.0.0 was going to publish under v2-latest so nobody upgraded into the rewrite by accident. It now becomes latest instead: a plain npm i @cincoders/cinnamon installs v2. Projects that already depend on ^1.x are unaffected, since that range never resolves to 2.x. The v1 branch carries the matching change so its next fix publishes under v1-latest rather than taking latest back. --- .github/workflows/deploy.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5c379c7..709a227 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -15,10 +15,10 @@ on: env: # Major version that owns the npm "latest" dist-tag. Every other major is # published as "v-latest" instead, so releasing on one line never - # moves "latest" onto the other. While this is 1, a 2.x tag publishes as - # "v2-latest" and nobody upgrades into v2 by accident. Change it to 2 on - # both branches when v2 becomes the version new consumers should get. - LATEST_MAJOR: '1' + # moves "latest" onto the other. v2 owns "latest": a 2.x tag becomes what + # "npm i @cincoders/cinnamon" installs, and 1.x fixes publish under + # "v1-latest". Must match the value on the v1 branch. + LATEST_MAJOR: '2' # Branch that release commits must be on. v2 is an orphan branch, so its # tags are not reachable from main; this is what makes the ancestry check From a8a2a014354776c1eb0e2d49678de6ec055b4e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Brand=C3=A3o?= Date: Wed, 16 Sep 2026 09:15:36 -0300 Subject: [PATCH 3/3] Version 2.0.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d015b9..968401e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). --- -## [2.0.0] — in progress +## [2.0.0] — 2026-09-16 ### Summary