Skip to content

1.5.0#23

Merged
Foscat merged 34 commits into
mainfrom
1.5.0
Jul 20, 2026
Merged

1.5.0#23
Foscat merged 34 commits into
mainfrom
1.5.0

Conversation

@Foscat

@Foscat Foscat commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

Describe the change and why it is needed.

Scope

  • bug fix
  • feature
  • docs
  • tests
  • release/chore

Overview

This pull request introduces several improvements to CI workflows, release validation, and documentation. The most significant changes are the addition of a release metadata validation step to the npm publishing workflow, expansion of Node.js version test coverage in CI, and updates to the changelog for recent releases. Additionally, actions are now pinned to specific commit hashes for improved security and reproducibility.

CI and Release Workflow Improvements:

  • Added a release metadata validation step in .github/workflows/npm-publish.yml to ensure the release tag matches the package version and that the changelog contains a dated heading for the release. This helps prevent publishing errors due to mismatched versions or incomplete documentation.
  • Expanded the CI matrix in .github/workflows/ci.yaml to test against both Node.js 20 and Node.js 22, with corresponding validation scripts, ensuring compatibility with supported Node.js versions.
  • Updated Node.js version in .github/workflows/browser-tests.yml and .github/workflows/npm-publish.yml from 24 to 22 for better alignment with supported environments. [1] [2]
  • Pinned all GitHub Actions (actions/checkout, actions/setup-node) to specific commit hashes across workflows for improved supply chain security and reproducibility. [1] [2] [3]

Documentation:

  • Updated CHANGELOG.md with detailed entries for versions 1.4.0 and 1.5.0, including new features, fixes, accessibility improvements, and testing changes.

Other minor improvements include a stylelint config formatting fix [1] and a small workflow trigger cleanup in .github/workflows/npm-publish.yml [2].

Validation

List commands you ran and results.

npm run lint:css
npm run test:install
npm test
npm run pack:dry

API and Behavior Impact

  • no public API changes
  • class API changed
  • token contract changed
  • accessibility behavior changed
  • motion behavior changed
  • browser behavior changed

Documentation

  • README updated (if needed)
  • wiki updated (if needed)
  • CHANGELOG updated (if needed)

Notes

Anything reviewers should focus on.

Foscat and others added 30 commits July 8, 2026 01:52
Add data-surface-variant aliases and standalone surface-level defaults for bridge-generated and runtime-assigned markup.

Update docs, demo coverage, release notes, and package metadata for the 1.3.0 API contract.
- CSS: Level-1/2/3 rules now set internal --_is-* vars with public bridge
  tokens as first fallback instead of writing to public tokens, preserving
  import-order independence
- Test: Resolve state-layer opacity values via a probe element's opacity
  property rather than reading raw custom-property token streams
- index.html: Replace @latest with @<version> placeholder in embedded CDN
  code block for reproducibility
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@Foscat Foscat self-assigned this Jul 20, 2026
Copilot AI review requested due to automatic review settings July 20, 2026 19:37
@Foscat Foscat added enhancement New feature or request dependencies Pull requests that update a dependency file labels Jul 20, 2026
@Foscat

Foscat commented Jul 20, 2026

Copy link
Copy Markdown
Owner Author

@copilot resolve the merge conflicts in this pull request

@Foscat Foscat closed this Jul 20, 2026
@Foscat Foscat reopened this Jul 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the repository for the 1.5.0 release candidate by formalizing the new entry-point model (state-only core + standalone preset + preserved compatibility bundle), strengthening deterministic validation and contract tests, and tightening CI/release safety (pinned actions, Node version lanes, and release metadata checks). It also refreshes the README/wiki so published-package consumers get durable, npm-safe guidance that matches the shipped artifacts.

Changes:

  • Added authored CSS modules (styles/state-core.css, styles/standalone-preset.css) plus a build pipeline that generates/pins public bundles (state-core.css, standalone-preset.css, interactive-surface.css) and verifies parity/minified artifacts.
  • Expanded contract + documentation + entry-point Playwright coverage, including UI Style Kit integration assertions and package/README/wiki invariants.
  • Updated CI and release workflows (Node 20/22 matrix, pinned action SHAs, publish-time release metadata validation) and refreshed README/wiki/changelog for 1.5.0.

