From 56e723c4568134182ece815b9f5e6434ee18ba4b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2026 08:25:54 +0000 Subject: [PATCH] chore(release): update release metadata --- .changeset/issue-77-achromatic-hue.md | 10 ----- .changeset/issue-78-px-to-rem.md | 5 --- .changeset/issue-79-color-mix.md | 10 ----- .changeset/issue-80-light-dark.md | 12 ------ .changeset/issue-81-type-checks.md | 10 ----- .changeset/issue-82-pow-scale.md | 12 ------ .changeset/issue-83-motion.md | 9 ----- packages/cssforge/CHANGELOG.md | 53 +++++++++++++++++++++++++++ packages/cssforge/jsr.json | 2 +- packages/cssforge/package.json | 2 +- packages/cssforge/src/version.ts | 2 +- packages/unplugin/CHANGELOG.md | 13 +++++++ packages/unplugin/package.json | 2 +- 13 files changed, 70 insertions(+), 72 deletions(-) delete mode 100644 .changeset/issue-77-achromatic-hue.md delete mode 100644 .changeset/issue-78-px-to-rem.md delete mode 100644 .changeset/issue-79-color-mix.md delete mode 100644 .changeset/issue-80-light-dark.md delete mode 100644 .changeset/issue-81-type-checks.md delete mode 100644 .changeset/issue-82-pow-scale.md delete mode 100644 .changeset/issue-83-motion.md diff --git a/.changeset/issue-77-achromatic-hue.md b/.changeset/issue-77-achromatic-hue.md deleted file mode 100644 index 059ab5c..0000000 --- a/.changeset/issue-77-achromatic-hue.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@hebilicious/cssforge": patch ---- - -Fix achromatic color hue representation in oklch() values. When a color has zero chroma (e.g., white, black, gray), emit the hue as `none` instead of a numeric value. This correctly represents that achromatic colors have no meaningful hue component. - -- White now emits as `oklch(100% 0 none)` instead of `oklch(100% 0 0)` -- Black now emits as `oklch(0% 0 none)` instead of `oklch(0% 0 0)` -- Any color with chroma rounding to 0 at 5-decimal precision emits hue as `none` -- sRGB/hex byte conversions retain their NaN→0 mapping (unchanged) diff --git a/.changeset/issue-78-px-to-rem.md b/.changeset/issue-78-px-to-rem.md deleted file mode 100644 index 715575e..0000000 --- a/.changeset/issue-78-px-to-rem.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@hebilicious/cssforge": patch ---- - -`pxToRem` converts every top-level `px` length in a value instead of parsing the whole string as one number. `"4px 8px"` now becomes `0.25rem 0.5rem` instead of `0.25rem`, and `"0 0 4px"` becomes `0 0 0.25rem` instead of `0rem`. Values inside CSS functions are left unchanged, so write a pill radius as `calc(infinity * 1px)`. Border and shadow primitives such as `1px solid red` or `0 2px 4px black` now convert their px lengths too. diff --git a/.changeset/issue-79-color-mix.md b/.changeset/issue-79-color-mix.md deleted file mode 100644 index b1337ea..0000000 --- a/.changeset/issue-79-color-mix.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@hebilicious/cssforge": minor ---- - -Derive colors with a `mix` value in palette variants and theme values. `{ mix: { from: "palette.accent.base", with: "black", amount: 15 } }` emits `color-mix(in oklch, var(--palette-accent-base), black 15%)`, so overriding the base re-derives the variant. - -- `from` and `with` take a dotted token path, emitted as its `var()` reference, or a CSS color such as `"transparent"`, emitted as written. -- `amount` is the percentage of `with`, from 0 to 100. `in` accepts only `"oklch"`, the default. -- A palette mix with `formats` computes its sRGB values by mixing in OKLCH, and an achromatic operand keeps the other color's hue. -- Unknown keys, an amount out of range, an unresolvable path, and a value that is not a color are rejected with the configuration path. diff --git a/.changeset/issue-80-light-dark.md b/.changeset/issue-80-light-dark.md deleted file mode 100644 index 4124e5a..0000000 --- a/.changeset/issue-80-light-dark.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@hebilicious/cssforge": minor ---- - -Pair a light and a dark theme into one `light-dark()` token per color with `colors.theme.settings.lightDark: { light: "light", dark: "dark" }`, written in the `theme: { value, settings }` form. - -- Each paired color is emitted once at `:root` as `--theme--: light-dark(, );` (or `--` with `variantNameOnly`), at the token path `theme..`. `var()` references and `mix` values are kept. -- `:root` gets `color-scheme: light dark`, and the optional `colorScheme: { light, dark }` selectors each get a rule forcing that scheme. -- The paired themes must declare the same colors and variants, and the error names the missing paths. A `selector` or `atRule` on a paired theme, a `variantNameOnly` that differs between the pair, a paired color named like another theme, and unknown keys are rejected. -- `settings` is now a reserved theme name: `theme.settings` written beside named themes, without the `value` form, is rejected instead of being read as a theme named "settings". Rename such a theme. -- In the `theme: { value, settings }` form, keys other than `value` and `settings`, and settings other than `lightDark`, are rejected instead of ignored. -- Otherwise, themes and configs without `lightDark` are unchanged. diff --git a/.changeset/issue-81-type-checks.md b/.changeset/issue-81-type-checks.md deleted file mode 100644 index 7d1ad0b..0000000 --- a/.changeset/issue-81-type-checks.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@hebilicious/cssforge": minor ---- - -Check fluid type scales for accessibility and report build warnings. - -- A fluid type step whose maximum size is more than 2.5× its minimum now fails generation (WCAG 1.4.4 Resize Text). Exactly 2.5× passes. The error names the scale, the step, both sizes and the ratio. -- A scale whose every step changes by less than 10% across the viewport range warns once, because its `clamp()` values are effectively static. -- A step whose smaller size is below `settings.minLegibleSize` (default `12`, in px) warns. Set it to another px number, or `false` to turn the floor off. -- `getDiagnostics(config)` returns the build warnings as `{ code, severity, path, message }`, and `processTypography` returns them as `diagnostics`. The CLI prints each one to stderr as `cssforge: warning: ` and still writes the outputs with exit code `0`. diff --git a/.changeset/issue-82-pow-scale.md b/.changeset/issue-82-pow-scale.md deleted file mode 100644 index 607b149..0000000 --- a/.changeset/issue-82-pow-scale.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@hebilicious/cssforge": minor ---- - -Every fluid type scale is also written with `pow()`, beside its `clamp()` steps, in every output. - -- The `clamp()` steps keep their names and paths, `--typography_fluid-[-]-