In addition, frozen Realms no longer pin the transaction logs used to drive change notifications. Pinning old versions (either with frozen Realms or with Realms on background threads that simply don't get refreshed) now only prevents overwriting the data needed by that version, rather than the data needed by that version and all later versions.The Realm file is now automatically shrunk if the file size is larger than needed to store all of the data.Realm files written by this version cannot be read by older versions of Realm. This version bumps the Realm file format version to 23. Carthage release for Swift is built with Xcode 14.2.APIs are backwards compatible with all previous releases in the 10.x.y series.Strings in queries which contained any characters which required multiple bytes when encoded as utf-8 were incorrectly encoded as binary data when serializing the query to send it to the server for a flexible sync subscription, resulting the server rejecting the query ( Core #6350, since 10.22.0).This now results in a client reset instead. The sync client could get stuck in an infinite loop if the server sent an invalid changeset which caused a transform error.Fix a crash when a SSL read successfully read a non-zero number of bytes and also reported an error.Subqueries on indexed properties performed extremely poorly.Converting a local realm to a synced realm would crash if an embedded object was null ( Core #6294, since v10.22.0).Now only the error is passed to the callback ( PR #8148, since v10.28.0). Errors in async open resulting from invalid queries in initialSubscriptions would result in the callback being invoked with both a non-nil Realm and a non-nil Error even though the Realm was in an invalid state.Fix warnings when building with Xcode 14.3 beta 2.UserPublisher incorrectly bounced all notifications to the main thread instead of setting up the Combine publisher to correctly receive on the main thread.We now unconditionally invoke all of the exactly once, passing ECANCELED to all of them ( PR #8148). This never actually worked correctly, and the callback which was not supposed to be invoked at all sometimes would be. The previously intended and documented behavior was that cancelling an async open would result in the callback associated with the specific task that was cancelled never being called, and all other pending callbacks would be invoked with an ECANCELED error. Cancelling async opens now has more consistent behavior.Async Realm.init() now handles Task cancellation and will cancel the async open if the Task is cancelled ( PR #8148).This information is intended primarily for debugging and logging purposes and may not have a stable format. writeRejected and a non-nil compensatingWriteInfo field which contains information about what was rejected and why. When the server rejects a modification made by the client (such as if the user does not have the required permissions), a SyncError is delivered to the sync error handler with the code. Expose compensating write error information.The visible effects of this are that some errors which previously had unhelpful error messages now include more detail about what went wrong, and App errors now expose a much more complete set of error codes ( PR #8002). The internals of error handling and reporting have been significantly reworked.Add an async sequence wrapper for MongoCollection.watch(), allowing you to do for try await change in collection.changeEvents ( PR #8131).MongoCollection.watch().subscribe(on:) now supports any swift Scheduler rather than only dispatch queues ( PR #8131).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |