60 lines
2.3 KiB
Markdown
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.
|