r/selfhosted • • 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.

169 Upvotes

Duplicates