Releases: vapor/apns
4.2.0 - Container Identifiers
What's Changed
Container Identifiers by @dimitribouniol in #58
To help users who need to configure a production and development container, added two new containerIDs:
production
anddevelopment
. Also added documentation and clarified how thedefault
ID is used, which isn’t always the default depending on howuse
is called.Note: Since this is new, I went with
development
instead ofsandbox
here because all of Apple’s documentation refers to it as the development environment. We should probably add.development
and deprecate.sandbox
in APNSwift as well.
This patch was released by @0xTim
Full Changelog: 4.1.0...4.2.0
4.1.0 - Add Sendable conformances
What's Changed
Add Sendable conformances by @ffried in #57
This adds
Sendable
conformances to all types in this library.
This patch was released by @0xTim
Full Changelog: 4.0.0...4.1.0
Updates to latest APNS
What's Changed
- Use HTTP Client from vapor and update APNS library, add multiple configs by @kylebrowning in #46
- Update package to use Alpha 5 by @kylebrowning in #48
- Add support for new version of APNSwift by @Gerzer in #51
- Update to latest APNS by @kylebrowning in #52
New Contributors
Full Changelog: 3.0.0...4.0.0
4.0.0-beta.3
4.0.0-beta.2
Updating beta number
4.0.0-beta.1
What's Changed
- Use HTTP Client from vapor and update APNS library, add multiple configs by @kylebrowning in #46
- Update package to use Beta 1 by @kylebrowning in #48
Full Changelog: 3.0.0...4.0.0-beta.1
4.0.0-alpha.3
What's Changed
- Use HTTP Client from vapor and update APNS library, add multiple configs by @kylebrowning in #46
- Update package to use Alpha 5 by @kylebrowning in #48
Full Changelog: 3.0.0...4.0.0-alpha.3
4.0.0-alpha.2
What's Changed
- Use HTTP Client from vapor and update APNS library, add multiple configs by @kylebrowning in #46
This is a breaking change and requires new configuration when starting up vapor.
let authenticationConfig: APNSConfiguration.Authentication = .init(
privateKey: try .loadFrom(string: appleECP8PrivateKey),
teamIdentifier: "ABBM6U9RM5",
keyIdentifier: "9UC9ZLQ8YW"
)
let apnsConfig: APNSConfiguration = .init(
authenticationConfig: authenticationConfig,
topic: "MY_TOPIC",
environment: .sandbox,
eventLoopGroupProvider: .shared(app.eventLoopGroup),
logger: app.logger
)
app.apns.containers.use(apnsConfig, as: .default)
if you're loading your p8 file from disk, use loadFrom(filePath:)
let authenticationConfig: APNSConfiguration.Authentication = .init(
privateKey: try .loadFrom(filePath: "/Users/kylebrowning/Documents/AuthKey_9UC9ZLQ8YW.p8"),
teamIdentifier: "ABBM6U9RM5",
keyIdentifier: "9UC9ZLQ8YW"
)
You can also choose to send sandbox/prod environment on the notification send function
try await apns.client.send(aps, to: deviceToken, on: .sandbox)
Full Changelog: 3.0.0...4.0.0-alpha.2
4.0.0-alpha.1
What's Changed
- Use HTTP Client from vapor and update APNS library, add multiple configs by @kylebrowning in #46
This is a breaking change and requires new configuration when starting up vapor.
let authenticationConfig: APNSConfiguration.Authentication = .init(
privateKey: try .loadFrom(string: appleECP8PrivateKey),
teamIdentifier: "ABBM6U9RM5",
keyIdentifier: "9UC9ZLQ8YW"
)
let apnsConfig: APNSConfiguration = .init(
authenticationConfig: authenticationConfig,
topic: "MY_TOPIC",
environment: .sandbox,
eventLoopGroupProvider: .shared(app.eventLoopGroup),
logger: app.logger
)
app.apns.containers.use(apnsConfig, as: .default)
if you're loading your p8 file from disk, use loadFrom(filePath:)
let authenticationConfig: APNSConfiguration.Authentication = .init(
privateKey: try .loadFrom(filePath: "/Users/kylebrowning/Documents/AuthKey_9UC9ZLQ8YW.p8"),
teamIdentifier: "ABBM6U9RM5",
keyIdentifier: "9UC9ZLQ8YW"
)
You can also choose to send sandbox/prod environment on the notification send function
try await apns.client.send(aps, to: deviceToken, on: .sandbox)
Full Changelog: 3.0.0...4.0.0-alpha.1