Release notes
Binaries for all releases can be found on the GitHub releases pages for the ntfy server
and the ntfy Android app.
ntfy server v1.29.0 (UNRELEASED)
Bug fixes + maintenance:
- Subscriptions can now have a display name (#370, thanks to @tfheen for reporting)
- Bump Go version to Go 18.x (#422)
Documentation:
- Updated developer docs, bump nodejs and go version (#414, thanks to @YJSoft for reporting)
Additional translations:
Sponsorships::
Thank you to the amazing folks who decided to sponsor ntfy. Thank you for
helping carry the cost of the public server and developer licenses, and more importantly: Thank you for believing in ntfy!
You guys rock!
Sponsors (alphabetical order):
ntfy Android app v1.14.0
Released September 27, 2022
This release adds the ability to set a custom icon to each notification, as well as a display name to subscriptions. We
also moved the action buttons in the detail view to a more logical place, fixed a bunch of bugs, and added four more
languages. Hurray!
Features:
- Subscriptions can now have a display name (#313, thanks to @wunter8)
- Display name for UnifiedPush subscriptions (#355, thanks to @wunter8)
- Polling is now done with
since=<id>
API, which makes deduping easier (#165)
- Turned JSON stream deprecation banner into "Use WebSockets" banner (no ticket)
- Move action buttons in notification cards (#236, thanks to @wunter8)
- Icons can be set for each individual notification (#126, thanks to @wunter8)
Bug fixes:
- Long-click selecting of notifications doesn't scroll to the top anymore (#235, thanks to @wunter8)
- Add attachment and click URL extras to MESSAGE_RECEIVED broadcast (#329, thanks to @wunter8)
- Accessibility: Clear/choose service URL button in base URL dropdown now has a label (#292, thanks to @mhameed for reporting)
Additional translations:
Thank you to @wunter8 for proactively picking up some Android tickets, and fixing them! You rock!
ntfy server v1.28.0
Released September 27, 2022
This release primarily adds icon support for the Android app, and adds a display name to subscriptions in the web app.
Aside from that, we fixed a few random bugs, most importantly the Priority
header bug that allows the use behind
Cloudflare. We also added a ton of documentation. Most prominently, an integrations + projects page.
As of now, I also have started accepting donations and sponsorships 💸.
I would be very humbled if you consider donating.
Features:
- Subscription display name for the web app (#348)
- Allow setting socket permissions via
--listen-unix-mode
(#356, thanks to @koro666)
- Icons can be set for each individual notification (#126, thanks to @wunter8)
- CLI: Allow default username/password in
client.yml
(#372, thanks to @wunter8)
- Build support for other Unix systems (#393, thanks to @la-ninpre)
Bug fixes:
ntfy user
commands don't work with auth_file
but works with auth-file
(#344, thanks to @Histalek for reporting)
- Ignore new draft HTTP
Priority
header (#351, thanks to @ksurl for reporting)
- Delete expired attachments based on mod time instead of DB entry to avoid races (no ticket)
- Better logging for Matrix push key errors (#384, thanks to @christophehenry)
- Web: Switched "Pop" and "Pop Swoosh" sounds (#352, thanks to @coma-toast for reporting)
Documentation:
Additional translations:
ntfy server v1.27.2
Released June 23, 2022
This release brings two new CLI options to wait for a command to finish, or for a PID to exit. It also adds more detail
to trace debug output. Aside from other bugs, it fixes a performance issue that occurred in large installations every
minute or so, due to competing stats gathering (personal installations will likely be unaffected by this).
Features:
Bug fixes:
- Fix slow requests due to excessive locking (#338)
- Return HTTP 500 for
GET /_matrix/push/v1/notify
when base-url
is not configured (no ticket)
- Disallow setting
upstream-base-url
to the same value as base-url
(#334, thanks to @oester for reporting)
- Fix
since=<id>
implementation for multiple topics (#336, thanks to @karmanyaahm for reporting)
- Simple parsing in
Actions
header now supports settings Android intent=
key (#341, thanks to @wunter8)
Deprecations:
- The
ntfy publish --env-topic
option is deprecated as of now (see deprecations for details)
ntfy server v1.26.0
Released June 16, 2022
This release adds a Matrix Push Gateway directly into ntfy, to make self-hosting a Matrix server easier. The Windows
CLI is now available via Scoop, and ntfy is now natively supported in Uptime Kuma.
Features:
Bug fixes:
- Web app: Show "notifications not supported" alert on HTTP (#323, thanks to @milksteakjellybeans for reporting)
- Use last address in
X-Forwarded-For
header as visitor address (#328)
Documentation
ntfy iOS app v1.2
Released June 16, 2022
This release adds support for authentication/authorization for self-hosted servers. It also allows you to
set your server as the default server for new topics.
Features:
- Support for auth and user management (#277)
- Ability to add default server (#295)
Bug fixes:
- Add validation for selfhosted server URL (#290)
ntfy server v1.25.2
Released June 2, 2022
This release adds the ability to set a log level to facilitate easier debugging of live systems. It also solves a
production problem with a few over-users that resulted in Firebase quota problems (only applying to the over-users).
We now block visitors from using Firebase if they trigger a quota exceeded response.
On top of that, we updated the Firebase SDK and are now building the release in GitHub Actions. We've also got two
more translations: Chinese/Simplified and Dutch.
Features:
- Advanced logging, with different log levels and hot reloading of the log level (#284)
Bugs:
- Respect Firebase "quota exceeded" response for topics, block Firebase publishing for user for 10min (#289)
- Fix documentation header blue header due to mkdocs-material theme update (no ticket)
Maintenance:
- Upgrade Firebase Admin SDK to 4.x (#274)
- CI: Build from pipeline instead of locally (#36)
Documentation:
Additional translations:
ntfy iOS app v1.1
Released May 31, 2022
In this release of the iOS app, we add message priorities (mapped to iOS interruption levels), tags and emojis,
action buttons to open websites or perform HTTP requests (in the notification and the detail view), a custom click
action when the notification is tapped, and various other fixes.
It also adds support for self-hosted servers (albeit not supporting auth yet). The self-hosted server needs to be
configured to forward poll requests to upstream ntfy.sh for push notifications to work (see iOS push notifications
for details).
Features:
- Message priority support (no ticket)
- Tags/emojis support (no ticket)
- Action buttons support (no ticket)
- Click action support (no ticket)
- Open topic when notification clicked (no ticket)
- Notification now makes a sound and vibrates (no ticket)
- Cancel notifications when navigating to topic (no ticket)
- iOS 14.0 support (no ticket, PR#1, thanks to @callum-99)
Bug fixes:
- iOS UI not always updating properly (#267)
ntfy server v1.24.0
Released May 28, 2022
This release of the ntfy server brings supporting features for the ntfy iOS app. Most importantly, it
enables support for self-hosted servers in combination with the iOS app. This is to overcome the restrictive
Apple development environment.
Features:
- Regularly send Firebase keepalive messages to ~poll topic to support self-hosted servers (no ticket)
- Add subscribe filter to query exact messages by ID (no ticket)
- Support for
poll_request
messages to support iOS push notifications for self-hosted servers (no ticket)
Bug fixes:
Additional translations:
ntfy iOS app v1.0
Released May 25, 2022
This is the first version of the ntfy iOS app. It supports only ntfy.sh (no selfhosted servers) and only messages + title
(no priority, tags, attachments, ...). I'll rapidly add (hopefully) most of the other ntfy features, and then I'll focus
on self-hosted servers.
The app is now available in the App Store.
Tickets:
Thanks:
- Thank you to all the testers who tried out the app. You guys gave me the confidence that it's ready to release (albeit with
some known issues which will be addressed in follow-up releases).
ntfy server v1.23.0
Released May 21, 2022
This release ships a CLI for Windows and macOS, as well as the ability to disable the web app entirely. On top of that,
it adds support for APNs, the iOS messaging service. This is needed for the (soon to be released) iOS app.
Features:
Bug fixes:
- Support underscores in server.yml config options (#255, thanks to @ajdelgado)
- Force MAKEFLAGS to --jobs=1 in
Makefile
(#257, thanks to @oddlama)
Documentation:
Additional translations:
Thank you to the many translators, who helped translate the new strings so quickly. I am humbled and amazed by your help.
ntfy Android app v1.13.0
Released May 11, 2022
This release brings a slightly altered design for the detail view, featuring a card layout to make notifications more easily
distinguishable from one another. It also ships per-topic settings that allow overriding minimum priority, auto delete threshold
and custom icons. Aside from that, we've got tons of bug fixes as usual.
Features:
- Per-subscription settings, custom subscription icons (#155, thanks to @mztiq for reporting)
- Cards in notification detail view (#175, thanks to @cmeis for reporting)
Bug fixes:
- Accurate naming of "mute notifications" from "pause notifications" (#224, thanks to @shadow00 for reporting)
- Make messages with links selectable (#226, thanks to @StoyanDimitrov for reporting)
- Restoring topics or settings from backup doesn't work (#223, thanks to @shadow00 for reporting)
- Fix app icon on old Android versions (#128, thanks to @shadow00 for reporting)
- Fix races in UnifiedPush registration (#230, thanks to @Jakob for reporting)
- Prevent view action from crashing the app (#233)
- Prevent long topic names and icons from overlapping (#240, thanks to @cmeis for reporting)
Additional translations:
- Dutch (incomplete, thanks to @diony)
Thank you:
Thanks to @cmeis, @StoyanDimitrov, @Fallenbagel for testing, and
to @Joeharrison94 for the input. And thank you very much to all the translators for catching up so quickly.
ntfy server v1.22.0
Released May 7, 2022
This release makes the web app more accessible to people with disabilities, and introduces a "mark as read" icon in the web app.
It also fixes a curious bug with WebSockets and Apache and makes the notification sounds in the web app a little quieter.
We've also improved the documentation a little and added translations for three more languages.
Features:
- Make web app more accessible (#217)
- Better parsing of the user actions, allowing quotes (no ticket)
- Add "mark as read" icon button to notification (#243, thanks to @wunter8)
Bug fixes:
Upgrade
header check is now case in-sensitive (#228, thanks to @wunter8 for finding it)
- Made web app sounds quieter (#222)
- Add "private browsing"-specific error message for Firefox/Safari (#208, thanks to @julianfoad for reporting)
Documentation:
- Improved caddy configuration (no ticket, thanks to @Stnby)
- Additional multi-line examples on the publish page (#234, thanks to @aTable)
- Fixed PowerShell auth example to use UTF-8 (#242, thanks to @SMAW)
Additional translations:
Thanks for testing:
Thanks to @wunter8 for testing.
ntfy Android app v1.12.0
Released Apr 25, 2022
The main feature in this Android release is Action Buttons, a feature
that allows users to add actions to the notifications. Actions can be to view a website or app, send a broadcast, or
send a HTTP request.
We also added support for ntfy:// deep links, added three more
languages and fixed a ton of bugs.
Features:
Bug fixes:
- Validate URLs when changing default server and server in user management (#193,
thanks to @StoyanDimitrov for reporting)
- Error in sending test notification in different languages (#209,
thanks to @StoyanDimitrov for reporting)
- "[x] Instant delivery in doze mode" checkbox does not work properly (#211)
- Disallow "http" GET/HEAD actions with body (#221, thanks to
@cmeis for reporting)
- Action "view" with "clear=true" does not work on some phones (#220, thanks to
@cmeis for reporting)
- Do not group foreground service notification with others (#219, thanks to
@s-h-a-r-d for reporting)
Additional translations:
Thanks for testing:
Thanks to @s-h-a-r-d (aka @Shard), @cmeis,
@poblabs, and everyone I forgot for testing.
ntfy server v1.21.2
Released Apr 24, 2022
In this release, the web app got translation support and was translated into 9 languages already 🇧🇬 🇩🇪 🇺🇸 🌎.
It also re-adds support for ARMv6, and adds server-side support for Action Buttons. Action Buttons
is a feature that will be released in the Android app soon. It allows users to add actions to the notifications.
Limited support is available in the web app.
Features:
Bug fixes:
- Web app: English language strings fixes, additional descriptions for settings (#203, thanks to @StoyanDimitrov)
- Web app: Show error message snackbar when sending test notification fails (#205, thanks to @cmeis)
- Web app: basic URL validation in user management (#204, thanks to @cmeis)
- Disallow "http" GET/HEAD actions with body (#221, thanks to
@cmeis for reporting)
Translations (web app):
Integrations:
Apprise support was fully released in v0.9.8.2
of Apprise. Thanks to @particledecay and @caronc for their fantastic work.
You can try it yourself like this (detailed usage in the Apprise wiki):
pip3 install apprise
apprise -b "Hi there" ntfys://mytopic
ntfy Android app v1.11.0
Released Apr 7, 2022
Features:
- Download attachments to cache folder (#181)
- Regularly delete attachments for deleted notifications (#142)
- Translations to different languages (#188, thanks to
@StoyanDimitrov for initiating things)
Bug fixes:
- IllegalStateException: Failed to build unique file (#177, thanks to @Fallenbagel for reporting)
- SQLiteConstraintException: Crash during UP registration (#185)
- Refresh preferences screen after settings import (#183, thanks to @cmeis for reporting)
- Add priority strings to strings.xml to make it translatable (#192, thanks to @StoyanDimitrov)
Translations:
Thanks:
ntfy server v1.20.0
Released Apr 6, 2022
Features::
- Added message bar and publish dialog (#196)
Bug fixes:
Documentation:
Integrations:
ntfy server v1.19.0
Released Mar 30, 2022
Bug fixes:
- Do not pack binary with
upx
for armv7/arm64 due to illegal instruction
errors (#191, thanks to @iexos)
- Do not allow comma in topic name in publish via GET endpoint (no ticket)
- Add "Access-Control-Allow-Origin: *" for attachments (no ticket, thanks to @FrameXX)
- Make pruning run again in web app (#186)
- Added missing params
delay
and email
to publish as JSON body (no ticket)
Documentation:
ntfy server v1.18.1
Released Mar 21, 2022
This release ships no features or bug fixes. It's merely a documentation update.
Documentation:
ntfy Android app v1.10.0
Released Mar 21, 2022
Features:
- Support for UnifiedPush 2.0 specification (bytes messages, #130)
- Export/import settings and subscriptions (#115, thanks @cmeis for reporting)
- Open "Click" link when tapping notification (#110, thanks @cmeis for reporting)
- JSON stream deprecation banner (#164)
Bug fixes:
- Display locale-specific times, with AM/PM or 24h format (#140, thanks @hl2guide for reporting)
ntfy server v1.18.0
Released Mar 16, 2022
Features:
Bug fixes:
Deprecations:
- Removed the ability to run server as
ntfy
(as opposed to ntfy serve
) as per deprecation
ntfy server v1.17.1
Released Mar 12, 2022
Bug fixes:
- Replace
crypto.subtle
with hashCode
to errors with Brave/FF-Windows (#157, thanks for reporting @arminus)
ntfy server v1.17.0
Released Mar 11, 2022
Features & bug fixes:
- Replace web app with a React/MUI-based web app from the 21st century (#111)
- Web UI broken with auth (#132, thanks for reporting @arminus)
- Send static web resources as
Content-Encoding: gzip
, i.e. docs and web app (no ticket)
- Add support for auth via
?auth=...
query param, used by WebSocket in web app (no ticket)
ntfy server v1.16.0
Released Feb 27, 2022
Features & Bug fixes:
Documentation:
Technical notes:
- As of this release, message IDs will be 12 characters long (as opposed to 10 characters). This is to be able to
distinguish them from Unix timestamps for #151.
ntfy Android app v1.9.1
Released Feb 16, 2022
Features:
- Share to topic feature (#131, thanks u/emptymatrix for reporting)
- Ability to pick a default server (#127, thanks to @poblabs for reporting and testing)
- Automatically delete notifications (#71, thanks @arjan-s for reporting)
- Dark theme: Improvements around style and contrast (#119, thanks @kzshantonu for reporting)
Bug fixes:
- Do not attempt to download attachments if they are already expired (#135)
- Fixed crash in AddFragment as seen per stack trace in Play Console (no ticket)
Other thanks:
- Thanks to @rogeliodh, @cmeis and @poblabs for testing
ntfy server v1.15.0
Released Feb 14, 2022
Features & bug fixes:
- Compress binaries with
upx
(#137)
- Add
visitor-request-limit-exempt-hosts
to exempt friendly hosts from rate limits (#144)
- Double default requests per second limit from 1 per 10s to 1 per 5s (no ticket)
- Convert
\n
to new line for X-Message
header as prep for sharing feature (see #136)
- Reduce bcrypt cost to 10 to make auth timing more reasonable on slow servers (no ticket)
- Docs update to include public test topics (no ticket)
ntfy server v1.14.1
Released Feb 9, 2022
Bug fixes:
- Fix ARMv8 Docker build (#113, thanks to @djmaze)
- No other significant changes
ntfy Android app v1.8.1
Released Feb 6, 2022
Features:
- Support auth / access control (#19, thanks to @cmeis, @drsprite/@poblabs,
@gedw99, @karmanyaahm, @Mek101, @gc-ss, @julianfoad, @nmoseman, Jakob, PeterCxy, Techlosopher)
- Export/upload log now allows censored/uncensored logs (no ticket)
- Removed wake lock (except for notification dispatching, no ticket)
- Swipe to remove notifications (#117)
Bug fixes:
- Fix download issues on SDK 29 "Movement not allowed" (#116, thanks Jakob)
- Fix for Android 12 crashes (#124, thanks @eskilop)
- Fix WebSocket retry logic bug with multiple servers (no ticket)
- Fix race in refresh logic leading to duplicate connections (no ticket)
- Fix scrolling issue in subscribe to topic dialog (#131, thanks @arminus)
- Fix base URL text field color in dark mode, and size with large fonts (no ticket)
- Fix action bar color in dark mode (make black, no ticket)
Notes:
- Foundational work for per-subscription settings
ntfy server v1.14.0
Released Feb 3, 2022
Features:
- Server-side for authentication & authorization (#19, thanks for testing @cmeis, and for input from @gedw99, @karmanyaahm, @Mek101, @gc-ss, @julianfoad, @nmoseman, Jakob, PeterCxy, Techlosopher)
- Support
NTFY_TOPIC
env variable in ntfy publish
(#103)
Bug fixes:
- Binary UnifiedPush messages should not be converted to attachments (part 1, #101)
Docs:
- Clarification regarding attachments (#118, thanks @xnumad)
ntfy Android app v1.7.1
Released Jan 21, 2022
New features:
- Battery improvements: wakelock disabled by default (#76)
- Dark mode: Allow changing app appearance (#102)
- Report logs: Copy/export logs to help troubleshooting (#94)
- WebSockets (experimental): Use WebSockets to subscribe to topics (#96, #100, #97)
- Show battery optimization banner (#105)
Bug fixes:
- (Partial) support for binary UnifiedPush messages (#101)
Notes:
- The foreground wakelock is now disabled by default
- The service restarter is now scheduled every 3h instead of every 6h
ntfy server v1.13.0
Released Jan 16, 2022
Features:
ntfy Android app v1.6.0
Released Jan 14, 2022
New features:
- Attachments: Send files to the phone (#25, #15)
- Click action: Add a click action URL to notifications (#85)
- Battery optimization: Allow disabling persistent wake-lock (#76, thanks @MatMaul)
- Recognize imported user CA certificate for self-hosted servers (#87, thanks @keith24)
- Remove mentions of "instant delivery" from F-Droid to make it less confusing (no ticket)
Bug fixes:
- Subscription "muted until" was not always respected (#90)
- Fix two stack traces reported by Play console vitals (no ticket)
- Truncate FCM messages >4,000 bytes, prefer instant messages (#84)
ntfy server v1.12.1
Released Jan 14, 2022
Bug fixes:
- Fix security issue with attachment peaking (#93)
ntfy server v1.12.0
Released Jan 13, 2022
Features:
Bug fixes:
- Make postinst script work properly for rpm-based systems (#83, thanks @cmeis)
- Truncate FCM messages longer than 4000 bytes (#84)
- Fix
listen-https
port (no ticket)
ntfy Android app v1.5.2
Released Jan 3, 2022
New features:
- Allow using ntfy as UnifiedPush distributor (#9)
- Support for longer message up to 4096 bytes (#77)
- Minimum priority: show notifications only if priority X or higher (#79)
- Allowing disabling broadcasts in global settings (#80)
Bug fixes:
- Allow int/long extras for SEND_MESSAGE intent (#57)
- Various battery improvement fixes (#76)
ntfy server v1.11.2
Released Jan 1, 2022
Features & bug fixes:
- Increase message limit to 4096 bytes (4k) #77
- Docs for UnifiedPush #9
- Increase keepalive interval to 55s #76
- Increase Firebase keepalive to 3 hours #76
ntfy server v1.10.0
Released Dec 28, 2021
Features & bug fixes:
Older releases
For older releases, check out the GitHub releases pages for the ntfy server
and the ntfy Android app.