# 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: ```bash rm -rf .wrnexus dist bun install bun run check ``` On Windows PowerShell: ```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. - `` and `` 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: ```bash 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.