Skip to content

Releases: elixir-volt/astral

v0.2.2

Choose a tag to compare

@dannote dannote released this 07 Jul 18:35

Added

  • Documented and tested mixed Vue, Svelte, React, and Solid islands on the same page, including repeated same-framework islands and mixed client directives.
  • Added Solid island build support using .solid.jsx and .solid.tsx component filenames.

Changed

  • Production island assets now build as ES modules and share common framework/runtime chunks through Volt 0.15.5.
  • Moved island browser tests under test/astral/islands/browser/ and added Elixir build/integration coverage for mixed framework islands.
  • Updated Volt to 0.15.5.

v0.2.0

Choose a tag to compare

@dannote dannote released this 29 Jun 13:31

Changed

  • Rebuilt the configuration DSL on the shared dsl package while preserving existing site do ... end syntax and generated route behavior.

v0.1.8

Choose a tag to compare

@dannote dannote released this 29 Jun 11:04

Fixed

  • Preserved external <script src="..."> tags in .astral templates while still extracting inline script blocks into Volt modules.

v0.1.7

Choose a tag to compare

@dannote dannote released this 28 Jun 22:11

Changed

  • Replaced the collections do ... end config wrapper with top-level collection declarations.

v0.1.6

Choose a tag to compare

@dannote dannote released this 28 Jun 22:03

Changed

  • Replaced the top-level plugins [...] config declaration with singular plugin declarations for cleaner config files.

v0.1.5

Choose a tag to compare

@dannote dannote released this 28 Jun 22:03

Changed

  • Dynamic route params rendered in @params are now atom-keyed, matching setup-declared route params and schema-normalized entry data.

v0.1.4

Choose a tag to compare

@dannote dannote released this 28 Jun 22:03

Added

  • Top-level astral.config.exs declarations for site configuration, preserving legacy site do ... end support.

Changed

  • Starter scaffolding, the basic example, and documentation now use the top-level config style.

v0.1.3

Choose a tag to compare

@dannote dannote released this 28 Jun 22:03

Added

  • Static HEEx children for client islands, passed to framework runtimes through the default slot/children channel.
  • Server-rendered Iconify icons through PhoenixIconify's <.icon> component in .astral templates.
  • Inline local SVG files through <.svg src="..." />, resolved with Volt asset aliases and rendered as HTML-safe SVG.
  • Phoenix-shaped get declarations in astral.config.exs for one-off generated static routes, with Plug-compatible middleware via plug.
  • A userland head metadata component pattern in the basic example and pages/layouts guide.
  • Root custom 404 pages (pages/404.{md,html,astral}) that build to dist/404.html and return 404 in development.
  • Documentation and tests for deterministic static output precedence: public files, then pages, then generated routes.
  • A custom 404 page in the basic example site.
  • Clearer content collection documentation for schema defaults and userland tag page patterns.
  • Setup-declared dynamic .astral page paths through strict Astral.Route.Path values and the path/1 setup helper.
  • Clearer develop/build/configuration docs covering dev server options, static build preview expectations, and metadata placement.
  • Editor setup, TypeScript, and environment variable guides that map Astral's Elixir site layer to Volt browser tooling.
  • Clearer plugins/integrations documentation separating Astral site plugins from Volt browser asset plugins.
  • Clearer routing, static endpoint, and middleware-scope documentation after auditing Astro's routing/endpoints/middleware guides.
  • Navigation documentation covering current i18n, prefetch, and view-transition boundaries.
  • Styling and browser-code documentation covering current CSS, font, syntax-highlighting, script, and framework-island boundaries.
  • Markdown, content, and data-fetching documentation covering current MDX, Markdown import, content loader, and live collection boundaries.
  • Server/runtime documentation covering current on-demand rendering, server island, action, session, and route caching boundaries.
  • Deployment documentation covering current static-host deployment and future adapter boundaries.
  • Backend, authentication, and testing documentation covering current composition boundaries.
  • Image documentation covering current build-time image service and future adapter/CDN boundaries.

Changed

  • Collection helpers, feed entry authors/dates, and collection sitemap dates now use schema-normalized entry.data instead of falling back to raw string-keyed frontmatter metadata.
  • Schema-less collections now expose empty normalized entry.data while preserving raw frontmatter in entry.metadata.

v0.1.2

Choose a tag to compare

@dannote dannote released this 28 Jun 05:46

Added

  • Dynamic file routes with route diagnostics.
  • Ecto-style content collection schema fields.
  • Markdown rendering with Astral HEEx components.
  • Optimized local and remote image pipeline with image, picture, figure, metadata, Markdown image, dev-server, and collection image field support.
  • Client-only islands for Vue, Svelte, React, and Solid with framework-specific HEEx components.
  • Island client directives for :load, :idle, :visible, and :media.
  • JSON-safe island props handling through JSON-shaped values, JSONCodec structs, and Jason encoders.
  • Type-aware Volt JavaScript checks for Astral island runtime assets.
  • Vue and React islands in the basic example site.

Changed

  • All Volt-supported island adapters are enabled by default.
  • Astral island runtime assets are maintained as TypeScript files under priv/islands.

v0.1.1

Choose a tag to compare

@dannote dannote released this 26 Jun 12:17

Added

  • HEEx-first .astral templates for pages, layouts, and local components.
  • Parser-backed .astral <style> and <script> extraction through Volt embedded modules.
  • Example site pages, layouts, and components that dogfood .astral templates.