release: WRNexusJS 0.8.0
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# WRNexusJS public API policy
|
||||
|
||||
The package root and every declared package export subpath are public API. During
|
||||
the `0.8.x` release line, exported names are additive: removal or renaming needs
|
||||
a deprecation cycle and a major/minor compatibility decision, not an incidental
|
||||
refactor.
|
||||
|
||||
`bun run check:public-api` resolves TypeScript re-exports and compares all
|
||||
publishable package/subpaths with `docs/public-api-0.8.json`. It is read-only and
|
||||
runs in the production gate. When an intentional, reviewed API addition or
|
||||
approved compatibility change occurs, update the baseline with:
|
||||
|
||||
```bash
|
||||
bun run generate:public-api
|
||||
```
|
||||
|
||||
The baseline guards exported names, while package tarball consumer tests guard
|
||||
conditional export targets, declarations, runtime imports, browser bundling,
|
||||
assets, and the CLI binary. Behavioral compatibility remains covered by package
|
||||
tests and migration tests; the API baseline does not replace those contracts.
|
||||
|
||||
Browser runtime growth is also a reviewed compatibility concern. The read-only
|
||||
security/performance gate caps source payloads at 150 kB for reactive hydration,
|
||||
25 kB for navigation, and 15 kB for realtime. Production delivery additionally
|
||||
uses Brotli; a budget increase requires an explicit performance review.
|
||||
Reference in New Issue
Block a user