Files
notify-bridge/RELEASE_NOTES.md
T
alexei.dolgolyov 770c198ac3
Release / release (push) Successful in 1m48s
chore: release v0.5.2
2026-04-24 21:58:40 +03:00

3.7 KiB

v0.5.2 (2026-04-24)

Two related improvements to the notification-tracker stack: the display-filter fields on TrackingConfig (favorites-only, sort, max-assets, strip-tags, strip-asset-details) are now actually honored by every dispatch path — they previously existed in the model but were silently ignored on watcher / webhook / scheduled / memory / test fires. And the fixed batch_duration knob on NotificationTracker is replaced by a per-tracker adaptive_max_skip, so quiet trackers can opt into back-off without affecting busy ones.

Features

  • Tracking-config display filters wired into every dispatch path — the filter fields on Immich TrackingConfig now apply consistently across watcher events, inbound webhooks, scheduled / periodic / memory cron fires, and manual test dispatch (ab621b6):
    • favorites_only drops events with no favorited new assets, or filters added_assets down to favorites only
    • assets_order_by / assets_order sort the rendered list (date / name / rating / random / none)
    • max_assets_to_show caps rendered + attached media (default raised from 5 → 10)
    • include_tags strips people from event extras and tags from each asset when disabled
    • include_asset_details strips city / country / state / lat / lon / is_favorite / rating / description when disabled — load-bearing fields (thumbhash, file_size, playback_size, cache keys) are preserved either way
    • New apply_tracking_display_filters helper in dispatch_helpers is the single source of truth
    • Targets sharing a TrackingConfig are dispatched together; targets with different configs each see their own shaped event
  • Per-tracker adaptive polling — replaces the global-feeling NotificationTracker.batch_duration with adaptive_max_skip, an opt-in cap on poll back-off (ab621b6):
    • NULL / 0 → disabled, every tick runs (previous default behavior preserved)
    • Positive N → caps the skip factor at (N-1)-in-N after a long idle stretch
    • Scheduler caches the cap in module state for the tick fast-path
    • Migration adds the new column; API schemas / responses, frontend types, i18n, and the tracker form are all updated to match

Upgrade Notes

  • batch_durationadaptive_max_skip on NotificationTracker. The migration runs automatically; existing trackers default to disabled (every tick polls), matching previous behavior. Set a positive value per-tracker if you want quiet trackers to back off.
  • Default max_assets_to_show is now 10 (was 5). Existing tracking configs with a stored value are unaffected; only the default for newly created configs (or unset fields) changes. If you relied on the 5-asset implicit cap, set it explicitly.
  • Display filters now actually take effect. If you had configured favorites_only, include_tags, include_asset_details, etc. previously and expected them to do something — they will now. Review your tracking configs after upgrade if you don't want the filtering applied.

All Commits
Hash Message Author
ab621b6 feat: wire tracking-config display filters + per-tracker adaptive polling alexei.dolgolyov