Releases: owncloud/ios-sdk
Releases · owncloud/ios-sdk
Release Version 12.3.0 (September 2024)
Release Version 12.0 (June 2023)
- introducing Data Sources - a new, efficient way to distribute, reuse, filter, combine and route data
- add support for oCIS spaces and Graph API types
- general purpose Resource Manager and Avatar support
- support for roles in sharing
- numerous other new features, improvements and bugfixes (see commit message)
Release Version 11.10.1 (August 2022)
- OCAppIdentity: add .hostAppBundleIdentifier "storage" property
Release Version 11.10 (May 2022)
11.10 version
- upgrade OpenSSL to 1.1.1 and switch from bundled version to SwiftPM (#95)
- NSError+OCNetworkFailure: add .isNetworkTimeoutError convenience property
- NSError+OCError: add new error for request timeouts
- OCConnection
- make better use of the error parameter in HTTP response handling to actions
- increase timeout for COPY requests to 10 minutes - OCSyncActionCopyMove: improve error handling for HTTP timeouts
- OCHostSimulator+Builtin: add new "action-timeout-simulator" that responds to action requests with timeout errors
Release Version 11.9.0 (March 2022)
11.9 version
- Authentication: new type OCAuthenticationDataID
- an ID that's unique for every OCBookmark.authenticationData and changes when the authenticationData is changed
- is attached to OCHTTPRequests and OCHTTPResponses, allowing to determine if a request's "Authorization" is based on a different token
- OCHTTPRequest / OCHTTPResponse
- add authenticationDataID property
- added counter to logged "Authorization" header fields that allow to determine if its contents was changed between requests
- the counter issues a new number for every new and not previously used header field contents
- initial idea was to log the OCAuthenticationDataID, but that could have given hints to its content
- OCAuthenticationMethodOAuth2 / OCAuthenticationMethodOIDC:
- add support for authenticationDataID
- in case of preemptive token renewals, now reloads the secret from keychain and performs another date check before triggering a refresh
- used OCAuthenticationDataID to reschedule/resend HTTP requests that were responded to with a 401 status code and that was sent with another (older) token
- OCAuthenticationMethodBasicAuth
- store authenticationDataID when loading secret
- OCBookmark
- add .authenticationDataID property that returns the OCAuthenticationDataID for the bookmark's authenticationData
- add .user property, storing the last retrieved version of OCConnection.loggedInUser
- use .user property to compose WebDAV endpoint path (fixing owncloud/enterprise#4924 )
- OCChecksumAlgorithm: add convenience method to use OCChecksumAlgorithms for checksum calculations on NSData objects
- Server Locator: allow locating the actual server for a user via webfinger or lookup table
- OCCore+CommandLocalModification: no longer handle failure of -startAccessingSecurityScopedResource as an error, as that may indicate the inputFileURL is not actually security scoped, not that the file can't be accessed. Fixes enterprise#4934.
11.8.1 version
- OCSQL: add collation support via new OCSQLiteCollation class, making it as simple as possible to encapsulate and add collations, avoiding string format conversions (i.e. UTF-8 <-> UTF-16) where possible
- OCSQL: add collation OCSQLiteCollationLocalized (OCLOCALIZED) for "Finder-like" sorting
- OCDatabase+Schema: upgrade schema for metadata to use OCLOCALIZED for item name
- OAuth2 improvements
- add authentication-oauth2.oidc-fallback-on-client-registration-failure (default: true). Allows the automatic fallback to default client_id / client_secret if OpenID Connect Dynamic Client Registration fails with any error.
- store token expiration timespan and - if stored token expiration timespan < (safetyMargin + 20) seconds - no longer preemptively refresh the token within the safety margin
- OCConnection: remove authenticated WebDAV request asking root WebDAV endpoint for D:supported-method-set, instead rely on capabilities to respond with an authentication error if auth credentials are not valid.
- OCBookmark: add first-level support for access to the user.displayName with new property userDisplayName. The property is kept up-to-date by OCConnection, which updates it on every connect, if it was changed
- OCBookmarkManager: fix possible deadlock
11.8 version
- Infinite PROPFIND: add support for dav > propfind > depth_infinity capability
- OCLocale: modular localization system replacing direct system localization calls, allowing overrides via MDM and Branding.plist, adding variable support
- OCCore+FileProvider: add handling for edge case when the database is not available or not open, preventing a hang
- OCCore+ItemList: implement coordinated scan for changes
- synchronizes scans for changes across processes
- prioritizes scans, giving the app highest and the fileprovider second highest priority
- consolidate related log messages under ScanChanges tag (including PollForChanges and UpdateScan)
- OCLock: add support for trying to acquire a lock and immediately returning with the result, with a new OCErrorLockInvalidated error code in case the lock couldn't be acquired
- OCSQLiteDB: disable statement caching in minimum memory configuration
- Browser Session Class: add AWBrowser to simplify configuration for AirWatch browser
- Class Settings: metadata type corrections; no longer output "computed: ''" entries for class settings in the LogIntro if it is the only entry for that MDM parameter
Release Version 11.8.1 (December 2021)
11.8.1 version
- OCSQL: add collation support via new OCSQLiteCollation class, making it as simple as possible to encapsulate and add collations, avoiding string format conversions (i.e. UTF-8 <-> UTF-16) where possible
- OCSQL: add collation OCSQLiteCollationLocalized (OCLOCALIZED) for "Finder-like" sorting
- OCDatabase+Schema: upgrade schema for metadata to use OCLOCALIZED for item name
- OAuth2 improvements
- add authentication-oauth2.oidc-fallback-on-client-registration-failure (default: true). Allows the automatic fallback to default client_id / client_secret if OpenID Connect Dynamic Client Registration fails with any error.
- store token expiration timespan and - if stored token expiration timespan < (safetyMargin + 20) seconds - no longer preemptively refresh the token within the safety margin
- OCConnection: remove authenticated WebDAV request asking root WebDAV endpoint for D:supported-method-set, instead rely on capabilities to respond with an authentication error if auth credentials are not valid.
- OCBookmark: add first-level support for access to the user.displayName with new property userDisplayName. The property is kept up-to-date by OCConnection, which updates it on every connect, if it was changed
- OCBookmarkManager: fix possible deadlock
Release Version 11.8.0 (December 2021)
11.8 version
- Infinite PROPFIND: add support for dav > propfind > depth_infinity capability
- OCLocale: modular localization system replacing direct system localization calls, allowing overrides via MDM and Branding.plist, adding variable support
- OCCore+FileProvider: add handling for edge case when the database is not available or not open, preventing a hang
- OCCore+ItemList: implement coordinated scan for changes
- synchronizes scans for changes across processes
- prioritizes scans, giving the app highest and the fileprovider second highest priority
- consolidate related log messages under ScanChanges tag (including PollForChanges and UpdateScan)
- OCLock: add support for trying to acquire a lock and immediately returning with the result, with a new OCErrorLockInvalidated error code in case the lock couldn't be acquired
- OCSQLiteDB: disable statement caching in minimum memory configuration
- Browser Session Class: add AWBrowser to simplify configuration for AirWatch browser
- Class Settings: metadata type corrections; no longer output "computed: ''" entries for class settings in the LogIntro if it is the only entry for that MDM parameter
Release Version 11.7.1 (September 2021)
11.7.1 version
- support for streaming, infinite PROPFIND to prepopulate accounts and speed up initial discovery
- minimum interval between two scans for changes can now be configured via MDM and serverside via capabilities
- fix crash happening during class settings discovery
- add streaming support to OCXMLParser
Release Version 11.7.0 (July 2021)
11.7 version
- Scan for changes no longer uses the background URL session, so redirects can be fully managed by the SDK
- New class setting to allow configuration of time interval between the end of one to the beginning of the next scan for changes
- Fix crash in protocol conformance check
Release Version 11.6.1 (June 2021)
11.6.1 version
- Certificates
- LetsEncrypt root certificate handling: extend the default certificate renewal acceptance rule to accept a change from DST Root CA X3 / R3 to ISRG Root X1 / R3, provided that the certificate passes system validation
- Class Settings
- dynamically determine which settings to include in the settings snapshot in the log intro
- Key Value Store
- add new semantics for sharing a single Key Value Store instance, based on URL, identifier and owner
- Vault
- switch to new shared KVS semantics to avoid rapid recreation of the KVS where OCVault is used only very briefly