0.55.4
longbridge/gpui-kit0.55.4May 19, 2026by dgtlmoon
AI Summary
This release focuses on enhancing LLM integration with self-hosted support, improving API capabilities, and addressing several security and stability issues.
Key Highlights
- LLM Self-hosted OpenAI-compatible endpoint support (vLLM, LM Studio, llama.cpp)
- Security updates including SSRF guard for LLM API base and watch history mimetype fix
- API enhancements adding restock config and better private/internal variable support
- UI improvements including sticky LLM status and summary caching fixes
Breaking Changes
- API: watch.link was accidentally a tuple, now enforcing string type
- Docker: INSTALLED_MARKER handling changed to rely on pip instead of custom marker files
New Features
- LLM Self-hosted OpenAI-compatible endpoint support
- API restock config addition
- Better support for watch API private/internal vars
Full Release Notes
## What's Changed * i18n: Ruff INT (flake8-gettext) by @skkzsh in https://github.com/dgtlmoon/changedetection.io/pull/4096 * UI - AI/LLM - "Summary" button should set last viewed by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4095 * Improve LiteLLM deps #4093 by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4102 * i18n: Add dennis .pot/.po lint by @skkzsh in https://github.com/dgtlmoon/changedetection.io/pull/4097 * API - watch.link was accidently a tuple, enforcing string by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4104 * API - Add restock config to API /v1/watch/ json output #4099 by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4103 * i18n: Enforce dennis lint warnings in CI by @skkzsh in https://github.com/dgtlmoon/changedetection.io/pull/4105 * i18n: Clear pre-existing dennis warnings in `messages.pot` by @skkzsh in https://github.com/dgtlmoon/changedetection.io/pull/4112 * i18n: Fix broken HTML tags and enforce dennis lint warnings in CI by @skkzsh in https://github.com/dgtlmoon/changedetection.io/pull/4116 * Notifications - extra check for system default by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4122 * Notifications - Escape only the diff variables before Jinja2 renders them into the template ( Stop breaking custom HTML for plaintext pages on HTML notifications) #4121 by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4123 * Fixing GHSA-vwgh-2hvh-4xm5 — substring match in the shared_diff_access by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4130 * Bumping tests by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4131 * LLM - Self-hosted OpenAI-compatible endpoint support (vLLM, LM Studio, llama.cpp) — refs #3204 by @tekgnosis-net in https://github.com/dgtlmoon/changedetection.io/pull/4117 * LLM integration - LiteLLM config - UI tweaks by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4134 * UI - Make LLM status sticky by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4135 * LLM - Fixing summary cache miss-hit by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4136 * Text filters - Process subtractive_selectors first by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4142 * API - Better support for watch API private/internal vars by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4144 * Text filters - Ignore text should run before 'extract text' by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4143 * Fix/pr 4110 czech l12n catalog sync by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4145 * Docker - INSTALLED_MARKER is kept in /datastore but package installs are not persistent (Dont use custom marker file, rely on pip instead) by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4147 * Fix/llm ollama etc tweaks by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4148 * UI - LLM - SSRF guard for the LLM `api_base` setting by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4157 * API Security - Watch GET history snapshot - Should return `text/plain` mimetype so it cant be accidently executed in the browser by @dgtlmoon in https://github.com/dgtlmoon/changedetection.io/pull/4158 ## New Contributors * @tekgnosis-net made their first contribution in https://github.com/dgtlmoon/changedetection.io/pull/4117 **Full Changelog**: https://github.com/dgtlmoon/changedetection.io/compare/0.55.3...0.55.4