Skip to content

2.0.0 - #9

Merged
Foscat merged 15 commits into
mainfrom
2.0.0
Jul 20, 2026
Merged

2.0.0#9
Foscat merged 15 commits into
mainfrom
2.0.0

Conversation

@Foscat

@Foscat Foscat commented Jul 20, 2026

Copy link
Copy Markdown
Owner

This pull request delivers the 2.0.0 release of layout-style-css, a major redesign focused on a dependency-free, container-first layout system, improved CI/release workflows, and comprehensive documentation and migration guidance. It introduces new layout primitives, recipes, and personalities, enforces stricter release and security checks, and updates all supporting documentation and workflows to reflect the new architecture and usage guidance.

Major Breaking Changes and New Features:

Core and Architecture Updates:

  • Rebuilt as a dependency-free, container-first layout system requiring Node.js 20+ for development; replaced v1 size-tier wrappers with new semantic wrappers, recipes, and personalities; legacy v1 features are now in an opt-in legacy.css bundle. [1] [2]
  • Added new primitives (stack, cluster, grid, etc.), seven functional recipes, and sixteen spatially distinct personalities; standardized on data-ly-layout, data-ly-recipe, and data-ly-area attributes. [1] [2]

Integration, Migration, and Documentation:

  • Updated and expanded documentation, migration guide, and changelog to cover all breaking changes, new exports/selectors, and usage patterns; added explicit guidance for legacy usage and v3 removal schedule. [1] [2] [3]
  • Updated demo, manifest, and sitemap metadata for the new version and features. [1] [2]

Release, CI, and Security Improvements:

CI/CD and Release Workflow:

  • Added a new standalone CI workflow for Node.js 20 and 22 with Chromium, Firefox, and WebKit verification; improved npm publish workflow with strict tag/commit/version validation, provenance, and protected environment requirements. [1] [2] [3]
  • Release verification now includes rendered demo tests, Pages output, and cross-browser checks. [1] [2]

Security and Trust:

  • Strengthened security policy: only 2.x receives full support, with explicit migration guidance for 1.1.x; release gates now verify package contents, rendered behavior, and enforce strict trust boundaries. Demo CDN fixtures use SRI and CORS. [1] [2]

Contributor and Testing Guidance:

Contribution Process:

  • Updated contributor guidelines to reflect new build/test commands, stricter documentation/testing requirements, and cross-browser expectations. [1] [2] [3]

Testing and Verification:

  • Added/updated tests for all new exports, recipes, personalities, and rendered behaviors; enforced contract and smoke tests for all release and public-facing changes. [1] [2]

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

@Foscat Foscat self-assigned this Jul 20, 2026
Copilot AI review requested due to automatic review settings July 20, 2026 16:39
@Foscat Foscat added documentation Improvements or additions to documentation enhancement New feature or request labels 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 publishes the layout-style-css 2.0.0 major release, shifting the project to a dependency-free, container-first layout architecture with new focused exports, a redesigned demo/Pages artifact, stronger release gates, and expanded migration/security documentation.

Changes:

  • Introduces v2 container-first “recipes” and “personalities”, plus focused exports and an opt-in legacy.css bundle for v1 compatibility.
  • Strengthens CI/release workflows (Node 20/22 matrix, cross-browser rendered checks, stricter npm publish trust boundary).
  • Updates demo, Pages artifact checks, and documentation to match the new API and release process.

Reviewed changes

