Skip to content

Releases: owncloud/ios-sdk

Release Version 12.0 (June 2023)

21 Jun 08:24
254cbac
Compare
Choose a tag to compare
  • 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)

01 Aug 07:38
Compare
Choose a tag to compare
  • OCAppIdentity: add .hostAppBundleIdentifier "storage" property

Release Version 11.10 (May 2022)

19 May 08:26
26fbb1e
Compare
Choose a tag to compare

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)

18 Mar 13:36
Compare
Choose a tag to compare

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)

24 Dec 13:11
1093eca
Compare
Choose a tag to compare

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)

03 Dec 10:37
1093eca
Compare
Choose a tag to compare

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)

23 Sep 07:29
11.7.1
6417702
Compare
Choose a tag to compare

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)

03 Aug 18:48
11.7.0
Compare
Choose a tag to compare

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)

24 Jun 09:16
11.6.1
9ec25a8
Compare
Choose a tag to compare

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

Release Version 11.6.0 (May 2021)

25 May 08:03
11.6.0
3bc0e20
Compare
Choose a tag to compare

11.6 version

  • Bookmarks
    • ItemResolution: enumerates bookmarks to resolve Local IDs to items and a bookmark
  • Connection
    • add connection validator flags support: "clear-cookies" to control clearing cookies when entering the connection validator, off by default
    • correctly handle Service Unavailable errors when the true reason is the unavailability of external storage
    • improved Maintenance Mode detection and handling
    • HTTP: add "Original-Request-ID" header to allow tracing of retried requests
  • Authentication
    • add OCAuthenticationBrowserSession that allows redirection of authentication settings to browsers with custom scheme
    • provide simplified version for mibrowser scheme as OCAuthenticationBrowserSessionMIBrowser
  • Database Update for improved search capabilities
    • new ownerUserName, lastModifiedDate, syncActivity columns
    • introduce migration with progress reporting and error when initiated from an extension
    • add simplified database versioning that allows retrieval and comparison in the app
  • Core
    • uploads: bugfixes in conflict resolution
    • item scrubbing to fix forever spinning items
    • allow limiting result counts for OCQuerys
    • ItemResolution: enumerates bookmarks to resolve Local IDs to items and a running core
    • extend OCQueryConditions with new fields
  • Class Settings
    • simplify parameter names
    • add subcategory and label metadata key
    • allow expansion of flat parameters in complex structures (supported for MDM and Branding (app-side))
  • Measurements (new): allow benchmarking and logging of actions across different components, starting with OCQueries
  • CancelActions (new): new container that allows to encapsulate a cancel action, so it can be passed around and code be injected from different places
  • Logging: allow logging of file operations
  • bugfixes in Sync Engine, Process Manager, Item Policies, Claims, QueryConditions, Imports, Core Manager, Item Deserialization, Logging