Repository navigation
v2026.9.8
·
213 commits
to main
since this release
What's Changed
- feat: sign in on another device, and read the table in one pass by @fylorn in #46
- feat: name the account, and let a row show its models by @fylorn in #48
- feat: a routing page built around keys, with rules edited in order and a dry run that says which route it used by @fylorn in #47
- feat: open any upstream's models from its row, and fetch missing lists without being asked by @fylorn in #49
- feat: a keys page that says whose each key is, and can replace one safely by @fylorn in #50
- fix: keep the unit on the menu bar's reset countdown, and say when a quota window has just reset by @fylorn in #51
- feat(i18n): decide the interface language in Rust, and give the text a typed home by @fylorn in #53
- feat(i18n): speak the tray menu, notices and command errors in the chosen language by @fylorn in #54
- test: run the suite in Chinese regardless of the machine's language by @fylorn in #58
- feat(i18n): move the upstream page text into dictionaries by @fylorn in #55
- feat(i18n): move the price sheet, proxy and ChatGPT account text into dictionaries by @fylorn in #56
- feat(i18n): move the keys, gateway and settings text into dictionaries by @fylorn in #57
- feat(i18n): move the routing page text into dictionaries by @fylorn in #59
- feat(i18n): move the findings, protection, notices and update text into dictionaries by @fylorn in #60
- feat(i18n): move the overview and request detail text into dictionaries by @fylorn in #61
- fix: drop the unverified note once a client has sent requests, and keep the cost column in view by @fylorn in #52
- feat(i18n): move the window shell, client setup and shared labels into dictionaries by @fylorn in #62
- fix: restore every adopted client, not just opencode by @fylorn in #64
- feat: say a session was served by a subscription instead of calling it unpriced by @fylorn in #65
- docs: show what the app looks like, and describe what it does today by @fylorn in #63
- feat(i18n): move the sessions page into dictionaries by @fylorn in #66
- fix: give the fixed-width columns room for the English labels, and bring back the chart's tooltip title by @fylorn in #67
- Translate the core's failures by code instead of pasting its English by @fylorn in #68
- feat(i18n): the rest of core's sentences read in Chinese again by @fylorn in #69
- docs: show the English interface, and say the app has one by @fylorn in #70
- chore: pin core to v0.11.1 by @fylorn in #71
- feat(keys): pick a key's visible models from the real catalogue by @fylorn in #72
- feat(settings): choose light, dark, or follow the system by @fylorn in #73
- feat: dissolve the Gateway page into Routing and a new Access page by @fylorn in #74
- feat(security): the switches and what they found, on one page by @fylorn in #75
- feat(routing): a dry run says when the request never reaches a rule by @fylorn in #76
- feat: sessions is the other grain of traffic, not a third page by @fylorn in #77
- Make the live chart show what happened and stop it juddering by @fylorn in #78
- core v0.14.0: non-streaming tool calls are inspected too by @fylorn in #79
- Stop the live chart reshuffling itself, and let go of the cursor by @fylorn in #80
- Remember which range you were looking at, and open on live by @fylorn in #81
- Fold requests and sessions into one table by @fylorn in #82
- Session lookup, header alignment, unpriced filter, stacked drawers by @fylorn in #84
- fix(notices): give the popover a close button, and leave no focus ring on open or close by @fylorn in #85
- feat(notices): one switch for notices, and stop watching the disk by @fylorn in #86
- feat(overview): show ten minutes in the live chart instead of two by @fylorn in #87
- Log retention in settings, and numeric fields that actually save by @fylorn in #88
- core v0.17.0 by @fylorn in #89
- fix(overview): write the chart tooltip's values the way its axis does by @fylorn in #90
- fix(overview): take a request's model from its ending, not its start by @fylorn in #91
- The chart cursor also has to go when the pointer leaves the window by @fylorn in #92
- feat(traffic): format JSON bodies in the request drawer, and drop the redaction note by @fylorn in #93
- fix(overview): count what is in progress from core's snapshot, not only the starts the page saw by @fylorn in #94
- fix(traffic): show requests already running when the window opens, and stop the ones core dropped by @fylorn in #95
- feat(security): a log, global rules you can see and edit, and an MCP page by @fylorn in #96
- feat(security): segmented choices, and built-in tool rules whose action can be set by @fylorn in #97
- feat(overview): drop the title, put the range on the left and the measure on the right by @fylorn in #98
- feat(traffic): say which key, app and machine sent a request by @fylorn in #99
- feat: keys get their own page, listening moves to Settings behind Save, no global cap by @fylorn in #100
- fix(ui): search boxes as tall as the controls beside them, and one list for the security log by @fylorn in #101
- refactor: drop what older cores needed, and take the config version from the overview by @fylorn in #102
- feat(clients): one table with real status, each client's key and a way to set up any client by hand by @fylorn in #103
- fix(traffic): WebSocket connections have routing information, with core v0.24.1 by @fylorn in #104
- feat: screens that stay current without polling, and a menu bar that shows what is running by @fylorn in #105
- fix(traffic): leave room between the title bar and the filter bar by @fylorn in #106
- feat(notices): mark notices as read instead of deleting them, and keep × for closing by @fylorn in #107
- fix(traffic): keep the table header pinned while the list scrolls by @fylorn in #108
- fix(settings): no concurrency section, save only after a change, one row per interface, and allowed ranges that are checked and have defaults by @fylorn in #109
- feat: a launch screen, and nothing fetched before core is ready by @fylorn in #112
- feat(upstreams): billing is per-token or free, and subscription accounts are priced by their price sheet by @fylorn in #113
- feat(menubar): a native menu bar with today's tokens and cost, and a menu that answers what is going on by @fylorn in #114
- fix(traffic): keep the keyboard-selected row in view by @fylorn in #111
- fix(traffic): keep the grouped table within the default window by @fylorn in #110
- fix(traffic): arrow keys follow the rows on screen when grouped by session by @fylorn in #115
- chore: 2026.9.8 by @fylorn in #116
Full Changelog: v2026.9.7...v2026.9.8