Skip to content

Pushy v0.15.0 - New features and bug fixes

Compare
Choose a tag to compare
@jchambers jchambers released this 22 Aug 15:58

This is a major release that includes several new features and, importantly, a few breaking API changes. Please see the v0.15.0 milestone for a complete list of changes.

New features and bug fixes

  • Mock servers can once again bind to an OS-selected port and now return the bound port when the server starts up
  • Simplified authentication-related exceptions
  • Authentication tokens are now shared between connections to reduce the frequency of token changes
  • Fixed a bug where connections could stay open after receiving a GOAWAY frame from the APNs server
  • Fixed an issue where channels may not have been cleaned up as expected after an exception
  • Fixed various packaging issues
  • Enabled TLS hostname verification
  • HTTP status codes are now included in responses from the APNs server
  • Rejection reasons inresponses from the APNs server are now Optional instead of @Nullable
  • Literal and localized alert content may now co-exist in the same notification payload
  • Added support for new payload fields (relevance-score and interruption-level) introduced in iOS 15
  • Added JPMS automatic module names to all project artifacts
  • Updated to Netty 4.1.67/netty-tcnative 2.0.41

Breaking changes

Some new features, fixes, and general maintenance have led to breaking API changes that Pushy users may need to address in their own code. In particular:

  • Starting a mock server now returns a CompletableFuture<Integer> instead of CompletableFuture<Void>
  • Creating a new AuthenticationToken from a signing key no longer throws checked exceptions
  • The PushNotificationResponse interface now includes a getStatusCode method
  • Rejection reasons inresponses from the APNs server are now Optional instead of @Nullable
  • Behavior of setters for alert content in payload builders has changed; literal and localized content may now co-exist in the same payload