Breaking Changes, Bug Fixes and Public Spec Updates
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:
DropboxClientclass -->DBUserClientDropboxTeamClientclass -->DBTeamClientDropboxClientsManagerclass -->DBClientsManagerDBTransportClientclass -->DBTransportDefaultClientDBErrorclass -->DBRequestErrorresponse:method for installing handlers -->setResponseBlock:progress:method for installing progress handlers -->setProgressBlock:unlinkClientsmethod (inDBClientsManager) -->unlinkAndResetClients
Advanced use cases:
setupWithAppKey:transportClientmethod for customizing networking behavior -->setupWithTransportConfig:which takes aDBTransportDefaultConfigwrapper 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
DBprefix more standardized now (removedDropboxprefix), and name-collision likely names likeDBBasehave been renamed.- Fixed
DBTaskcancellation exception bug (now implementssuspend,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.