Skip to content

v2.5.1

Latest

Choose a tag to compare

@smkrv smkrv released this 06 Jul 23:14

Combined release covering all changes since v2.4.1.

Action required: DeepSeek and Gemini model names

  • Google shut down gemini-2.0-flash on 2026-06-01. The Gemini 2.5 family follows on 2026-10-16.
  • DeepSeek retires deepseek-chat and deepseek-reasoner on 2026-07-24 with no fallback.

If your instance uses one of these models, open the integration options and switch the model. New installation defaults: gemini-3.5-flash and deepseek-v4-flash.

Features

  • disable_thinking option (closes #11) - turns off model reasoning per instance or per ask_question call. Implementation per provider:
    • OpenAI reasoning models (o-series, gpt-5): reasoning_effort low/minimal
    • OpenAI-compatible chat models and legacy DeepSeek: /no_think soft switch plus <think> block stripping
    • DeepSeek V4: native thinking request parameter
    • Gemini 2.5: thinking_budget=0 (128 for 2.5 Pro, its minimum)
    • Gemini 3.x: thinking_level MINIMAL (LOW for Pro models)
    • Anthropic: no-op, extended thinking is opt-in there
  • Reasoning model support: o1/o3/o4-mini and the gpt-5 family get max_completion_tokens and the developer role; custom temperature is not sent because these models reject it. OpenRouter-style openai/ prefixes are recognized. deepseek-reasoner responses keep reasoning_content as a separate field.

Security

  • API key must be re-entered when changing provider or endpoint in options
  • DNS rebinding closed: all API traffic goes through a session pinned to the pre-validated IPs
  • HTTP redirects disabled on API requests, a 3xx response cannot route traffic to an unvalidated host
  • Isolated cookie jar per instance
  • Link-local and cloud metadata addresses (169.254.0.0/16) are blocked even in allow_local_network mode
  • Symlink protection for history storage
  • Expanded log redaction; Gemini API keys are stripped from stored URLs

Reliability

  • Retries on 429/502/503/504 with Retry-After support and exponential backoff
  • Services survive a config entry reload: changing options no longer removes ask_question and the other services until restart
  • get_history with response_variable now works and returns {"history": [...]}. Before this release every such call failed with a server error, so no automation could have consumed the old shape
  • get_history accepts any positive limit again, values above 200 are clamped instead of rejected
  • Each instance gets a dedicated HTTP session, closed on unload and on failed setup
  • Anthropic: response parsing picks the text block, and temperature is clipped to the [0, 1] range the API accepts
  • Instance names that normalize to an empty string get a stable hash-based fallback name

License

PolyForm Noncommercial 1.0.0 replaced with MIT.

Breaking changes

None for working setups: entity IDs, sensor attributes, the ask_question response format and on-disk history/metrics files are unchanged. The response_variable path of ask_question still returns the full response text.

All 8 translations updated (de, en, es, hi, it, ru, sr, zh).