v1.9.0

IceWhaleTech/CasaOSv1.9.0Jun 2, 2026by lfnovo

AI Summary

Major update upgrading Esperanto to 2.22, adding new audio providers, and adjusting default configurations for Ollama and Google embeddings.

Key Highlights

  • Upgraded to Esperanto 2.22.0
  • New audio providers: Mistral Voxtral, Deepgram, xAI
  • Default Ollama context window reduced to 8192
  • New Google embedding model: gemini-embedding-001

Breaking Changes

  • Ollama default context window changed from 128000 to 8192
  • Google embedding default model changed from text-embedding-004 to gemini-embedding-001

New Features

  • New audio providers (Mistral, Deepgram, xAI)
  • Per-credential Ollama context window override
  • Improved speech-to-text connection tests
  • OpenRouter JSON body fixes

Full Release Notes

## ✨ Highlights

- **Upgraded to Esperanto 2.22.0**, unlocking new providers and inheriting several upstream fixes.
- **New audio providers**:
  - **Mistral Voxtral** — speech-to-text and text-to-speech (reuses your Mistral credential)
  - **Deepgram** — text-to-speech (Aura voices) — *new provider*
  - **xAI** — text-to-speech
  - Completed the matrix: **Google** STT/TTS, **Vertex** TTS, **ElevenLabs** STT (Scribe)
- **Per-credential Ollama `num_ctx`** override — configure the context window for Ollama models in Settings → API Keys (translated across all 13 locales).
- Better **speech-to-text connection tests** — they now transcribe a real speech clip instead of silence, so a passing test shows actual text.

## ⚠️ Upgrade Notes (behavior changes inherited from Esperanto)

- **Ollama default context window (`num_ctx`) is now 8192** (was 128000) to avoid out-of-memory errors on consumer GPUs. If you ingest large documents with Ollama, set a higher `num_ctx` on the Ollama credential.
- **Google embedding default model is now `gemini-embedding-001`** — the previous default, `text-embedding-004`, was removed from Google's API. If you used Google embeddings with the old default, re-create the model and **re-embed your content** (the embedding dimensions changed).

## 🛠️ Inherited Esperanto fixes

- OpenRouter LLM & embedding requests now send a proper JSON body.
- Clear errors (instead of an opaque `TypeError`) when OpenAI-compatible endpoints return null embeddings.
- Streaming tool calls return proper objects across Anthropic, Google, Vertex, and Ollama.
- `base_url` trailing slashes normalized (fixes double-slash 301s for Ollama / self-hosted).
- Ollama "thinking" models (e.g. Qwen) merge reasoning content correctly.
- Model discovery honors a custom `base_url` (LiteLLM/vLLM/proxies).

## ➕ Also in this release

- `OPEN_NOTEBOOK_EMBEDDING_BATCH_SIZE` env var to tune embedding batch size (#735)
- `CORS_ORIGINS` env var to configure allowed API origins (#585, #597, #730)
- `OPEN_NOTEBOOK_MIN_CHUNK_SIZE` env var to filter degenerate tiny chunks
- Fixed URL-source embedding crash on single-character HTML fragments (#764)
- README Provider Support Matrix synced with actual capabilities

**Full changelog:** see [CHANGELOG.md](https://github.com/lfnovo/open-notebook/blob/main/CHANGELOG.md#190---2026-06-02) · compare [v1.8.5...v1.9.0](https://github.com/lfnovo/open-notebook/compare/v1.8.5...v1.9.0)