Reviewed changes

Copilot reviewed 45 out of 61 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
wiki/Token-Reference.md Reorganized and expanded token contract documentation (core vs preset, transition tuple, fallbacks).
wiki/Testing-and-Quality.md Documented validation tiers and clarified deterministic vs browser gates.
wiki/Roadmap.md Updated roadmap framing and guardrails around the 1.5.0 release candidate.
wiki/Publishing-and-Releases.md Clarified release ownership, identity checks, and distribution verification steps.
wiki/Installation-and-Usage.md Updated installation/import guidance for new entry points and pinned CDN usage.
wiki/Home.md Refreshed project positioning and entry-point summary for 1.5.0.
wiki/Getting-Started.md Simplified “fast path” to the standalone preset and pinned CDN guidance.
wiki/FAQ.md Updated entry-point guidance, state semantics, and release-candidate status.
wiki/Contributing.md Added contribution rules and updated local validation workflow guidance.
wiki/API-Reference.md Documented entry points, interaction precedence, and added a package-resolution contract table.
wiki/Accessibility.md Clarified semantic responsibilities and updated reduced-motion/forced-colors guidance.
wiki/_Sidebar.md Updated navigation links to durable absolute Wiki URLs plus live example links.
wiki/_Footer.md Expanded footer navigation and added live reference links.
tests/ui-style-kit-compat.spec.ts Expanded compatibility assertions (transition ownership, lift composition, forced colors, core-only paint preservation).
tests/public-contract.test.mjs Added deterministic contract checks for selectors/tokens/exports and UI Kit optionality.
tests/interactive-surface.spec.ts Updated assertions to match translate-based lift and formatting changes.
tests/entry-points.spec.ts Added Playwright coverage validating entry-point behavior boundaries and file-input styling.
tests/documentation.test.mjs Added comprehensive documentation/link/version/contract synchronization tests.
tests/build.test.mjs Added generated-bundle map/parity tests and stale-target reporting.
styles/state-core.css Introduced authored state core (state precedence, transition tuple tokens, translate-based lift, a11y media queries).
styles/standalone-preset.css Introduced authored preset (neutral paint/variants/levels/icon roles/geometry + forced-colors paint).
state-core.css Generated public state-core bundle with header and normalization.
scripts/check-no-hex-colors.mjs Extended hex-color guard to cover authored + generated stylesheets.
scripts/build.mjs Replaced single-file copy/minify with a multi-bundle generator, parity verifier, and minification pipeline.
README.md Rebuilt as an npm-first guide with durable links, entry-point comparison, and semantic usage recipes.
playwright.config.mjs Set worker count and normalized formatting for stable test execution.
package.json Bumped to 1.5.0, raised Node engine to >=20, added exports/files/scripts for new entry points + validation tiers.
package-lock.json Updated lockfile metadata for 1.5.0 and new dev tooling.
docs/superpowers/specs/2026-07-19-interactive-surface-1.4.0-refinement-design.md Added design spec capturing goals/contracts for the refactor and release gates.
demo/demo.js Added demo state-lab behavior (tabs, token editor dialog, import/export helpers, embedded README renderer).
CHANGELOG.md Added 1.4.0 and 1.5.0 release-candidate entries describing changes, a11y, docs, and testing.
assets/site.webmanifest Added PWA manifest for demo/site packaging.
assets/favicon-links.html Added reference snippet for favicon/manifest link tags.
assets/browserconfig.xml Added Windows tile configuration.
.stylelintrc.cjs Minor formatting adjustment.
.github/workflows/wiki-sync.yml Pinned checkout actions to commit SHAs for reproducibility.
.github/workflows/npm-publish.yml Pinned actions, moved Node to 22, added release metadata validation, and ensured tag-based checkout.
.github/workflows/ci.yaml Added Node 20/22 matrix lanes with explicit validation scripts; pinned actions.
.github/workflows/browser-tests.yml Pinned actions and aligned Node version with CI/release lanes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread styles/state-core.css
Comment thread styles/standalone-preset.css Outdated
@Foscat
Foscat merged commit 43b73c5 into main Jul 20, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants