- [Setapp Mobile] Removed the activation code and public method previously used for Setapp Mobile apps. This completes the Setapp Mobile sunset and cleans up the remaining legacy code from the Setapp Framework.
- [SetappAI] Fixed SSE event parsing errors for optional fields sequenceNumber and logprobs when using Anthropic models. The issue caused text streaming to fail entirely, making the model appear non-functional to users.
- Setapp AI API now supports audio transcription capability.
- [SetappAI] Fixed issue where multiple simultaneous errors would show multiple error dialogs - now only one dialog is shown per error type.
- [SetappAI] Fixed issue where
.propagateerror handling mode was ignored, causing errors to always show UI dialogs.
- Setapp AI API now supports AI image generation and editing. (Image streaming isn't available yet.)
- [Electron] Added support for the Electron Forge build system in the sample app, alongside the existing electron-builder setup.
- [iOS] Fixed an issue with an incorrect resource bundle type that caused warnings during App Store uploads.
- [Electron] Added Electron Forge build system support for the sample app alongside the existing electron-builder setup.
- Finalized Setapp AI API, providing a stable interface for integrating AI capabilities into your apps.
- Introduced new Setapp AI API to support the next generation of AI features. Stay tuned for upcoming improvements.
- Fixed a rare issue where a developer app might crash while checking the internet connection.
- [iOS] Fixed an issue with data migration to the application support folder, where the migration tool mistakenly removed the old directory in some cases.
- [iOS] Setapp-generated data, such as usage reports, is now stored in the Application Support folder. This prevents internal data from appearing in the Files folder.
- [iOS] In some cases, after you activated Setapp subscription for an app and later opened it, the activation could unexpectedly reset. This update includes a more robust fix than the one introduced in version 4.3.2.
- [macOS] Implemented changes that should prevent occasional crashes when connecting to the Setapp Agent.
- [iOS] In some cases, after you activated Setapp and later opened the app, the activation could unexpectedly reset. We’ve addressed this issue, and it shouldn’t happen again.
- [macOS] Email sharing cooldown logic is now handled by the Setapp Agent.
- [macOS] Fixed double error presentation for apps that have agent.
- [iOS] Added support for distribution via Setapp Mobile with a new
start(_:_:)method for providingSetappConfiguration. - [iOS] Added
SetappManager.isDistributedViaSetapp(_:)utility API to determine if the app is distributed via Setapp Mobile. - [iOS] Setapp Framework can now present permanent messages (activation prompts or issue messages), currently only used when distributed via Setapp Mobile.
- [iOS] Introduced app extensions usage reporting.
- Added
SetappManager.shared.requestPurchaseType(_:)API to determine the app license type.
- [iOS] Enhanced Setapp message alerts with new
isDismissableandonDismissproperties. - [iOS] Improved
SetappManagerstartup process.
- [iOS] Fixed Setapp message options to remain up-to-date when presenting new messages.
- [iOS] Fixed "no common ancestor" crash.
- [Electron] Added x86_64 architecture support to the node.
- Integration via CocoaPods won’t require manual workaround.
- Add PRODUCT_MODULE_NAME folder for headers to resolve issue when project depends on several xcframeworks.
- [Electron] Fixed a crash on app launch on x86_64 architecture.
- [iOS] Fixed a layout issue for Setapp alerts that sometimes caused app crashes.
- Under the hood improvements.
- [Electron] Correct types for TypeScript.
- reCAPTCHA sheet can be dismissed in QR Code Generator.
- Under the hood improvements.
README.mdfile was updated.
- reCAPTCHA sheet layout in QR Code Generator.
- [Electron]
npm installandyarn installnow work correctly.
- Setapp Framework is now built using Xcode 15.
- [iOS] The minimum iOS version supported by Setapp Framework has been increased to
12.0.
- Sample apps that use CocoPods were updated to address a build issue when using Xcode 15.
- [iOS] In order to stay aligned with Apple's latest updates on privacy, we've added a Privacy Manifest. It records the types of data collected by Setapp Framework, and the required reasons APIs. It's stored in the resources bundle (since adding privacy manifests to XCFrameworks with binary libraries currently is not supported) and will be used when generating a privacy report for your app.
- In order to stay aligned with the latest updates from Apple,
Setapp.xcframeworkis now signed starting from this version. This enhancement should improve security and avoid warnings in Xcode 15.
- [iOS] Fixed a layout issue for Setapp alerts. It appeared at compiling with Xcode 15 for iOS 17.
- Missing linker flags added to Sample apps.
- [Electron] Support TypeScript.
- [Electron] Update Node.js version.
- [Electron] Discontinued support for Node.js versions: 14, 15, 17, 19 (supported versions: 16, 18, and all versions >=20).
NSErrorinitialization warning.
- Add
openAIauth scope that allows to make requests through Setapp servers to AI platforms such as OpenAI.
- Xcode 14.2 (and older) compatibility.
- We fully updated a set of sample apps. They are now available for all the test cases. In particular, you can find sample apps for the iOS and macOS platforms; Swift and Objective-C languages; UIKit, AppKit, Mac Catalyst, and SwiftUI interfaces; SPM, CocoaPods, or manual integrations.
- We updated icons for sample apps so that they have dark backgrounds now.
- [iOS] When a user activated an iOS app, the notification on activation sometimes did not fit the screen size. We worked on layout issues and fixed them.
- [iOS] Previously we didn’t handle the blocked subscription case for iOS apps, so we couldn’t explain to users precisely why they could not activate via Setapp. Now we handle this case, and the users know they have blocked subscriptions.
- [iOS] Users with Setapp subscriptions were signed in via Setapp even after app reinstallation. We fixed this, and now they must re-activate the app.
- The Electron sample app on Apple Silicon Macs now works smoothly.
- There was an error in the Setapp Framework integration via CocoaPods, and it’s now fixed.
- Stability improvements.
- [iOS] SPM warnings.
- [Electron] Error while building on Apple Silicon Macs.
- [iOS] Resources bundle integration via SPM.
- [iOS] Diagnostics menu.
- [iOS] Use app display name in activation alerts.
- [iOS] Public key custom name.
- [iOS] SPM warnings.
- Xcode 13 compatibility.
- Activation link options in QR Code Generator.
- Fixed posiible crash when chacking if it's Setapp background session identifier. Deprecated instance method
isSetappBackgroundSessionIdentifierand added a new class method with the same name. - Skip running background URL session tasks when checkng SwiftUI in preview mode.
- Fixed fallback URL in QR Code Generator.
- [iOS] Resources bundle destribution fix.
- [iOS] Support activation type and fallback URL.
- [iOS] New alerts UI in iOS framework.
- License updaded
- Migrate tests to Anka pool.
- Support of resource bundles
- Bundle distribution via SPM and Cocoapods
- Resource bundle CI build
- Fix Xcode 14 warnings and even more warnings (#SET-2167).
- [macOS] Drag and Drop QR code in QR Code Generator (e.g. to iOS Simulator).
- [iOS] Activation issues for various scenarios.
- [iOS] Subscription update via KVO.
- Rename node package from
setapp-frameworkto@setapp/framewrok-wrapper.
- Node.js wrapper & Electron app sample.
- [macOS] New localizations (uk, pl, nl, zh-Hans, ja, ko).
- [macOS] Crash when framework was trying to present an error dialog.
- Add integartion samples.
- Catalyst API became akin to iOS API.
- [macOS] Setapp Desktop app search issues in rare cases.
- Cocoapods integration for Objective-C projects with macOS target lower than 10.15.
- Added missing part about observing Setapp Subscription changes on iOS platform to docs.
- Extended documentation of manual Setapp Framework integration steps.
- Changed default branch to
main.
- Improved CocoaPods integration - no need to modify
SWIFT_INCLUDE_PATHSanymore.
- Improved CocoaPods integration - no need to modify
OTHER_LDFLAGSanymore.
- [macOS] Setapp Desktop app version recognition.
- [macOS]
showReleaseNotesWindowIfNeeded,showReleaseNotesWindow,reportUsageEvent:, andaskUserToShareEmailmethods are now available in Objective-C.
- macOS apps support.
- Improved license storage on iOS platform.
- Catalyst apps support.
- Removed
.applicationUsageReportingvendor authentication scope.
- New method
requestAuthorizationCode(...). Use it to obtain an authorization code for further communication with Vendor API. See the docs for more info and usage examples.
This release contains some breaking API changes. See the New and Changed sections below for details.
- Added completion handlers to the
openmethods. Now, you can get a callback when the Setapp subscription state is resolved. - Added new
viewController(for:)method that returns a simple view controller with the result of resolving a Setapp subscription state.
- Logs: moved log level and handles from the instance to the class level.
- CocoaPods: To support the use of the Simulator on Macs with Apple Silicon, we’ve changed the source binary format from the universal binary (fat) framework to XCFramework. To work with the latest Framework format, you need CocoaPods version 1.9 or later and Xcode version 11.0 or later.
- Apple Silicon support.
- Removed default parameter values in the
SetappConfiguration.initmethod. - Logs: added metadata output on error.
- The
SetappManagerclass now has the explicitstartmethod.
- In rare cases, the iOS app wasn’t activated for Setapp members even if the Framework configuration was correct and the testing went fine. The problem was related with the Framework handling responses from the Setapp system under specific circumstances. Now, in the same situations, the Framework is more stable and the app gets activated.
- The
SetappManager.configurationproperty setter has been deprecated. Use the newstartmethod instead.
- Lowered the minimum supported iOS version to 10.0 (from 10.3).
- Added more logs, so you will know that everything is OK with the Framework setup.
- Slightly improved the subscription handling process. Nothing fancy.
- Fixed iOS Simulator support (Swift header file 😳).
Initial release.