New to Kinvey? Get started today with this tutorial or attend our getting started webinar.

API Version Differences


3.21.2 to 3.21.3 API Differences

No Differences


3.21.1 to 3.21.2 API Differences

Deletions

  • DataStore.clearCache(query:)
  • DataStore.hashValue

Additions

  • DataStore.clearCache(query:cascadeDelete:)
  • DataStore.hash(into:)

3.21.0 to 3.21.1 API Differences

No Differences


3.20.4 to 3.21.0 API Differences

Additions

  • BooleanExpression.expression
  • CascadeDeletable.cascadeDelete(executor:)
  • CascadeDeleteExecutor.cascadeDelete(_:)
  • Expression.ExpressionProducer
  • ExpressionType.expression
  • Foundation.expression
  • MapKit.MKCircle.expression
  • MapKit.MKPolygon.expression
  • Query.booleanExpression
  • Query.sort(_:ascending:)
  • Swift.expression

3.20.3 to 3.20.4 API Differences

Additions

  • Foundation.NSPredicate.mongoDBQuery(optimize:)
  • Foundation.toISO8601()
  • GeoPoint.encode(to:)
  • GeoPoint.init(from:)

3.20.2 to 3.20.3 API Differences

No Differences


3.20.1 to 3.20.2 API Differences

No Differences


3.20.0 to 3.20.1 API Differences

No Differences


3.19.0 to 3.20.0 API Differences

Deletions

  • Client.init(appKey:appSecret:accessGroup:apiHostName:authHostName:schema:options:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encrypted:schema:options:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:options:completionHandler:)
  • Client.initialize(appKey:appSecret:instanceId:accessGroup:encrypted:schema:options:completionHandler:)
  • Client.initialize(appKey:appSecret:instanceId:accessGroup:encryptionKey:schema:options:completionHandler:)
  • User.refresh(anotherUser:)

Additions

  • Client.init(appKey:appSecret:accessGroup:apiHostName:authHostName:schema:compactCacheOnLaunch:options:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encrypted:schema:compactCacheOnLaunch:options:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:compactCacheOnLaunch:completionHandler:)
  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:compactCacheOnLaunch:options:completionHandler:)
  • Client.initialize(appKey:appSecret:instanceId:accessGroup:encrypted:schema:compactCacheOnLaunch:options:completionHandler:)
  • Client.initialize(appKey:appSecret:instanceId:accessGroup:encryptionKey:schema:compactCacheOnLaunch:options:completionHandler:)
  • User.refresh(anotherUser:refreshCustomProperties:)
  • User.setValue(_:forUndefinedKey:)
  • UserSocialIdentity.encode(to:)
  • UserSocialIdentity.init(from:)

Deprecations

  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:compactCacheOnLaunch:completionHandler:)

Breaking Changes

  • Client.initialize(appKey:appSecret:accessGroup:apiHostName:authHostName:encryptionKey:schema:completionHandler:)

3.18.5 to 3.19.0 API Differences

Deletions

  • BoolValue.hashValue
  • DoubleValue.hashValue
  • Entity.hashValue
  • FloatValue.hashValue
  • IntValue.hashValue
  • StringValue.hashValue
  • User.hashValue

3.18.4 to 3.18.5 API Differences

Additions

  • Client.initialize(appKey:appSecret:instanceId:accessGroup:encrypted:schema:options:completionHandler:)
  • EmailVerification.encode(to:)
  • EmailVerification.init()
  • EmailVerification.init(from:)
  • EmailVerification.init(realm:schema:)
  • EmailVerification.init(value:schema:)
  • PasswordReset.encode(to:)
  • PasswordReset.init()
  • PasswordReset.init(from:)
  • PasswordReset.init(realm:schema:)
  • PasswordReset.init(value:schema:)

3.18.3 to 3.18.4 API Differences

Additions

  • Entity.translate(property:)
  • Foundation.NSException.init(error:)
  • Persistable.translate(property:)

3.18.2 to 3.18.3 API Differences

Additions

  • BoolValue.encode(to:)
  • BoolValue.hash
  • BoolValue.hashValue
  • BoolValue.init(from:)
  • BoolValue.isEqual(_:)
  • DoubleValue.encode(to:)
  • DoubleValue.hash
  • DoubleValue.hashValue
  • DoubleValue.init(from:)
  • DoubleValue.isEqual(_:)
  • FloatValue.encode(to:)
  • FloatValue.hash
  • FloatValue.hashValue
  • FloatValue.init(from:)
  • FloatValue.isEqual(_:)
  • IntValue.encode(to:)
  • IntValue.hash
  • IntValue.hashValue
  • IntValue.init(from:)
  • IntValue.isEqual(_:)
  • ListSupportedValue.Value
  • ListSupportedValue.init(_:)
  • ListSupportedValue.value
  • StringValue.encode(to:)
  • StringValue.hash
  • StringValue.hashValue
  • StringValue.init(from:)
  • StringValue.isEqual(_:)

