github lfnovo/open-notebook v1.15.1
v1.15.1 — security release

4 hours ago

Security release — we recommend all users upgrade. v1.15.1 closes gaps in how sources are processed and requires content-core 2.2.1, which hardens URL fetching. It also ships the documentation rewrite and a handful of small fixes. Validated with the backend and frontend suites and a hands-on pass over the published 1.15.1 image.

🔒 Security

  • Source processing now enforces the uploads-directory and URL checks in the background worker itself, so they apply on every path that processes a source, not only when a source is created.
  • Requires content-core 2.2.1 or later, which refuses link-local and cloud-metadata addresses on every redirect hop when fetching URLs.
  • POST /api/commands/jobs, the generic "submit any background command" endpoint, is removed. Nothing in Open Notebook used it; every operation has its own endpoint. Job status (GET /api/commands/jobs/{job_id}) is unchanged.

Security advisories with the details will be published on this repository.

📚 Documentation

Every page under docs/ was checked against v1.15.0 and rewritten where it described an older or imagined product (#1458, #1459, #1460, #1461): one canonical install path built on the shipped docker-compose.yml, a first-run flow that ends in a working chat, a complete environment-variable reference, troubleshooting keyed on the exact error messages the app shows, and development docs rewritten from the code.

🐛 Notable fixes

  • Timeouts no longer read as connection failures: a model that doesn't answer within ESPERANTO_LLM_TIMEOUT now says the provider took too long and how to raise the limit
  • Error hints point to screens that exist (Manage → Models, Podcasts → Profiles) (#1457)
  • Italian is selectable in the language menu, with dates formatted in Italian (#1457)
  • make start-all starts SurrealDB again; the legacy SURREAL_ADDRESS / SURREAL_PORT fallback builds a valid database URL (#1457)
  • Docs no longer recommend settings that do nothing (API_CLIENT_TIMEOUT, editing .env plus docker compose restart) (#1456)

⚠️ Behavior changes for self-hosters

  • Anything that called POST /api/commands/jobs directly will now get 405 Method Not Allowed. Use the specific endpoints (for example POST /api/sources) instead.
  • A source whose file is outside the uploads directory, or whose URL targets a link-local or cloud-metadata address, now fails with a permanent error instead of being processed. Private and loopback addresses (Ollama, LM Studio, other local services) are still allowed.

Full changelog: v1.15.0...v1.15.1

Don't miss a new open-notebook release

NewReleases is sending notifications on new releases.