Release notes
This commit is contained in:
parent
bfc3983d06
commit
45928ddc47
2 changed files with 16 additions and 10 deletions
|
@ -4,15 +4,21 @@ and the [ntfy Android app](https://github.com/binwiederhier/ntfy-android/release
|
||||||
|
|
||||||
## ntfy server v2.1.0 (UNRELEASED)
|
## ntfy server v2.1.0 (UNRELEASED)
|
||||||
|
|
||||||
This release now supports sending emails to protected topics, and it ships code to support annual billing cycles (not live yet).
|
This release changes the way UnifiedPush (UP) topics are rate limited from publisher-based rate limiting to subscriber-based
|
||||||
Most importantly, it fixes an issue with UnifiedPush (mostly Mastodon servers) that send an `Authorization` header, which ntfy
|
rate limiting. This allows UP application servers to send higher volumes, since the subscribers carry the rate limits.
|
||||||
rejects with an HTTP 401.
|
|
||||||
|
We also fixed another issue with UnifiedPush: Some Mastodon servers were sending unsupported `Authorization` headers,
|
||||||
|
which ntfy rejected with an HTTP 401. We now ignore unsupported header values.
|
||||||
|
|
||||||
|
As of this release, ntfy also supports sending emails to protected topics, and it ships code to support annual billing
|
||||||
|
cycles (not live yet).
|
||||||
|
|
||||||
**Features:**
|
**Features:**
|
||||||
|
|
||||||
|
* UnifiedPush: Subscriber-based rate limiting for `up*` topics ([#584](https://github.com/binwiederhier/ntfy/pull/584)/[#609](https://github.com/binwiederhier/ntfy/pull/609)/[#633](https://github.com/binwiederhier/ntfy/pull/633), thanks to [@karmanyaahm](https://github.com/karmanyaahm)))
|
||||||
* Support for publishing to protected topics via email with access tokens ([#612](https://github.com/binwiederhier/ntfy/pull/621), thanks to [@tamcore](https://github.com/tamcore))
|
* Support for publishing to protected topics via email with access tokens ([#612](https://github.com/binwiederhier/ntfy/pull/621), thanks to [@tamcore](https://github.com/tamcore))
|
||||||
* Support for base64-encoded and nested multipart emails ([#610](https://github.com/binwiederhier/ntfy/issues/610), thanks to [@Robert-litts](https://github.com/Robert-litts))
|
* Support for base64-encoded and nested multipart emails ([#610](https://github.com/binwiederhier/ntfy/issues/610), thanks to [@Robert-litts](https://github.com/Robert-litts))
|
||||||
* Add support for annual billing intervals (no ticket)
|
* Payments: Add support for annual billing intervals (no ticket)
|
||||||
|
|
||||||
**Bug fixes + maintenance:**
|
**Bug fixes + maintenance:**
|
||||||
|
|
||||||
|
|
|
@ -604,12 +604,12 @@ func (s *Server) handlePublishWithoutResponse(r *http.Request, v *visitor) (*mes
|
||||||
ev := logvrm(v, r, m).
|
ev := logvrm(v, r, m).
|
||||||
Tag(tagPublish).
|
Tag(tagPublish).
|
||||||
Fields(log.Context{
|
Fields(log.Context{
|
||||||
"message_delayed": delayed,
|
"message_delayed": delayed,
|
||||||
"message_firebase": firebase,
|
"message_firebase": firebase,
|
||||||
"message_unifiedpush": unifiedpush,
|
"message_unifiedpush": unifiedpush,
|
||||||
"message_email": email,
|
"message_email": email,
|
||||||
"rate_visitor_ip": vrate.IP().String(),
|
"rate_visitor_ip": vrate.IP().String(),
|
||||||
"rate_user_id": vrate.MaybeUserID(),
|
"rate_visitor_user_id": vrate.MaybeUserID(),
|
||||||
})
|
})
|
||||||
if ev.IsTrace() {
|
if ev.IsTrace() {
|
||||||
ev.Field("message_body", util.MaybeMarshalJSON(m)).Trace("Received message")
|
ev.Field("message_body", util.MaybeMarshalJSON(m)).Trace("Received message")
|
||||||
|
|
Loading…
Reference in a new issue