Copilot reviewed 74 out of 121 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/pages-artifact.test.mjs Updates Pages artifact assertions for v2 outputs, metadata, and integration bundle presence.
test/fixtures/v1-base-public-api.json Adds a v1 selector snapshot fixture for migration/compat verification.
styles/personalities/z-pattern.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/y2k.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/tactile.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/synthwave.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/split-screen.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/retrofuturism.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/retro-glass.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/neumorphism.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/mondrian.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/minimal-saas.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/maximalist.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/f-pattern.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/cyberpunk.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/brutalism.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/bento.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities/bauhaus.css Adds v2 personality stylesheet using container queries and recipe variables.
styles/personalities.css Adds an import-based entry aggregating all personalities.
styles/layout-style-z-pattern.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-y2k.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-tactile.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-synthwave.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-split-screen.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-retrofuturism.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-retro-glass.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-neumorphism.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-mondrian.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-minimal-saas.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-maximalist.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-f-pattern.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-cyberpunk.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-brutalism.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-bento.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/layout-style-bauhaus.css Removes v1 style bundle (superseded by v2 personalities + legacy bundle).
styles/integrations/ui-style-kit.css Updates the UI Style Kit compatibility bridge to v2 layering + container-first behavior.
styles/core.css Adds a core import entrypoint aggregating wrappers/primitives/recipes/utilities.
SECURITY.md Updates supported versions and documents stronger release gate and trust boundaries.
scripts/build-pages.mjs Updates Pages artifact rewriting for v2 dist paths and integration bundle.
package.json Bumps to 2.0.0, removes peer deps, adds engines>=20, refactors scripts, and updates exports/files.
package-lock.json Syncs lockfile version and dependency updates for 2.0.0.
docs/wiki/UI-Style-Kit-Compatibility.md Updates compatibility guidance for explicit imports and v2 ownership boundaries.
docs/wiki/Security-And-Support.md Updates support policy, browser baseline, and release/publish security checks.
docs/wiki/Release-And-Publishing.md Rewrites release checklist for v2 verification + guarded publishing workflow.
docs/wiki/Layout-Styles.md Updates “styles” -> “personalities” model and canonical selector usage.
docs/wiki/Layout-Recipes.md Updates recipe API to data-ly-recipe/data-ly-area and container thresholds.
docs/wiki/Layout-Primitives.md Updates primitives/wrappers documentation for v2 semantics and focused modules.
docs/wiki/Installation-And-CDN.md Updates install/import paths for v2 focused exports and CDN usage.
docs/wiki/Home.md Updates wiki index to v2 content and adds migration entry point.
docs/wiki/Getting-Started.md Updates getting started instructions for v2 recipes/personalities and migration guidance.
docs/wiki/Demo-And-GitHub-Pages.md Updates demo and Pages guidance for cross-browser rendered gates and artifact behavior.
docs/wiki/Contributing.md Updates contributor workflow commands and v2 structural/ownership rules.
docs/wiki/_Sidebar.md Adds migration page link to the wiki sidebar.
dist/personalities/z-pattern.css Generated v2 personality output for distribution.
dist/personalities/y2k.css Generated v2 personality output for distribution.
dist/personalities/tactile.css Generated v2 personality output for distribution.
dist/personalities/synthwave.css Generated v2 personality output for distribution.
dist/personalities/split-screen.css Generated v2 personality output for distribution.
dist/personalities/retrofuturism.css Generated v2 personality output for distribution.
dist/personalities/retro-glass.css Generated v2 personality output for distribution.
dist/personalities/neumorphism.css Generated v2 personality output for distribution.
dist/personalities/mondrian.css Generated v2 personality output for distribution.
dist/personalities/minimal-saas.css Generated v2 personality output for distribution.
dist/personalities/maximalist.css Generated v2 personality output for distribution.
dist/personalities/f-pattern.css Generated v2 personality output for distribution.
dist/personalities/cyberpunk.css Generated v2 personality output for distribution.
dist/personalities/brutalism.css Generated v2 personality output for distribution.
dist/personalities/bento.css Generated v2 personality output for distribution.
dist/personalities/bauhaus.css Generated v2 personality output for distribution.
dist/personalities.css Generated entry aggregating all personalities for distribution.
dist/layout-style-z-pattern.css Removes v1 generated style bundle output.
dist/layout-style-y2k.css Removes v1 generated style bundle output.
dist/layout-style-tactile.css Removes v1 generated style bundle output.
dist/layout-style-synthwave.css Removes v1 generated style bundle output.
dist/layout-style-split-screen.css Removes v1 generated style bundle output.
dist/layout-style-retrofuturism.css Removes v1 generated style bundle output.
dist/layout-style-retro-glass.css Removes v1 generated style bundle output.
dist/layout-style-neumorphism.css Removes v1 generated style bundle output.
dist/layout-style-mondrian.css Removes v1 generated style bundle output.
dist/layout-style-minimal-saas.css Removes v1 generated style bundle output.
dist/layout-style-maximalist.css Removes v1 generated style bundle output.
dist/layout-style-f-pattern.css Removes v1 generated style bundle output.
dist/layout-style-cyberpunk.css Removes v1 generated style bundle output.
dist/layout-style-brutalism.css Removes v1 generated style bundle output.
dist/layout-style-bento.css Removes v1 generated style bundle output.
dist/layout-style-bauhaus.css Removes v1 generated style bundle output.
dist/layout-all.css Removes v1 aggregate dist entry.
dist/layout-all-with-ui-kit.css Removes v1 aggregate dist entry including UI Kit.
dist/layout-all-with-ui-kit-and-interactive-surface.css Removes v1 aggregate dist entry including UI Kit + Interactive Surface.
dist/integrations/ui-style-kit.css Generated v2 UI bridge output for distribution.
dist/core.css Generated v2 core entry for distribution.
demo/sitemap.xml Updates Pages metadata lastmod for the v2 release.
demo/site.webmanifest Updates manifest description for the v2 interactive lab.
CONTRIBUTING.md Updates repo-level contributing instructions and test contract references.
CHANGELOG.md Adds the 2.0.0 release entry and documents breaking changes/additions.
.github/workflows/npm-publish.yml Hardens npm publish pipeline with stricter tag/commit/version trust checks and provenance.
.github/workflows/ci.yml Adds standalone CI for Node 20/22 and a cross-browser rendered test matrix.
Comments suppressed due to low confidence (1)

styles/integrations/ui-style-kit.css:72

  • .saas-container (and the other *-container aliases) uses var(--ly-wrapper-max) to size itself but never applies the same personality-aware default that .ly-wrapper does (--ly-wrapper-max: var(--ly-personality-wrapper-max, var(--ly-wrapper-content))). As a result, these bridge containers will stick to the global default wrapper measure (72rem) and ignore --ly-personality-wrapper-max from the active data-ly-layout personality, which makes the integration drift from the core wrapper behavior.

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

@Foscat
Foscat merged commit 03170f8 into main Jul 20, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants