# open-notebook v1.14.0 — v1.14.0 — New Providers & Hardened Provider Connections - Product: open-notebook (https://whatsnew.fyi/product/open-notebook) - Vendor: lfnovo - Date: 2026-07-21 - Version: v1.14.0 - Original notes: https://github.com/lfnovo/open-notebook/releases/tag/v1.14.0 - Permalink: https://whatsnew.fyi/product/open-notebook/releases/v1.14.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **security** — Outbound provider requests are now pinned to a DNS-vetted IP to prevent DNS rebinding attacks, with validation applied to credential saves, connection tests and model discovery - **security** — Private IPs, localhost, host.docker.internal, LAN hostnames and Tailscale addresses remain fully supported with regression test guarantees - **security** — Error text returned by the sources API is capped to prevent internal exception detail from reaching clients - **security** — Resolved Dependabot alerts for mcp 1.28.1 and axios 1.18.1 - **added** — Add Cohere provider with language and embedding via native v2 API - **added** — Add PayPerQ provider for multi-modality gateway including language, embedding, STT and TTS - **added** — Add Novita provider as OpenAI-compatible LLM gateway - **added** — Add speech-to-text capability to Deepgram provider - **added** — Add oMLX as a first-class provider with native Esperanto profile, default base URL, connection test and model discovery - **added** — Add text-to-speech and speech-to-text capabilities to OpenRouter provider - **added** — Add anthropic_compatible credential provider for Anthropic Messages format endpoints - **added** — Add Docling formula and vision enrichment toggles in Settings for mathematical formula extraction and image description with vision models - **added** — Make worker concurrency configurable via OPEN_NOTEBOOK_WORKER_MAX_TASKS environment variable with default of 5 - **added** — Add newer ElevenLabs models eleven_v3, eleven_flash_v2_5, eleven_flash_v2, and scribe_v2 for STT - **added** — Add optional Max output tokens field in podcast episode profiles UI - **changed** — Typing in the chat composer no longer lags in long conversations by isolating composer state and memoizing message rows - **fixed** — A selected content-processing engine whose runtime is not installed no longer breaks ingestion silently and now degrades to the auto chain with logging - **fixed** — An HTTP proxy no longer kills the worker on startup by adding internal SurrealDB hosts to no_proxy - **fixed** — Vertex credentials now configure text-to-speech correctly when used through a stored credential - **fixed** — Auto-assign no longer re-fills optional model slots that were deliberately cleared - **fixed** — Per-transformation model selection now takes effect at execution time - **fixed** — Deleting a notebook now also deletes its chat sessions instead of orphaning them **We recommend all users upgrade.** v1.14.0 is a providers-and-plumbing release: six new ways to connect models, a DNS-rebinding hardening pass on every outbound provider call, and fixes to two failure modes that could silently break a working install after a redeploy. Validated through the full release process — backend/frontend suites, a fresh-install and an upgrade test against real Docker images, and an end-to-end pass over the running app. ##### 🔒 Security hardening - **Outbound provider requests are now pinned to a DNS-vetted IP.** Validating a URL and then handing it to the HTTP client left a rebinding window: the hostname was resolved again at connect time, so a name that passed validation could point at a cloud metadata endpoint on the actual connection. Resolution now happens once, dangerous addresses are rejected, and the request is pinned to the vetted address while `Host` and TLS SNI keep the original hostname — so certificate verification and routing are unaffected. Applied to credential saves, connection tests and model discovery (#1063) - **Private IPs, `localhost`, `host.docker.internal`, LAN hostnames and Tailscale addresses remain fully supported** — this is a self-hosted application and local providers are a first-class use case. That guarantee is now pinned by regression tests rather than left implicit (#1193) - Error text returned by the sources API is capped, so internal exception detail from extraction libraries no longer reaches clients (#1136) - Resolved all open Dependabot alerts: `mcp` → 1.28.1 (3 high, transitive via content-core) and `axios` → 1.18.1 (#1191) ##### ✨ New features - **Four new AI providers**: **Cohere** (language + embedding via its native v2 API), **PayPerQ / PPQ** (multi-modality gateway — language, embedding, STT, TTS), **Novita** (OpenAI-compatible LLM gateway), and **speech-to-text on the existing Deepgram provider** (#1170) - **oMLX as a first-class provider** — native Esperanto profile, default base URL `http://localhost:11435/v1`, connection test and model discovery, no remapping to `openai-compatible` (#1048) - **OpenRouter now does text-to-speech and speech-to-text**, not just LLMs and embeddings. Note that its TTS model uses Microsoft neural voice names (e.g. `en-US-AvaNeural`), not OpenAI's `alloy`/`nova` set (#987) - **`anthropic_compatible` credential provider** for endpoints that speak only the Anthropic Messages format, such as Kimi (#675) - **Docling formula & vision enrichment toggles** in Settings → Content Processing — extract mathematical formulas as structured markup, and describe images / extract chart data with a vision model. Both opt-in and off by default; vision is significantly slower (#1131) - **Worker concurrency is configurable** via `OPEN_NOTEBOOK_WORKER_MAX_TASKS` (default 5). Set it to 1 on single-GPU or local-LLM setups that were being overloaded by parallel source processing (#893) - Newer ElevenLabs models in discovery — `eleven_v3`, `eleven_flash_v2_5`, `eleven_flash_v2`, and `scribe_v2` for STT (#1167) - Podcast episode profiles expose an optional **"Max output tokens"** field in the UI, with help text explaining it caps output per generation step (outline + transcript) and defaults to the built-in values when blank (#991) ##### ⚡ Performance - **Typing in the chat composer no longer lags in long conversations.** Composer state is isolated from the message list and each row is memoized, so a keystroke no longer re-renders the whole history. Most noticeable for IME users (Japanese, Chinese, Korean), where every composition event was triggering a full re-render (#1147) ##### 🐛 Notable fixes - **A selected content-processing engine whose runtime isn't installed no longer breaks ingestion silently.** The engine choice lives in the database; the opt-in runtimes that serve it come from environment flags. A redeploy that drops `OPEN_NOTEBOOK_ENABLE_CRAWL4AI`/`_DOCLING` therefore left the setting pointing at nothing, and every extraction fail _[Truncated at 4000 characters — full notes: https://github.com/lfnovo/open-notebook/releases/tag/v1.14.0]_