Changelog

What actually shipped, dated.

2026-08-26

The platform's first documented release: the gateway, the model roster behind it, and the console and docs site you are reading now.

  • Gateway. An OpenAI-compatible API in front of this platform's own hardware, serving larsa-auto, larsa-general, larsa-general-fast, larsa-law-ir, larsa-law-es, larsa-stt and larsa-tts — chat with vision, two retrieval-grounded legal models (Iranian law over 117,499 provisions; Spanish/EU law over 835,951), speech to text and text to speech. See Models.
  • Structured output. response_format with json_schema and strict: true grammar-constrains the chat models' output to your schema. See Structured output.
  • PDF. POST /v1/pdf renders HTML to PDF in headless Chromium — real layout and bidi, right-to-left included, with no network reachable from the page being rendered. See PDF.
  • Console and docs. A design system and page shells covering the public site, the customer console and the owner panel; text in 96 languages, seven of them right-to-left; and the documentation site you are reading, with every request example in ten languages.

2026-09-10

  • `larsa-general-fast` removed. It pointed at the exact same backend as larsa-general — no second engine ever served it — so selecting it produced no distinct behaviour, only the appearance of a choice. See Models.

2026-09-14

  • `larsa-general-eval` removed. The second llama.cpp server it pointed at (a downstream A/B acceptance test) was shut down; the name is gone rather than left behind pointing at nothing.
  • Embeddings published. larsa-embed (BAAI's bge-m3, 1024 dimensions) is now reachable through the gateway at POST /v1/embeddings. It existed on this host before but was never exposed publicly, despite being documented. See Embeddings.
  • The non-chat API moved to the tools gateway. Knowledge bases, uploaded files, skills, MCP servers, PDF rendering and the Python sandbox answered 403 for every customer key ever issued — only the operator's master key could reach them, because the gateway's own pass-through allow list is a LiteLLM Enterprise field this build doesn't have. These routes are now served by the tools gateway (127.0.0.1:8098), which resolves a customer's own key to an organisation itself.

2026-10-07

  • The console moved to its own hostname. Everything that isn't the /v1 API or the non-chat tool routes now lives at console.larsa.larsima.com; api.console.larsa.larsima.com redirects anything else there.

2026-10-08

  • TTS voice catalogue. larsa-tts moved from one voice per engine to a named catalogue — default, male, female, plus a first per-language male/female id for Persian and each of the 23 Chatterbox languages. New: GET /v1/audio/voices, which lists every id. See Text to speech.

2026-10-09

  • Five voices per gender, per language. The per-language catalogue grew from one male/female id to five (<lang>-male-1..5, <lang>-female-1..5) for Persian and every Chatterbox language — 243 voice ids in total — for scenes with more than one speaker of the same gender. See Text to speech.
  • Speech-to-text: language auto-detection and a repetition guard. /v1/audio/transcriptions and the realtime WebSocket now auto-detect the spoken language (falling back to Persian when unsure, or for one of Persian's own confusables) instead of assuming Persian outright, and accept ISO 639-1 codes as well as Whisper language names. A cheap word-level check now catches a transcript that fell into a repetition loop and retries or collapses it, on every request. See Speech to text and Realtime transcription.
  • Realtime WebSocket restored on both origins. wss://api.console.larsa.larsima.com/api/realtime/transcribe and wss://console.larsa.larsima.com/api/realtime/transcribe are served again, with the same contract as before and authentication by the bearer.<key> subprotocol or an Authorization: Bearer header; a missing or invalid key is refused at the handshake. See Realtime transcription.

2026-10-09

  • Renamed to Data. New model ids data-general, data-auto, data-law-ir, data-law-es, data-stt, data-tts and data-embed; new hosts api.data.larsima.com, console.data.larsima.com and chat.data.larsima.com. The old model names (larsa-*, lardad-*) and the old hosts remain as deprecated aliases for now and will be removed after a notice period. See Models.
  • Realtime WebSocket. The transcription endpoint is now also served at wss://api.data.larsima.com/api/realtime/transcribe and wss://console.data.larsima.com/api/realtime/transcribe, with the same contract. See Realtime transcription.
  • Skills: 13 built-in skills, enforced per organisation; per-organisation response cache. The catalogue now ships 13 built-in skills (contract review, legal notice and brief drafting, strict-JSON extraction, Persian copy-editing and more) next to legal-exam-mcq, and the enabled flag is enforced per organisation — a skill your organisation has not enabled is ignored. Chat responses are now cached per organisation, never shared across organisations, and requests that use skills, tools, file_search, web_search, code_interpreter, law_search or mcp bypass the cache. See Skills.
↑↓ Navigate ↵ Open esc Close