diff --git a/changelog/cli/0.10.52.md b/changelog/cli/0.10.52.md new file mode 100644 index 000000000..b35577e15 --- /dev/null +++ b/changelog/cli/0.10.52.md @@ -0,0 +1,37 @@ +--- +package: "@webjsdev/cli" +version: 0.10.52 +date: 2026-08-07T15:43:03.749Z +commit_count: 2 +--- +## Features + +- **`webjs elision`, the per-module verdict and its differential** ([#1312](https://github.com/webjsdev/webjs/pull/1312)) [`51556a50`](https://github.com/webjsdev/webjs/commit/51556a50) + An app could not ask what elision dropped from its pages, and the SSR + differential that proves elision changes nothing was a framework test an app + could not run. + + `webjs elision` prints the verdict per module with the evidence behind every + ship, `--json` emits it for a tool, and `--verify` boots two handlers with + `WEBJS_ELIDE` flipped and diffs the masked SSR bytes across the app's own + static route corpus. It exits non-zero on a divergence AND on a corpus where + nothing was compared, since a vacuous pass is the failure mode a verification + command must not have. The success output states its own boundary: it proves + the served bytes did not change, not post-hydration behaviour. + + `webjs doctor` gains the component half of the verdict as its own check + (`ELISION_COMPONENTS`), reading the one shared report the carrier check was + rewired onto, so an app is told about its orphans in the ordinary health run. + + Also corrects a claim four surfaces carried: `static interactive = true` does + NOT rescue a component whose own registration tag is computed, because the + scanner requires a literal tag, so that component gets no verdict for the + override to attach to. It does rescue the documented residuals (a computed + `whenDefined` observer, an external stylesheet's `:defined` rule), and those + are now pinned as measured rather than asserted in prose. + +- **the scaffold teaches the self-sufficient submitter** ([#1317](https://github.com/webjsdev/webjs/pull/1317)) [`76afe0cd`](https://github.com/webjsdev/webjs/commit/76afe0cd) + The generated todo demo's guidance said a `formaction=${action}` button has to + sit inside a bound form. It no longer does, so a freshly scaffolded app now + teaches the rule that holds: a bound submitter carries its own `formmethod` + and enctype and works in any form, or none. diff --git a/changelog/core/0.7.48.md b/changelog/core/0.7.48.md new file mode 100644 index 000000000..d77d983d6 --- /dev/null +++ b/changelog/core/0.7.48.md @@ -0,0 +1,105 @@ +--- +package: "@webjsdev/core" +version: 0.7.48 +date: 2026-08-07T15:43:03.612Z +commit_count: 5 +--- +## Features + +- **a bound submitter carries its own submission** ([#1317](https://github.com/webjsdev/webjs/pull/1317)) [`76afe0cd`](https://github.com/webjsdev/webjs/commit/76afe0cd) + A `