Skip to content

release: prepare v4.1.0 release#269

Merged
callinmullaney merged 12 commits into
mainfrom
develop
Jun 21, 2026
Merged

release: prepare v4.1.0 release#269
callinmullaney merged 12 commits into
mainfrom
develop

Conversation

@callinmullaney

@callinmullaney callinmullaney commented Jun 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

Prepares the Emulsify Core v4.1.0 release by promoting the completed develop changes to main.

Release highlights:

  • Adds configurable asset roots through assets.roots in project.emulsify.json.
  • Preserves assets/ and src/assets/ as default asset locations.
  • Mounts configured asset roots at /assets in Storybook.
  • Resolves Twig source('@assets/...') references against configured asset roots.
  • Safely ignores asset roots outside the project and reports them through emulsify-audit.
  • Automatically discovers accessibility targets from the built Storybook index.json.
  • Merges discovered story IDs with manually configured Pa11y targets.
  • Adds discoverStories: false for projects that require a manual accessibility target list.
  • Preserves the full Storybook context through preview decorators, including args, loaded, parameters, and globals.
  • Maintains compatibility with React stories and legacy Twig stories that return HTML strings.
  • Updates documentation for asset roots, accessibility discovery, Storybook behavior, and platform-neutral WordPress and Timber projects.
  • Adds regression coverage for project configuration, asset resolution, auditing, accessibility discovery, and Storybook decorators.

Related issue(s)

Checklist

  • Tests run and results noted — CI completed successfully.
  • Documentation impact considered — relevant documentation has been updated.
  • Migration or backward compatibility impact considered — existing asset roots and manual accessibility configuration remain supported.
  • Accessibility impact considered — Storybook accessibility checks now discover built stories by default.
  • Release fixture impact considered — no release fixture changes are required.

Notes

  • Custom asset roots are additive; existing projects do not need to update their configuration.
  • Configured asset roots must resolve within the project root.
  • Automatic accessibility discovery may check stories that were previously absent from the manual target list and may expose additional findings.
  • Projects can set discoverStories: false to retain manual-only Pa11y targeting.
  • No breaking changes are expected for existing Storybook, Twig, React, or Drupal projects.

Callin Mullaney and others added 11 commits June 21, 2026 03:36
Move repo-only test, coverage, unused legacy plugin, and fixture deps to devDependencies.

Keep public config, binaries, Storybook/Vite/Twig runtime, and packaged a11y deps in dependencies.

Leave @emulsify/cli in dependencies; its consumer tooling role is not proven safe to change.
…oots

feat(config): support custom Twig asset roots
…mer-dependency-footprint

* origin/develop:
  feat(config): support custom asset roots

# Conflicts:
#	config/vite/project-config.js
#	config/vite/project-structure.js
#	docs/project-structure.md
#	docs/storybook.md
#	scripts/audit.test.js
…ency-footprint

feat: improve consumer packaging and Storybook integration
@callinmullaney callinmullaney changed the title Release release: prepare v4.1.0 release Jun 21, 2026
@callinmullaney
callinmullaney merged commit 7ae4cce into main Jun 21, 2026
17 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 4.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant