Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

Framework-agnostic CSS for reliable hover, focus, press, selected, current, loading, disabled, and motion affordances on interactive controls. Use it alone or as the interaction layer beside your existing layout and theme system.

Version 1.5.0 is a release candidate in this repository until its npm release is published. Existing 1.x imports, selectors, data hooks, ARIA hooks, and tokens remain supported.
Version 1.5.0 is published on npm. Existing 1.x imports, selectors, data hooks, ARIA hooks, and tokens remain supported.

The package targets Node.js 20+ for npm installs and local validation. CI proves the minimum Node 20 lane and the preferred Node 22 lane before release.

Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ <h2 id="tokenEditorTitle">Edit token</h2>

Framework-agnostic CSS for reliable hover, focus, press, selected, current, loading, disabled, and motion affordances on interactive controls. Use it alone or as the interaction layer beside your existing layout and theme system.

Version 1.5.0 is a release candidate in this repository until its npm release is published. Existing 1.x imports, selectors, data hooks, ARIA hooks, and tokens remain supported.
Version 1.5.0 is published on npm. Existing 1.x imports, selectors, data hooks, ARIA hooks, and tokens remain supported.

The package targets Node.js 20+ for npm installs and local validation. CI proves the minimum Node 20 lane and the preferred Node 22 lane before release.

Expand Down
13 changes: 11 additions & 2 deletions tests/documentation.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -325,8 +325,9 @@ test("wiki API, token, and accessibility references cover the 1.5.0 contract", (
);
});

