
#SWIFT CONVERTER 3.2.0 HOW TO#
See our upgrade guide for more information on how to migrate.
#SWIFT CONVERTER 3.2.0 UPDATE#
If you use the Appboy prefix as a filter in your logging tools, you should update it to include Braze. The prefix for SDK logs has changed from Appboy to Braze.If you prefer to continue using a compiled version of the SDK, it can be found through our CDN. For example, if you only use In-App Messages with a custom UI, you can now import our InAppMessage classes and subscribeToInAppMesssage() and Javascript module bundlers such as webpack will remove any unused code. The Braze Web SDK now supports importing individual features and methods as native ES Modules that can be tree-shaken.CDN users must ensure that the URL points to this new file name when upgrading to 4.0. The file name for the bundled version of the SDK has changed to.CDN users must update their loading snippet when upgrading to 4.0. The SDK’s exported object has been renamed from appboy to braze.The appboy-web-sdk, and npm packages are deprecated in favor of the package and will no longer receive updates.See our upgrade guide for more information on how to migrate from v3.Added "type": "module" to the package.json so frameworks like Next.js recognize the SDK as an ES Module.The created field is now set for Card objects when using Content Cards.Removed usages of the nullish coalescing operator for better compatibility with various webpack configurations.Cookies set by the Braze Web SDK now expire after 400 days per the recommendation of the HTTP Working Group’s draft RFC 6265.The SDK will now ignore In-App Messages containing a push prompt Braze Action for users who have already registered for push or whose browser does not support push.) was specified in the initialization options.
#SWIFT CONVERTER 3.2.0 FULL#
Fixed an issue introduced in 4.0.0 where Safari push did not work unless the full baseUrl (e.g.Fixed an issue introduced in 4.0.0 that prevented control in-app message impressions from being logged.Card impressions should be logged using logCardImpressions. Deprecated and changed the obsolete logContentCardsDisplayed method to a no-op.Fixed an issue introduced in 4.0.0 that prevented the SDK from running with certain rollup.js configurations.Fixed an issue introduced in 4.0.0 that incorrectly failed to display valid IAMs with an unknown Braze Action type error.Fixed an issue where calling unregisterPush() when the user is already unregistered would fail to execute the success callback function.This method is equivalent to calling braze.logCardImpressions() with parameter forContentCards = true. Added a method braze.logContentCardImpressions() to log that the user saw the given Content Cards.Added support for Content Cards to evaluate Retry-After headers.Fixed an issue introduced in 4.0.3, where IAM displays could sometimes fail due to an internal race condition.Added the ability to include a custom pathname in the baseUrl initialization option.Added brazeBridge.changeUser(id: string, sdkAuthSignature?: string) to HTML In-App Messages.The Core Animation foundation for scrolling should also provide for some cool future functionality in MarqueeLabel. The timing of gradient and position animations should just work™, even with a custom timing function. However it would be very easy to tweak MarqueeLabel to use a custom timing function by modifying the (private) timingFunctionForAnimationOptions: function to provide a timing function with your custom control points. MarqueeLabel now uses CAMediaTimingFunction when creating its animations, although the external interface for scroll timing still utilizes the standard curve types in UIViewAnimationOptions. Forgot to include the modal-presentation test, but will include that shortly. Cleaned up the demo project, and moved it to a Storyboard.Also edge gradients will not appear when the text fits (even if just barely). Fixes some of the calculation that decides if the label should scroll based on the text length.The scroll duration specified will be the amount of time the label takes to make one scroll cycle. Specifying the length of the scroll is now done either through the scrollDuration property or during initialization, and the duration specified is now less confusing (at least in my opinion).

This means you no longer need to adjust your view positioning to account for the fade length you'd like to use! Note: this will affect how you position MarqueeLabels in their superview! Edge fades are now better integrated, and fade in and out automatically during the scroll animation.

