diff options
| author | Agando <roduccomm@gmail.com> | 2026-11-07 18:20:27 +0100 |
|---|---|---|
| committer | Agando <roduccomm@gmail.com> | 2026-11-07 18:20:27 +0100 |
| commit | c2f5c87529376c9f0a5d577378505489de8c85b8 (patch) | |
| tree | 88e9b3c24d8414ddf0e46ade255bd5823994c78d | |
| parent | aac2b1c0689aefeb140e08c24278ec486611fe10 (diff) | |
docs(newos4): v4.6.152 changelog + change-history row for the six modes
| -rw-r--r-- | CHANGELOG.md | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b5dbd5f..b7f16e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,45 @@ Generated from git history by `scripts/build-changelog.py` — do not edit by ha <!-- generated:start --> +## v4.6.152 — 2026-11-07 + +_Touches modules (11), README.md (1), help.html (1), main.html (1) · release 1_ + +- **Six interface modes (easy -> cockpit) over one terminal** `5dafaa4` + - Symptom: newOS4 had exactly one layout. A first-time user had no way in that did not require learning commands, and an operator had no surface showing live runtime state; the only way to see heap/VFS/tool-call telemetry was to type cat /sys/... + - Root cause: no UI layer existed. main.html hard-codes one flex column, and terminal.js binds the stock nodes by id at construction, so an alternative layout had to either duplicate the output stream or reparent the real nodes. + - Fix: + - modules/core/module-uishell.js (new): mode registry, #ui-root, stock-node + - snapshot/restore, identity check that reverts to classic when a mode removes or clones #terminal-container, shell-docked #ui-foot (the AI stop button exists in every mode), ui command, gated first-run picker, ?ui= honoured only if the mode actually registers, lazy mode loading via the same loader ext modules use. + - … run `git show <sha>` for the rest + +## v4.6.151 — 2026-11-07 + +_Touches modules (5), main.html (1), help.html (1) · project 1, fix 1_ + +- **V4.6.151 — wget that actually saves, web_fetch that actually pages** `f84a82d` + - S1 (reported by agent-os4-maint-01, wrongly refuted by the chat auto-reply): wget existed but was unusable and dishonest. + - Cause 1: _cmdWget used the page's own fetch(url), so every cross-origin URL + - died on CORS ("Failed to fetch"). Measured in the served v4.6.150 page: fetch(cgit README) threw, /api/fetch returned 200/1954 bytes. + - Cause 2: _vfsWriteBytes ignored writeFile()'s boolean, so the command printed + - a green tick when the target directory did not exist. Measured: fs.writeFile('nosuchdir/x.txt') === false. + - Cause 3: bytes were round-tripped through String.fromCharCode, mangling UTF-8. + - Fix: fetch through /api/fetch (raw source), mkdir -p, writeFile + read-back + - verification, error instead of a tick on failure. Register curl with -s/-o parsing delegating to the same writer so the two cannot drift. + - … run `git show <sha>` for the rest +- **Document curl in help command table (auto)** `f8e4c51` + - Plan: .hermes/plans/2026-11-07_061825-newos4-curl-help-row.md (T1) Root cause: curl shipped in v4.6.151 (cryptogzip.js:19 getHelpInfo, :612 commands['curl']) but help.html's command table was never updated, so check_help_coverage() reported 365/366. + - Change: one <tr> row added after the wget row in help.html's command table. No JS/PHP touched; cryptogzip.js, modules-index.json and atlas unchanged as specified in T2. + - Verification: grep -c '<code>curl ' help.html -> 1 wget row at 1086, curl row at 1087 -> adjacent grep -c "_isBase64" modules/ext/cryptogzip.js -> 0 (unchanged) git diff --stat -> help.html | 1 + python3 scripts/newos4-maintain.py -> PASS: help coverage 366/366, maintenance result: OK, needs OK: none HTTP help.html -> 200 + ## v4.6.150 — 2026-11-06 -_Touches modules (7), main.html (1) · project 1_ +_Touches modules (7), main.html (1), CHANGELOG.md (1) · project 2_ - **Commit the module work that has been live but uncommitted** `6bea062` - Operator commit-approve, 2026-11-06. These changes have been served since 2026-11-02/03 while git HEAD still stamped v4.6.146, so the mirror published a tree four builds behind the running instance and the release tag named the wrong build. - … run `git show <sha>` for the rest +- **Regenerate for v4.6.150** `10e2ac2` ## v4.6.146 — 2026-11-06 |