Assets 4

Improvements

  • Adding basic support for command line apps (#324)
  • Replace logger library dependency XCGLogger in favor of SwiftyBeaver and OSLog (#325)
  • Reduce unused space in the cache file during launch. New optional parameter named compactCacheOnLaunch for the Client.initialize() method with the default value true (#327)

Bugfixes

  • Codable support for Social Identities (#323)
  • Bugfix for crash when a non-objc property is set. Please override the User.refresh(anotherUser: refreshCustomProperties:) method in your User subclass if you have non-objc properties in your subclass (#326)

Deprecated

  • None

Breaking Changes

  • None

@heyzooi heyzooi released this Sep 21, 2018 · 21 commits to master since this release

Assets 4

Improvements

  • Support for iOS 12 / Swift 4.2 / Xcode 10 (#321)

Bugfixes

  • None

Deprecated

  • None

Breaking Changes

  • None

@heyzooi heyzooi released this Sep 20, 2018 · 26 commits to master since this release

Assets 4

Improvements

  • None

Bugfixes

  • Codable support for EmailVerification and PasswordReset metadata objects (#319)
  • Storing refresh token from the correct source (#320)
  • Adding an overload method for the instanceId and encrypted parameters (#322)

Deprecated

  • None

Breaking Changes

  • None

@heyzooi heyzooi released this Sep 6, 2018 · 36 commits to master since this release

Assets 4

Improvements

  • None

Bugfixes

  • Access to User.encode() changed from public to open (#316)
  • User.refresh() should not update authentication tokens (#317)
  • Large memory consumption during DataStore.pull() calls (#318)

Deprecated

  • None

Breaking Changes

  • None

@heyzooi heyzooi released this Aug 24, 2018 · 44 commits to master since this release

Assets 4

Improvements

  • Support for list of primitive values for Codable (314)

Bugfixes

  • Cache deletes were doing cascade deletes on objects referenced by other objects (#315)

Deprecated

  • None

Breaking Changes

  • None

@heyzooi heyzooi released this Aug 1, 2018 · 51 commits to master since this release

Assets 4

Improvements

  • Support List<T> for Swift.Codable entities (#310)

Bugfixes

  • Inconsistent cache results bugfix (#312)
  • Bugfix for crashes related to ThreadSafeReference usage during transactions (#313)

Deprecated

  • DataStore<T>.deltaSet is now deprecated. Please use DataStore<T>.options instead

Breaking Changes

  • None

@heyzooi heyzooi released this Jul 23, 2018 · 66 commits to master since this release

Assets 4

Improvements

  • None

Bugfixes

  • Bugfix to persist Swift.Codable in cache (#309)
  • Bugfix for cascade deletes during updates (#306)

Deprecated

  • None

Breaking Changes

  • P2P Live Stream is not support any more (#307)

@heyzooi heyzooi released this Jul 12, 2018 · 79 commits to master since this release

Assets 4

Improvements

Bugfixes

  • Fixed memory leak in DataStore.removeAll() (#304)

Deprecated

  • ObjectMapper is now deprecated in favor of Swift.Codable

Breaking Changes

  • Entity.CodingKeys renamed to Entity.EntityCodingKeys to avoid confusions when subclassing Entity
  • DataStore<MyEntity>.collection() now can throw errors, so a try is now required, for example: try DataStore<MyEntity>.collection()
  • Options() constructor now can throw erros, so a try is now required, for example: try Options(timeout: 120)
  • Custom types used in CustomEndpoint calls now requires to provide implement the JSONDecodable protocol

@heyzooi heyzooi released this Jun 26, 2018 · 88 commits to master since this release

Assets 4

Improvements

  • Returning support for tvOS on CocoaPods (#299)
  • New Error Kinvey.Error.blRuntimeError to handle BL runtime errors (#301)

Bugfixes

  • None

Deprecated

  • Client.ping(completionHandler:)
  • Push.unRegisterDeviceToken(_:)

Breaking Changes

  • None

@heyzooi heyzooi released this Jun 15, 2018 · 102 commits to master since this release

Assets 4

Improvements

  • Better code coverage (#297)

Bugfixes

  • None

Deprecated

  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encrypted:schema:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:completionHandler:)
  • CustomEndpoint.CompletionHandler
  • CustomEndpoint.execute(_:params:client:completionHandler:)
  • DataStore.pull(_:deltaSetCompletionHandler:deltaSet:completionHandler:)
  • DataStore.purge(_:completionHandler:)
  • DataStore.push(timeout:completionHandler:)
  • DataStore.sync(_:deltaSetCompletionHandler:deltaSet:completionHandler:)
  • Entity.Key.acl
  • Entity.Key.entityId
  • Entity.Key.metadata
  • FileStore.download(_:storeType:ttl:completionHandler:)
  • FileStore.download(_:ttl:completionHandler:)
  • FileStore.find(_:ttl:completionHandler:)
  • FileStore.refresh(_:ttl:completionHandler:)
  • FileStore.remove(_:completionHandler:)
  • FileStore.upload(_:data:ttl:completionHandler:)
  • FileStore.upload(_:image:imageRepresentation:ttl:completionHandler:)
  • FileStore.upload(_:path:ttl:completionHandler:)
  • FileStore.upload(_:stream:ttl:completionHandler:)
  • Metadata.Key.authtoken
  • Metadata.Key.entityCreationTime
  • Metadata.Key.lastModifiedTime
  • User.PersistableUsernameKey
  • User.changePassword(newPassword:completionHandler:)
  • User.exists(username:client:completionHandler:)
  • User.forgotUsername(email:client:completionHandler:)
  • User.get(userId:client:completionHandler:)
  • User.login(authSource:_:createIfNotExists:authServiceId:client:completionHandler:)
  • User.lookup(_:completionHandler:)
  • User.resetPassword(usernameOrEmail:client:completionHandler:)
  • User.save(newPassword:completionHandler:)
  • User.sendEmailConfirmation(forUsername:client:completionHandler:)
  • User.signup(username:password:user:client:completionHandler:)

Breaking Changes

  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encrypted:schemaVersion:migrationHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schemaVersion:migrationHandler:)
  • Client.timeoutInterval
  • DataStore.collection(_:deltaSet:autoPagination:client:tag:validationStrategy:)
  • DataStore.count(_:readPolicy:completionHandler:)
  • DataStore.find(_:deltaSet:readPolicy:completionHandler:)
  • DataStore.find(_:readPolicy:completionHandler:)
  • DataStore.find(byId:readPolicy:completionHandler:)
  • DataStore.getInstance(_:deltaSet:client:tag:validationStrategy:)
  • DataStore.group(count:countType:condition:readPolicy:completionHandler:)
  • DataStore.group(keys:avg:avgType:condition:readPolicy:completionHandler:)
  • DataStore.group(keys:initialObject:reduceJSFunction:condition:readPolicy:completionHandler:)
  • DataStore.group(keys:max:maxType:condition:readPolicy:completionHandler:)
  • DataStore.group(keys:min:minType:condition:readPolicy:completionHandler:)
  • DataStore.group(keys:sum:sumType:condition:readPolicy:completionHandler:)
  • DataStore.pull(_:deltaSet:deltaSetCompletionHandler:completionHandler:)
  • DataStore.remove(_:writePolicy:completionHandler:)
  • DataStore.remove(byId:writePolicy:completionHandler:)
  • DataStore.remove(byIds:writePolicy:completionHandler:)
  • DataStore.removeAll(_:completionHandler:)
  • DataStore.removeById(_:writePolicy:completionHandler:)
  • DataStore.save(_:writePolicy:completionHandler:)
  • FileStore.getInstance(client:)
  • FileStore.getInstance(fileType:client:)
  • Metadata.AuthTokenKey
  • Metadata.EctKey
  • Metadata.LmtKey
  • Options.init(_:)
  • User.destroy(userId:hard:client:completionHandler:)
  • User.find(query:client:completionHandler:)
  • User.login(redirectURI:micURL:authServiceId:client:)
  • User.presentMICViewController(redirectURI:timeout:forceUIWebView:authServiceId:client:completionHandler:)
  • User.resetPassword(email:client:completionHandler:)
  • User.resetPassword(username:client:completionHandler:)