Skip to content

Releases: vapor/apns

5.0.0

03 Jul 22:48
be523e3

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 4.2.0...5.0.0

4.2.0 - Container Identifiers

20 Aug 12:27
dedccc1

Choose a tag to compare

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 and development. Also added documentation and clarified how the default ID is used, which isn’t always the default depending on how use is called.

Note: Since this is new, I went with development instead of sandbox 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

20 Mar 17:23
98ba2f2

Choose a tag to compare

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

31 Jul 17:47
e2ac665

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.0.0...4.0.0

4.0.0-beta.3

15 May 16:04
1637a30

Choose a tag to compare

4.0.0-beta.3 Pre-release
Pre-release

What's Changed

  • Add support for new version of APNSwift by @Gerzer in #51

New Contributors

Full Changelog: 4.0.0-beta.2...4.0.0-beta.3

4.0.0-beta.2

24 Nov 17:25
3c9cfc4

Choose a tag to compare

4.0.0-beta.2 Pre-release
Pre-release

Updating beta number

4.0.0-beta.1

03 Sep 17:08
8792630

Choose a tag to compare

4.0.0-beta.1 Pre-release
Pre-release

What's Changed

Full Changelog: 3.0.0...4.0.0-beta.1

4.0.0-alpha.3

01 Sep 01:00
4b0016a

Choose a tag to compare

4.0.0-alpha.3 Pre-release
Pre-release

What's Changed

Full Changelog: 3.0.0...4.0.0-alpha.3

4.0.0-alpha.2

16 Jun 14:14

Choose a tag to compare

4.0.0-alpha.2 Pre-release
Pre-release

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

12 Jun 19:50
f4295f5

Choose a tag to compare

4.0.0-alpha.1 Pre-release
Pre-release

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