Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Jun 17:54
· 99 commits to main since this release
v1.3.0
8582046
  • Embeddings now auto-load on demand: /api/embed and /api/embeddings load an unloaded embedding model and return the vector instead of 400 "No models loaded", matching how chat/generate already JIT-load.
  • Added --default-context-length / OLLAMA_CONTEXT_LENGTH: a server-wide num_ctx fallback applied when a request omits it; a per-request num_ctx still wins. Also honored on /api/embed.
  • Thinking now defaults on for reasoning-capable models when think is omitted, matching Ollama; explicit think:false still wins.
  • options.min_p is now forwarded on the default chat/generate path instead of being dropped with a warning.
  • /api/generate with a system prompt now routes through the chat endpoint as a real system turn, so the system instruction takes effect (was concatenated into the completion prompt); raw:true is guarded against chat templating.
  • /api/show now sources capabilities (vision/tools/thinking) from LM Studio's real capabilities, surfaces description/display_name, and adds loaded tuning (flash_attention/eval_batch_size/parallel) to verbose model_info.
  • /api/ps entries now include details.parent_model.
  • /api/embed now defaults truncate to true and estimates prompt_eval_count from the input length when LM Studio omits usage (was a constant 10).
  • Structured-output format now sends strict as a boolean instead of a string.
  • num_ctx reload is now skipped when all loaded instances already match the requested size (was: only when exactly one matched).
  • Changed /api/copy: now returns an empty 200 body and upserts (overwrites) an existing destination instead of returning {"status":"success"} and failing with 400 on a duplicate.
  • /api/pull now accepts and ignores insecure instead of rejecting it with 400; failed downloads surface LM Studio's error_message.
  • /api/create returns a clearer 400 for unsupported files/quantize; /api/delete explains its alias-only limit in the 404 body.
  • Upstream 429 and 502 now pass through unchanged instead of being remapped to 500/503.
  • done_reason now passes through finish reasons the proxy doesn't recognize instead of dropping the field.
  • [native chat] Dropped the non-Ollama response_id from --use-native-chat output; tools/tool_choice/format are documented as not forwarded on that path.

Full Changelog: v1.2.0...v1.3.0