github binwiederhier/ntfy v2.36.0

2 hours ago

This release keeps the daily limits across restarts and, with PostgreSQL, shares them between servers, so a visitor gets one daily allowance in total. Each visitor's day now starts at its own time instead of midnight UTC. It also adds an experimental local admin socket.

Features:

  • Daily limits (messages, e-mails, phone calls) are stored in the user database, so they survive restarts; with PostgreSQL, all servers share them. Each visitor's day starts at its own time instead of midnight UTC, and the account page and /v1/account (stats.reset_at) show when it resets (#2131, see message limits)
  • Experimental local admin socket (experimental-listen-admin-unix, off by default) that serves the admin API without credentials to whoever can open it; the shipped systemd unit sets RuntimeDirectory=ntfy for it (see admin socket)
  • Export ntfy_db_up per PostgreSQL pool, and health-check the primary like the replicas (#2133)

Upgrade notes:

  • Everyone's daily counts start over at the upgrade: the stats_* columns of the user table are zeroed and no longer used
  • Servers that share a PostgreSQL database must keep their clocks in sync (NTP)
  • Visitors without a tier have a daily e-mail limit again (24h / visitor-email-limit-replenish)
  • The whole server config is checked again when base-url or a message-size-limit above 4K is set, so an invalid config that used to start now fails at startup (#1969, thanks to @mikejgray for the contribution)

Bug fixes + maintenance:

  • Web app: Messages replayed by a poll or a reconnect no longer bring back deleted notifications, lose their read state or notify again (#2098, #2090, thanks to @mattford63, @arminus and @tobykaspar79 for reporting)
  • CLI: ntfy pub --wait-pid now waits for processes owned by other users instead of failing with "not running" (#1710, thanks to @bekoeppel for the contribution)
  • Admin API (internal): manage other users' tokens, tiers and password reset links, return 4xx instead of 500 for invalid input, and remove a deleted user's web push subscriptions

Don't miss a new ntfy release

NewReleases is sending notifications on new releases.