Skip to content

aterm v0.98.0

Choose a tag to compare

@alabsystems alabsystems released this 28 Sep 14:53
· 10 commits to main since this release

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.