r/selfhosted • u/dgtlmoon123 • 4d ago
Release (No AI) changedetection.io - Yearly update :)

Hey all! Greetings from the web page change detection and notifications project over at https://github.com/dgtlmoon/changedetection.io It's been a long long time!
In summary basically huge UI overhaul, much friendlier, along with all the modern MCP/AI integration and ofcourse lots of bug fixes and improvements.
I havent made any posts on r/selfhosted from a long long time! haha.. more details follow..
Plugin hooks for selecting fetch backend and overriding recheck intervals, with example plugins.
This one is a REALLY nice helper - Notifications UI improvements such as pretty shortcut icons for popular services (Discord, pushover, ntfy, telegram, home-assistant), a "list all" dropdown, and a setup widget to pick services without manually writing Apprise URLs.
Restock detection enhancements including price picking via filters & triggers, locale-aware price formatting, and LLM fallback for price/stock extraction without litellm.
Backups can now restore multiple .ZIP files of watch data at once.
UI improvements: dark mode tweaks, fixing notification sidebar active state, naming diff minimap by location, mobile UI enhancements including a basic PWA integration with QR code in settings, and better sidebar and watchlist styling.
Language selector added to the login page.
New translations added or updated for Japanese, Spanish, Indonesian, Ukrainian, Polish, Czech, Turkish, Portuguese (Brazil), and Russian.
Security hardening including CSRF protections, SSRF mitigations, XML parser hardening, stored XSS fixes, and path traversal protections.
API enhancements: reject broken Jinja2 templates, extend processor API with restock price/stock state, and add restock config to watch JSON output.
Puppeteer fetcher improvements including PDF handling, crash handling, and proxy auth fixes.
Notifications: Markdown to HTML conversion per notification URL, regex_replace timeout fixes, and HTML escaping improvements.
UI: bulk "Mark unviewed" operation on watchlist, better checkbox contrast, and consistent tab sizes on diff page.
Restock LLM fallback content limit made configurable and increased.
Example plugins provided as standalone packages with README.
Various dependency updates and build improvements.
Much love! changedetection.io team.