Skip to content

Commit

Permalink
Version 11.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
hokstuff committed Sep 23, 2024
1 parent f6b0226 commit ad6ec0f
Show file tree
Hide file tree
Showing 75 changed files with 726 additions and 213 deletions.
6 changes: 3 additions & 3 deletions BrazeKit.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'BrazeKit'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Braze Main SDK library providing support for analytics and push notifications.'

s.homepage = 'https://braze.com'
Expand All @@ -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/10.3.1/BrazeKit.zip',
:sha256 => '5bba5938771c81c6bbc1909098f749487c901f950ab16c84d01bcf38e2b8fe82'
:http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/11.0.0/BrazeKit.zip',
:sha256 => '0a236bea81a47f3a3835d09c1e631d45039bd4baefca1a791b3c0085a415145f'
}

s.swift_version = '5.0'
Expand Down
8 changes: 4 additions & 4 deletions BrazeKitCompat.podspec
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Pod::Spec.new do |s|
s.name = 'BrazeKitCompat'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Compatibility library for users migrating from AppboyKit.'

s.homepage = 'https://braze.com'
s.documentation_url = 'https://braze-inc.github.io/braze-swift-sdk/documentation/brazekitcompat/'
s.license = { :type => 'Commercial' }
s.authors = 'Braze, Inc.'

s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '10.3.1' }
s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '11.0.0' }

s.swift_version = '5.0'
s.ios.deployment_target = '12.0'
Expand All @@ -18,8 +18,8 @@ Pod::Spec.new do |s|
s.public_header_files = 'Sources/BrazeKitCompat/include/*.h'
s.static_framework = true

s.dependency 'BrazeKit', '10.3.1'
s.dependency 'BrazeLocation', '10.3.1'
s.dependency 'BrazeKit', '11.0.0'
s.dependency 'BrazeLocation', '11.0.0'

s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
end
8 changes: 4 additions & 4 deletions BrazeLocation.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'BrazeLocation'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Braze location library providing support for location analytics and geofence monitoring.'

s.homepage = 'https://braze.com'
Expand All @@ -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/10.3.1/BrazeLocation.zip',
:sha256 => 'cd85ecb7157f7133461794d6609ef2c052ed983d038c75a78f1cf0c120f819fd'
:http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/11.0.0/BrazeLocation.zip',
:sha256 => '4962245ad3fc46efe1ae4d08926ce7cedc6bb54db42fbc37824a4f316cd3bfbe'
}

s.swift_version = '5.0'
Expand All @@ -21,7 +21,7 @@ Pod::Spec.new do |s|
s.vendored_framework = 'BrazeLocation.xcframework'
s.resource_bundles = { 'BrazeLocation' => ['Sources/BrazeLocationResources/Resources/**/*'] }

s.dependency 'BrazeKit', '10.3.1'
s.dependency 'BrazeKit', '11.0.0'

s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
end
6 changes: 3 additions & 3 deletions BrazeNotificationService.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'BrazeNotificationService'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Braze notification service extension library providing support for Rich Push notifications.'

s.homepage = 'https://braze.com'
Expand All @@ -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/10.3.1/BrazeNotificationService.zip',
:sha256 => '178183799f3b4f6b2f4b484152ec2cf577e761e7b43da3002a754a179ba87290'
:http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/11.0.0/BrazeNotificationService.zip',
:sha256 => 'dfbcbdb4e37789a229743be1009d9f00811cd51b80d6c0d00f4ded2e75c85d76'
}

s.swift_version = '5.0'
Expand Down
6 changes: 3 additions & 3 deletions BrazePushStory.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'BrazePushStory'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Braze notification content extension library providing support for Push Stories.'

s.homepage = 'https://braze.com'
Expand All @@ -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/10.3.1/BrazePushStory.zip',
:sha256 => 'bf807697dbe65acb25ae780d2815a39b32742592998f80f5120e3af7ff1b8132'
:http => 'https://github.com/braze-inc/braze-swift-sdk/releases/download/11.0.0/BrazePushStory.zip',
:sha256 => '8e3579612aed0d7c16092683bd4fe99fe3ba6e8aa8a1bec103dd001b5e0891d5'
}

