Send push notifications to your phone or desktop using PUT/POST
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:
That's all. Short and sweet.
If you like ntfy, please consider donating via GitHub Sponsors, Liberapay, or by buying a ntfy Pro plan.
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:
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:
message-delay-limit
(see message limits, #1019, thanks to @MrChadMWood for reporting)message-size-limit
(use at your own risk, see message limits, #836/#1050, thanks to @zhzy0077 for implementing this, and to @nkjshlsqja7331 for reporting)Bug fixes + maintenance:
Rate-Topics
header due to DoS security issue if visitor-subscriber-rate-limiting: true
(#1048)Documentation:
mkdocs-simple-hooks
(#1016, thanks to @Tom-Hubrecht):heart: Special thanks to @wunter8 for always answering all the questions on Discord/Matrix!
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:
tzdata
to Docker images for amd64 image (#894, #307)Priority
header if it resembles an RFC 9218 value (#851/#895, thanks to @gusdleon, see also #351, #353, #461)Additional languages:
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.
:warning: 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:
Bug fixes + maintenance:
client.yml
for an individual subscription to remove the Authorization header (#829, thanks to @tomeon for reporting and to @wunter8 for fixing)Documentation:
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:
ntfy pub %
segfaulting (#760, thanks to @clesmian for reporting)<topic>+<token>@<domain>
email syntax (#773, thanks to gingervitiz for reporting)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
(: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:
ntfy pub %
segfaulting (#760, thanks to @clesmian for reporting)<topic>+<token>@<domain>
email syntax (#773, thanks to gingervitiz for reporting)(: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:
ntfy pub %
segfaulting (#760, thanks to @clesmian for reporting)<topic>+<token>@<domain>
email syntax (#773, thanks to gingervitiz for reporting)This release brings a number of new features, including support for text-to-speech style phone calls, an admin API to manage users and ACL (currently in beta, and hence undocumented), and support for authorized access to upstream servers via the upstream-access-token
config option.
❤️ If you like ntfy, please consider sponsoring me via GitHub Sponsors and Liberapay, or by buying a paid plan via the web app (20% off if you use promo code MYTOPIC
). ntfy will always remain open source.
Features:
X-Call
header (no ticket)v1/users
+ v1/users/access
(intentionally undocumented as of now, #722, thanks to @CreativeWarlock for sponsoring this ticket)upstream-access-token
config option to allow authorized access to upstream servers (no ticket)Bug fixes + maintenance:
quoted-printable
in incoming emails (#719, thanks to @Aerion)This release adds a tiny v1/stats
endpoint to expose how many messages have been published, and adds suport to encode the X-Title
, X-Message
and X-Tags
header as RFC 2047. It's a pretty small release, and mainly enables the release of the new ntfy.sh website.
❤️ If you like ntfy, please consider sponsoring me via GitHub Sponsors and Liberapay, or by buying a paid plan via the web app. ntfy will always remain open source.
Features:
ntfy publish
and ntfy subscribe
only) can now be installed via Homebrew (thanks to @Moulick)v1/stats
endpoint to expose messages stats (no ticket)Bug fixes + maintenance:
ntfy sub
now uses default auth credentials as defined in client.yml
(#698, thanks to @CrimsonFez for reporting, and to @wunter8 for fixing it)Documentation:
Additional languages: