Repository navigation
Releases: haotool/aether-office
Release list
v0.5.0
A minor release on 0.4.2 that shortens the first run and the daily run. pnpm go installs, builds, starts the control plane and opens the browser signed in with a one-time link; pnpm service install keeps it running as a macOS login service; pnpm demo and pnpm dev check their ports before they start and PORT moves the whole stack; a browser that opens localhost is sent to 127.0.0.1; the terminal messages and a getting-started guide are available in Traditional Chinese; and Settings gains a 60 or 30 fps limit for the 3D scene. Codex and Claude Code of any version load, as they did in 0.4.2; the guide no longer claims a verified-version list.
This is a pre-release. It has a large automated test suite, but it is not a production release. The verification ledger says which capabilities are verified and which are not. The login service was never run against a real launchd, a real browser was not opened by the tests, and the frame limit was measured only in headless Chrome at 60 Hz. macOS is the tested platform; on Linux the unit tests and selected browser workflows run in CI, but the full browser suite is not verified. No real phone and no screen reader have been tested yet.
Start with the README (Node.js 24.21.0, pnpm 12.8.1), or the Traditional Chinese guide. The release is source only. A CycloneDX software bill of materials of the shipped packages is attached.
Added
- A frame-rate limit in Settings, General (Auto, 60 or 30 fps) caps how often the 3D scene draws, to save battery and heat on a fast screen or a phone. Auto is the behaviour so far; the perf probe counts only drawn frames.
pnpm service installanduninstallmanage a macOS login service (launchd): the generated plist pins the Node that ran it, restarts the control plane at most every 30 seconds and logs to one file that the control plane keeps under 10 MiB.pnpm buildrestarts a service installed from the same checkout.pnpm go: installs, builds, starts the control plane (unless one already answers) and opens the browser signed in with a one-time link.BROWSER=noneorBROWSER=<command>chooses the browser.- Terminal messages of
pnpm start,pnpm run pair,pnpm run setupandpnpm run doctorare shown in Traditional Chinese when the terminal locale iszh(AETHER_LANG=enorzh-TWoverrides it). - A Traditional Chinese getting-started guide with the same commands as the English one; the English guide, the documentation index and the Chinese README link to it.
Changed
POST /api/pairingsreturns a link for this machine when LAN access is off (it used to return none); the web app andpnpm run pairstill treat that case as not open to a phone.pnpm demoandpnpm devcheck both ports before starting and say which one is taken.PORTnow moves the control plane, the fixture runner and the UI dev server together; the UI is onPORT+ 1.- A browser that opens
localhoston the control-plane port is redirected to127.0.0.1instead of receivingHOST_FORBIDDEN; GET and HEAD only, and every other host name is still refused.
The same list is in the changelog.
v0.4.2
A patch release on 0.4.0 that replaces 0.4.1. The 0.4.1 release was withdrawn when the commit history was cleaned, and its tag name can no longer be used. This release carries everything 0.4.1 contained: it upgrades the MCP SDK and Vite past the advisories that pnpm audit reported, makes connector requests refuse every special-purpose address, keeps the Codex analysis channel out of transcripts, replaces several quadratic scans (HTML neutralization, code spans, skill frontmatter, the orphan-process check) with linear ones, makes the verifier wait for every process it started, and refreshes the 3D scene, the READMEs and the release checks. It also gives the brand link and the floor plaque their visible words as accessible names.
This is a pre-release. It has a large automated test suite, but it is not a production release. The verification ledger says which capabilities are verified and which are not. macOS is the tested platform; on Linux the unit tests and selected browser workflows run in CI, but the full browser suite is not verified. No real phone and no screen reader have been tested yet.
Start with the README (Node.js 24.21.0, pnpm 12.8.1). The release is source only. A CycloneDX software bill of materials of the shipped packages is attached.
Changed
- Reorganize the English and Traditional Chinese READMEs, documentation navigation, contributor guidance and release checklist.
- Check documentation formatting and selected Linux browser workflows in CI; run source checks on both Linux and macOS.
- Pin Linux CI to Ubuntu 24.04 and run the SHA-pinned checkout action on its supported Node 24 runtime.
- Resume automatic framing with one tap after manual camera control, show its actual state, and keep automatic shots static when reduced motion is enabled.
- Refresh both README introductions with localized dark control-room covers, the orbital A logo, actual Git-flower and mobile captures, wide office and crown views, a desktop/mobile feature map with actual conversation feeds, Git commit history, approvals, PTY fixtures and ten mobile views, and a clearer path to getting started.
- Mark the pre-publication open-source risk assessment as a historical snapshot and point current decisions to the release and verification ledgers.
Fixed
- Replies with unequal, very long backtick delimiters no longer trigger repeated quadratic scans in HTML neutralization; adjacent code spans retain their protection.
- Browser-test retries release their synthetic terminal slots and restore deleted observer fixtures, so later tests remain independent.
- A cell of an HTML table in a reply that held a backslash before a pipe (
a\|b) could split into an extra column once the table
was turned into Markdown; the backslash is now escaped along with the pipe. - Neutralizing raw HTML in a very long reply no longer backtracks quadratically on thousands of
<codeopeners inside<pre>or
on a long run of spaces in a code block (two regular expressions). - Importing a skill whose frontmatter line held tens of thousands of spaces and a stray carriage return stalled the control
server for seconds; the line is now read in linear time. - A reply with a line of tens of thousands of backticks stalled the conversation text pass for seconds; code spans are now
found in linear time, and a run of more than 16 backticks no longer delimits a span. - Checking whether a session's process had been orphaned stalled for seconds when its parent's command line was very long; the
check is now linear, and--userhas to followsystemdwithin 256 characters. - Count only product runtime importers in both fan-in quality measures, so adding tests cannot worsen the product coupling score.
- Retry legacy transcript checkpoints once, then retain permanent schema failures so malformed files cannot replay old observations and grow the database on every poll.
- Load Codex and Claude Code upgrades without a release allowlist; retain protocol, path and permission validation and recover previously version-blocked observations.
- Batch identical idle branch beams and enforce the existing message-animation GPU budgets in the performance test.
- Keep task status badges visible on narrow phones when a workflow is waiting on dependencies.
- Scope the Playwright Chrome channel to Chrome projects so optional iPhone/WebKit tests can launch.
- Document the persistent LAN setting and reload steps for macOS login services so phone QR pairing can be enabled after login.
- Restore immutable migration SQL and accept only the exact historical comment-removal checksums, so existing databases survive rebuilds and restarts without changing their data or migration records.
- Quote the git commands that the git health report suggests, so a branch or worktree name with shell metacharacters cannot alter a pasted command.
- Preserve facial details at every model distance, keep hidden mouths beneath curved snouts, and retain a continuous mouth line through expression transitions.
- Remove the floor scanner that crossed employees and desk legs.
- Keep character models and animations stable while hovering or selecting employees.
- Remove unoccluded decorative light shafts, lift branch links above employees, narrow the squad light funnel, and replace puppet strings with solid team workstations beside the supervisor.
- Keep employees upright after handing in work and before departure.
- Keep camera transition covers transparent when reduced motion disables their fade.
- Aim automatic floor shots at present employees, reject departed message recipients, and ease camera motion at the flower crown while keeping its petals and halo inside the frame.
- Wait for every process a verifier started to end before taking the after snapshot, including children that ignore SIGTERM.
- The brand link and the floor plaque now carry their visible words in their accessible names (WCAG 2.5.3, enforced since axe-core 4.14); the plaque's name no longer adds the department.
Security
- Bind every manual release-evidence entry to a full ancestor commit SHA instead of accepting unversioned review claims.
- Validate version, changelog, workspace manifests, clean state and annotated tag identity before a release tag is pushed.
- Upgrade the MCP SDK to 1.32.1 and Vite to 8.3.4, which fix the advisories that
pnpm auditreports against 1.31.0 and 8.3.2. - Connector requests refuse every IANA special-purpose address, including hexadecimal IPv4-mapped IPv6 forms, carrier-grade NAT, documentation and 6to4 ranges and their NAT64-translated forms, and end at a total deadline so a server that drips bytes cannot hold one open.
- Keep the Codex analysis channel out of the session transcript, as the runner observer already does.
The same list is in the changelog.
v0.4.0
The first public release of AETHER OFFICE: a local-first office for the Claude Code and Codex sessions on your machine, with a live session panel, remote approvals, KPIs, squads and a 3D office driven by real signals. It started from agent-office (MIT).
This is a pre-release. It has a large automated test suite, but it is not a production release. The verification ledger says which capabilities are verified and which are not. macOS is the tested platform; on Linux the unit tests pass but the browser tests are not verified. No real phone and no screen reader have been tested yet.
Start with the README (Node.js 24.21.0, pnpm 12.8.1). The full list of changes, with upgrade notes for development builds, is in the changelog.
The release is source only. A CycloneDX software bill of materials of the shipped packages is attached.