Skip to content

Breaking Changes, Bug Fixes and Public Spec Updates

Compare
Choose a tag to compare
@scobbe scobbe released this 17 Feb 19:44
· 481 commits to master since this release

Breaking Changes

We apologize for the breaking changes here, but a few classes and methods have been renamed in the latest version of the SDK, which will break your existing integrations. These changes reflect a change in naming philosophy to conform to platform-specific (here, Obj-C) standards, over our Dropbox API standards.

Here are the interface-breaking name changes:

Basic use cases:

  • DropboxClient class --> DBUserClient
  • DropboxTeamClient class --> DBTeamClient
  • DropboxClientsManager class --> DBClientsManager
  • DBTransportClient class --> DBTransportDefaultClient
  • DBError class --> DBRequestError
  • response: method for installing handlers --> setResponseBlock:
  • progress: method for installing progress handlers --> setProgressBlock:
  • unlinkClients method (in DBClientsManager) --> unlinkAndResetClients

Advanced use cases:

  • setupWithAppKey:transportClient method for customizing networking behavior --> setupWithTransportConfig: which takes a DBTransportDefaultConfig wrapper class around the networking parameters
  • All analogous setUpWith... methods (for Desktop, Team, and Multi-User) have been updated likewise.

There were several other renamings, but those shouldn't affect usage of the SDK by external parties.

We know these breaking changes can be a pain – sorry for the inconvenience! Hopefully, it should be a quick refactor in your existing code, and will make things clearer going forward, as we adopt a more consistent, understandable naming convention.

If you run into issues, please don't hesitate to reach out in the Issues section of our GitHub page.

Bug fixes

  • DB prefix more standardized now (removed Dropbox prefix), and name-collision likely names like DBBase have been renamed.
  • Fixed DBTask cancellation exception bug (now implements suspend, start, resume).
  • Compilation times much faster now (implementation logic has been consolidated into only a few files now).
  • Support locale in OAuth flow (defaults to current locale on device).
  • Fixed bug where cancel handler isn't executed when offline.
  • Fixed open Unions throwing exception for unseen field bug.
  • Fixed warnings when integrating with non-ARC project.
  • README updated and now up-to-date.
  • Example projects updated and now up-to-date.
  • Separated transport layer and generated/handwritten layers out more cleanly.

Spec update

Files namespace:

  • Added Sha256HexHash alias.
  • Added content_hash to FileMetadata.
  • Added upload_api_rate_limit feature attribute to upload_session/start, upload_session/append_v2, upload_session/append, upload, upload_session/finish_batch.
  • Added duplicated_or_nested_paths to RelocationError and removed from RelocationBatchError.
  • Added properties api_group attribute and is_preview attribute to properties/*.
  • Added disable_viewer_info and enable_viewer_info to CommitInfoWithProperties.
  • Added link_metadata to SharedFileMetadata.
  • Added ViewerInfoPolicy union.
  • Added no_explicit_access to MemberSelector.
  • Deprecated change_file_member_access.
  • Added update_file_member route and UpdateFileMemberArgs struct.

Sharing namespace:

  • Added viewer_info_policy, disable_viewer_info, enable_viewer_info to FolderPolicy.
  • Added team, is_inside_team_folder, path_lower to SharedLinkPolicy.
  • Added link_metadata, policy, shared_folder_id, time_invited to SharedFolderMetadata.
  • Added actions, link_settings, viewer_info_policy to ShareFolderArg and removed default values from policies in ShareFolderArg.
  • Added viewer_info_policy, link_settings to UpdateFolderPolicyArg.

Stone Cfg namespace:

  • Added attribute api_group, is_preview.
  • Removed attributes alpha_group, beta_group.

Team namespace:

  • Added joined_on, persistent_id to MemberProfile.
  • Added team_member_id, external_id to UserSelectorArg.
  • Added TeamMemberId, MemberExternalId, GroupExternalId, ResellerId aliases.
  • Added company_managed, system_managed to GroupManagementType.
  • Added TimeRange.
  • Added archive_in_progress to TeamFolderStatus, TeamFolderIdArg.
  • Added BaseTeamFolderError.
  • Added folder_name_reserved to TeamFolderCreateError.
  • TeamFolderRenameError, TeamFolderArchiveError, BaseTeamFolderError, TeamFolderPermanentlyDeleteError now extend BaseTeamFolderError.
  • Added folder_name_reserved to TeamFolderRenameError.
  • Added GroupSelectorWithTeamGroupError.
  • GroupMemberSelectorError, GroupMembersSelectorError now extends GroupSelectorWithTeamGroupError.
  • Removed alpha from alpha/groups/*.
  • GroupDeleteError, GroupUpdateError, GroupMembersAddError now extends GroupSelectorWithTeamGroupError.
  • Added members_not_in_team, users_not_found to GroupMembersAddError.
  • Added joined_on to TeamMemberProfile.
  • Added member_persistent_id, duplicate_member_persistent_id, persistent_id_disabled, new_persistent_id, persistent_id_disabled, persistent_id_used_by_other_user to MemberSelectorError.