4.1 KiB
4.1 KiB
v0.8.0 (2026-05-12)
User-facing changes
Features
- Quiet hours now defer notifications instead of dropping them. Events that arrive during a tracker's quiet window are stored on disk and re-fired at the window end. Asset events for the same
(link, event_type, collection)coalesce so a flurry of adds/removes during the night collapses into a single morning notification (ba199f2) - Upstream release check. New "Release Cassette" in Settings polls a configurable Gitea or GitHub repo on a schedule and surfaces the latest tag in the UI so you know when a newer Notify Bridge is available. Pre-release filtering and interval are operator-configurable; the install ships pointed at this repo's own upstream (ba199f2)
- Frontend polish across the board. New
MetaStripcomponent, expandedEventDetailModal, and i18n additions land alongside cohesive Aurora-glass styling tweaks on most management pages — providers, targets, bots, trackers, command and notification templates, users, actions, layout, and dashboard (ba199f2)
Documentation
- README rewritten to cover every supported provider, target type, bot command, and smart action — including the deploy / env-var matrix (bb5afcc, 4335036)
Development / Internal
Architecture
- New
deferred_dispatchtable with two migrations: anON DELETE SET NULLFK rebuild onevent_log_id(so the daily event-log retention sweep no longer deadlocks against pending defers), and a partial unique index on(link_id, collection_id, event_type) WHERE status='pending'to make coalescing race-safe under SQLite's serializable writes (ba199f2) - Drain scheduler with three layers: a one-shot APScheduler
datejob per window-end (idempotent, minute-bucketed), a 5-minute periodic catch-up scan as safety net for misfire-grace overflow and process-restart gaps, andload_pending_drain_jobsto re-arm scheduled drains on boot (ba199f2) - Release-check provider abstraction (
packages/core/.../release/) with Gitea and GitHub adapters, SSRF-safe outbound URL validation, a registry/factory, and a server-side scheduler probe with cached state and on-settings-change cache invalidation (ba199f2) - Version resolution helper (
packages/server/.../version.py) that returns the max of installed-package metadata vs sourcepyproject.toml— fixes the long-running editable-install bug where bumping the version without reinstalling kept the old number visible in the UI (ba199f2)
Tests
- New test suites:
test_deferred_dispatch.py(drain + coalescing + retention interaction),test_release_provider.py(Gitea and GitHub adapter parsing and error paths), andtest_release_service.py(scheduler-level caching and settings invalidation) (ba199f2)
All Commits
| Hash | Message | Author |
|---|---|---|
| ba199f2 | feat: deferred dispatch, release-check provider, settings polish | alexei.dolgolyov |
| bb5afcc | docs: expand README with all providers, targets, bot commands, and smart actions | alexei.dolgolyov |
| 4335036 | docs: sync README deploy section with actual env vars | alexei.dolgolyov |