# changedetection.io 0.55.4 - Product: changedetection.io (https://whatsnew.fyi/product/changedetection-io) - Vendor: changedetection.io - Date: 2026-05-19 - Version: 0.55.4 - Original notes: https://github.com/dgtlmoon/changedetection.io/releases/tag/0.55.4 - Permalink: https://whatsnew.fyi/product/changedetection-io/releases/0.55.4 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Improve LiteLLM dependencies - **changed** — AI/LLM Summary button now sets last viewed - **fixed** — API watch.link was accidentally a tuple, now enforcing string - **added** — API Add restock config to API /v1/watch/ json output - **fixed** — Notifications add extra check for system default - **fixed** — Escape only the diff variables before Jinja2 renders them into the template to stop breaking custom HTML for plaintext pages on HTML notifications - **security** — Fix GHSA-vwgh-2hvh-4xm5 substring match in the shared_diff_access - **added** — LLM self-hosted OpenAI-compatible endpoint support for vLLM, LM Studio, and llama.cpp - **changed** — LLM integration LiteLLM config UI tweaks - **changed** — Make LLM status sticky in UI - **fixed** — LLM fixing summary cache miss-hit - **changed** — Text filters process subtractive_selectors first - **changed** — API better support for watch API private and internal vars - **changed** — Text filters ignore text should run before extract text - **fixed** — Docker INSTALLED_MARKER is kept in /datastore but package installs are not persistent, now relying on pip instead - **changed** — LLM Ollama etc tweaks - **security** — LLM SSRF guard for the LLM api_base setting in UI - **security** — API Security Watch GET history snapshot should return text/plain mimetype so it cannot be accidentally executed in the browser ##### 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