0.55.4

tanchongmin/agentjo0.55.4May 19, 2026by dgtlmoon

AI Summary

A patch release adding self-hosted LLM support, i18n improvements, and various API/UI fixes.

Key Highlights

  • Self-hosted OpenAI-compatible LLM support (vLLM, LM Studio)
  • i18n improvements and strict linting
  • SSRF guard for LLM API base setting

New Features

  • Self-hosted LLM support
  • i18n enhancements
  • SSRF guard for LLM API base
  • API improvements for watch links

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