From d2b2407bb184e1eded6209458be94e7761ed4b91 Mon Sep 17 00:00:00 2001 From: jacksonemiller Date: Mon, 23 Oct 2023 16:36:02 -0500 Subject: [PATCH] Version 7.1.0 --- BrazeKit.podspec | 6 ++-- BrazeKitCompat.podspec | 8 ++--- BrazeLocation.podspec | 8 ++--- BrazeNotificationService.podspec | 6 ++-- BrazePushStory.podspec | 6 ++-- BrazeUI.podspec | 6 ++-- BrazeUICompat.podspec | 6 ++-- CHANGELOG.md | 19 ++++++++++-- .../ObjC/Sources/PushNotifications/Info.plist | 30 +++++++++++++++++++ .../PushNotifications.entitlements | 12 ++++++++ Examples/ObjC/manual-integration-setup.sh | 2 +- .../Sources/PushNotifications/Info.plist | 30 +++++++++++++++++++ .../PushNotifications.entitlements | 12 ++++++++ Examples/Swift/manual-integration-setup.sh | 2 +- Package.swift | 16 +++++----- README.md | 2 +- .../AppboyKit/ABKInAppMessageController.m | 2 +- .../include/ABKInAppMessageController.h | 2 +- .../ABKInAppMessageControllerDelegate.h | 9 +++--- .../ContentCardUIViewController.swift | 2 +- .../InAppMessageUI/InAppMessageUI.swift | 2 +- .../InAppMessageUIDelegate+ObjC.swift | 19 ++++++++---- .../InAppMessageUIDelegate.swift | 4 +-- .../InAppMessageUI/InAppMessageUIExt.swift | 11 ++++++- .../ABKInAppMessageUIController.m | 18 +++++------ 25 files changed, 178 insertions(+), 62 deletions(-) create mode 100644 Examples/ObjC/Sources/PushNotifications/Info.plist create mode 100644 Examples/ObjC/Sources/PushNotifications/PushNotifications.entitlements create mode 100644 Examples/Swift/Sources/PushNotifications/Info.plist create mode 100644 Examples/Swift/Sources/PushNotifications/PushNotifications.entitlements diff --git a/BrazeKit.podspec b/BrazeKit.podspec index 9ab173ec51..3b0c874f2e 100644 --- a/BrazeKit.podspec +++ b/BrazeKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeKit' - s.version = '7.0.0' + s.version = '7.1.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/releases/download/7.0.0/BrazeKit.zip', - :sha256 => 'ae890a450e889ad57399b36835af98699defc02da2fff9bd1756b8963d545eb5' + :http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazeKit.zip', + :sha256 => '195f3f728352a8fb507256042be3cb4efc9bd46afb76d57353e5951ed501d267' } s.swift_version = '5.0' diff --git a/BrazeKitCompat.podspec b/BrazeKitCompat.podspec index 42478b0ef5..5ad7c2c02f 100644 --- a/BrazeKitCompat.podspec +++ b/BrazeKitCompat.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeKitCompat' - s.version = '7.0.0' + s.version = '7.1.0' s.summary = 'Compatibility library for users migrating from AppboyKit.' s.homepage = 'https://braze.com' @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.license = { :type => 'Commercial' } s.authors = 'Braze, Inc.' - s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '7.0.0' } + s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '7.1.0' } s.swift_version = '5.0' s.ios.deployment_target = '11.0' @@ -18,8 +18,8 @@ Pod::Spec.new do |s| s.source_files = 'Sources/BrazeKitCompat/**/*.{h,m}' s.public_header_files = 'Sources/BrazeKitCompat/include/*.h' - s.dependency 'BrazeKit', '7.0.0' - s.dependency 'BrazeLocation', '7.0.0' + s.dependency 'BrazeKit', '7.1.0' + s.dependency 'BrazeLocation', '7.1.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } end diff --git a/BrazeLocation.podspec b/BrazeLocation.podspec index 4111030004..0fcd0a9ab7 100644 --- a/BrazeLocation.podspec +++ b/BrazeLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeLocation' - s.version = '7.0.0' + s.version = '7.1.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/releases/download/7.0.0/BrazeLocation.zip', - :sha256 => 'eb32a3834e0dc09df3c069647b6ac1e1fbce5cb1fed49050325277e12c7773cd' + :http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazeLocation.zip', + :sha256 => '9ce1f72d725cb37b4c509fc84766e6eaf07429bce4e7164481833843003c2987' } s.swift_version = '5.0' @@ -21,7 +21,7 @@ Pod::Spec.new do |s| # Depends on BrazeKit because BrazeKit includes the internal _BrazeLocationClient symbols required # for linking against BrazeLocation. - s.dependency 'BrazeKit', '7.0.0' + s.dependency 'BrazeKit', '7.1.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } end diff --git a/BrazeNotificationService.podspec b/BrazeNotificationService.podspec index 276e5ff558..c1f6ff96ea 100644 --- a/BrazeNotificationService.podspec +++ b/BrazeNotificationService.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeNotificationService' - s.version = '7.0.0' + s.version = '7.1.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/releases/download/7.0.0/BrazeNotificationService.zip', - :sha256 => 'ebf1ca2501212501853662a3853b498063a3f2b46ae2de072262666c4f731e24' + :http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazeNotificationService.zip', + :sha256 => 'e80f97bb21bc9f661471205c18f8f873f274bc3cad73b2eb44e4f1f66f05dd10' } s.swift_version = '5.0' diff --git a/BrazePushStory.podspec b/BrazePushStory.podspec index 1b9581a4a5..181036ffb8 100644 --- a/BrazePushStory.podspec +++ b/BrazePushStory.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazePushStory' - s.version = '7.0.0' + s.version = '7.1.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/releases/download/7.0.0/BrazePushStory.zip', - :sha256 => '26e3ff1284d14a2d2c7c9d02ee08745bc0babd662ed5067b306ff8aa90d4bb3d' + :http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazePushStory.zip', + :sha256 => '4ad33d8106c285b3e33c274cfee112542a489abf8284eff330dab12c49766c16' } s.swift_version = '5.0' diff --git a/BrazeUI.podspec b/BrazeUI.podspec index 437f4ac356..ddaade765b 100644 --- a/BrazeUI.podspec +++ b/BrazeUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeUI' - s.version = '7.0.0' + s.version = '7.1.0' s.summary = 'Braze-provided user interface library for In-App Messages and Content Cards.' s.homepage = 'https://braze.com' @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.license = { :type => 'Commercial' } s.authors = 'Braze, Inc.' - s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '7.0.0' } + s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '7.1.0' } s.swift_version = '5.0' s.ios.deployment_target = '11.0' @@ -17,7 +17,7 @@ Pod::Spec.new do |s| s.source_files = 'Sources/BrazeUI/**/*.swift' s.resource_bundles = { 'BrazeUI' => ['Sources/BrazeUI/Resources/**/*'] } - s.dependency 'BrazeKit', '7.0.0' + s.dependency 'BrazeKit', '7.1.0' s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } end diff --git a/BrazeUICompat.podspec b/BrazeUICompat.podspec index 3a42ec27fa..416c1f1472 100644 --- a/BrazeUICompat.podspec +++ b/BrazeUICompat.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'BrazeUICompat' - s.version = '7.0.0' + s.version = '7.1.0' s.summary = 'Compatibility UI library for users migrating from AppboyUI.' s.homepage = 'https://braze.com' @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.license = { :type => 'Commercial' } s.authors = 'Braze, Inc.' - s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '7.0.0' } + s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '7.1.0' } s.swift_version = '5.0' s.ios.deployment_target = '11.0' @@ -18,7 +18,7 @@ Pod::Spec.new do |s| s.public_header_files = 'Sources/BrazeUICompat/ABK*/**/*.h' s.resource_bundles = { 'BrazeUICompat' => 'Sources/BrazeUICompat/*/Resources/**/*.*' } - s.dependency 'BrazeKitCompat', '7.0.0' + s.dependency 'BrazeKitCompat', '7.1.0' s.dependency 'SDWebImage', '>= 5.8.2', '< 6' s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' } diff --git a/CHANGELOG.md b/CHANGELOG.md index f50c75dd6f..968feb868a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,20 @@ +## 7.1.0 + +##### Fixed +- Resolves an issue preventing templated in-app messages from triggering if a previous attempt to display the message failed within the same session. +- Fixes an issue that prevented custom events and nested custom attributes from logging if had a property with a value that was prefixed with a `$`. +- Fixes a bug in the Content Cards feed UI where the empty feed message would not display when the user only had control cards in their feed. +- Adds additional safeguards when reading the device model. + +##### Added +- Adds a code signature to all XCFrameworks in the Braze Swift SDK, signed by `Braze, Inc.`. +- `BrazeInAppMessageUI.DisplayChoice.later` has been deprecated in favor of `BrazeInAppMessageUI.DisplayChoice.reenqueue`. + ## 7.0.0 ##### Breaking - The `useUUIDAsDeviceId` configuration is now enabled by default. - - For more details on the impacts, refer to this [Collecting IDFV - Swift](https://www.braze.com/docs/developer_guide/platform_integration_guides/ios/initial_sdk_setup/other_sdk_customizations/swift_idfv/). + - For more details on the impacts, refer to this [Collecting IDFV - Swift](https://www.braze.com/docs/developer_guide/platform_integration_guides/swift/analytics/swift_idfv/). - The `Banner` Content Card type and corresponding UI elements have been renamed to `ImageOnly`. All member methods and properties remain the same. - `Braze.ContentCard.Banner` → `Braze.ContentCard.ImageOnly` - `BrazeContentCardUI.BannerCell` → `BrazeContentCardUI.ImageOnlyCell` @@ -10,12 +22,13 @@ - Updates the behavior for Feature Flags methods. - `FeatureFlags.featureFlag(id:)` now returns `nil` for an ID that does not exist. - `FeatureFlags.subscribeToUpdates(:)` will trigger the callback when any refresh request completes with a success or failure. - - The callback will also trigger immediately upon initial subscription if previously cached data exists. + - The callback will also trigger immediately upon initial subscription if previously cached data exists from the current session. ##### Fixed - Fixes compiler warnings about Swift 6 when compiling `BrazeUI` while using Xcode 15. - Exposes public imports for `ABKClassicImageContentCardCell.h` and `ABKControlTableViewCell.h` for use in the BrazeUICompat layer. -- Adds additional safeguards around invalid constraint values for `BrazeInAppMessageUI.SlideupView` +- Adds additional safeguards around invalid constraint values for `BrazeInAppMessageUI.SlideupView`. +- Resolves a Content Cards feed UI issue displaying a placeholder image in Classic cards without an attached image. ##### Added - Adds the `enableDarkTheme` property to `BrazeContentCardUI.ViewController.Attributes`. diff --git a/Examples/ObjC/Sources/PushNotifications/Info.plist b/Examples/ObjC/Sources/PushNotifications/Info.plist new file mode 100644 index 0000000000..d7f8ec8ca2 --- /dev/null +++ b/Examples/ObjC/Sources/PushNotifications/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + PushNotifications + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + UIBackgroundModes + + remote-notification + + UILaunchStoryboardName + LaunchScreen + + diff --git a/Examples/ObjC/Sources/PushNotifications/PushNotifications.entitlements b/Examples/ObjC/Sources/PushNotifications/PushNotifications.entitlements new file mode 100644 index 0000000000..9cad402b51 --- /dev/null +++ b/Examples/ObjC/Sources/PushNotifications/PushNotifications.entitlements @@ -0,0 +1,12 @@ + + + + + aps-environment + development + com.apple.security.application-groups + + group.com.braze.PushNotifications.PushStories + + + diff --git a/Examples/ObjC/manual-integration-setup.sh b/Examples/ObjC/manual-integration-setup.sh index a4c4279aa2..3e57c87583 100755 --- a/Examples/ObjC/manual-integration-setup.sh +++ b/Examples/ObjC/manual-integration-setup.sh @@ -20,7 +20,7 @@ if [ ! -f "manual-integration-setup.sh" ]; then fi # Constants -url="https://github.com/braze-inc/braze-swift-sdk/releases/download/7.0.0/braze-swift-sdk-prebuilt.zip" +url="https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/braze-swift-sdk-prebuilt.zip" echo "→" "Cleaning up" rm -rf braze-swift-sdk-prebuilt diff --git a/Examples/Swift/Sources/PushNotifications/Info.plist b/Examples/Swift/Sources/PushNotifications/Info.plist new file mode 100644 index 0000000000..d7f8ec8ca2 --- /dev/null +++ b/Examples/Swift/Sources/PushNotifications/Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + PushNotifications + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + UIBackgroundModes + + remote-notification + + UILaunchStoryboardName + LaunchScreen + + diff --git a/Examples/Swift/Sources/PushNotifications/PushNotifications.entitlements b/Examples/Swift/Sources/PushNotifications/PushNotifications.entitlements new file mode 100644 index 0000000000..9cad402b51 --- /dev/null +++ b/Examples/Swift/Sources/PushNotifications/PushNotifications.entitlements @@ -0,0 +1,12 @@ + + + + + aps-environment + development + com.apple.security.application-groups + + group.com.braze.PushNotifications.PushStories + + + diff --git a/Examples/Swift/manual-integration-setup.sh b/Examples/Swift/manual-integration-setup.sh index a4c4279aa2..3e57c87583 100755 --- a/Examples/Swift/manual-integration-setup.sh +++ b/Examples/Swift/manual-integration-setup.sh @@ -20,7 +20,7 @@ if [ ! -f "manual-integration-setup.sh" ]; then fi # Constants -url="https://github.com/braze-inc/braze-swift-sdk/releases/download/7.0.0/braze-swift-sdk-prebuilt.zip" +url="https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/braze-swift-sdk-prebuilt.zip" echo "→" "Cleaning up" rm -rf braze-swift-sdk-prebuilt diff --git a/Package.swift b/Package.swift index 17dfe8b21a..2b9fb8a433 100644 --- a/Package.swift +++ b/Package.swift @@ -47,8 +47,8 @@ let package = Package( targets: [ .binaryTarget( name: "BrazeKit", - url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.0.0/BrazeKit.zip", - checksum: "ae890a450e889ad57399b36835af98699defc02da2fff9bd1756b8963d545eb5" + url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazeKit.zip", + checksum: "195f3f728352a8fb507256042be3cb4efc9bd46afb76d57353e5951ed501d267" ), .target( name: "BrazeKitResources", @@ -65,18 +65,18 @@ let package = Package( ), .binaryTarget( name: "BrazeLocation", - url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.0.0/BrazeLocation.zip", - checksum: "eb32a3834e0dc09df3c069647b6ac1e1fbce5cb1fed49050325277e12c7773cd" + url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazeLocation.zip", + checksum: "9ce1f72d725cb37b4c509fc84766e6eaf07429bce4e7164481833843003c2987" ), .binaryTarget( name: "BrazeNotificationService", - url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.0.0/BrazeNotificationService.zip", - checksum: "ebf1ca2501212501853662a3853b498063a3f2b46ae2de072262666c4f731e24" + url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazeNotificationService.zip", + checksum: "e80f97bb21bc9f661471205c18f8f873f274bc3cad73b2eb44e4f1f66f05dd10" ), .binaryTarget( name: "BrazePushStory", - url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.0.0/BrazePushStory.zip", - checksum: "26e3ff1284d14a2d2c7c9d02ee08745bc0babd662ed5067b306ff8aa90d4bb3d" + url: "https://github.com/braze-inc/braze-swift-sdk/releases/download/7.1.0/BrazePushStory.zip", + checksum: "4ad33d8106c285b3e33c274cfee112542a489abf8284eff330dab12c49766c16" ), .target( name: "BrazeKitCompat", diff --git a/README.md b/README.md index 1bb9a3c8ad..17e5aa7b8c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- Version: 7.0.0 + Version: 7.1.0