Skip to content

LIA

v1.20.18 Bugfix

This release fixes issues for SREs watching stability and regressions.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-assistant apple llm claude conversational-ai
+13 more
docker emotional-ai google healthcare-ai human-in-the-loop langchain langgraph mcp multi-agent personal-assistant self-hosted skills vision-ai

Summary

AI summary

Fixed HTML display mode drift and token/cost double‑counting for proactive initiative calls.

Full changelog

Two fixes. No DB migration, no new env var, no endpoint change.

🎨 Fixed — HTML enriched display no longer drifts back to Markdown over multi-turn conversations

In the HTML enriched display mode, the first replies rendered as rich HTML but, as the conversation grew, the model drifted back to Markdown — in both execution modes (pipeline & ReAct) — without any setting change. Root cause: the response LLM's history filter treated prior turns asymmetrically (HTML answers erased to a [Résultats affichés] placeholder, Markdown kept verbatim), so the visible history looked uniformly plain and biased the model away from the HTML directive. Fixed by symmetric, structural style neutralization scoped to the HTML mode only (neutralize_formatting, default False) — the cards/markdown modes, the planner path and all existing callers stay byte-for-byte unchanged.

📊 Fixed — Token/cost double-counting of the proactive "initiative" call

A proactive (initiative) LLM call appeared twice in the Debug Panel — one INITIATIVE row and one phantom UNKNOWN row with identical tokens — inflating the per-message total, token_usage_logs and user_statistics. On the reasoning-streaming path, flattening config["callbacks"] re-rooted the run so on_llm_end fired twice. Fixed at the source (enrich_config_preserving_callbacks keeps the CallbackManager) and locked by a symmetric idempotency guard on both the DB (TokenTrackingCallback) and Prometheus (MetricsCallbackHandler) handlers — each LLM call is now recorded exactly once.

Validation: Ruff / Black / MyPy strict clean · 8404 unit tests pass · i18n key parity across 6 locales · ESLint + TypeScript clean.

Full details in CHANGELOG.md.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track LIA

Get notified when new releases ship.

Sign up free

Beta — feedback welcome: [email protected]