Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • Controls panel is now automatically disabled for Astro stories in production (static Storybook) builds
  • Resolved broken images and escaped slot HTML in static prerender
  • Alpine.js component detection no longer incorrectly includes plain .ts/.js files in the hydratable source scan
  • Svelte and Vue component chunks now emitted directly instead of through virtual modules, improving static build compatibility
  • Prevented vite-plugin-svelte from processing component virtual module stubs
  • Passthrough image service now correctly injected during Astro 6 build prerender
  • React plugin include filter in vitest configs now uses a RegExp for compatibility with more project setups
  • setProjectAnnotations, composeStory, and composeStories are now generic over renderer type for improved TypeScript support
  • Widened @vitejs/plugin-vue peer dep range to ^5.2.3 || ^6.0.0 and @vitejs/plugin-vue-jsx to ^4.1.2 || ^5.0.0 — fixes install conflict when using @astrojs/vue@6
  • Stubbed astro:toolbar:internal virtual module in Storybook context to prevent build errors with Astro’s internal toolbar module
  • Renderer now resolved via import.meta.resolve for compatibility with pnpm installations
  • Nested Astro component rendering support — components can now include other Astro components as children
  • Image support via astro:assets Image component — integrated passthrough image service into the renderer
  • definePreview and defineMain helpers for improved type safety and DX in preview.js and main.js files
  • Pre-release smoke test infrastructure — validates compiled packages work in real Astro 5 and 6 projects before publishing
  • Astro integration virtual module stubs (@astrojs/react:opts, astro:preact:opts, etc.)
  • TypeScript declarations now properly generated with tsconfig.json in both packages
  • Resolved implicit any and Integration[] | undefined type errors in middleware plugin
  • Virtual module ambient declarations now globally visible across the framework
  • Middleware path correctly resolved from compiled dist chunks
  • Global setup correctly compiled and resolved from dist/
  • Server entry resolved correctly from package root for tarball installations
  • Framework package now includes @storybook/builder-vite in smoke test dependencies
  • Removed invalid —no-telemetry flag from storybook build
  • Fixed portable timeout wrapper in smoke test orchestration
  • Release Manager skill updated with release branch cutting workflow
  • Documentation updated for nested component support and assets handling
  • Fixed Astro 5.17.2+ compatibility by requiring Vite 6.4.1+ — the framework package previously allowed Vite 5.x which caused “Cannot read properties of undefined (reading ‘name’)” error due to missing Vite 6+ this.environment feature
  • Vite 5.4.0+ support — framework package now compatible with Astro 5 projects using Vite 5.x
  • Astro 5 projects with Vite 5.4.21+ can now install @storybook-astro/framework without peer dependency conflicts
  • storybook dev now works correctly with fresh npm installs — previously produced a Failed to load astro-prerendered-stories.json. Received 404 Not Found error or a blank “Astro Component / requires server-side rendering” placeholder
  • Added @storybook-astro/renderer to Vite optimizeDeps.exclude in the framework preset, preventing esbuild pre-bundling from stripping import.meta.hot out of the renderer chunk
  • Changed getViteHot() in the renderer to access import.meta.hot directly rather than via an intermediate variable — Vite’s importAnalysis plugin detects hot usage by static analysis on the literal import.meta.hot string; the previous indirect pattern compiled by tsup was invisible to this analysis
  • renderAstroToCanvas now catches a prerendered stories fetch failure gracefully and falls through to HMR rendering with a clear console warning, instead of crashing with a confusing network error (defensive fallback)
  • Stable 1.0.0 release with production-ready Storybook Astro framework
  • Full support for Astro 5 (5.5.3+) and Astro 6
  • Multi-framework support: React, Vue, Svelte, Solid, Preact, Alpine.js
  • Server-side rendering with middleware pipeline
  • Portable stories (composeStories) for vitest integration
  • Comprehensive testing utilities and framework integration helpers
  • Framework now production-ready after extensive beta testing and monorepo restructuring
  • Improved documentation and Getting Started guide
  • Enhanced website with component demos across all frameworks
  • Documentation and website updated to reflect support for both Astro 5 (5.5.3+) and Astro 6 Beta
  • Framework package description, README, Getting Started guide, and root README now list Astro 5 + 6
  • Migrated repository from lukemcd/storybook-astro to storybook-astro/storybook-astro
  • Restructured as a monorepo with Yarn workspaces (packages/@storybook-astro/*, apps/*)
  • Marketing website separated into apps/website/
  • Storybook demo/test project moved to apps/sandbox-astro6/
  • Added Astro 5 sandbox (apps/sandbox-astro5/) for cross-version compatibility testing
  • Root package.json stripped to monorepo config with shared devDeps only
  • Getting Started guide (docs/GETTING_STARTED.md) with detailed story file and Astro slots documentation
  • Package README for npm display
  • findPackageDir helper in cjsInteropPlugin for monorepo-aware node_modules resolution
  • cjsInteropPlugin now walks up from process.cwd() to find hoisted packages in monorepo structure
  • ESLint config updated for monorepo paths and Svelte parser compatibility
  • CI workflow updated with workspace-based builds and timeout for hung Storybook processes
  • Website build fixes: resolved missing assets, styles, and README path for monorepo layout
  • Ensure integrations ?? [] guard survives tsup compilation (default parameter was stripped)
  • Handle undefined integrations option — Storybook now starts without requiring integrations in framework options
  • Add @storybook/builder-vite to install instructions
  • Use npm publish compatible version for @storybook-astro/renderer dependency (was workspace:* which only Yarn resolves)
  • Remove wildcard * hard dependencies (react, vue, svelte, etc.) from framework package that caused install failures — these are peer dependencies only
  • Astro 6 peer dependency fix was missing from beta.2 publish due to branch sync issue
  • Astro 6 peer dependency compatibility — astro peer dep now accepts ^5.5.3 || ^6.0.0-beta.0
  • All @astrojs/* integration peer deps updated for Astro 6 beta versions
  • yarn lint and yarn lint:fix scripts
  • Versioning and branching strategy documentation (docs/VERSIONING.md)
  • Storybook docs panel typography overrides for light background readability
  • Mobile hamburger navigation for the website
  • Accordion components updated to dark theme styling across all 7 frameworks
  • Website “Components Demo” renamed to “Sample Components”
  • Navigation reordered: About, Contribute, Sample Components, Storybook Demo
  • About page text contrast improved (#c9d1d9 for paragraphs/lists, styled inline code and code blocks)
  • Astro 6 component rendering in Storybook via the Container API
  • Multi-framework support: React, Vue, Svelte, Solid, Preact, Alpine.js
  • Server-side rendering with middleware pipeline
  • Portable stories (composeStories) for vitest integration
  • Testing utilities (testStoryRenders, testStoryComposition)
  • Framework integration helpers with glob-based routing
  • Astro website with component demos and documentation
  • Header and Footer components with configurable props and Storybook controls
  • Contribute page and CONTRIBUTING.md with branching strategy
  • Requires Astro 6 (beta) and Storybook 8.6+
  • This is the first public beta release under the @storybook-astro organization