test("wiki installation and quality guidance matches the release-candidate package", () => {
test("wiki installation and quality guidance matches the released package", () => {
[
readme,
wiki.home,
wiki.gettingStarted,
wiki.installation,
Expand All @@ -337,9 +338,17 @@ test("wiki installation and quality guidance matches the release-candidate packa
document.includes(manifest.version),
`Release-facing wiki page must identify ${manifest.version}`,
);
assert.match(document, /release candidate/i);
assert.doesNotMatch(document, /release candidate/i);
});

assert.match(
wiki.faq,
new RegExp(
`${manifest.name}@${manifest.version}[^\\n]*published on npm`,
"i",
),
);

const normalizeUrlForComparison = (value) => {
const parsed = new URL(value);
const normalizedPath = parsed.pathname.endsWith("/")
Expand Down
2 changes: 1 addition & 1 deletion wiki/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ In the standalone preset and compatibility bundle it supplies centered icon pres

## Is 1.5.0 published?

The repository describes 1.5.0 as a release candidate until npm publication is explicitly approved and completed. Pinned CDN URLs are distribution checks, not proof of publication.
Yes. `interactive-surface-css@1.5.0` is published on npm. Pinned CDN URLs remain distribution checks, not the authority for package publication.

## What browsers are tested?

Expand Down
4 changes: 2 additions & 2 deletions wiki/Getting-Started.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Getting Started

This is the shortest reliable path to the Interactive Surface CSS 1.5.0 release candidate.
This is the shortest reliable path to the published Interactive Surface CSS 1.5.0 release.

## Install

Expand Down Expand Up @@ -56,7 +56,7 @@ Native `disabled` is preferred. If a custom widget must remain focusable and use

## No-build setup

Pin the release candidate version:
Pin the release version:

```html
<link
Expand Down
2 changes: 1 addition & 1 deletion wiki/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Interactive Surface CSS is a framework-agnostic interaction-state layer for buttons, links, toggles, tabs, cards, icon controls, and similar interactive hosts. It provides consistent focus, hover, press, current, selected, loading, disabled, reduced-motion, and forced-colors treatment without requiring a component runtime.

Version 1.5.0 is a release candidate until it is published. It preserves every established 1.x import and selector while adding a public transition tuple and deterministic state precedence to the focused `state-core.css` and complete `standalone-preset.css` entry points.
Version 1.5.0 is published on npm. It preserves every established 1.x import and selector while adding a public transition tuple and deterministic state precedence to the focused `state-core.css` and complete `standalone-preset.css` entry points.

## Choose the layer you need

Expand Down
2 changes: 1 addition & 1 deletion wiki/Installation-and-Usage.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation and Usage

These instructions target the Interactive Surface CSS 1.5.0 release candidate. Existing 1.x imports remain supported.
These instructions target the published Interactive Surface CSS 1.5.0 release. Existing 1.x imports remain supported.

The npm package targets Node.js 20+ for installation and local validation. CI also proves the preferred Node.js 22 release lane.

Expand Down
8 changes: 4 additions & 4 deletions wiki/Publishing-and-Releases.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Publishing and Releases

Interactive Surface CSS 1.5.0 is a release candidate until the package is published. Preparing this branch does not authorize an npm publish, Git tag, or GitHub Release.
Interactive Surface CSS 1.5.0 is published on npm. Future publishing, tagging, or GitHub Release work still requires explicit approval.

## Release ownership

The repository's intended path is:

1. Merge an approved, fully verified release candidate.
1. Merge an approved, fully verified release branch.
2. Create the matching GitHub Release and version tag.
3. Let the npm publish workflow validate the release identity and publish with provenance.
4. Verify npm and pinned CDN distribution.

See the [npm publish workflow](https://github.com/Foscat/Interactive-Surface-CSS/blob/main/.github/workflows/npm-publish.yml) for the executable release rules.

## 1.5.0 release-candidate checklist
## Release verification checklist

1. Confirm `package.json` and `package-lock.json` identify `1.5.0`.
2. Confirm the 1.5.0 changelog entry describes the transition tuple, state precedence, compatibility, accessibility, documentation, and testing.
Expand Down Expand Up @@ -44,7 +44,7 @@ The publish guard avoids downloading browser binaries. Browser verification must

## Release identity

The tag, GitHub Release, package version, lockfile version, and changelog heading must agree. For this candidate, the expected tag is `v1.5.0`.
The tag, GitHub Release, package version, lockfile version, and changelog heading must agree. For version 1.5.0, the expected tag is `v1.5.0`.

## Distribution verification

Expand Down
6 changes: 3 additions & 3 deletions wiki/Roadmap.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Roadmap

Interactive Surface CSS 1.5.0 is a release candidate. The work in this branch focuses the package on a durable interaction-state contract without expanding into layout or theme ownership.
Interactive Surface CSS 1.5.0 is released. The work in this branch focuses the package on a durable interaction-state contract without expanding into layout or theme ownership.

## 1.5.0 release candidate
## 1.5.0 release

- Preserve every existing 1.x import, selector, hook, token fallback, and complete or companion stylesheet entry point.
- Expose public transition property, duration, easing, and delay tokens from `state-core.css`.
Expand All @@ -14,7 +14,7 @@ Interactive Surface CSS 1.5.0 is a release candidate. The work in this branch fo
- Align generated artifacts, package metadata, README, wiki, changelog, and release assertions.
- Lock the package, audit, Chromium, and full-browser release gates.

Publication, tagging, and a GitHub Release remain separate approval-gated steps.
Future publication, tagging, and GitHub Release work remains separate approval-gated release work.

## After 1.5.0

Expand Down
4 changes: 2 additions & 2 deletions wiki/Testing-and-Quality.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Testing and Quality

The 1.5.0 release candidate uses layered gates so contributors can choose fast deterministic checks or the complete cross-browser suite without confusing the two.
The 1.5.0 release uses layered gates so contributors can choose fast deterministic checks or the complete cross-browser suite without confusing the two.

## Validation tiers

Expand Down Expand Up @@ -36,7 +36,7 @@ The Playwright configuration uses a stable two-worker limit. Focused release pro
| `npm run pack:dry` | Inspect the npm tarball allowlist without publishing |
| `npm audit` | Check the dependency tree against the npm advisory database |

The exact script graph is finalized as part of the 1.5.0 release candidate before publication. Browser downloads intentionally remain outside `prepublishOnly`.
The exact script graph is finalized for the 1.5.0 release. Browser downloads intentionally remain outside `prepublishOnly`.

## Contract coverage

Expand Down