ntfy
io.heckel.ntfy
Zapstore _@zapstore.dev Republished from GitHub / F-Droid by the Zapstore main account.
Send push notifications to your phone from any Bash or PowerShell script, or from your own app using PUT/POST requests, e.g. via curl on Linux or Invoke-WebRequest. ntfy is an Android client for https://ntfy.sh, a free and open source HTTP-based pub-sub service. You can subscribe to topics in this app, and then publish messages via a simple HTTP API. Uses: * Notify yourself when a long-running process is done * Ping your phone when a backup has failed * Alerts when someone logs into your server Example: $ curl -d "Your backup is done" ntfy.sh/mytopic Find more examples and usage instructions here: https://ntfy.sh
First release: Dec 11, 2022, 12 total releases.
Most recent release: Jul 21, 2026.
Appears in 1 app stack.
210 sats / 1 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Jul 21, 2026 1.25.2This release makes the "connection lost" alert configurable and turns it off by default. Folks did not like it and many reached out or even gave ntfy bad reviews. I heard you! You can re-enable the alert in the advanced settings. The release also tries to be smarter about not retrying the connection at all if the app is in flight mode, or has no network. If there is no network, ntfy now keeps the foreground service alive and shows a "Waiting for network" notification, then resumes automatically once connectivity returns. Another change related to the networking is that we now force-reconnect when the connection is changed, e.g. during transitions from Wi-Fi to cellular network, or vice versa. That should allow for faster transitions during hand-overs. We also increase the client-side WebSocket ping interval from 1 minute to 3 minutes, which should slightly improve battery life, especially when paired with increasing the server-side `keepalive-interval` in your self-hosted server. **Features:** * Add configurable "Alert when connection is lost" setting, turned off by default ([#1665](https://github.com/binwiederhier/ntfy/issues/1665), [#1662](https://github.com/binwiederhier/ntfy/issues/1662), [#1652](https://github.com/binwiederhier/ntfy/issues/1652), [#1655](https://github.com/binwiederhier/ntfy/issues/1655), thanks to @tintamarre, @sjozs, @TheRealOne78, and @DAE51D for reporting)
More…
* Handle "no network" gracefully: when the device is offline or in airplane mode, ntfy now stops retrying, suppresses the connection-lost alert, and keeps the foreground service alive with a "Waiting for network" notification, resuming instant delivery automatically when connectivity returns ([ntfy-android#165](https://github.com/binwiederhier/ntfy-android/pull/165), thanks to @tintamarre for the contribution, and [#1709](https://github.com/binwiederhier/ntfy/issues/1709), thanks to @isaitgirl for reporting) * Improve battery life by increasing WebSocket client ping interval from 1 min to 3 min, and reconnect instantly on Wi-Fi/cellular/VPN transitions ([ntfy-android#113](https://github.com/binwiederhier/ntfy-android/pull/113), thanks to @ftilde for the investigation) * Disable UnifiedPush components when UnifiedPush is disabled in settings ([ntfy-android#168](https://github.com/binwiederhier/ntfy-android/pull/168), thanks to @p1gp1g for the contribution) **Bug fixes + maintenance:** * Fix the "connection lost" alert briefly disappearing and re-firing when roaming between networks (e.g. Wi-Fi to cellular), by no longer cancelling it during the transient no-network gap of a handover * Fix the "connection lost" alert repeatedly waking the screen while a server stayed unreachable, by no longer re-posting the alert once it is already showing * Fix the "connection lost" alert firing late, erratically, or not at all when a connection kept dropping (e.g. a flaky server) rather than being refused outright, by tracking how long the connection has been down independently of whether the drop warrants a UI error * Undo automatic phone number linking for numbers in message body ([ntfy-android#170](https://github.com/binwiederhier/ntfy-android/pull/170), thanks to @acortelyou for the contribution) * Fix subscription icons disappearing after a few days due to Android clearing cache ([#1322](https://github.com/binwiederhier/ntfy/issues/1322), thanks to @mcanning for reporting) * Fix UnifiedPush `failed_reason` being sent as an enum instead of a string, which caused an exception in receiving apps that read it as a string extra ([ntfy-android#182](https://github.com/binwiederhier/ntfy-android/pull/182), thanks to @p1gp1g for the contribution) - Mar 7, 2026 1.24.0This is a tiny release that will revert the "reconnecting ..." behavior of the foreground notification. Lots of people have complained about it, so I'm replacing it with a notification that shows up when the server connection has failed for >15 minutes, hoping that people will be less annoyed by that. **Features:** * Show notification when connection to server has been lost for 15+ minutes, with dismiss, snooze and never-show-again actions **Bug fixes + maintenance:** * Fix crash in settings when fragment is detached during backup/restore or log operations
- Feb 14, 2026 1.23.0**Features:** * Search within a topic ([#141](https://github.com/binwiederhier/ntfy/issues/141), [ntfy-android#153](https://github.com/binwiederhier/ntfy-android/pull/153), thanks to @Copephobia and @StoyanYonkov for reporting and sponsoring) * Add "reconnecting to N topics ..." to foreground notification ([#1101](https://github.com/binwiederhier/ntfy/issues/1101), thanks to @milosivanovic for reporting) * Improved default server dialog with full-screen UI and stricter URL validation ([#1582](https://github.com/binwiederhier/ntfy/issues/1582)) * Show last notification time for UnifiedPush subscriptions ([#1230](https://github.com/binwiederhier/ntfy/issues/1230), [#1454](https://github.com/binwiederhier/ntfy/issues/1454), thanks to @Tealk and @user4andre for reporting) * Support "copy" action button to copy a value to the clipboard ([#1364](https://github.com/binwiederhier/ntfy/issues/1364), thanks to @SudoWatson for reporting) **Bug fixes + maintenance:**
More…
* Fix `clear=true` on action buttons not marking notification as read ([#1029](https://github.com/binwiederhier/ntfy/issues/1029), thanks to @ElFishi for reporting) * Fix crash when default server URL is missing scheme by auto-prepending `https://` ([#1582](https://github.com/binwiederhier/ntfy/issues/1582), thanks to @hard-zero1) * Fix notification timestamp to use original send time instead of receive time ([#1112](https://github.com/binwiederhier/ntfy/issues/1112), thanks to @voruti for reporting) * Fix notifications being missed after service restart by using persisted lastNotificationId ([#1591](https://github.com/binwiederhier/ntfy/issues/1591), thanks to @Epifeny for reporting) - **Features:** * Support for [updating and deleting notifications](https://docs.ntfy.sh/publish/#updating-deleting-notifications) ([#303](https://github.com/binwiederhier/ntfy/issues/303), [#1536](https://github.com/binwiederhier/ntfy/pull/1536), [ntfy-android#151](https://github.com/binwiederhier/ntfy-android/pull/151), thanks to @wunter8 for the initial implementation) * Support for self-signed certs and client certs for mTLS ([#215](https://github.com/binwiederhier/ntfy/issues/215), [#530](https://github.com/binwiederhier/ntfy/issues/530), [ntfy-android#149](https://github.com/binwiederhier/ntfy-android/pull/149), thanks to @cyb3rko for reviewing) * Connection error dialog to help diagnose connection issues **Bug fixes + maintenance:** * Use server-specific user for attachment downloads ([#1529](https://github.com/binwiederhier/ntfy/issues/1529), thanks to @ManInDark for reporting and testing) * Fix crash in sharing dialog (thanks to @rogeliodh)
More…
* Fix crash when exiting multi-delete in detail view * Fix potential crashes with icon downloader and backuper - Jan 19, 2026 1.22.2**Features:** * Support for [updating and deleting notifications](https://docs.ntfy.sh/publish/#updating-deleting-notifications) ([#303](https://github.com/binwiederhier/ntfy/issues/303), [#1536](https://github.com/binwiederhier/ntfy/pull/1536), [ntfy-android#151](https://github.com/binwiederhier/ntfy-android/pull/151), thanks to @wunter8 for the initial implementation) * Support for self-signed certs and client certs for mTLS ([#215](https://github.com/binwiederhier/ntfy/issues/215), [#530](https://github.com/binwiederhier/ntfy/issues/530), [ntfy-android#149](https://github.com/binwiederhier/ntfy-android/pull/149), thanks to @cyb3rko for reviewing) * Connection error dialog to help diagnose connection issues **Bug fixes + maintenance:** * Use server-specific user for attachment downloads ([#1529](https://github.com/binwiederhier/ntfy/issues/1529), thanks to @ManInDark for reporting and testing) * Fix crash in sharing dialog (thanks to @rogeliodh)
More…
* Fix crash when exiting multi-delete in detail view * Fix potential crashes with icon downloader and backuper - This is the first feature release in a long time. After all the SDK updates, fixes to comply with the Google Play policies and the framework updates, this release ships a lot of highly requested features: Sending messages through the app (WhatsApp-style), support for passing headers to your proxy, an in-app language switcher, and more. If you are waiting for a feature, please 👍 the corresponding [GitHub issue](https://github.com/binwiederhier/ntfy/issues?q=is%3Aissue%20state%3Aopen%20sort%3Areactions-%2B1-desc). **If you like ntfy, please consider purchasing a [ntfy Pro plan](https://ntfy.sh/app) to support us.** :money_with_wings: **Features:** * Allow publishing messages through the message bar and publish dialog ([#98](https://github.com/binwiederhier/ntfy/issues/98), [ntfy-android#144](https://github.com/binwiederhier/ntfy-android/pull/144)) * Define custom HTTP headers to support authenticated proxies, tunnels and SSO ([ntfy-android#116](https://github.com/binwiederhier/ntfy-android/issues/116), [#1018](https://github.com/binwiederhier/ntfy/issues/1018), [ntfy-android#132](https://github.com/binwiederhier/ntfy-android/pull/132), [ntfy-android#146](https://github.com/binwiederhier/ntfy-android/pull/146), thanks to @CrazyWolf13) * Implement UnifiedPush "raise to foreground" requirement ([ntfy-android#98](https://github.com/binwiederhier/ntfy-android/pull/98), [ntfy-android#148](https://github.com/binwiederhier/ntfy-android/pull/148), thanks to @p1gp1g) * Language selector to allow overriding the system language ([#1508](https://github.com/binwiederhier/ntfy/issues/1508), [ntfy-android#145](https://github.com/binwiederhier/ntfy-android/pull/145), thanks to @hudsonm62 for reporting)
More…
* Highlight phone numbers and email addresses in notifications ([#957](https://github.com/binwiederhier/ntfy/issues/957), [ntfy-android#71](https://github.com/binwiederhier/ntfy-android/pull/71), thanks to @brennenputh, and @XylenSky for reporting) * Support for port and display name in [ntfy://](https://docs.ntfy.sh/subscribe/phone/#ntfy-links) links ([ntfy-android#130](https://github.com/binwiederhier/ntfy-android/pull/130), thanks to @godovski) **Bug fixes + maintenance:** * Add support for (technically incorrect) 'image/jpg' MIME type ([ntfy-android#142](https://github.com/binwiederhier/ntfy-android/pull/142), thanks to @Murilobeluco) * Unify "copy to clipboard" notifications, use Android 13 style ([ntfy-android#61](https://github.com/binwiederhier/ntfy-android/pull/61), thanks to @thgoebel) * Fix crash in user add dialog (onAddUser) * Fix ForegroundServiceDidNotStartInTimeException (attempt 2+3, see [#1520](https://github.com/binwiederhier/ntfy/issues/1520)) * Hide "Exact alarms" setting if battery optimization exemption has been granted ([#1456](https://github.com/binwiederhier/ntfy/issues/1456), thanks for reporting @HappyLer) - **Maintenance + bug fixes:** * Updated dependencies, minimum SDK version to 26, clean up legacy code, upgrade Gradle (ntfy-android#140, thanks to @cyb3rko) * Updated target SDK version to 36 * Fixed crashes with redrawing the list when temporarily muted topics expire * Fixed ForegroundServiceDidNotStartInTimeException (#1520)
- Moved the user interface to Material 3 and added dynamic color support (https://github.com/binwiederhier/ntfy/issues/580, #56, #126, #135, thanks to @Bnyro and @cyb3rko for the implementation, and to @RokeJulianLockhart for reporting)
- Features: * Added GIF support for preview images (#76, thanks to @MichaelArkh) * Added WebP support for preview images (#81, thanks to @jokakilla) * Added UnifiedPush distributor selection support (#137, thanks to @p1gp1g) Bug fixes + maintenance: * Remove REQUEST_INSTALL_PACKAGES permission (#684) * Request to ignore battery optimizations before receiving subscription (#97, thanks to @p1gp1g)
- This release makes changes to comply with the Google Play policies. See https://github.com/binwiederhier/ntfy/issues/1463 or https://github.com/binwiederhier/ntfy-android/commit/ef57cd1374118b3e4d7a7ab496afe337e714fff7 for details. The policies do not allow directly or indirectly linking to paid plans or donation links that do not go through Google Play. Changes: - Remove the "Donate" button from menu (all variants) - Change default display name from "ntfy.sh/mytopic" to "mytopic" (all variants) - Remove links to ntfy docs and issue tracker (Play variant only) - Remove how-to links to ntfy.sh in a few places (Play variant only) - Remove "Copy topic address" from subscription menu (Play variant only)
- This is largely a maintenance update to ensure the SDK is up-to-date. Features: * Markdown is now rendered if "Markdown: yes" was passed (#310, thanks to @NiNiyas for reporting) * You can now disable UnifiedPush so ntfy does not act as a UnifiedPush distributor (#646, thanks to @ollien for reporting, and to @wunter8 for implementing) Bug fixes + maintenance: * Subscriptions without icons no longer appear to use another subscription's icon (#634, thanks to @topcaser for reporting, and @wunter8 for fixing) * Bumped all dependencies to the latest versions (no ticket)
- This is a feature and platform/dependency upgrade release. You can now have per-subscription notification settings (including sounds, DND, etc.), and you can make notifications continue ringing until they are dismissed. There's also support for thematic/adaptive launcher icon for Android 13. There are a few more Android 13 specific things, as well as many bug fixes: No more crashes from large images, no more opening the wrong subscription, and we also fixed the icon color issue. **Features:** * Custom per-subscription notification settings incl. sounds, DND, etc. ([#6](https://github.com/binwiederhier/ntfy/issues/6), thanks to @doits) * Insistent notifications that ring until dismissed ([#417](https://github.com/binwiederhier/ntfy/issues/417), thanks to @danmed for reporting) * Add thematic/adaptive launcher icon ([#513](https://github.com/binwiederhier/ntfy/issues/513), thanks to @daedric7 for reporting)
More…
**Bug fixes + maintenance:** * Upgrade Android dependencies and build toolchain to SDK 33 (no ticket) * Simplify F-Droid build: Disable tasks for Google Services ([#516](https://github.com/binwiederhier/ntfy/issues/516), thanks to @markosopcic) * Android 13: Ask for permission to post notifications ([#508](https://github.com/binwiederhier/ntfy/issues/508)) * Android 13: Do not allow swiping away the foreground notification ([#521](https://github.com/binwiederhier/ntfy/issues/521), thanks to @alexhorner for reporting) * Android 5 (SDK 21): Fix crash on unsubscribing ([#528](https://github.com/binwiederhier/ntfy/issues/528), thanks to Roger M.) * Remove timestamp when copying message text ([#471](https://github.com/binwiederhier/ntfy/issues/471), thanks to @wunter8) * Fix auto-delete if some icons do not exist anymore ([#506](https://github.com/binwiederhier/ntfy/issues/506)) * Fix notification icon color ([#480](https://github.com/binwiederhier/ntfy/issues/480), thanks to @s-h-a-r-d for reporting) * Fix topics do not re-subscribe to Firebase after restoring from backup ([#511](https://github.com/binwiederhier/ntfy/issues/511)) * Fix crashes from large images ([#474](https://github.com/binwiederhier/ntfy/issues/474), thanks to @daedric7 for reporting) * Fix notification click opens wrong subscription ([#261](https://github.com/binwiederhier/ntfy/issues/261), thanks to @SMAW for reporting) * Fix Firebase-only "link expired" issue ([#529](https://github.com/binwiederhier/ntfy/issues/529)) * Remove "Install .apk" feature in Google Play variant due to policy change ([#531](https://github.com/binwiederhier/ntfy/issues/531)) * Add donate button (no ticket) **Additional translations:** * Korean (thanks to [@YJSofta0f97461d82447ac](https://hosted.weblate.org/user/YJSofta0f97461d82447ac/)) * Portuguese (thanks to [@victormagalhaess](https://hosted.weblate.org/user/victormagalhaess/))