Skip to content

Fission 0.4.1

Latest

Choose a tag to compare

@zcourts zcourts released this 17 Jun 04:57
· 2 commits to main since this release

Fission 0.4.1 is a focused patch release on top of the 0.4 authoring API. It keeps the impl From<Component> for Widget model intact and improves runtime shell routing, server/static rendering, mobile target scaffolding, and package verification.

Source commit: 2f9b0b6d9c777ff421d15b8db29d5419b2f983e8

Highlights

  • Added the route/action shell layer built on top of the scoped raw action primitives introduced in 0.4.0.
  • Added RouteLocation and ShellRouteChanged for typed shell route-change dispatch.
  • Added with_route_handler(...) to desktop, mobile, web, and winit shell builders.
  • Added router builder helpers for common route table construction.
  • Added server static app mounts, prefix server routes, structured route data, and route response status support.
  • Improved SSR/static lowering for forms, links, responsive images, SVG icon coloring, animation output, text output, positioned layout, markdown image rendering, and cache ids.
  • Fixed target feature synchronization and hardened generated Android/iOS mobile scaffolds.
  • Added executable mobile package script coverage.
  • Fixed the desktop notification-response builder so on_notification_response(...) returns the builder for chained configuration.

Scoped Route Actions For Runtime Shells

Fission 0.4.0 introduced the low-level scoped raw action primitives: ActionScopeId, ActionScope, and ActionInput::ScopedRaw. Fission 0.4.1 adds the higher-level route/action shell plumbing that hosts can use alongside that scoped dispatch boundary.

RouteLocation represents browser-compatible route location data, with a required pathname and optional host, hash, hostname, href, origin, port, protocol, and search fields. ShellRouteChanged is a built-in action shells can dispatch when the host route changes.

Shell builders now expose with_route_handler(...), so route changes can flow into ordinary typed reducers rather than shell-specific side channels.

Server And Static Rendering

The server/static path now includes:

  • static app mounts;
  • SSR environment hooks;
  • cache invalidation APIs;
  • prefix route matching;
  • structured route data;
  • response status support;
  • server handler execution off runtime threads;
  • static form lowering;
  • better link/image output and markdown image rendering.

These changes make static and server-rendered apps more predictable when they combine content routes, forms, markdown, metadata, embedded app surfaces, and custom status responses.

Mobile And Packaging

The CLI and package tooling now preserve and synchronize target feature state more reliably when existing projects already contain platform folders. Android and iOS scaffolds were hardened, and generated package scripts gained executable coverage so package-path regressions are caught earlier.

Published Crate Set

All workspace crates under crates/ have been published as 0.4.1, including the fission facade, authoring crates, core/runtime crates, shell crates, rendering crates, command/tool crates, and test crates.

Migration Notes

Most 0.4.0 applications should move to 0.4.1 without code changes.

Applications that need to react to host route changes can register a reducer with with_route_handler(...) and handle ShellRouteChanged. Hosts that mount guest UI can continue using the 0.4 scoped raw action APIs and pair them with route actions where they need route-aware dispatch.

Server-rendered or statically generated sites should prefer 0.4.1 when they rely on route status, structured route metadata, prefixed routes, markdown images, responsive images, static forms, or mounted static app islands.

Mobile projects should regenerate or resync target scaffolds if they need the updated package scripts and target feature handling.

Verification

  • v0.4.0^{} resolves to 91cefd180896d64b388ca9b731be8d97ab3cfccb.
  • v0.4.1^{} resolves to 2f9b0b6d9c777ff421d15b8db29d5419b2f983e8.
  • All 36 workspace crates under crates/ are visible on crates.io as 0.4.1.
  • Release preparation ran package verification for the workspace crate set before publication.

Release blog: https://fission.rs/blog/2026-06-17-fission-0-4-1-runtime-shells-and-scoped-actions/

Full changelog: v0.4.0...v0.4.1