Files
WRNexusJS/docs/UPGRADE-0.8.3.md
Clintchiz 4cebacadfe
Quality / quality (ubuntu-latest) (push) Failing after 12m9s
Quality / quality (windows-latest) (push) Canceled after 0s
release: WRNexusJS 0.8.3
2026-08-03 19:47:30 +05:30

2.3 KiB

Upgrade to WRNexusJS 0.8.3

WRNexusJS 0.8.3 is a framework stability release. It fixes browser hydration modules, SSR computed values, Async scopes, typed props in loops, realtime connection identity, loader invalidation, strict component imports, and development diagnostics.

Application migration

No application source rewrite is required. The 0.8.3-client-ssr-realtime-stability migration is intentionally idempotent and records the upgrade in the CLI migration registry.

After updating all @wrnexus/* dependencies to 0.8.3, remove generated artifacts so the new browser-module cache format is used:

rm -rf .wrnexus dist
bun install
bun run check

On Windows PowerShell:

Remove-Item -Recurse -Force .wrnexus, dist -ErrorAction SilentlyContinue
bun install
bun run check

Behavior changes

  • Hydrated .wrn browser modules are bundled before they are served or emitted. Browser code no longer receives unresolved bare package imports or file: filesystem imports.
  • Generated native client and shared functions take precedence over the CSP-safe expression fallback. The fallback also accepts template literals inside call arguments.
  • Page computed values are declared for SSR in dependency order. Computed cycles fail with WRN-COMPUTED-CYCLE.
  • Whole-expression object and array props inside {#each} are serialized as typed props.
  • <Success data="..."> and <Error error="..."> aliases have branch-local scope.
  • Realtime sockets are keyed by room plus normalized query identity and reconnect when identity attributes change.
  • $route and route expose reactive pathname, query, hash, and params to hydrated views.
  • Uploader success events dispatch cache invalidation tags. Matching client Async boundaries refresh automatically.
  • The unsupported default unload Permissions Policy directive has been removed.
  • Official package components now satisfy imports.mode = "explicit".

Publishing 0.8.3

Run the complete release gate with Bun before publishing:

bun install --frozen-lockfile
bun run check:production
bun run release:prepare
bun run release:private

release:prepare rebuilds package distributions and verifies that version 0.8.3 has a CLI migration entry. Do not publish stale dist directories from an older release.