Skip to content

Releases: nkootstra/via

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 05:53
4785ac6

What's Changed

  • build(deps): bump the minor-and-patch group with 11 updates by @dependabot[bot] in #200
  • build(deps-dev): bump msw from 2.15.0 to 3.0.2 by @dependabot[bot] in #201
  • fix(config): keep live processes exclusive under file locks by @nkootstra in #202
  • fix(reliability): preserve data and report upstream failures by @nkootstra in #203
  • fix(admin): refuse cross-site sign-ins and time streams from the answer by @nkootstra in #204
  • fix(config): keep file locks, rotations and cooldowns across failures by @nkootstra in #205
  • fix(translate): handle null usage, start-only tool input and Messages limits by @nkootstra in #206
  • fix(lint): close gaps in the anti-slop rules by @nkootstra in #208
  • fix(web): keep the usage list stable and secrets out of the cache by @nkootstra in #207
  • fix(usage): keep upstream error text out of the usage history by @nkootstra in #218
  • fix(usage)!: bucket the usage history by time zone, not a fixed offset by @nkootstra in #217
  • fix(pool): keep upstream text out of cooldown reasons, logs and state.json by @nkootstra in #219
  • ci(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 by @dependabot[bot] in #213
  • ci(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 by @dependabot[bot] in #212
  • ci(deps): bump actions/setup-node from 7.0.0 to 7.1.0 by @dependabot[bot] in #210
  • build(deps): bump happy-dom from 20.14.5 to 21.0.1 by @dependabot[bot] in #215
  • build(deps): bump motion from 13.4.4 to 14.1.0 by @dependabot[bot] in #216
  • build(deps): bump oven/bun from 1.4.2 to 1.4.3 by @dependabot[bot] in #209
  • build(deps): move to Effect 4.0.3 and take the minor-and-patch bumps by @nkootstra in #221
  • test(usage): keep the bucket property inside its time on slow runners by @nkootstra in #231
  • feat(usage): group requests into conversations by @nkootstra in #222
  • feat(usage): record each upstream attempt and why it failed by @nkootstra in #223
  • feat(server): stream in-flight turns over admin events by @nkootstra in #225
  • feat(web): show conversations in Usage by @nkootstra in #224
  • feat(web): show upstream attempts and live turns in conversations by @nkootstra in #226
  • feat(usage): keep the prompts of failed requests, redacted, when asked by @nkootstra in #227
  • feat(web): read a failed turn's request and export a conversation by @nkootstra in #228
  • feat(web): tell a conversation as a story by @nkootstra in #229
  • fix(usage): close the gaps two reviews found in conversations and capture by @nkootstra in #230
  • feat(web): show the time of day on the conversation timeline by @nkootstra in #232
  • test(e2e): skip a file that goes while via's home is read by @nkootstra in #233

Full Changelog: v0.14.3...v0.15.0

v0.14.3

Choose a tag to compare

@github-actions github-actions released this 07 Oct 14:56
05a0995

What's Changed

  • fix(proxy): fall back when a Codex stream breaks off before the answer went out by @nkootstra in #199

Full Changelog: v0.14.2...v0.14.3

v0.14.2

Choose a tag to compare

@github-actions github-actions released this 07 Oct 13:33
6209bf0

What's Changed

  • fix(proxy): say why a Codex answer couldn't be read by @nkootstra in #198

Full Changelog: v0.14.1...v0.14.2

v0.14.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 06:02
19c916f

What's Changed

  • fix(admin): say which fallbacks file fails a request by @nkootstra in #189
  • refactor(stores): take a store's FileSystem once with ownedFiles by @nkootstra in #190
  • refactor(services): build every service in a named make by @nkootstra in #191
  • refactor(providers): split providers.ts by provider by @nkootstra in #192
  • refactor(server): group the server's files by domain by @nkootstra in #193
  • docs(agents): write down how services and files are structured by @nkootstra in #194
  • test(e2e): wait for a picker's search before typing into it by @nkootstra in #195
  • test(e2e): set the test timeout in a config, and wait out two more races by @nkootstra in #196
  • fix(web): give the overview its own address by @nkootstra in #197

Full Changelog: v0.14.0...v0.14.1

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 23:02
a11eeb3

What's Changed

  • fix(codex-upstream): stop offering the Codex-app-only ultra effort by @nkootstra in #178
  • fix(server): stop logging a 404 or a client that gave up as an unexpected failure by @nkootstra in #179
  • fix(server): move a provider's leading think block to reasoning_content by @nkootstra in #180
  • refactor(server): say whether a request's model was unavailable by @nkootstra in #181
  • feat(ui): add a searchable, grouped SearchSelect by @nkootstra in #182
  • feat(server): fall back to another model when the one asked for can't serve by @nkootstra in #183
  • feat(usage): filter and count requests that fell back by @nkootstra in #184
  • feat(server): manage fallbacks in the admin API, with how each stands by @nkootstra in #185
  • feat(cli): set fallback models with via fallbacks by @nkootstra in #186
  • feat(web): add the Fallbacks page by @nkootstra in #187
  • feat(web): show fallbacks on the usage page and overview by @nkootstra in #188

Full Changelog: v0.13.1...v0.14.0

v0.13.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 08:09
2a6d295

What's Changed

  • fix(codex-upstream): send a listed model whose name ends in an effort as named by @nkootstra in #148
  • fix(codex-auth): let a refresh answer that started in time finish by @nkootstra in #149
  • fix(server): end a provider stream that broke off mid-event in an error event of its own by @nkootstra in #150
  • fix(server): log the cause of a request that fails on a defect by @nkootstra in #151
  • fix(translate): finish an incomplete stream whose usage is null by @nkootstra in #152
  • fix(translate): add up the total tokens when an upstream leaves it out by @nkootstra in #153
  • fix(translate): give a chat tool without parameters an empty schema by @nkootstra in #154
  • fix(translate): report a Messages stream's usage when it fails or breaks off by @nkootstra in #155
  • fix(config): treat an empty VIA_HOME as unset by @nkootstra in #156
  • fix(codex-auth): wait as long for an account's refresh lock as a refresh can hold it by @nkootstra in #158
  • fix(npm): pass stop signals on from the launcher to via by @nkootstra in #157
  • fix(server): find the end of a forwarded event however the provider frames or splits it by @nkootstra in #159
  • fix(server): cut every error message the usage history keeps to 500 characters by @nkootstra in #160
  • fix(translate): pass a chat client's output cap and sampling on to a provider's /responses by @nkootstra in #164
  • fix(translate): ask Messages for one tool call at a time when a chat client turns parallel calls off by @nkootstra in #165
  • fix(translate): read an image from a data URL that carries parameters by @nkootstra in #167
  • fix(server): keep counting an address's failed sign-ins when the right key comes in between by @nkootstra in #161
  • test(npm): bound the launcher test's waits and say what went wrong by @nkootstra in #163
  • docs(security): say that browsers send the admin session cookie to every port on via's host by @nkootstra in #162
  • fix(translate): leave empty text and turns out of a Messages request by @nkootstra in #166
  • fix(translate): answer a Messages turn of only tool calls with null content by @nkootstra in #168
  • fix(web): stop a name or label at the 200 characters via takes by @nkootstra in #169
  • ci(release): tag the image only once its GitHub release exists by @nkootstra in #170
  • build(npm): say that the Linux packages need glibc, so npm skips them on musl by @nkootstra in #171
  • docs(agents): say the npm packages aren't published yet by @nkootstra in #172
  • refactor(server): say a saved OpenRouter and an Ollama address the way Effect suggests by @nkootstra in #173
  • fix(providers): count an OpenCode Go Retry-After from the 429, not from when its usage came back by @nkootstra in #174
  • fix(npm): listen for stop signals before the launcher starts via by @nkootstra in #177
  • test(web): give a test time for a full test run's load by @nkootstra in #175
  • test(e2e): don't wait for a login dialog the fake issuer may close at once by @nkootstra in #176

Full Changelog: v0.13.0...v0.13.1

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 12:05
dc554e5

What's Changed

  • docs(web): show the web UI pages in the README by @nkootstra in #118
  • ci(ci): cancel superseded runs only on pull requests by @nkootstra in #119
  • fix(translate): report a cut-off Messages stream as upstream_incomplete by @nkootstra in #120
  • fix(config): reject unknown keys in config.yaml by @nkootstra in #121
  • fix(server): time Codex cooldowns from the response by @nkootstra in #122
  • fix(npm): build x64 binaries for CPUs without AVX2 by @nkootstra in #123
  • perf(web): load the chart library only on the usage page by @nkootstra in #124
  • fix(web): keep focus on Load more while the next page loads by @nkootstra in #125
  • ci(ci): give each push to main its own concurrency group by @nkootstra in #126
  • test(e2e): cover account and key management in the admin UI by @nkootstra in #127
  • fix(e2e): wait for a page's whole heading, not one that starts the same by @nkootstra in #128
  • test(e2e): cover OpenRouter, Ollama and System One, and admin sessions by @nkootstra in #129
  • build(npm): publish under the @nkootstra scope by @nkootstra in #130
  • fix(web): keep privacy mode from leaking or saving hidden labels by @nkootstra in #131
  • fix(cli): stop Bun cutting a quiet answer that doesn't stream by @nkootstra in #132
  • fix(codex-auth): keep accounts working through corrupt files, failed saves and concurrent refreshes by @nkootstra in #133
  • fix(server): end admin event streams with their session and throttle bearer keys by @nkootstra in #134
  • fix(pool): charge an account only for its own failures by @nkootstra in #135
  • fix(web): show failures instead of hiding them, and keep the operator's place by @nkootstra in #136
  • fix(translate): keep reasoning, usage-less answers, tool strictness and OpenAI errors for chat clients by @nkootstra in #137
  • perf(keys): cache keys and accounts until their files change, and own file locks by @nkootstra in #138
  • fix(pool): fail over from forbidden accounts and unusable token files by @nkootstra in #140
  • fix(usage): price cache writes, ignore OpenRouter's -1 prices, and refresh the snapshot weekly by @nkootstra in #142
  • ci(release): test the image before tagging it, ship binaries, and update JS dependencies by @nkootstra in #143
  • test(server): refuse a chat request with a 400 page, now that a 403 bars the account by @nkootstra in #144
  • docs(readme): add the risk notice, upgrading, backups, uninstalling and troubleshooting by @nkootstra in #139
  • test(web): look for the email put in, not anything email-shaped by @nkootstra in #145
  • feat(cli): set up OpenRouter and Ollama with via providers, and check what status and add report by @nkootstra in #146
  • fix(server): end stalled answers, fail over rate-limited keys at once, and pass provider headers by @nkootstra in #141
  • fix(web): say what went wrong in words across the UI, CLI and API by @nkootstra in #147

Full Changelog: v0.12.0...v0.13.0

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 14:14
af3c406

What's Changed

  • feat(web): add privacy mode, motion and start page settings by @nkootstra in #117

Full Changelog: v0.11.0...v0.12.0

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 12:47
99d59c3

What's Changed

  • feat(usage): keep a usage history and show it on a Usage page by @nkootstra in #95
  • feat(server): ask OpenCode Go again in the protocol its model speaks by @nkootstra in #96
  • fix(web): keep the sidebar's toggle at the top as a desktop page scrolls by @nkootstra in #98
  • test(usage): run the history's properties on one shared database by @nkootstra in #100
  • test(web): stop a slow accessibility audit from failing the next test by @nkootstra in #99
  • test(suite): stop tests timing out when the whole suite runs on a busy machine by @nkootstra in #101
  • test(server): move the test clock once via waits, not after real pauses by @nkootstra in #102
  • test(ui): let a timed-out test's waits settle before the next test starts by @nkootstra in #103
  • test(ui): share a worker's modules between files, so one test starts cold by @nkootstra in #104
  • test(account-pool): share a worker's modules between test files by @nkootstra in #105
  • test(keys): wait for the other store's lock, not for real time by @nkootstra in #106
  • test(cli): stop a via command that runs past 15 seconds, saying so by @nkootstra in #107
  • test(web): say why a screen gets five seconds to appear by @nkootstra in #108
  • test(cli): show a quiet stream outlives the time Bun closes an idle one by @nkootstra in #109
  • feat(web): filter the Usage page by model, account, key and failures, kept in the URL by @nkootstra in #110
  • feat(web): refresh the Usage page when via says its history changed, not every 15 s by @nkootstra in #111
  • feat(providers): add Ollama, with System One and local models counted as free by @nkootstra in #112
  • feat(web): add, change and remove Ollama from the Accounts page by @nkootstra in #113
  • feat(web): add an OpenRouter key and choose its models from the Accounts page by @nkootstra in #114
  • feat(web): show OpenRouter's key budget as a meter on the Overview by @nkootstra in #115
  • feat(web): show OpenRouter by its own logo by @nkootstra in #116

Full Changelog: v0.10.0...v0.11.0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 16:31
ff6e54e

What's Changed

  • test(server): stop the login and stream-cap tests from flaking by @nkootstra in #87
  • feat(web): the three-stroke logo in graphite by @nkootstra in #88
  • docs(readme): cover every upstream, and keep docs in step with the code by @nkootstra in #89
  • fix(ui): round the table's hover highlight to sit inside its panel by @nkootstra in #90
  • feat(web): show each model once on the models page by @nkootstra in #91
  • fix(web): make the admin UI hold up on a phone by @nkootstra in #92
  • feat(web): add a Settings page with the theme and a 12-hour or 24-hour time format by @nkootstra in #93
  • test(codex-upstream): check the stream size cap against 4 MiB, not 128 MiB by @nkootstra in #94

Full Changelog: v0.9.0...v0.10.0