tag:github.com,2008:https://github.com/dgtlmoon/changedetection.io/releases
Release notes from changedetection.io
2026-05-25T16:47:29Z
tag:github.com,2008:Repository/333483116/0.55.7
2026-05-25T16:47:59Z
0.55.7
<h2>What's Changed</h2>
<ul>
<li>UI - LLM - Fix for settings (wtforms vs pydantic) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518226145" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4184" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4184/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4184">#4184</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.55.6...0.55.7"><tt>0.55.6...0.55.7</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.55.6
2026-05-25T16:00:22Z
0.55.6
<h2>Security updates</h2>
<p>Security - SSRF in ChangeDetection.io via urlparse/urllib3 Parser Differential</p>
<h2>What's Changed</h2>
<ul>
<li>UI - Preview problem fix for extract_text/ignore_text <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4436419224" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4138" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/4138/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/4138">#4138</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4486000308" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4169" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4169/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4169">#4169</a></li>
<li>UI - LLM - Flag <code>LLM_FEATURES_DISABLED</code> to disable all LLM from the UI/system by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493123185" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4171" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4171/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4171">#4171</a></li>
<li>Notifications - <code>raw_diff</code> token was missing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500726913" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4177" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4177/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4177">#4177</a></li>
<li>LLM UI - Blueprint/code also disabled when env flag <code>LLM_FEATURES_DISABLED</code> is enabled by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508321424" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4180" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4180/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4180">#4180</a></li>
<li>Llm settings pydantic refactor by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511322530" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4181" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4181/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4181">#4181</a></li>
<li>lint: Bump dennis — adopt <code>--strict</code> mode and drop false-positive workarounds by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516262409" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4182" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4182/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4182">#4182</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.55.5...0.55.6"><tt>0.55.5...0.55.6</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.55.5
2026-05-19T17:06:31Z
0.55.5
<h2>What's Changed</h2>
<ul>
<li>Fix Spanish translations for 'Changed' and 'Last Changed' by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maperal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maperal">@maperal</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478213763" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4160" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4160/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4160">#4160</a></li>
<li>Notifications - Fix <code>'str' object is not callable</code> when <code>{{ diff(...)}}</code> callable tokens are used with HTML/htmlcolor output by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478855062" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4161" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4161/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4161">#4161</a></li>
<li>LLM - Master on/off switch (enable/disable) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478927603" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4162" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4162/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4162">#4162</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maperal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maperal">@maperal</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478213763" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4160" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4160/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4160">#4160</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.55.4...0.55.5"><tt>0.55.4...0.55.5</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.55.4
2026-05-19T09:39:11Z
0.55.4
<h2>What's Changed</h2>
<ul>
<li>i18n: Ruff INT (flake8-gettext) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341983545" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4096" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4096/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4096">#4096</a></li>
<li>UI - AI/LLM - "Summary" button should set last viewed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341349756" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4095" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4095/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4095">#4095</a></li>
<li>Improve LiteLLM deps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335523268" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4093" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/4093/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/4093">#4093</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347432649" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4102" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4102/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4102">#4102</a></li>
<li>i18n: Add dennis .pot/.po lint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342539619" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4097" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4097/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4097">#4097</a></li>
<li>API - watch.link was accidently a tuple, enforcing string by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349407596" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4104" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4104/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4104">#4104</a></li>
<li>API - Add restock config to API /v1/watch/ json output <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343770405" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4099" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/4099/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/4099">#4099</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349321807" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4103" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4103/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4103">#4103</a></li>
<li>i18n: Enforce dennis lint warnings in CI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349616099" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4105" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4105/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4105">#4105</a></li>
<li>i18n: Clear pre-existing dennis warnings in <code>messages.pot</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359233006" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4112" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4112/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4112">#4112</a></li>
<li>i18n: Fix broken HTML tags and enforce dennis lint warnings in CI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368847046" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4116" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4116/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4116">#4116</a></li>
<li>Notifications - extra check for system default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4381490431" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4122" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4122/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4122">#4122</a></li>
<li>Notifications - Escape only the diff variables before Jinja2 renders them into the template ( Stop breaking custom HTML for plaintext pages on HTML notifications) <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378070167" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4121" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/4121/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/4121">#4121</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4385472408" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4123" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4123/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4123">#4123</a></li>
<li>Fixing GHSA-vwgh-2hvh-4xm5 — substring match in the shared_diff_access by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4420547757" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4130" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4130/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4130">#4130</a></li>
<li>Bumping tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4422054860" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4131" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4131/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4131">#4131</a></li>
<li>LLM - Self-hosted OpenAI-compatible endpoint support (vLLM, LM Studio, llama.cpp) — refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3072106610" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/3204" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/3204/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/3204">#3204</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tekgnosis-net/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tekgnosis-net">@tekgnosis-net</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369015997" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4117" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4117/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4117">#4117</a></li>
<li>LLM integration - LiteLLM config - UI tweaks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4427782573" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4134" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4134/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4134">#4134</a></li>
<li>UI - Make LLM status sticky by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4428606548" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4135" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4135/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4135">#4135</a></li>
<li>LLM - Fixing summary cache miss-hit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430042094" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4136" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4136/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4136">#4136</a></li>
<li>Text filters - Process subtractive_selectors first by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4452389658" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4142" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4142/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4142">#4142</a></li>
<li>API - Better support for watch API private/internal vars by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4453145538" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4144" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4144/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4144">#4144</a></li>
<li>Text filters - Ignore text should run before 'extract text' by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4452627282" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4143" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4143/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4143">#4143</a></li>
<li>Fix/pr 4110 czech l12n catalog sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4453329556" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4145" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4145/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4145">#4145</a></li>
<li>Docker - INSTALLED_MARKER is kept in /datastore but package installs are not persistent (Dont use custom marker file, rely on pip instead) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4453452594" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4147" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4147/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4147">#4147</a></li>
<li>Fix/llm ollama etc tweaks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4455431528" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4148" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4148/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4148">#4148</a></li>
<li>UI - LLM - SSRF guard for the LLM <code>api_base</code> setting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475595700" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4157" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4157/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4157">#4157</a></li>
<li>API Security - Watch GET history snapshot - Should return <code>text/plain</code> mimetype so it cant be accidently executed in the browser by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476007202" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4158" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4158/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4158">#4158</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tekgnosis-net/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tekgnosis-net">@tekgnosis-net</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369015997" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4117" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4117/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4117">#4117</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.55.3...0.55.4"><tt>0.55.3...0.55.4</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.55.3
2026-04-28T06:36:21Z
0.55.3
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.55.2...0.55.3"><tt>0.55.2...0.55.3</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.55.2
2026-04-28T05:23:01Z
0.55.2
<p>Recompile languages</p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.55.1
2026-04-27T07:07:54Z
0.55.1
<h1>Big stuff</h1>
<p>AI / LLM rulesets - Set your AI change detection rules and text summary rules, use hundreds of existing providers via LiteLLM.</p>
<h2>What's Changed</h2>
<ul>
<li>Use pgettext for diff page From/To labels to prevent context collisions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4300512742" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4073" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4073/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4073">#4073</a></li>
<li>Fix broken opacity feedback for restock/price fields on tag edit screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4295031493" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4072" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4072/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4072">#4072</a></li>
<li>i18n: Wrap untranslated UI strings in include_subtract.html and add ja translations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4272945358" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4054" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4054/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4054">#4054</a></li>
<li>Re <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320515765" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4080" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/4080/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/4080">#4080</a> msgfmt linting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321509975" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4081" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4081/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4081">#4081</a></li>
<li>Update python-engineio requirement from <5,>=4.9.0 to >=4.13.1,<5 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319643823" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4079" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4079/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4079">#4079</a></li>
<li>CI - Translation sync check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322072763" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4085" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4085/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4085">#4085</a></li>
<li>DeprecationWarning: codecs.open() is deprecated. Use open() instead. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319605303" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4078" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4078/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4078">#4078</a></li>
<li>LLM implementation - by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274502559" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4057" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4057/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4057">#4057</a></li>
<li>i18n: Consolidate fragmented gettext calls into entire-sentence msgids by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308882524" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4076" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4076/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4076">#4076</a></li>
<li>Translations - Playwright macro unused, add extra linting for translations, add TRANSLATORS.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330601372" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4087" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4087/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4087">#4087</a></li>
<li>[i18n] "Usage" tab label in AI settings is ambiguous across contexts <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327177283" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4086" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/4086/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/4086">#4086</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330875319" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4088" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4088/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4088">#4088</a></li>
<li>Update Korean language by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limeade23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limeade23">@limeade23</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321906634" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4084" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4084/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4084">#4084</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limeade23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limeade23">@limeade23</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321906634" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4084" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4084/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4084">#4084</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.54.10...0.55.1"><tt>0.54.10...0.55.1</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.54.10
2026-04-20T08:47:15Z
0.54.10
<h2>What's Changed</h2>
<ul>
<li>i18n: Wrap untranslated UI strings and update ja translations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4262806585" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4052" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4052/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4052">#4052</a></li>
<li>Bump apprise from 1.9.8 to 1.9.9 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279307112" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4059" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4059/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4059">#4059</a></li>
<li>Fix - diff_changed_to causing some missed notifications by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290517294" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4066" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4066/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4066">#4066</a></li>
<li>Fix untranslated labels on mobile watchlist view by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288480362" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4064" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4064/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4064">#4064</a></li>
<li>Fix unresponsive "help and tips" button on tag edit screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4273935151" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4055" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4055/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4055">#4055</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.54.9...0.54.10"><tt>0.54.9...0.54.10</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.54.9
2026-04-14T07:17:43Z
0.54.9
<h2>What's Changed</h2>
<ul>
<li>Add Japanese translation (ja) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4184015997" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4019" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4019/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4019">#4019</a></li>
<li>Update Selenium RemoteConnection to use ClientConfig for timeout by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mikaelz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mikaelz">@mikaelz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4212495423" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4027" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4027/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4027">#4027</a></li>
<li>Fix SCREENSHOT_MAX_HEIGHT not enforced: cap viewport step_size and clip stitched output to max capture height <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862685178" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/3810" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/3810/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/3810">#3810</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4229558212" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4030" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4030/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4030">#4030</a></li>
<li>Notification - Adding tokens <code>{{diff_changed_from}}</code> and <code>{{diff_changed_to}}</code> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872104992" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/3818" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/3818/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/3818">#3818</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4229843392" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4031" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4031/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4031">#4031</a></li>
<li>Feature - Groups/tag - Apply a group by specifying a wildcard, ie <code>*mysite.com*</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230169002" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4032" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4032/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4032">#4032</a></li>
<li>Add Portuguese (Brasil) translation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mstrey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mstrey">@mstrey</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4232836345" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4033" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4033/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4033">#4033</a></li>
<li>fix: word-level diff ignores include_change_type_prefix by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lawrence3699/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lawrence3699">@lawrence3699</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235934508" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4037" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4037/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4037">#4037</a></li>
<li>Groups - Set custom colour for tag/group/label background by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4238079175" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4040" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4040/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4040">#4040</a></li>
<li>Fix/step failure notification crash by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4238173115" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4041" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4041/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4041">#4041</a></li>
<li>Test - Word level diff - Re <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235934508" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4037" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4037/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4037">#4037</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4238357634" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4042" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4042/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4042">#4042</a></li>
<li>fix: XLSX import error messages report wrong row number after failed rows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lawrence3699/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lawrence3699">@lawrence3699</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235729683" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4036" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4036/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4036">#4036</a></li>
<li>Czech l12n by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/svetlemodry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/svetlemodry">@svetlemodry</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240290176" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4043" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4043/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4043">#4043</a></li>
<li>Add Turkish translation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hekwert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hekwert">@hekwert</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240921459" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4044" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4044/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4044">#4044</a></li>
<li>Handle inline favicons - Re <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3952505611" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/3891" data-hovercard-type="issue" data-hovercard-url="/dgtlmoon/changedetection.io/issues/3891/hovercard" href="https://github.com/dgtlmoon/changedetection.io/issues/3891">#3891</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243191106" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4047" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4047/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4047">#4047</a></li>
<li>Text filters - New simpler filter "Extract lines containing text" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242644485" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4046" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4046/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4046">#4046</a></li>
<li>Test improvement - text extract tidyup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243471369" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4048" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4048/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4048">#4048</a></li>
<li>Update Japanese translations for new strings and fix fragment handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256234354" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4050" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4050/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4050">#4050</a></li>
<li>Fix strings not rendered in user's locale despite having .po entries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256408147" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4051" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4051/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4051">#4051</a></li>
<li>Ignore text should override trigger text (It should ignore the trigger text if it appears) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3472995160" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/3450" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/3450/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/3450">#3450</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skkzsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skkzsh">@skkzsh</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4184015997" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4019" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4019/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4019">#4019</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mikaelz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mikaelz">@mikaelz</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4212495423" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4027" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4027/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4027">#4027</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lawrence3699/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lawrence3699">@lawrence3699</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235934508" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4037" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4037/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4037">#4037</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hekwert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hekwert">@hekwert</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240921459" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4044" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4044/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4044">#4044</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.54.8...0.54.9"><tt>0.54.8...0.54.9</tt></a></p>
dgtlmoon
tag:github.com,2008:Repository/333483116/0.54.8
2026-04-04T04:02:15Z
0.54.8
<h2>What's Changed</h2>
<p><a title="CVE-2026-35490" data-hovercard-type="advisory" data-hovercard-url="/advisories/GHSA-jmrh-xmgh-x9j4/hovercard" href="https://github.com/advisories/GHSA-jmrh-xmgh-x9j4">CVE-2026-35490</a> - Authentication Bypass via Decorator Ordering</p>
<ul>
<li>Extendable theme pluggy implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4151393923" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4011" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4011/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4011">#4011</a></li>
<li>CI - Ensure all unit tests are run by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dgtlmoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dgtlmoon">@dgtlmoon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198336730" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4022" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4022/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4022">#4022</a></li>
<li>Update openapi-core requirement from ~=0.22 to ~=0.23 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4148185946" data-permission-text="Title is private" data-url="https://github.com/dgtlmoon/changedetection.io/issues/4009" data-hovercard-type="pull_request" data-hovercard-url="/dgtlmoon/changedetection.io/pull/4009/hovercard" href="https://github.com/dgtlmoon/changedetection.io/pull/4009">#4009</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dgtlmoon/changedetection.io/compare/0.54.7...0.54.8"><tt>0.54.7...0.54.8</tt></a></p>
dgtlmoon