Skip to content

Releases: adaptyteam/AdaptySDK-iOS

4.0.1

Choose a tag to compare

@x401om x401om released this 17 Jul 10:53
4.0.1
1a70ba1

🐛 Fixed

  • Fixed a crash (freed pointer was not the last allocation) when a placement was served from cache, on Xcode 26.3 / Swift 6.2.4 Release builds. #166
  • Kids Mode: AppTrackingTransparency is no longer imported — AdaptyProfileParameters.Builder.with(appTrackingTransparencyStatus:) is now compiled out under the KidsMode trait (remove the call if you use it).

Full Changelog: 4.0.0...4.0.1

3.17.3

Choose a tag to compare

@x401om x401om released this 17 Jul 18:03
2c73ea4

🐛 Fixed

  • Fixed a crash (freed pointer was not the last allocation) when a placement was served from cache, on Xcode 26.3 / Swift 6.2.4 Release builds.
  • Kids Mode: AppTrackingTransparency is no longer imported — AdaptyProfileParameters.Builder.with(appTrackingTransparencyStatus:) is now compiled out in Adapty_KidsMode builds (remove the call if you use it).

Full Changelog: 3.17.2...3.17.3

4.0.0

Choose a tag to compare

@x401om x401om released this 13 Jul 16:12
4.0.0
4d2898a

🚀 Flow — the successor to Paywalls

4.0.0 introduces Flow, which replaces the Paywall as the core unit of presentation and analytics. A flow can contain multiple screens, with its rendering, navigation, and analytics driven by the new flow runtime. Paywall-centric APIs are renamed to flow-based equivalents (e.g. logShowPaywalllogShowFlow).

👉 Read more about Adapty Flow Builder.
👉 See the migration guide for the full details.

📦 Installation

  • Swift Package Manager only. CocoaPods support has been removed in 4.0.0 (podspecs are no longer published).
  • Add via from: "4.0.0" (up-to-next-major) — stable versions resolve normally, no exact pin needed.

💥 Breaking changes

  • Flow replaces Paywall: Adapty.logShowPaywall(_:)Adapty.logShowFlow(_:); event paywall_showedflow_showed (paywall_builder_id removed).
  • didFinishPurchase is now required. Default auto-dismiss removed so a flow can continue after purchase. AdaptyFlowControllerDelegate conformers must implement it; the SwiftUI .flow(...) / AdaptyFlowView(...) closure is now non-optional.
  • Kids Mode is now a SwiftPM trait. The parallel *_KidsMode products are removed — enable the KidsMode trait on the dependency instead (compiles out IDFA / AdSupport package-wide).
  • Attribution & integrations: AdaptyProfile.AttributionSourceAdaptyAttributionSource; updateAttribution(_:source:) takes a typed AdaptyAttributionSource; setIntegrationIdentifier → variadic typed form.
  • Custom assets: video cases gained trailing resolution: CGSize?; .player now takes AVPlayer (was AVQueuePlayer); .font carries AdaptyUICustomFontAsset instead of a bare UIFont.
  • AdaptyUI error handling: didFailRenderingdidReceiveError (surfaces JS runtime errors via new .jsException); wire event flow_view_did_fail_renderingflow_view_did_receive_error.
  • Temporarily removed App Store promoted in-app purchases during the StoreKit 2 migration — returns in a later 4.x.
  • Minimum iOS version is now 15.
  • CocoaPods support dropped — SPM only.

❗️ Don't forget to update your local fallback file if needed.

Full Changelog: 3.17.2...4.0.0

3.17.2

Choose a tag to compare

@x401om x401om released this 05 Jun 12:15
3.17.2
97e8ac1
  • Kids Mode: the SDK now sends the Apple Search Ads (AdServices) attribution token in Kids Category builds. The ASA token from AAAttribution is anonymized and first-party (not IDFA / AdSupport), so it is permitted under COPPA.
  • Fixed an off-by-one in placement variation weight distribution that could slightly skew A/B traffic allocation at exact weight boundaries.

Full Changelog: 3.17.1...3.17.2

4.0.0-beta.1

4.0.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@x401om x401om released this 01 Jun 09:00
4.0.0-beta.1
5d67c18