s.swift_version = '5.0'
Expand Down
6 changes: 3 additions & 3 deletions BrazeUI.podspec
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Pod::Spec.new do |s|
s.name = 'BrazeUI'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Braze-provided user interface library for In-App Messages and Content Cards.'

s.homepage = 'https://braze.com'
s.documentation_url = 'https://braze-inc.github.io/braze-swift-sdk/documentation/brazeui/'
s.license = { :type => 'Commercial' }
s.authors = 'Braze, Inc.'

s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '10.3.1' }
s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '11.0.0' }

s.swift_version = '5.0'
s.ios.deployment_target = '12.0'
Expand All @@ -18,7 +18,7 @@ Pod::Spec.new do |s|
s.resource_bundles = { 'BrazeUI' => ['Sources/BrazeUI/Resources/**/*'] }
s.static_framework = true

s.dependency 'BrazeKit', '10.3.1'
s.dependency 'BrazeKit', '11.0.0'

s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
end
8 changes: 4 additions & 4 deletions BrazeUICompat.podspec
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Pod::Spec.new do |s|
s.name = 'BrazeUICompat'
s.version = '10.3.1'
s.version = '11.0.0'
s.summary = 'Compatibility UI library for users migrating from AppboyUI.'

s.homepage = 'https://braze.com'
s.documentation_url = 'https://braze-inc.github.io/braze-swift-sdk/documentation/brazeui/'
s.license = { :type => 'Commercial' }
s.authors = 'Braze, Inc.'

s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '10.3.1' }
s.source = { :git => 'https://github.com/braze-inc/braze-swift-sdk.git', :tag => '11.0.0' }

s.swift_version = '5.0'
s.ios.deployment_target = '12.0'
Expand All @@ -18,8 +18,8 @@ Pod::Spec.new do |s|
s.resource_bundles = { 'BrazeUICompat' => 'Sources/BrazeUICompat/*/Resources/**/*.*' }
s.static_framework = true

s.dependency 'BrazeKitCompat', '10.3.1'
s.dependency 'SDWebImage', '>= 5.19.0', '< 6'
s.dependency 'BrazeKitCompat', '11.0.0'
s.dependency 'SDWebImage', '>= 5.19.7', '< 6'

