Skip to content

Skim v1.0.24

Choose a tag to compare

@github-actions github-actions released this 25 Aug 07:00

Skim v1.0.24 — "You were knocking with the wrong key" 🔑

The one where OpenAI's smartest models finally answer. Turns out we'd been calling one JSON field by a name they retired back when o1 shipped, and they were not shy about it. 🚪

🐛 Fixed

  • Reasoning models on a custom OpenAI endpoint work again. Point the OpenAI-compatible provider at OpenAI itself, pick anything from the o-series or the GPT-5 family, and every single request died before the first token: Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead. Which is a wonderfully clear error message to receive zero times, because you're in a chat window and all you see is that nothing happened. 🤖

    The lazy fix would be to rename the field everywhere and move on. Except only about half of the OpenAI-compatible world speaks the new name: Mistral answers 422, and Ollama and llama-cpp-python ignore it in complete silence — which doesn't fail your request, it just removes the ceiling on the answer. That's strictly worse than an error, because nobody ever finds out. 🙈

    So Skim now opens with the name every server understands, and switches only for an endpoint that asks for the other one by name, in its own error — and only when that error names both keys, which is what separates "use the other name" from "that number is too big". Cost: one rejected request the first time you talk to such an endpoint. No new settings, no model list to maintain, nothing for you to choose. Exactly the amount of thinking about this you should have to do: none. 🎯

    Huge thanks to @ondrahracek for this one — not just the fix, but a writeup that walked through what LangChain and goose each broke trying the obvious thing first, and two tests verified by mutation. Reviewing that was a genuine pleasure. 🙏

🧹 Housekeeping

  • CI is green again. Rust 1.98 landed on 20 August with a new clippy lint, we build with -D warnings and a floating stable toolchain, and the build went red on its own — no commit required. The modified UTF-7 decoder for IMAP folder names now uses as_chunks, which also retires a hand-rolled byte-by-byte array rebuild. Byte-for-byte identical output, minus the lecture from the compiler. 🦀
  • Scoop manifest caught up with the previous version. 📦

The updater will find this on its own and offer to restart — or grab the installer below if waiting isn't your thing. ⚡