apns2 follows Semantic Versioning
- Add
locationpush type - Add
pushtotalkpush type
- Add
Priority.low - Fix options
requestTimeoutandpingInterval - Convert to Biome
- Define new
Hostenum for specifying APNS host - Add
liveactivitypush 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
SilentNotificationconstructor
- 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
Datefor the apns expiration
- Update code to use async/await
- Fix connection pool not releasing resources
- Listen for
errorevent when connecting an http2 session
- Reset signing token every 59 minutes to prevent
TooManyProviderTokenUpdateserror
- 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
http2module in Node.js v8.4.0 or later with fall back tonode-spdyin 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.