The monolithic check_updates.py has been split into the update_monitor/
package with separate modules for fetching, extraction, comparison,
classification, and notification. This makes the codebase easier to
navigate and test.
The flat services.yaml is replaced by per-service directories under
services/<name>/config.yaml, co-locating config with update scripts
and AI review examples.
When --auto-update is enabled, services with an auto-update.sh script
get their release notes classified by a local Ollama model (using
few-shot examples from review-examples/) to decide whether the update
can be applied automatically or needs manual admin intervention. Results
are reported in a single consolidated Matrix message.
Immich is the first service with auto-update configured, using 7
real release note examples to train the classifier.
FreshRSS upstream commit 476e57b reversed the concatenation order
of the bcrypt hash and nonce in the login challenge for safer
password evaluation. Update our challenge computation to match
the new hash+nonce order.
Retrieve the running Uptime Kuma version by authenticating over
Socket.IO and reading the info event. This adds a new login_socket
dataset field, the fetch_socket_info helper, and the python-socketio
and websocket-client dependencies.