apns2
follows Semantic Versioning
- Add
location
push type - Add
pushtotalk
push type
- Add
Priority.low
- Fix options
requestTimeout
andpingInterval
- Convert to Biome
- Define new
Host
enum for specifying APNS host - Add
liveactivity
push type
Thank you 278204 and icodebuster
- Accept all options when sending a silent notification
- Add back support for Node.js 16.x
- Built for Node.js 18
- Drops support for all versions of Node <18
- Add support for alert subtitle
- Re-written in TypeScript
- Adjust distribution files
- Only allow data options in
SilentNotification
constructor
- Re-written in TypeScript
- Update token refresh logic to avoid
TooManyProviderTokenUpdates
- Allow disabling pingInterval
- Fix issue with missing ping callback
- Correctly handle socket error events
- Lazily connect on first request
- Keeps socket alive with ping request every 60s
- Full code cleanup
- Removes tarn
- Requires Node v12 or newer
- Rename
destroy()
toclose()
- Fix TypeScript typings
- New push types and error constants
- Add prettier
- Add
client.destroy()
to kill all outstanding connections to apns servers. - Upgrade tarn to v3
- Add voip support
- Add correct TypeScript definitions for
NotificationOptions
- Add missing TypeScript interface for
NotificationOptions
- Remove lodash dependency
- Require Node.js v10 or higher
- Support apns-push-type and iOS 13
- Support thread-id
- Remove Bluebird
- Remove concurrency option, instead relies on the connection pool and max connections
- Accept a
Date
for the apns expiration
- Update code to use async/await
- Fix connection pool not releasing resources
- Listen for
error
event when connecting an http2 session
- Reset signing token every 59 minutes to prevent
TooManyProviderTokenUpdates
error
- Updated Typescript definitions for v4.0
- Remove support for Node versions less than v8.10
- High-performance connection pool using tarn
- More friendly require API, see README for updated usage
- Fix Typescript definitions
- Introduces support for the native
http2
module in Node.js v8.4.0 or later with fall back tonode-spdy
in earlier versions of Node.js.
To use the new http2
library you must start your node process with node --expose-http2
and apns2 will automatically use the native module. Later versions of Node.js may expose the native module without the need for a command line flag. In this case, apns2 will automatically use the native module without any additional steps on your end.