3.18.1 to 3.18.2 API Differences

Additions

  • DataStore.options
  • List.encode(to:)
  • List.init(from:)

3.18.0 to 3.18.1 API Differences

Deletions

  • LiveStream.==(_:_:)
  • LiveStream.follow(userId:options:following:onNext:onStatus:onError:)
  • LiveStream.grantStreamAccess(userId:acl:options:completionHandler:)
  • LiveStream.hashValue
  • LiveStream.init(name:client:)
  • LiveStream.listen(options:listening:onNext:onStatus:onError:)
  • LiveStream.post(message:options:completionHandler:)
  • LiveStream.send(userId:message:retry:options:completionHandler:)
  • LiveStream.stopListening(options:completionHandler:)
  • LiveStream.streamAccess(userId:options:completionHandler:)
  • LiveStream.unfollow(userId:options:completionHandler:)
  • LiveStreamAcl.decode(from:)
  • LiveStreamAcl.decodeArray(from:)
  • LiveStreamAcl.groups
  • LiveStreamAcl.init(from:)
  • LiveStreamAcl.init(subscribers:publishers:groups:)
  • LiveStreamAcl.mapping(map:)
  • LiveStreamAcl.objectForMapping(map:)
  • LiveStreamAcl.publishers
  • LiveStreamAcl.refresh(from:)
  • LiveStreamAcl.subscribers
  • LiveStreamAclGroups.mapping(map:)
  • LiveStreamAclGroups.objectForMapping(map:)
  • LiveStreamAclGroups.publishers
  • LiveStreamAclGroups.subscribers

3.17.1 to 3.18.0 API Differences

Deletions

  • Options.init(client:urlSession:authServiceId:ttl:deltaSet:readPolicy:writePolicy:timeout:clientAppVersion:customRequestProperties:maxSizePerResultSet:)

Additions

  • Acl.decode(from:)
  • Acl.decodeArray(from:)
  • Acl.encode(to:)
  • Acl.init(from:)
  • Acl.refresh(from:)
  • Entity.decode(from:)
  • Entity.decodeArray(from:)
  • Entity.encode()
  • Entity.encode(to:)
  • Entity.init(from:)
  • Entity.refresh(from:)
  • JSONDecodable.decode(from:)
  • JSONDecodable.decodeArray(from:)
  • JSONDecodable.decodeArrayJSONDecodable(from:)
  • JSONDecodable.decodeJSONDecodable(from:)
  • JSONDecodable.decodeMappable(from:)
  • JSONDecodable.decodeMappableArray(from:)
  • JSONDecodable.refresh(from:)
  • JSONDecodable.refreshJSONDecodable(from:)
  • JSONDecodable.refreshMappable(from:)
  • JSONEncodable.encode()
  • JSONEncodable.encodeJSONEncodable()
  • JSONParser.parseDictionaries(from:)
  • JSONParser.parseDictionary(from:)
  • JSONParser.parseObject(_:from:)
  • JSONParser.parseObjects(_:from:)
  • JSONParser.parseUser(_:from:)
  • JSONParser.parseUsers(_:from:)
  • JSONParser.toJSON(_:)
  • LiveStreamAcl.decode(from:)
  • LiveStreamAcl.decodeArray(from:)
  • LiveStreamAcl.init(from:)
  • LiveStreamAcl.refresh(from:)
  • Metadata.decode(from:)
  • Metadata.decodeArray(from:)
  • Metadata.encode(to:)
  • Metadata.init(from:)
  • Metadata.refresh(from:)
  • Options.init(_:client:urlSession:authServiceId:ttl:deltaSet:readPolicy:writePolicy:timeout:clientAppVersion:customRequestProperties:maxSizePerResultSet:)
  • User.decode(from:)
  • User.decodeArray(from:)
  • User.encode()
  • User.encode(to:)
  • User.init(from:)
  • User.refresh(anotherUser:)
  • User.refresh(from:)
  • UserMetadata.encode(to:)
  • UserMetadata.init()
  • UserMetadata.init(from:)
  • UserMetadata.init(realm:schema:)
  • UserMetadata.init(value:schema:)
  • UserStatus.encode(to:)
  • UserStatus.init(from:)

Deprecations

  • <-(_:_:)< code="">
  • CustomEndpoint.Params.init(_:)
  • Entity.init(map:)
  • Entity.mapping(map:)
  • Entity.propertyMapping(_:)
  • Metadata.init(map:)
  • Metadata.mapping(map:)
  • User.init(map:)
  • User.mapping(map:)

3.17.0 to 3.17.1 API Differences

Deprecated

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

3.16.0 to 3.17.0 API Differences

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:)
Got a question?