Releases: binwiederhier/ntfy
v1.29.1
This is mostly a bugfix release to address the high load on ntfy.sh. There are now two new options that allow
synchronous batch-writing of messages to the cache. This avoids database locking, and subsequent pileups of waiting
requests.
Bug fixes:
- High-load servers: Allow asynchronous batch-writing of messages to cache via
cache-batch-*
options (#498/#502) - Sender column in cache.db shows invalid IP (#503)
Documentation:
- GitHub Actions example (#492, thanks to @ksurl)
- UnifiedPush ACL clarification (#497, thanks to @bt90)
- Install instructions for Kustomize (#463, thanks to @l-maciej)
Other things:
- Put ntfy.sh docs on GitHub pages to reduce AWS outbound traffic cost (#491)
- The ntfy.sh server hardware was upgraded to a bigger box. If you'd like to help out carrying the server cost, sponsorships and donations 💸 would be very much appreciated
v1.29.0
This release adds the ability to add rate limit exemptions for IP ranges instead of just specific IP addresses. It also fixes a few bugs in the web app and the CLI and adds lots of new examples and install instructions.
Thanks to some love on HN, we got so many new ntfy users trying out ntfy and joining the chat rooms. Welcome to the ntfy community to all of you! We also got a ton of new sponsors and donations 💸, which is amazing. I'd like to thank all of you for believing in the project, and for helping me pay the server cost. The HN spike increased the AWS cost quite a bit.
Features:
- Allow IP CIDRs in
visitor-request-limit-exempt-hosts
(#423, thanks to @karmanyaahm)
Bug fixes + maintenance:
- Subscriptions can now have a display name (#370, thanks to @tfheen for reporting)
- Bump Go version to Go 18.x (#422)
- Web: Strip trailing slash when subscribing (#428, thanks to @raining1123 for reporting, and @wunter8 for fixing)
- Web: Strip trailing slash after server URL in publish dialog (#441, thanks to @wunter8)
- Allow empty passwords in
client.yml
(#374, thanks to @cyqsimon for reporting, and @wunter8 for fixing) ntfy pub
will now use default username and password fromclient.yml
(#431, thanks to @wunter8 for fixing)- Make
ntfy sub
work withNTFY_USER
env variable (#447, thanks to @SuperSandro2000) - Web: Disallow GET/HEAD requests with body in actions (#468, thanks to @ollien)
Documentation:
- Updated developer docs, bump nodejs and go version (#414, thanks to @YJSoft for reporting)
- Officially document
?auth=..
query parameter (#433, thanks to @wunter8) - Added Rundeck example (#427, thanks to @demogorgonz)
- Fix Debian installation instructions (#237, thanks to @Joeharrison94 for reporting)
- Updated example with official Gatus integration (thanks to @TwiN)
- Added Kubernetes install instructions (#452, thanks to @gmemstr)
- Added additional NixOS links for self-hosting (#462, thanks to @wamserma)
- Added additional more secure nginx config example (#451, thanks to @SuperSandro2000)
- Minor fixes in the config table (#470, thanks to @snh)
- Fix broken link (#476, thanks to @shuuji3)
Additional translations:
- Korean (thanks to @YJSofta0f97461d82447ac)
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!
A list of all the sponsors can be found in the README.
v1.28.0
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)
Bugs:
ntfy user
commands don't work withauth_file
but works withauth-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:
- Added integrations + projects page (so many integrations, whoa!)
- Added example for UptimeRobot
- Fix some PowerShell publish docs (#345, thanks to @noahpeltier)
- Clarified Docker install instructions (#361, thanks to @barart for reporting)
- Mismatched quotation marks (#392], thanks to @connorlanigan)
Additional translations:
- Ukranian (thanks to @v.kopitsa)
- Polish (thanks to @Namax0r)
v1.27.2
Features:
- Add
cache-startup-queries
option to allow custom SQLite performance tuning (no ticket) - ntfy CLI can now wait for a command or PID before publishing (#263, thanks to the original ntfy for the idea)
- Trace: Log entire HTTP request to simplify debugging (no ticket)
- Allow setting user password via
NTFY_PASSWORD
env variable (#327, thanks to @Kenix3)
Bugs:
- Fix slow requests due to excessive locking (#338)
- Return HTTP 500 for
GET /_matrix/push/v1/notify
whenbase-url
is not configured (no ticket) - Disallow setting
upstream-base-url
to the same value asbase-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 Androidintent=
key (#341, thanks to @wunter8)
Deprecations:
- The
ntfy publish --env-topic
option is deprecated as of now (see deprecations for details)
v1.26.0
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:
- ntfy now is a Matrix Push Gateway (in combination with UnifiedPush as the Provider Push Protocol, #319/#326, thanks to @MayeulC for reporting)
- Windows CLI is now available via Scoop (ScoopInstaller#3594, #311, #269, thanks to @kzshantonu)
- Uptime Kuma now allows publishing to ntfy (uptime-kuma#1674, thanks to @philippdormann)
- Display ntfy version in
ntfy serve
command (#314, thanks to @poblabs)
Bugs:
- 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
- Added example for Uptime Kuma integration (#315, thanks to @philippdormann)
- Fix Docker install instructions (#320, thanks to @milksteakjellybeans for reporting)
- Add clarifying comments to base-url (#322, thanks to @milksteakjellybeans for reporting)
- Update FAQ for iOS app (#321, thanks to @milksteakjellybeans for reporting)
v1.25.2
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:
Documentation:
⚠️ Privacy policy updated to reflect additional debug/tracing feature (no ticket)- Examples for Home Assistant (#282, thanks to @poblabs)
- Install instructions for NixOS/Nix (#282, thanks to @arjan-s)
- Clarify
poll_request
wording for iOS push notifications (#300, thanks to @prabirshrestha for reporting) - Example for using ntfy with docker-compose.yml without root privileges (#304, thanks to @ksurl)
Additional translations:
v1.25.0
(This fix contained a bug displaying the documentation header in blue. It is superseded by version v1.25.2)
v1.24.0
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)
Bugs:
- Support emails without
Content-Type
(#265, thanks to @dmbonsall)
Additional translations:
- Italian (thanks to @Genio2003)
v1.23.0
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:
- Windows and macOS builds for the ntfy CLI (#112)
- Ability to disable the web app entirely (#238/#249, thanks to @Curid)
- Add APNs config to Firebase messages to support iOS app (#247, thanks to @Copephobia)
Bugs:
- Support underscores in server.yml config options (#255, thanks to @ajdelgado)
- Force MAKEFLAGS to --jobs=1 in
Makefile
(#257, thanks to @oddlama)
Documentation:
- Typo in install instructions (#252/#251, thanks to @oddlama)
- Fix typo in private server example (#262, thanks to @MayeulC)
- Examples for jellyseerr/overseerr (#264, thanks to @Fallenbagel)
Additional translations:
- Portuguese/Brazil (thanks to @tiagotriques and @pireshenrique22)
Thank you to the many translators, who helped translate the new strings so quickly. I am humbled and amazed by your help.
v1.22.0
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)
Bugs:
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:
- Czech (thanks to @waclaw66)
- French (thanks to @nathanaelhoun)
- Hungarian (thanks to @agocsdaniel)
Thanks for testing:
Thanks to @wunter8 for testing.