Releases
v2.27.0
Compare
Sorry, something went wrong.
No results found
Features
Show what each subscription has left, and drop the spent rows
Choose which picker rows the All-In profile offers
Admit ChatGPT, served by a lazily started Codex bridge
A lazily started ChatGPT bridge a router can own
Re-admit Featherless by delegating to rolefix's own handler
Create the profile the moment a second subscription connects
Create and refresh the All-In profile on every install
Launch the All-In profile through the router
Wrap a launch in the cross-subscription router
Generate and refresh the All-In profile's picker
Route each turn to its own endpoint and credential
Resolve each row's endpoint and credential
Build picker rows from every login and ready provider
Parse a picker row into its source, model and 1M marker
Bug Fixes
Paint nothing once a quit has been requested
Never sweep a lock whose age it could not read
Drop the "unmapped" label All-In can never shed
Make the All-In pane's usage bars follow the picked row
Label the Default login by its tag, and resolve wisp/ ids in the subagent line
Drop gpt-5.4, which no app-server serves
Honor disabled subscriptions and create the profile on a read
Disarm the stream watchdog when the profile is born, not swept
Refuse a checklist update that names no status
Declare Astra's real 272000 window, not 1050000
Let the switcher accept the router profile
Declare all four window keys, not just the 1M marker
Make the router refuse what the roster refuses, and fail closed
Trade the 1M row away, and drop the unused behavesAs field
Give the generated profile an identity, an endpoint, and a gate
Exclude Featherless from the roster, no repair proxy in the router
Rebuild the Codex thread when Claude rewrites its history
Use XDG config root and anchor the router gate
Share the loopback-launch shape with claude-rolefix
Fail loudly on an unreadable/corrupt profile, guard the refresh
Reject oversized/malformed routing inputs instead of failing open
De-duplicate KeychainService, assert the account config-dir join
Apply context window to self-hosted providers so the floor is enforced
Keep repainting on a skipped tick, only skip the Git build
Stop a long turn being aborted and replayed mid-compaction
Other Changes
Perf(keep-awake): build the holder path in the shell, not in a subshell
Perf(restore): ask tmux for every layout once, not once per session
Perf(statusline): walk the agent's process tree by level, not by process
Perf(attention): make a poll cost the tree it supervises, not the tree's size
Perf(attention): stop paying per process to read the process table
Perf(watcher): strip wc's padding with a builtin, not with tr
Perf(keep-awake): read the enable flag in the shell, not through grep
Perf(ledger): back the shell renderer off an unchanging repository too
Perf(ledger): stop polling Git at full speed for a repository nobody is changing
Perf(watcher): read a settings key in the shell, not through four processes
Perf(attention): read the process table once per tick, not twice
Perf(restore): parse a session's environment once, not once per field
Perf(ledger): build the popup backdrop for a user, not for a timer
Perf(statusline): run the ccstatusline binary instead of booting npx
Perf(keep-awake): probe every holder's liveness with one ps, not one each
Perf(attention): read the process table from the kernel, not from ps
You can’t perform that action at this time.