Repository navigation
aterm v0.98.0
aterm v0.98.0
2026-09-28 · 60 changes since v0.97.0
Fixes
- size font previews correctly and retire idle probe resources
- settings: keep font controls reachable beneath large previews
- complete shutdown conformance and explicit artifact handoff
- declare the footer repaint fingerprint derived scope
- verify: the gate's verdict, header and refusal lines say only what is true of the run
- verify: review fixes
- link: aterm link's help, refusals and bridge logs say what is true
- link: review fixes
- platform: Windows, containment and web lines say what is true, once
- platform: review fixes
- gui: keep tab labels stale while metadata is busy
- claude-lights: stop mode return at elapsed press deadline
- atpkg: recheck live install consent for index probes
- atpkg: fail closed when live probe config is unreadable
- atpkg: initialize live probe without nested CLI cache
- atpkg: the rustc-group preflight refuses a sibling that would pack at or below the public pin
- atpkg: step 2 re-checks the sibling judgment; the seal, off-triple spec rows and BASELINE meet the floor at preflight
- update: a newer release takes the place of a converged activation — the running build takes the install path back and the newer one installs over it, the stuck build never started again
- update: an unsaved Settings draft and a failed save ride the seamless update instead of holding it (plan P2-2)
- update: a withheld scrollback carry is said as the new version's request; the release-then-probe lint judges code; one-lane docs
- update: a layout naming an exited pane is placed, and every carried Settings draft that does not survive the restore is said once, with its text
- update: a refused retire gives its release back to be offered again; a deferred disarm is a retire; the models replay the refusal and gap 14's own Decide
- spec: account for Claude mode return deadline passage
- update: a link-dense line costs its links, never the tab's carried history
- update: the link-stripping decoder admits only records the serializer writes
- rainbow: keep focused band continuous at quad cap
- gui: Reset All, update, restart-hold, operator and image replies say what the code does
- gui: review fixes
- cli: update, release and help lines name real buttons, real remedies and a rolled-back Linux copy
- cli: review fixes
- atpkg: offline vendor install, pinned rollback, Linux group skip and doctor's update note read right
- atpkg: review fixes
- agent, link, verify, containment: a relay turn names its timeout, doctor names the hold's instance, and five lines stop claiming what the code does not do
- agent, link, ctl, containment: review fixes
Performance
- release retired fonts and skip idle Settings preparation
Tests
- gui: bound tab metadata contention regression
- handoff: v0.93.0's producer fixtures, and the guard imports every desk's history sidecars
- verify: a deterministic release's evidence names the released binding as a whole word
- handoff: v0.97.0's producer fixtures, so the 0.98 cut's fixture gate passes
- harness: the elision fixtures carry stand-ins, not a real session's paths and ids
Docs
- keep winit coverage references within the vendor budget
Other
- messages: day eight — the whole day again on 0.96.0; the update health warning is keyed by kind, the tag chips wrap as one block, and aterm's own hand is not the window's news
- release,verify(gate): the gate and the cut name one compiler, and the preflight asks for the MEASURE receipt before a source is staged
- verify(gate): gates take the machine in the order they arrived
- spec(update): Law 1 of the apply ladder is machine-checked — a livelock checker, and "the staged build lands" as a liveness property on both tiers (plan P1-7)
- messages: the band painter moves into the core — the engine paints a row's structure, and the macOS host only resolves its colours
- messages: the band's colours move into the core — aterm_messages::ink resolves every ink over plain RGB, and the macOS host only maps its theme
- gate(verify): one hardware burst per GUI-smoke lane, fail-closed; the headless smoke keeps only its lost-wake check
- gate(verify): the headless smoke keeps its cursor round trip, and its lost-wake check needs half the burst delivered
- gate(verify): the one-burst GUI smoke verdict, run on a real window; its floors and ceiling cite the readings
- messages: the host sheds the band's last logic — its tests, the repaint fingerprint and the pixel-to-cell arithmetic move into the engine, and the engine's public surface is what the host calls
- messages: every hover target on a band row is its own repaint key
- harness(upgrade): the notice quotes a long command to its end — the middle of a long path is elided before the 160-character cut
- harness(upgrade): a notice whose process is gone is asked afresh of the process that holds the conversation — in a new round, never on the old READY
- harness(upgrade): an agent the upgrade gave up on is told to carry on at a break too, and a Claude status its idle screen contradicts no longer waits forever
- harness(upgrade): a restart the harness left in flight is carried, not read as a person's exit — and one that stops or sticks after its SIGTERM stays in the owner's view
- harness(upgrade): review fixes — the restart never signals on a lagging status, a break's late READY is bounded, a slow shutdown is carried, and the Codex relaunch is known by its pid
- harness(upgrade): merge review fixes — the restart's own gate waits at a break, and next_step's doc says what the merged break arm does
- harness(upgrade): merge review fixes — a restart in flight that sticks says so on the tab's one row, and a stuck row leaves once the restart moves
- harness(upgrade): merge review fixes — a stuck row put down ends on the record as the upgrade moving again, never asking again
Source release. SHA256SUMS is a per-file manifest of the released tree, with a detached Ed25519 signature (SHA256SUMS.sig) by a machine key named in the attached master-signed roster (aterm-machines.toml + .sig). Verification chain and key inventory: SIGNING.md in the publication engine; the roster pin is committed in aterm crates/aterm-update-core/src/pins.rs.