Skip to content

Releases: binwiederhier/ntfy

v2.14.0

05 Aug 08:31
eac523d

Choose a tag to compare

This release adds support for declarative users, declarative ACL entries and declarative tokens. This allows you to define users, ACL entries and tokens in the config file, which is useful for static deployments or deployments that use a configuration management system.

It also adds support for pre-defined templates and custom templates for enhanced JSON webhook support, as well as advanced template functions based on the Sprig functions.

❤️ If you like ntfy, please consider sponsoring me via GitHub Sponsors, Liberapay, Bitcoin (1626wjrw3uWk9adyjCfYwafw4sQWujyjn8), or by buying a paid plan via the web app. ntfy
will always remain open source.

Features:

v2.13.0

10 Jul 19:27

Choose a tag to compare

This is a relatively small release, mainly to support IPv6 and to add more sophisticated
proxy header support. Quick reminder that if you like ntfy, please consider sponsoring us
via GitHub Sponsors and Liberapay, or buying a paid plan via the web app.
ntfy will always remain open source.

Features:

  • Full IPv6 support for ntfy and the official ntfy.sh server (#519 / #1380 / #4)
  • Support X-Client-IP, X-Real-IP, Forwarded headers for rate limiting via proxy-forwarded-header and proxy-trusted-hosts (#1360 / #1252, thanks to @pixitha)
  • Add STDIN support for ntfy publish (#1382, thanks to @srevn)

Languages

  • Update new languages from Weblate. Thanks to all the contributors!
  • Added Estonian (Esti), Galician (Galego), Romanian (Română), Slovak (Slovenčina) as new languages to the web app

v2.12.0

30 May 00:26

Choose a tag to compare

This is mainly a maintenance release that updates dependencies, though since it's been over a year, there are a few new features and bug fixes as well.

Thanks to everyone who contributed to this release, and special thanks to @wunter8 for his continued user support in Discord/Matrix/GitHub! You rock, man!

Features:

  • Add username/password auth to email publishing (#1164, thanks to @bishtawi)
  • Write VAPID keys to file in ntfy webpush --output-file (#1138, thanks to @nogweii)
  • Add Docker major/minor version to image tags (#1271, thanks to @RoboMagus)
  • Add latest subscription param for grabbing just the most recent message (#1216, thanks to @wunter8)
  • Allow using NTFY_PASSWORD_HASH in ntfy user command instead of raw password (#1340, thanks to @Tom-Hubrecht for implementing)
  • You can now change passwords via v1/users API (#1267, thanks to @wunter8 for implementing)
  • Make WebPush subscription warning/expiry configurable, increase default to 55/60 days (#1212, thanks to @KuroSetsuna29)
  • Support systemd user service ntfy-client.service (#1002, thanks to @dandersch)

Bug fixes + maintenance:

  • Security updates for dependencies and Docker images (#1341)
  • Upgrade to Vite 6 (#1342, thanks Dependabot)
  • Fix iOS delivery issues for read-protected topics (#1207, thanks a lot to @barart!)
  • Add Date header to outgoing emails to avoid rejection (#1141, thanks to @pcouy)
  • Fix IP address parsing when behind a proxy (#1266, thanks to @mmatuska)
  • Make sure UnifiedPush messages are not treated as attachments (#1312, thanks to @vkrause)
  • Add OCI image version to Docker image (#1307, thanks to @jlssmt)
  • WebSocket returning incorrect HTTP error code (#1338 / #1337, thanks to @wunter8 for debugging and implementing)
  • Make Markdown in the web app scrollable horizontally (#1262, thanks to @rake5k for fixing)
  • Make sure WebPush subscription topics are actually deleted (no ticket)
  • Increase the number of access tokens per user to 60 (#1308)
  • Allow specifying cache and firebase via JSON publishing (#1119/#1123, thanks to @stendler)

Documentation:

Languages

  • Update new languages from Weblate. Thanks to all the contributors!
  • Added Tamil (தமிழ்) as a new language to the web app

v2.11.0

13 May 20:19

Choose a tag to compare

This is a tiny release that fixes a database index issue that caused performance issues on ntfy.sh. It also fixes a bug in the rate visitor logic that caused rate visitors to be assigned to seemingly random topics. Nothing major this time.

❤️ Quick reminder that if you like ntfy, please consider sponsoring us via GitHub Sponsors and Liberapay, or buying a paid plan via the web app. ntfy will always remain open source.

Bug fixes + maintenance:

  • Re-add database index idx_topic to the messages table to fix performance issues on ntfy.sh (no ticket, big thanks to @tcaputi for finding this issue)
  • Do not set rate visitor for non-eligible topics (no ticket)
  • Do not cache config.js (#1098, thanks to @wunter8)

v2.10.0

26 Mar 01:41

Choose a tag to compare

This release adds support for message templating: in the ntfy server, which allows you to include a message and/or title template that will be filled with values from a JSON body (e.g. curl -gd '{"alert":"Disk space low"}' "ntfy.sh/mytopic?tpl=1&m={{.alert}}"). This is great for services that let you specify a webhook URL but do not let you change the webhook body (such as GitHub, or Grafana).

Features:

  • Message templating: You can now include a message and/or title template that will be filled with values from a JSON body (#724, thanks to @wunter8 for implementing)

That's all. Short and sweet.

If you like ntfy, please consider donating via GitHub Sponsors, Liberapay, or by buying a ntfy Pro plan.

v2.9.0

07 Mar 22:06

Choose a tag to compare

A small release after a long pause (lots of day job work). This release adds for larger messages and longer message delays in scheduled delivery messages. The web app also now supports pasting images from the clipboard. Other than that, only a few bug fixes and documentation updates, and a teeny tiny breaking change 😬.

⚠️ Breaking changes:

  • The Rate-Topics header was removed due to a DoS issue (see #1048). This only affects installations with visitor-subscriber-rate-limiting: true, which is not the default and likely very rarely used. Normally I'd never remove a feature, but this is a security issue, and likely affects almost nobody.

Features:

Bug fixes + maintenance:

  • ⚠️ Remove Rate-Topics header due to DoS security issue if visitor-subscriber-rate-limiting: true (#1048)

Documentation:

❤️ Special thanks to @wunter8 for always answering all the questions on Discord/Matrix!

v2.8.0

19 Nov 21:52

Choose a tag to compare

This release brings a handful of random bug fixes: two unrelated access control list fixes, a fix around web app crashes for languages with underscores in the language code (e.g. zh_Hant, zh_Hans, pt_BR, ...), a workaround for the Priority header (often used in Cloudflare setups), and support among others support for HTML-only emails (finally), web app crash fixes

Bug fixes + maintenance:

Additional languages:

v2.7.0

17 Aug 20:30

Choose a tag to compare

This release ships Markdown support for the web app (not in the Android app yet), and adds support for right-to-left languages (RTL) in the web app. It also fixes a few issues around date/time formatting, internationalization support, a CLI auth bug.

⚠️ Furthermore, it fixes a security issue around access tokens getting erroneously deleted for other users in a specific scenario. This was a denial-of-service-type security issue, since it effectively allowed a single user to deny access to all other users of a ntfy instance. Please note that while tokens were erroneously deleted, nobody but the token owner ever had access to it. Please refer to the ticket for details. Please upgrade your ntfy instance if you run a multi-user system.

Features:

⚠️ Security:

  • Fixes issue with access tokens getting deleted (#838)

Bug fixes + maintenance:

  • Fix issues with date/time with different locales (#700, thanks to @nimbleghost)
  • Re-init i18n on each service worker message to avoid missing translations (#817, thanks to @nihalgonsalves)
  • You can now unset the default user:pass/token in client.yml for an individual subscription to remove the Authorization header (#829, thanks to @tomeon for reporting and to @wunter8 for fixing)

Documentation:

v2.6.2

01 Jul 02:02

Choose a tag to compare

With this release, the ntfy web app now contains a progressive web app (PWA) with Web Push support, which means you'll be able to install the ntfy web app on your desktop or phone similar to a native app (even on iOS! 🥳). Installing the PWA gives ntfy web its own launcher, a standalone window, push notifications, and an app badge with the unread notification count.

On top of that, this release also brings dark mode 🧛🌙 to the web app.

🙏 A huge thanks for this release goes to @nimbleghost, for basically implementing the Web Push / PWA and dark mode feature by himself. I'm really grateful for your contributions.

❤️ If you like ntfy, please consider sponsoring us via GitHub Sponsors and Liberapay, or buying a paid plan via the web app (20% off if you use promo code MYTOPIC). ntfy will always remain open source.

Features:

Bug fixes:

  • Support encoding any header as RFC 2047 (#737, thanks to @cfouche3005 for reporting)
  • Do not forward poll requests for UnifiedPush messages (no ticket, thanks to NoName for reporting)
  • Fix ntfy pub % segfaulting (#760, thanks to @clesmian for reporting)
  • Newly created access tokens are now lowercase only to fully support <topic>+<token>@<domain> email syntax (#773, thanks to gingervitiz for reporting)
  • The .1 release fixes a few visual issues with dark mode, and other web app updates (#791, #793, #792, thanks to @nimbleghost)
  • The .2 release fixes issues with the service worker in Firefox and adds automatic service worker updates (#795, thanks to @nimbleghost)

Maintenance:

Changes in tarball/zip naming:
Due to a change in GoReleaser, some of the binary release
archives now have slightly different names. My apologies if this causes issues in the downstream projects that use ntfy:

  • ntfy_v${VERSION}_windows_x86_64.zip -> ntfy_v${VERSION}_windows_amd64.zip
  • ntfy_v${VERSION}_linux_x86_64.tar.gz -> ntfy_v${VERSION}_linux_amd64.tar.gz
  • ntfy_v${VERSION}_macOS_all.tar.gz -> ntfy_v${VERSION}_darwin_all.tar.gz

v2.6.1

29 Jun 01:09

Choose a tag to compare

(:warning: This release is superseded by v2.6.2)

With this release, the ntfy web app now contains a progressive web app (PWA) with Web Push support, which means you'll be able to install the ntfy web app on your desktop or phone similar to a native app (even on iOS! 🥳). Installing the PWA gives ntfy web its own launcher, a standalone window, push notifications, and an app badge with the unread notification count.

On top of that, this release also brings dark mode 🧛🌙 to the web app.

🙏 A huge thanks for this release goes to @nimbleghost, for basically implementing the Web Push / PWA and dark mode feature by himself. I'm really grateful for your contributions.

❤️ If you like ntfy, please consider sponsoring us via GitHub Sponsors and Liberapay, or buying a paid plan via the web app (20% off if you use promo code MYTOPIC). ntfy will always remain open source.

Features:

Bug fixes:

  • Support encoding any header as RFC 2047 (#737, thanks to @cfouche3005 for reporting)
  • Do not forward poll requests for UnifiedPush messages (no ticket, thanks to NoName for reporting)
  • Fix ntfy pub % segfaulting (#760, thanks to @clesmian for reporting)
  • Newly created access tokens are now lowercase only to fully support <topic>+<token>@<domain> email syntax (#773, thanks to gingervitiz for reporting)
  • The .1 release fixes a few visual issues with dark mode, and other web app updates (#791, #793, #792, thanks to @nimbleghost)