Files
WRNexusJS/docs/UPGRADE-0.8.3.md
T
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

60 lines
2.3 KiB
Markdown

# 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.
- `<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:
```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.