Skip to content

Releases: dropbox/SwiftyDropbox

10.0.0-beta.3

29 Jun 19:50
Compare
Choose a tag to compare
10.0.0-beta.3 Pre-release
Pre-release

Installation:

  • CocoaPods: specify version 10.0.0-beta.3 in your Podfile.
       use_frameworks!
       target 'MyApp' do
          pod 'SwiftyDropbox', '~> 10.0.0-beta.3'
       end
  • Swift Package Manager: use the "Up to next major version" option and specify 10.0.0-beta.3.

Features of the new version of the SDK:

  • The new version of the SDK is fully compatible with Objective-C, allowing seamless integration and interoperability with existing Objective-C codebases.
  • The previous dependency on Alamofire has been eliminated in the new version of the SDK, as it now includes native networking capabilities. This means that there are no longer any external dependencies.
  • The new version of the SDK introduces support for background sessions, enabling tasks to be performed in the background even when the app is not foregrounded. Additionally, this support extends to an arbitrary number of app extensions.
  • The new version of the SDK provides helpful examples of utilizing background session functionality in TestSwiftyDropbox, showcasing a few usage scenarios and showing how to incorporate this feature effectively into third party projects.
  • In the previous version of the SDK, serialization errors could lead to app crashes. In the new version of the SDK, serialization errors are now instead propagated to the application calling the SDK, resulting in a more stable and reliable app experience. There is a new case in the CallError enum, .serializationError, available in route completion handlers.
  • Stone now generates SDK code based on Jinja templates. This approach is significantly more maintainable than the previous string concatenation approach.
  • Unit test coverage has been significantly increased.
  • Integration tests from the previous version of the SDK are still applicable and are used in the new version of the SDK, ensuring that existing integration scenarios can be maintained and validated.
  • The new version of the SDK offers an example of integrating with SwiftUI projects, in TestSwiftyDropbox.
  • It is now possible to mock API responses in the SDK, facilitating the writing of tests that simulate different API behaviors and scenarios, ultimately enhancing the robustness of their own testing process.

Breaking changes:

  • The new version of the SDK no longer supports Carthage as a dependency management option. If you previously relied on Carthage, you will need to migrate to another supported method such as CocoaPods or Swift Package Manager.
  • In the new version of the SDK, it is now necessary to specify the final location for file downloads at the start of the load operation, see download style request. This differs from the previous behavior where the location could be deferred until the completion of the download process.
  • Due to the removal of Alamofire, public Alamofire types have been removed from the new version of the SDK. The SessionDelegate from the previous version of the SDK has been removed without a direct replacement. Alamofire ServerTrustManager in the new version of the SDK does not have a direct replacement. However, you can implement certificate pinning by providing a URL session authentication challenge handler. This allows for custom authentication behaviors while interacting with secure servers. If your workflows relied on these specific features in ways that are no longer implementable, please inform us so that we can better understand and address any potential issues.
  • In the new version of the SDK, SDK classes can no longer be subclassed. If your usage heavily relied on subclassing SDK classes, please let us know so that we can provide alternative solutions or workarounds if possible.
  • Due to the extensive nature of the rewrite and the introduction of new features in the new version of the SDK, when transitioning to the new version of the SDK it is important to perform thorough testing of your codebase. The significant changes and enhancements in the new version of the SDK may introduce subtle behavioral changes or edge cases that were not present in the previous version of the SDK.

9.2.0

14 Mar 15:26
Compare
Choose a tag to compare
  • Generates updated routes for new specs
  • README updates with SwiftUI supporting examples, and examples for apps without app delegates
  • Fixes for use in application extensions
  • Fixes for ascii escaping correctness

9.1.0

11 Oct 16:23
Compare
Choose a tag to compare
  • Support SwiftUI and include SwiftUI TestSwiftyDropbox targets
  • Update routes to latest api spec

9.0.0

30 Aug 22:39
Compare
Choose a tag to compare
  • Update routes to latest API spec
  • Bump iOS deployment targets from 10.0 to 11.0

8.3.0

14 Apr 23:48
Compare
Choose a tag to compare
  • Updates routes to latest API spec
  • Fixes a bug when downloading empty files

8.2.1

29 Dec 19:41
Compare
Choose a tag to compare

Update handwritten routes to use a newer API for finishing batch uploads.

8.2.0

01 Sep 19:21
Compare
Choose a tag to compare

Add public initializers for DropboxClient and DropboxTeamClient so that they can be created with short lived access tokens.

8.1.0

26 Aug 04:27
Compare
Choose a tag to compare

Long-lived access token deprecation.

authorizeFromController methods are now deprecated.
If you are still using these, please update your app to use authorizeFromControllerV2 call instead.

See https://dropbox.tech/developers/migrating-app-permissions-and-access-tokens

8.0.1 Release

06 Aug 03:02
Compare
Choose a tag to compare

Fix Swift Package Manager release to work with Catalyst

8.0.0 Release

05 Aug 02:08
Compare
Choose a tag to compare

Support Alamofire 5

  • Increased minimum requirements to iOS 10.0+, OSX 10.12+, Swift 5.1+