s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' }
s.pod_target_xcconfig = {
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## 11.0.0

##### Breaking
- Adds support for [Swift 6 strict concurrency checking](https://developer.apple.com/documentation/swift/adoptingswift6).
- Relevant public Braze classes and data types now conform to the `Sendable` protocol and can be safely used across concurrency contexts.
- Main thread-only APIs are now marked with the `@MainActor` attribute.
- We recommend using Xcode 16.0 or later to take advantage of these features while minimizing the number of warnings generated by the compiler. Previous versions of Xcode may still be used, but some features may generate warnings.
- When integrating push notification support manually, you may need to update the `UNUserNotificationCenterDelegate` conformance to use the `@preconcurrency` attribute to prevent warnings.
- Applying the `@preconcurrency` attribute on protocol conformance is only available in Xcode 16.0 or later. Reference our sample integration code [here](https://github.com/braze-inc/braze-swift-sdk/tree/main/Examples/Swift/Sources/PushNotifications-Manual).
- As of Xcode 16.0, Apple has not yet audited the `UNUserNotificationCenterDelegate` protocol for Swift concurrency.
```swift
extension AppDelegate: @preconcurrency UNUserNotificationCenterDelegate {
// Your existing implementation
}
```
- Updates the `SDWebImage` dependency in `BrazeUICompat` and sample apps to `5.19.7+` to support Swift 6 strict concurrency checking.

#### Fixed
- Fixes the push authorization status reporting to display the proper push token status on the Dashboard when a user has not explicitly accepted or declined push permissions.

## 10.3.1

##### Fixed
Expand Down
2 changes: 2 additions & 0 deletions Examples/ObjC/Examples-Manual.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1904,6 +1904,7 @@
SDKROOT = auto;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
XROS_DEPLOYMENT_TARGET = 1.0;
Expand Down Expand Up @@ -1962,6 +1963,7 @@
SDKROOT = auto;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
XROS_DEPLOYMENT_TARGET = 1.0;
Expand Down
10 changes: 6 additions & 4 deletions Examples/ObjC/Examples-SwiftPM.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@
mainGroup = D8CC2266D736859D7DD9A8FF;
packageReferences = (
9928D5150C45879A982BA1C6 /* XCRemoteSwiftPackageReference "SDWebImage" */,
90D8318C2DB3CED6610DD38C /* XCLocalSwiftPackageReference "/Users/jerielng/swift-sdk/.build/braze/release/braze-swift-sdk" */,
B0CAEC5E933F542260FE1612 /* XCLocalSwiftPackageReference "/Users/daniel.hok/Desktop/swift-sdk/.build/braze/release/braze-swift-sdk" */,
);
projectDirPath = "";
projectRoot = "";
Expand Down Expand Up @@ -1427,6 +1427,7 @@
SDKROOT = auto;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
XROS_DEPLOYMENT_TARGET = 1.0;
Expand Down Expand Up @@ -1552,6 +1553,7 @@
SDKROOT = auto;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_VERSION = 5.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
XROS_DEPLOYMENT_TARGET = 1.0;
Expand Down Expand Up @@ -2115,15 +2117,15 @@
repositoryURL = "https://github.com/SDWebImage/SDWebImage";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 5.19.0;
minimumVersion = 5.19.7;
};
};
/* End XCRemoteSwiftPackageReference section */

/* Begin XCLocalSwiftPackageReference section */
90D8318C2DB3CED6610DD38C /* XCLocalSwiftPackageReference "/Users/jerielng/swift-sdk/.build/braze/release/braze-swift-sdk" */ = {
B0CAEC5E933F542260FE1612 /* XCLocalSwiftPackageReference "/Users/daniel.hok/Desktop/swift-sdk/.build/braze/release/braze-swift-sdk" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = "/Users/jerielng/swift-sdk/.build/braze/release/braze-swift-sdk";
relativePath = "/Users/daniel.hok/Desktop/swift-sdk/.build/braze/release/braze-swift-sdk";
};
/* End XCLocalSwiftPackageReference section */

Expand Down
30 changes: 30 additions & 0 deletions Examples/ObjC/Sources/PushNotifications/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>PushNotifications</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.braze.PushNotifications.PushStories</string>
</array>
</dict>
</plist>
2 changes: 1 addition & 1 deletion Examples/ObjC/manual-integration-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ if [ ! -f "manual-integration-setup.sh" ]; then
fi

# Constants
url="https://github.com/braze-inc/braze-swift-sdk/releases/download/10.3.1/braze-swift-sdk-prebuilt.zip"
url="https://github.com/braze-inc/braze-swift-sdk/releases/download/11.0.0/braze-swift-sdk-prebuilt.zip"

echo "" "Cleaning up"
rm -rf braze-swift-sdk-prebuilt
Expand Down
6 changes: 6 additions & 0 deletions Examples/Swift/Examples-CocoaPods.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
345CA2282BFEFED98328C0C2 /* Readme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6992ACA4C973FAF6333EE4B2 /* Readme.swift */; };
34C9C566ACB7B6220C782866 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5A56AB422F8DA782A8D2B6FD /* LaunchScreen.storyboard */; };
356FD93DCAEAD68D24E91795 /* InAppMessageInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D93378C85712C1E5E9146B7 /* InAppMessageInfoViewController.swift */; };
3781F2BE6289AA47C84F66EB /* AppDelegate+Xcode16.swift in Sources */ = {isa = PBXBuildFile; fileRef = E52769C8F4926DE1AE9B5C40 /* AppDelegate+Xcode16.swift */; };
383D757BFC1CFD0BE5D70CAB /* MockImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1099A7C7E5E89E130751B24C /* MockImage.swift */; };
3848E121BD7880E965B1E928 /* Readme.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6742114C06FC93D4AA30B5B /* Readme.swift */; };
3C6B1FC5F61A52BDC162A342 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0340E1FFDDBC0C9D72FCD4D4 /* Assets.xcassets */; };
Expand Down Expand Up @@ -96,6 +97,7 @@
67058DC19EFF4F37D190035A /* Credentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0078638D97BB480D82B18D6C /* Credentials.swift */; };
684401812C4C2490603788C1 /* FullWidthSlideupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C74A8AB0317373366057E4 /* FullWidthSlideupView.swift */; };
6A1B61950E0EEE8F2CC58222 /* MockImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1099A7C7E5E89E130751B24C /* MockImage.swift */; };
6B11762CE968AA3C64156187 /* AppDelegate+Xcode16.swift in Sources */ = {isa = PBXBuildFile; fileRef = E52769C8F4926DE1AE9B5C40 /* AppDelegate+Xcode16.swift */; };
6BBEF5F38216AE455D0DD78F /* Readme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56B8597B8B1BE2497CEFD038 /* Readme.swift */; };
6CE1D3089C764A51A5747648 /* SDWebImageGIFViewProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20ACDCAF82FAFB8B4915FF5D /* SDWebImageGIFViewProvider.swift */; };
6D0FFAC9BD9D9E6A49827977 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BBBD41BB997EBF5820D819F /* AppDelegate.swift */; };
Expand Down Expand Up @@ -462,6 +464,7 @@
D6742114C06FC93D4AA30B5B /* Readme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Readme.swift; sourceTree = "<group>"; };
D6D87B0B28882DFD35A2BE4B /* InAppMessageUI-Customization.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "InAppMessageUI-Customization.app"; sourceTree = BUILT_PRODUCTS_DIR; };
DE3608B9E460175A349CDB87 /* Analytics.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = Analytics.app; sourceTree = BUILT_PRODUCTS_DIR; };
E52769C8F4926DE1AE9B5C40 /* AppDelegate+Xcode16.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+Xcode16.swift"; sourceTree = "<group>"; };
EB96485E099438DAB9547DF5 /* PushNotificationsContentExtension.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = PushNotificationsContentExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
EC4AEEA68D47995F66CD4034 /* ContentCardUI.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = ContentCardUI.app; sourceTree = BUILT_PRODUCTS_DIR; };
F224F57B3C4BE13C161148B0 /* SDWebImageGIFViewProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SDWebImageGIFViewProvider.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -536,6 +539,7 @@
isa = PBXGroup;
children = (
0BA4A3B91B682BDF5707A9B8 /* AppDelegate.swift */,
E52769C8F4926DE1AE9B5C40 /* AppDelegate+Xcode16.swift */,
56301FA4B15B6867A6EC6713 /* Readme.swift */,
);
name = "PushNotifications-Manual";
Expand Down Expand Up @@ -1898,6 +1902,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3781F2BE6289AA47C84F66EB /* AppDelegate+Xcode16.swift in Sources */,
10E6DC8D2BCBC3BEB9A57C5C /* AppDelegate.swift in Sources */,
B623DADAA2CD790DE1B3FBF6 /* Credentials.swift in Sources */,
584387A3A80A86D5F630ABBE /* MockImage.swift in Sources */,
Expand Down Expand Up @@ -1936,6 +1941,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
6B11762CE968AA3C64156187 /* AppDelegate+Xcode16.swift in Sources */,
D043379496CD796896B44512 /* AppDelegate.swift in Sources */,
8D3BC628AF159AB7C8F52527 /* Credentials.swift in Sources */,
139780D805B7B80896DAA823 /* MockImage.swift in Sources */,
Expand Down
Loading

0 comments on commit ad6ec0f

Please # to comment.