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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0132665..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 @@ -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`.