Zum Inhalt springen

Kaeso 0.4.2. Veröffentlicht am 25. Oktober 2026, mit 37 Änderungen.

Neueste
Veröffentlicht
Änderungen
37 Änderungen
In diesem Release
Hinzugefügt, Geändert, Behoben und Sicherheit
Das Release auf GitHub (öffnet in einem neuen Tab)

Kaeso 0.4.2 lets organization admins add their own providers and rotate keys in one step. Hard budgets and token rates now refuse a single request that could cross them, so operators may see more refusals up front. Streams that finished are no longer logged as client disconnects, and request logs, the console and a Server-Timing header show the time Kaeso adds to each request. Codex and the ChatGPT desktop app can use Claude, Grok and Mistral models, and many documentation and console layouts were reworked for phones.

Contributors: @dvnold

Full changes: v0.4.1...v0.4.2 (öffnet in einem neuen Tab)

Hinzugefügt

  • Organization admins can add custom providers, such as a self-hosted vLLM, Ollama or an internal proxy, on any API format Kaeso speaks. Managing them needs the new providers.custom.manage right, and the custom_providers.enabled and custom_providers.allowed_networks settings control whether they may be used and which networks they may reach. (#427 (öffnet in einem neuen Tab))
  • API keys and platform keys can be rotated in one step, from the console or the Platform API. The new key keeps the old key's name, owner, access, models and key limits, and the old key keeps working for a grace period of 0, 1, 24 or 168 hours that you choose. (#422 (öffnet in einem neuen Tab))
  • Request logs, the console and a Server-Timing header show the time Kaeso itself spends on each model request, apart from the provider's time. The log gains overhead_ms and stream_processing_ms columns, and the kaeso_gateway_overhead_seconds metric records the same per provider. (#423 (öffnet in einem neuen Tab))
  • Codex and the ChatGPT desktop app can use Claude, Grok and Mistral models. Namespaced tools become plain function tools, hosted web search maps to Claude's web search tool, and client metadata stays out of other formats. Claude always searches live, so a Codex setting of cached search is refused for Claude with a hint to set live search or turn search off, and the refusal for Mistral gives the same hint. (#396 (öffnet in einem neuen Tab))

Documentation

  • The new kaeso-bench crate measures the time and memory Kaeso adds under thousands of concurrent streams, client disconnects and slow clients, end to end over real sockets. Its report gives the Kaeso version, commit, CPU and every parameter with each run. (#425 (öffnet in einem neuen Tab))

Geändert

  • Requirements for the end-to-end suites are now installed in CI with hash checking, so every package is pinned with its hashes. Two advisory fixes update undici to 8.12.3 and crypto-bigint to 0.7.6. (#384 (öffnet in einem neuen Tab))
  • Diagrams in the documentation sit centred in a framed well with a caption. Kaeso's own parts are drawn in ink, outside services are dashed, and edge labels no longer have lines running through them, with the frame provided by a new Figure component in the UI library. (#388 (öffnet in einem neuen Tab))
  • On phones, long lines in code blocks wrap with a hanging indent instead of running off the edge, and Copy still copies the code as written. (#402 (öffnet in einem neuen Tab))
  • The documentation search no longer shows a count beside each group, while the console's pickers and palette keep theirs. (#403 (öffnet in einem neuen Tab))
  • Table headers can wrap onto several lines with the wrap option of Table.HeaderCell, and the documentation wraps headers longer than 24 characters, so the sign-in comparison fits its column. (#405 (öffnet in einem neuen Tab))
  • The density option of Table set to compact puts 8px between columns, and the documentation uses it for tables of five or more columns. Wide Configuration and Chinese KPP tables now fit desktop widths, and long type names may break between words. (#408 (öffnet in einem neuen Tab))
  • Development dependencies in the console, docs and UI library move happy-dom to 21.0.4, which fixes a code injection vulnerability in its ESM compiler. (#414 (öffnet in einem neuen Tab))
  • On phones, a wide diagram in the documentation opens on the part it is about, the nodes marked in ink, instead of its middle. The Figure component takes a focus option for the share of its width to open on. (#418 (öffnet in einem neuen Tab))
  • Wrapped code lines keep the indent of the line they continue, so a continued command option sits under its own option. The Platform API error example, the last code block that scrolled on desktop, now wraps at every width. (#430 (öffnet in einem neuen Tab))

Documentation

Behoben

  • A non-streaming Responses request through a ChatGPT plan now returns the reasoning, web search call and message items with their types, as OpenAI does. Before, the items came back without a type. (#416 (öffnet in einem neuen Tab))
  • A stream whose last event reached the app is logged as a success, even when the app closes the connection right after it. Before, such requests could be logged as client disconnects with status 499, and a provider that closed its stream after the last event could fail the request. (#421 (öffnet in einem neuen Tab))
  • A stream that ends because the app stopped reading it is logged as client_stalled instead of client_disconnected, and the console and metrics show the new kind. Real disconnects stay client_disconnected. (#424 (öffnet in einem neuen Tab))

UI library

Documentation

  • Long page titles in the documentation sidebar no longer end in an ellipsis, with short navigation labels in English, German and Chinese. (#392 (öffnet in einem neuen Tab))
  • A diagram group's title moves along its top edge when an arrow enters the group at its top-left corner, so the arrow is no longer hidden behind the title. (#415 (öffnet in einem neuen Tab))

Sicherheit

  • Hard spend budgets and token rates refuse a request whose output bound could cross them, even when it is the only request in flight. Password reset is refused where the organization requires SSO, and the Azure wire server address is blocked as a metadata address. (#385 (öffnet in einem neuen Tab))

Weitere Releases