Enhancements
- Full text search supports searching for prefix only. Eg. "description TEXT 'alex*'" (#6860)
- Unknown protocol errors received from the baas server will no longer cause the application to crash if a valid error action is also received. Unknown error actions will be treated as an ApplicationBug error action and will cause sync to fail with an error via the sync error handler. PR #6885)
Fixed
- Made binding a
sync::Session
exception safe so if aMultipleSyncAgents
exception is thrown you can safely tear down the sync client. (PR #6868, since v13.4.1)
Breaking changes
- The
WebSocketObserver
interface in the syncSocketProvider
API now takes aWebSocketError
enum/std::string_view
for thewebsocket_closed_handler()
instead of aStatus
. Implementers of platform networking should make sure all their error handling is expressed in terms of the WebSocketError enum. (PR #6859) Status
no longer holds astd::error_code
forSystemError
's (PR #6869)- C API no longer has a special type for sync error codes. Instead sync errors codes are converted to
realm_error_t
(PR #6869) - WebSocket specific error codes are no longer in the ErrorCodes enum or C API. (PR #6869)
ProtocolError
is no longer astd::error_code
enum and is no longer directly exposed by the sync error API (PR #6869)- The ClientError enum/
std::error_code
in the sync client has been removed in favor of a simplified error set using Status/ErrorCodes (PR #6846). - SyncError now contains a Status to hold the error information from the sync client instead of a
std::error_code
/std::string
(PR #6824). - Remove App::Config::local_app_[name|version] parameters. They were not used by the server and were not needed internally also.
- C API: return whether or not an error is present from realm_get_async_error() (#6897)
Compatibility
- Fileformat: Generates files with format v23. Reads and automatically upgrade from fileformat v5.
Internals
- Removed some unused files/directories and dogless dependency. (PR #6884)