From 4c3e60c4b01b2d725842732625920fec06e86d40 Mon Sep 17 00:00:00 2001 From: Daniel Hok Date: Mon, 5 Aug 2024 14:27:32 -0400 Subject: [PATCH] Version 10.0.0 --- BrazeKit.podspec | 6 ++-- BrazeKitCompat.podspec | 10 +++--- BrazeLocation.podspec | 8 ++--- BrazeNotificationService.podspec | 6 ++-- BrazePushStory.podspec | 6 ++-- BrazeUI.podspec | 8 ++--- BrazeUICompat.podspec | 8 ++--- CHANGELOG.md | 54 ++++++++++++++++++++++++++++++++ Package.swift | 28 ++++++++--------- README.md | 2 +- 10 files changed, 95 insertions(+), 41 deletions(-) diff --git a/BrazeKit.podspec b/BrazeKit.podspec index cae4366..835a48d 100644 --- a/BrazeKit.podspec +++ b/BrazeKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeKit' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Braze Main SDK library providing support for analytics and push notifications.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeKit.zip', - :sha256 => '6a533cda3a5014e566084fe1132f0bebc9fb2de1f53878b2f75a587454c438ca' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeKit.zip', + :sha256 => 'cdad502d3f863520013051443537ff36d2ac1c2eb47729a8b80a644b3be46751' } s.swift_version = '5.0' diff --git a/BrazeKitCompat.podspec b/BrazeKitCompat.podspec index fa974e0..0f85ffb 100644 --- a/BrazeKitCompat.podspec +++ b/BrazeKitCompat.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeKitCompat' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Compatibility library for users migrating from AppboyKit.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeKitCompat.zip', - :sha256 => 'f842bef78f6eb171325a0603ab2b1f3798d92629a354895ddc9bfe8fdc5596cb' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeKitCompat.zip', + :sha256 => '4becef90b01eeaaa8da86867c3fef459500d52af37ee78f7eee0426689c9c41a' } s.swift_version = '5.0' @@ -19,8 +19,8 @@ Pod::Spec.new do |s| s.vendored_framework = 'BrazeKitCompat.xcframework' - s.dependency 'BrazeKit', '9.3.1' - s.dependency 'BrazeLocation', '9.3.1' + s.dependency 'BrazeKit', '10.0.0' + s.dependency 'BrazeLocation', '10.0.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } end diff --git a/BrazeLocation.podspec b/BrazeLocation.podspec index cc13aad..4a01b5f 100644 --- a/BrazeLocation.podspec +++ b/BrazeLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeLocation' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Braze location library providing support for location analytics and geofence monitoring.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeLocation.zip', - :sha256 => 'e8d76ece3a2320b433f979c6185da2f5bf3071e774d1630220af3f35f2310446' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeLocation.zip', + :sha256 => '7ec0c25fe87b9f26eb61a57563b3a13dc4083b23931981c0aadf6b56bb0639cd' } s.swift_version = '5.0' @@ -21,7 +21,7 @@ Pod::Spec.new do |s| s.vendored_framework = 'BrazeLocation.xcframework' s.resource_bundles = { 'BrazeLocation' => ['Sources/BrazeLocationResources/Resources/**/*'] } - s.dependency 'BrazeKit', '9.3.1' + s.dependency 'BrazeKit', '10.0.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } end diff --git a/BrazeNotificationService.podspec b/BrazeNotificationService.podspec index 703d622..ef7ebde 100644 --- a/BrazeNotificationService.podspec +++ b/BrazeNotificationService.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeNotificationService' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Braze notification service extension library providing support for Rich Push notifications.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeNotificationService.zip', - :sha256 => '77c3d9a707a5668b84b125112fee8cc7391bf72c065cca5e510c046d5ae39e11' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeNotificationService.zip', + :sha256 => '2fb95af7f2718da1d11ad6adb4794860f4dd835acc33d2ae125e7aca0b61b889' } s.swift_version = '5.0' diff --git a/BrazePushStory.podspec b/BrazePushStory.podspec index 0ecdb21..a91c086 100644 --- a/BrazePushStory.podspec +++ b/BrazePushStory.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazePushStory' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Braze notification content extension library providing support for Push Stories.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazePushStory.zip', - :sha256 => 'd2767fda142955e55375ce8ee4e0913a3a9614888519db0379e4ea19403a1575' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazePushStory.zip', + :sha256 => '069a974da391eed85cf85bb8973e21da58b14b02a3b8415ce3c1f008363979c4' } s.swift_version = '5.0' diff --git a/BrazeUI.podspec b/BrazeUI.podspec index 6db89d6..7b62a55 100644 --- a/BrazeUI.podspec +++ b/BrazeUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeUI' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Braze-provided user interface library for In-App Messages and Content Cards.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeUI.zip', - :sha256 => '5d38425d1c1d5dc8c4229f4327966d55eafa7b2d934d8afd64673d1a14a6ea82' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeUI.zip', + :sha256 => '7d5295c2fd9004b997e07222022ce5dfabc0179ca8a5505701b2ee972d4b35a3' } s.swift_version = '5.0' @@ -20,7 +20,7 @@ Pod::Spec.new do |s| s.vendored_framework = 'BrazeUI.xcframework' s.resource_bundles = { 'BrazeUI' => ['Sources/BrazeUIResources/Resources/**/*'] } - s.dependency 'BrazeKit', '9.3.1' + s.dependency 'BrazeKit', '10.0.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } end diff --git a/BrazeUICompat.podspec b/BrazeUICompat.podspec index f350f7f..43ce278 100644 --- a/BrazeUICompat.podspec +++ b/BrazeUICompat.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeUICompat' - s.version = '9.3.1' + s.version = '10.0.0' s.summary = 'Compatibility UI library for users migrating from AppboyUI.' s.homepage = 'https://braze.com' @@ -9,8 +9,8 @@ Pod::Spec.new do |s| s.authors = 'Braze, Inc.' s.source = { - :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeUICompat.zip', - :sha256 => 'b7348562c477acf370ae3cf7e7d7679179da938bf486da52062e2fa99d910c96' + :http => 'https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeUICompat.zip', + :sha256 => 'a2f6c06de3ea77ea5e4443ccb8801279f2f7501f607b7a1a22086c5985ef3a5c' } s.swift_version = '5.0' @@ -19,7 +19,7 @@ Pod::Spec.new do |s| s.vendored_framework = 'BrazeUICompat.xcframework' s.resource_bundles = { 'BrazeUICompat' => 'Sources/BrazeUICompatResources/*/Resources/**/*.*' } - s.dependency 'BrazeKitCompat', '9.3.1' + s.dependency 'BrazeKitCompat', '10.0.0' s.dependency 'SDWebImage', '>= 5.19.0', '< 6' s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' } diff --git a/CHANGELOG.md b/CHANGELOG.md index c3e408e..5bd3ca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,57 @@ +## 10.0.0 + +##### Breaking +- The following changes have been made when subscribing to Push events with [`Braze.Notifications.subscribeToUpdates(payloadTypes:_:)`][push-subscribe]: + - The `update` closure will now be triggered by both "Push Opened" and "Push Received" events by default. Previously, it would only be triggered by "Push Opened" events. + - To continue subscribing only to "Push Opened" events, pass in `[.opened]` for the parameter `payloadTypes`. Alternatively, implement your `update` closure to check that the `type` from the `Braze.Notifications.Payload` is `.opened`. + - When receiving a push notification with `content-available: true`, the [`Braze.Notifications.Payload.type`][payload-type] will now be `.received` instead of `.opened`. +- Marks the following deprecated APIs as unavailable: + - `Braze.Configuration.Api.Flavor` + - `Braze.Configuration.Api.flavor` + - `Braze.Configuration.Api.SdkMetadata` + - `Braze.Configuration.Api.addSdkMetadata(_:)` + - `Braze.ContentCard.ClickAction.uri(_:useWebview:)` + - `Braze.ContentCard.ClickAction.uri` + - `Braze.InAppMessage.ClickAction.uri(_:useWebview:)` + - `Braze.InAppMessage.ClickAction.uri` + - `Braze.InAppMessage.ModalImage.imageUri` + - `Braze.InAppMessage.Full.imageUri` + - `Braze.InAppMessage.FullImage.imageUri` + - `Braze.InAppMessage.Themes.default` + - `Braze.deviceId(queue:completion:)` + - `Braze._objc_deviceId(completion:)` + - `Braze.deviceId()` + - `Braze.User.setCustomAttributeArray(key:array:fileID:line:)` + - `Braze.User.addToCustomAttributeArray(key:value:fileID:line:)` + - `Braze.User.removeFromCustomAttributeArray(key:value:fileID:line:)` + - `Braze.User._objc_addToCustomAttributeArray(key:value:)` + - `Braze.User._objc_removeFromCustomAttributeArray(key:value:)` + - `gifViewProvider` + - `GifViewProvider.default` +- Removes the deprecated APIs: + - `Braze.Configuration.DeviceProperty.pushDisplayOptions` + - `Braze.InAppMessageRaw.Context.Error.extraProcessClickAction` +- Removes the deprecated `BrazeLocation` class in favor of `BrazeLocationProvider`. + +##### Fixed +- Fixes a crash when handling a scheme-based deep link containing a registered `applink` domain (e.g. `applinks:example.com` with a deep link to `app://example.com/path`). + +##### Added +- Adds support to subscribe to "Push Received" events via [`Braze.Notifications.subscribeToUpdates(payloadTypes:_:)`][push-subscribe]. + - The following notifications will trigger this subscription: + - Notifications received in the foreground + - Notifications with the field `content-available: true` received in the foreground or background + - The following notifications will _not_ trigger this subscription: + - Notifications received while terminated + - Notifications received in the background without the field `content-available: true` + - The new parameter `payloadTypes` will allow you to subscribe to "Push Opened" events, "Push Received" events, or both. If the parameter is omitted, it will subscribe to both by default. + - If you are using manual push integration, you will need to first implement `UNUserNotificationCenter.userNotificationCenter(_:willPresent:withCompletionHandler:)`, and make sure to call `Braze.Notifications.handleForegroundNotification(notification:)` within your implementation. Then, use `subscribeToUpdates` as noted above. See [our guide on push notification integration](https://www.braze.com/docs/developer_guide/platform_integration_guides/swift/push_notifications/integration/#step-3-enable-push-handling) for more info. +- Adds the public property [`Braze.Notifications.Payload.type`][payload-type]. +- Adds the [`Braze.WebViewBridge.ScriptMessageHandler.init(braze:)`](https://braze-inc.github.io/braze-swift-sdk/documentation/brazekit/braze/webviewbridge/scriptmessagehandler/init(braze:)) initializer enabling a simpler way to initialize the `ScriptMessageHandler` for adding it to user-provided web views. + +[push-subscribe]: https://braze-inc.github.io/braze-swift-sdk/documentation/brazekit/braze/notifications-swift.class/subscribetoupdates(payloadtypes:_:) +[payload-type]: https://braze-inc.github.io/braze-swift-sdk/documentation/brazekit/braze/notifications-swift.class/payload/type + ## 9.3.1 ##### Fixed diff --git a/Package.swift b/Package.swift index 9c4a02d..6473a43 100644 --- a/Package.swift +++ b/Package.swift @@ -49,8 +49,8 @@ let package = Package( targets: [ .binaryTarget( name: "BrazeKit", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeKit.zip", - checksum: "6a533cda3a5014e566084fe1132f0bebc9fb2de1f53878b2f75a587454c438ca" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeKit.zip", + checksum: "cdad502d3f863520013051443537ff36d2ac1c2eb47729a8b80a644b3be46751" ), .target( name: "BrazeKitResources", @@ -60,8 +60,8 @@ let package = Package( ), .binaryTarget( name: "BrazeUI", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeUI.zip", - checksum: "5d38425d1c1d5dc8c4229f4327966d55eafa7b2d934d8afd64673d1a14a6ea82" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeUI.zip", + checksum: "7d5295c2fd9004b997e07222022ce5dfabc0179ca8a5505701b2ee972d4b35a3" ), .target( name: "BrazeUIResources", @@ -71,8 +71,8 @@ let package = Package( ), .binaryTarget( name: "BrazeLocation", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeLocation.zip", - checksum: "e8d76ece3a2320b433f979c6185da2f5bf3071e774d1630220af3f35f2310446" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeLocation.zip", + checksum: "7ec0c25fe87b9f26eb61a57563b3a13dc4083b23931981c0aadf6b56bb0639cd" ), .target( name: "BrazeLocationResources", @@ -82,13 +82,13 @@ let package = Package( ), .binaryTarget( name: "BrazeNotificationService", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeNotificationService.zip", - checksum: "77c3d9a707a5668b84b125112fee8cc7391bf72c065cca5e510c046d5ae39e11" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeNotificationService.zip", + checksum: "2fb95af7f2718da1d11ad6adb4794860f4dd835acc33d2ae125e7aca0b61b889" ), .binaryTarget( name: "BrazePushStory", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazePushStory.zip", - checksum: "d2767fda142955e55375ce8ee4e0913a3a9614888519db0379e4ea19403a1575" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazePushStory.zip", + checksum: "069a974da391eed85cf85bb8973e21da58b14b02a3b8415ce3c1f008363979c4" ), .target( name: "BrazePushStoryResources", @@ -98,13 +98,13 @@ let package = Package( ), .binaryTarget( name: "BrazeKitCompat", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeKitCompat.zip", - checksum: "f842bef78f6eb171325a0603ab2b1f3798d92629a354895ddc9bfe8fdc5596cb" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeKitCompat.zip", + checksum: "4becef90b01eeaaa8da86867c3fef459500d52af37ee78f7eee0426689c9c41a" ), .binaryTarget( name: "BrazeUICompat", - url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/9.3.1/BrazeUICompat.zip", - checksum: "b7348562c477acf370ae3cf7e7d7679179da938bf486da52062e2fa99d910c96" + url: "https://github.com/braze-inc/braze-swift-sdk-prebuilt-static/releases/download/10.0.0/BrazeUICompat.zip", + checksum: "a2f6c06de3ea77ea5e4443ccb8801279f2f7501f607b7a1a22086c5985ef3a5c" ), .target( name: "BrazeUICompatResources", diff --git a/README.md b/README.md index 2a0396d..f5cc5e3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- Version: 9.3.1 + Version: 10.0.0