github fabriziosalmi/certmate v2.4.4
v2.4.4 — wire missing notification routes (closes #114)

latest releases: v2.4.7, v2.4.6, v2.4.5...
5 hours ago

Closes #114. The frontend had been calling four endpoints that were never registered server-side, so every notification settings save / test / digest / webhook delivery fetch returned 404 in the browser. Backend logic (Notifier, WeeklyDigest) was already complete — this is pure wiring.

New routes (admin role)

Method Route Backed by
GET / POST /api/notifications/config Notifier._get_config() / SettingsManager.update('notifications')
POST /api/notifications/test Notifier.test_channel(channel_type, config)
POST /api/digest/send WeeklyDigest.send()
GET /api/webhooks/deliveries?limit=N Notifier.get_deliveries(limit) (clamped 1..500, default 50)

Reported by @CYHFREDA with a clean expected-vs-actual table that made this triage trivial.

Test coverage

tests/test_notifications_routes.py — 9 e2e tests covering:

  • GET shape + POST round-trip persistence
  • Body-shape validation (rejects non-dict bodies, missing channel_type, unknown channel types)
  • Transport-failure normalization (unreachable SMTP host returns {success:false, error:...} instead of 500, so the UI can show a toast)
  • Digest envelope contract (success / skipped / error)
  • Deliveries list shape + ?limit= param

All 9 pass against the Docker test container. 143 unit tests still pass.

Full diff: v2.4.3...v2.4.4

Don't miss a new certmate release

NewReleases is sending notifications on new releases.