⚠️ This is a beta pre-release of Adapty iOS SDK 4.0.0. APIs may still change before the stable 4.0.0.

🚀 Flow — the successor to Paywalls

4.0.0 introduces Flow, which replaces the Paywall as the core unit of presentation and analytics. A flow can contain multiple screens, with its rendering, navigation, and analytics driven by the new flow runtime. Paywall-centric APIs are renamed to flow-based equivalents (e.g. logShowPaywalllogShowFlow, paywall_showedflow_showed).

👉 Read more about Adapty Flow Builder.
👉 See the Adapty docs for details and the migration guide.

📦 Installation

  • Swift Package Manager only. CocoaPods support has been removed in 4.0.0 (podspecs are no longer published).
  • This is a pre-release: pin the exact version, e.g. .exact("4.0.0-beta.1"). SPM does not resolve beta versions through from: / up-to-next-major rules.

💥 Breaking changes

Major release with public API changes across the core SDK and AdaptyUI. Highlights:

  • Flow replaces Paywall: Adapty.logShowPaywall(_:)Adapty.logShowFlow(_:); event paywall_showedflow_showed (paywall_builder_id removed).
  • Attribution & integrations: AdaptyProfile.AttributionSourceAdaptyAttributionSource; updateAttribution(_:source:) now takes a typed AdaptyAttributionSource; setIntegrationIdentifier(key:value:) → variadic, typed setIntegrationIdentifier(_:).
  • Custom assets (AdaptyUICustomVideoAsset / fonts): video cases gained a trailing resolution: CGSize? parameter; the .player case now takes AVPlayer (was AVQueuePlayer); the .font case now carries an AdaptyUICustomFontAsset (default color / letter spacing / line height) instead of a bare UIFont.
  • AdaptyUI error handling: callback didFailRenderingdidReceiveError (now also surfaces JS runtime errors via the new AdaptyUIError.jsException / AdaptyUIBuilderError.jsException case); the plugin wire event flow_view_did_fail_renderingflow_view_did_receive_error.
  • Temporarily removed support for App Store promoted in-app purchases (shouldAddStorePayment(for:) delegate + AdaptyDeferredProduct) during the StoreKit 2 migration — it will return in a later 4.x release.
  • Minimal iOS Version is now 15.
  • CocoaPods support dropped — SPM only.

❗️ Don't forget to update your local fallback file if needed.

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

3.17.1

Choose a tag to compare

@x401om x401om released this 27 May 17:10
3.17.1
9f019d1
  • Added AdaptyProfile.appliedAttributionSources: [AttributionSource] — identifiers of attribution sources applied to the profile and available for segmentation. Use AttributionSource.appleAds for comparison against the known Apple Search Ads identifier.

Full Changelog: 3.17.0...3.17.1

3.17.0

Choose a tag to compare

@x401om x401om released this 14 May 10:34
3.17.0
4c316ff
  • AdaptyUI: the Action.openURL case now carries an in: AdaptyWebPresentation parameter (externalBrowser / inAppBrowser). Default handlers honor it via SFSafariViewController for inAppBrowser and UIApplication.open for externalBrowser.
  • Various bugfixes and stability improvements.

⚠️ Breaking Changes

  • AdaptyUI.Action.openURL signature changed from openURL(url: URL) to openURL(url: URL, in: AdaptyWebPresentation). Update your AdaptyPaywallControllerDelegate / AdaptyPaywallView action handlers to accept the new parameter.

Full Changelog: 3.15.7...3.17.0

3.15.7

Choose a tag to compare

@x401om x401om released this 25 Mar 10:53
3.15.7
b751c42
  • Fixed support for Xcode 26.4 (#152)

3.15.6

Choose a tag to compare

@x401om x401om released this 20 Mar 13:41
3.15.6
d4f5e51

AdaptyUI: fixed a glitch where a video with transparency could blink in some cases

3.15.5

Choose a tag to compare

@x401om x401om released this 18 Feb 12:37
3.15.5
dc64673
  • Fixed backend errors handling.
  • Fix Swift 6 Sendability mismatch for closure parameters crossing isolation boundaries (#148).

Full Changelog: 3.15.4...3.15.5