Skip to content

Releases: jchambers/pushy

v0.9.2 - Let's all pretend v0.9.1 never happened

07 Feb 01:22
Compare
Choose a tag to compare

This release is what v0.9.1 was supposed to be, but v0.9.1 was accidentally built from the wrong branch. With apologies for the error, v0.9.2 rectifies the situation.

v0.9.1 - Bug fixes and minor improvements

31 Jan 19:37
Compare
Choose a tag to compare

This release focuses on bug fixes and minor improvements. Most visibly, we've rolled back the back-pressure mechanism introduced in #383. For a complete list of changes, please see the v0.9.1 milestone.

v0.9 - Token authentication

15 Dec 03:57
Compare
Choose a tag to compare

This release adds support for token authentication, a new upstream feature announced at WWDC 2016.

In the past, clients would authenticate to the server by providing a TLS certificate at connection time, and could send notifications only to the topics named in the client certificate. In practice, this generally meant that one client could only send notifications to a single app. With token authentication, a single client can send notifications to any topic (app) for which it has a valid signing key. This version of Pushy supports both TLS-based authentication and token authentication (though clients can only use one authentication strategy at a time).

For a complete list of changes, please see the v0.9 milestone.

v0.8.2 - More payload content, newer dependencies

14 Dec 03:17
Compare
Choose a tag to compare

This release includes a number of small improvements. Notably:

  • ApnsPayloadBuilder will now always represent alerts as dictionaries by default; if you're sending notifications to an app that depends on alerts represented as strings, you'll want to call ApnsPayloadBuilder#setPreferStringRepresentationForAlerts(boolean).
  • Added payload fields to support Safari push notifications (action and url-args).
  • Added the thread-id payload field
  • Added configurable high/low water marks and added ClientBusyException

For a complete list of changes, please see the v0.8.2 milestone.

v0.8.1 - New content features for iOS 10

09 Sep 15:16
Compare
Choose a tag to compare

This release includes new content features for iOS 10. Specifically:

  • Added support for the apns-collapse-id header, which allows notifications to supersede or be superseded by other notifications with the same ID
  • Added support for the mutable-content payload field, which allows the receiving device to modify a notification before presenting it
  • Added support for subtitles (literal and localized) in payloads

Please note that these new features are not yet officially documented by Apple; our implementation is based on presentations from WWDC and testing, and the implementation may change as new information becomes available.

We also updated to the latest versions of Netty and netty-tcnative.

For a complete list of changes, please see the v0.8.1 milestone.

v0.8 - Metrics listeners and new patterns

19 Aug 15:10
Compare
Choose a tag to compare

This is a fairly large new release of Pushy that makes some breaking API changes. The most important ones:

  • Instead of constructing ApnsClient instances directly, we now use a builder pattern. To construct a new ApnsClient, use the ApnsClientBuilder class.
  • ApnsClient is no longer a generic class; instead, the ApnsClient#sendNotification method is generic, so clients can now handle a wider variety of push notification types.
  • We've removed support for custom flush thresholds, which turned out to be a little too complex for the benefit they were providing (and we expect an upstream implementation of the same feature shortly).

We've also included lots of non-breaking changes, too!

  • We've publicized our own metrics listener that reports metrics using the Dropwizard Metrics library.
  • We've publicized our mock APNs server to facilitate integration testing and benchmarking.
  • We've added benchmarks using JMH.
  • Upstream server errors are now treated as temporary write failures instead of permanent notification rejections.

For a complete list of changes, please see the v0.8 milestone.

v0.7.3 - Bug fixes

11 Jun 16:41
Compare
Choose a tag to compare

This release fixes a handful of small bugs and includes some small under-the-hood improvements. The most important changes are:

  • Updated to the latest version of Netty, which includes an upstream fix for a low-frequency buffer leak
  • When using a proxy, let the proxy handle name resolution

For a complete list of changes, please see the v0.7.3 milestone.

v0.7.2 - Additional payload construction fixes

05 May 01:47
Compare
Choose a tag to compare

This release fixes a bug that could cause payload generation to hang when trimming messages longer than the maximum payload length. For complete details, please see the v0.7.2 milestone.

v0.7.1 - Flush-after-idle-time fixes

03 May 01:32
Compare
Choose a tag to compare

This is a bug-fix release that fixes a handful of issues where the "flush after idle time" was pretty flatly just not working right. For the gory details, please see the v0.7.1 milestone.

v0.7 - Performance enhancements

29 Apr 23:26
Compare
Choose a tag to compare

This release focuses on performance enhancements. The big ones are:

  • Optimized construction of push notification payloads in cases when the message body needed to be trimmed to fit within the maximum payload size (see #267).
  • Batched expensive system calls to increase efficiency when sending notifications (see #278). See the ApnsClient#setFlushThresholds(int, long) documentation for additional details.

For a complete list of changes, please see the v0.7 milestone.