Skip to content
This repository has been archived by the owner on Nov 8, 2021. It is now read-only.

Releases: realm/realm-object-server

Release 3.16.2

14 Dec 18:31
Compare
Choose a tag to compare

Enhancements

  • None

Fixed

  • Fixed an issue in logging where hi-res timestamps were visible, e.g., log message ... 0=123456 1=789012345.
  • Fix of a bug that made the server crash with message: "Assertion failed: m_unblocked_changesets_from_downstream_byte_size == 0". (#2658)

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.16.1

12 Dec 19:32
Compare
Choose a tag to compare

Enhancements

  • None

Fixed

  • A segfault related to state size calculation could cause frequent restarts of the server. (Issue #1374)
  • When deleting a reference Realm, partial views associated with it will now be removed. (Issue #1021)
  • Fixed a bug that would prevent a user from logging in with two different authentication providers. This could be observed if two JWT providers were setup and produced identical user ids (e.g. a user and admin JWT providers where an admin user can login with both) or when users were manually created by calling the AuthService.createOrUpdateUser API. (Issue #1372)
  • Fixed several log messages printing not providing contextual variable information. For example, the message "Permissions: The user with ID '%1' is not a member of any roles that have Class-level permissions. This is usually an error." will now print the the user id instead of "%1".
  • Fixed a an issue that caused the server crash with message: "Assertion failed: m_unblocked_changesets_from_downstream_byte_size == 0". (Issue #2641).

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.16.0

04 Dec 20:50
Compare
Choose a tag to compare

Enhancements

  • The server will now periodically "vacuum" random Realms by freeing unused reserved space and likely reduce the file size on disk. By default, this will happen every 120 seconds, but that can be configured by providing a value for vacuumIntervalInSeconds in server.start(). If you want to disable the feature, specify a negative value. (realm-sync/#2497)
  • Exposed an endpoint to update the status of users. Currently, only two statuses are supported - active and suspended. When a user is suspended, they won't be able to authenticate against ROS or obtain new access tokens. Their existing access tokens will not be revoked, so they will still be able to synchronize until the access tokens expire (typically 6 minutes). (realm-sync/#2578)
  • The log compaction algorithm has been improved, and should produce better results. It should also consume less memory while running.
  • The error message emitted when trying to open a Realm with an invalid path has been enhanced to provide more relevant information. Previously, the message was a static text, describing all scenarios which could produce invalid Realm paths (it used to start with path is invalid. It should start with a slash, consist of Latin letters...) and now it will specify what exactly is wrong with the path, for example: The path '/~/cæt' (decoded: '/f52bcb1b8dc752ece60db5fe283820df/cæt') is invalid: encountered an invalid segment: 'cæt'. Error: segment is not composed of alphanumeric characters. (#1287)

Fixed

  • URL for documentation in the servers home page has been fixed to point to the correct Platform doc page. (#1153)
  • An index out of range error in query based sync is fixed. The bug would manifest itself with a "list ndx out of range" error.
  • The LIMIT predicate was previously run before object level permissions were applied, which could result in less results being returned than were actually available.
  • If encryption was enabled, decrypted pages were not released until the file was closed, causing excessive usage of memory. Pages are now reclaimed periodically, ensuring that memory usage stays low.
  • The server will now notify clients that a client reset has occurred, even if the Realm is opened at the time. Previously clients would not be notified until the Realm was closed and reopened.
  • Fixed an issue that could result in a shutdown of the sync-worker with the message "...PartialSync: Violation of no-merge invariant...".

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.15.0

21 Nov 09:26
Compare
Choose a tag to compare

Release 3.15.0 (2018-11-21)

Enhancements

  • Added support for the latest Node.js 10 LTS.
  • In cases of very high load the server could run out of memory. It's now possible to configure the maximum size of the backlog of changes that the server will accept before it starts rejecting connections. Clients will wait 5 min after a rejection before connecting again.
    The SyncServiceConfig.maxUploadBacklog should therefore be configured so high that the server will be busy handling the queued work for at least 5 min.

Fixed

  • Fixed an issue that could cause ROS to unnecessarily delete its entire cache folder when a user is deleted rather than just the files associated with that user. (#1348, since v3.1.3)
  • Fixed an issue that would prevent the proxy from connecting to the sync service if a request arrives before the sync service has started. This would have resulted in log messages, similar to HTTP upgrade failed (service did not respond properly) ... "detail":"Timeout occured upgrading websocket request". (#1349, since v2.0.7)

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.14.0

16 Nov 20:07
Compare
Choose a tag to compare

Enhancements

  • Added two new config parameters - verifyRealmsAtStart and runPrecheckInChildProcess to replace the now deprecated skipVerifyRealmsAtStart and disablePrecheckInChildProc in the SyncService configuration object. The defaults for the new parameters are false, so unless explicitly configured, consistency checks of the partial Realms will not be run on startup. The old parameters will continue to be respected but will be removed in a future version. (#1338)
  • Expose SyncServiceConfig.maxFilesInCache to control the max number of files that will be kept in the sync server cache. (#1340)

Fixed

  • Clarified the wording around an error that was occasionally being logged at a warn level with a message starting with Internal sync error. The error message now starts with Unable to connect to a Realm and there's a clarification that this is a transient error that the server will recover automatically from. Also, reduced the log level to detail to properly reflect the ephemeral nature of the error. (#1291)

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.13.1

12 Nov 16:57
Compare
Choose a tag to compare

Enhancements

  • None

Fixed

  • When using query-based sync, fatal error messages in the server log containing name=realm::_impl::CorruptedPartialFileAssoc, message=Expired reference version could be seen. This situation could be experienced if a reference file was accessed both through query-based sync and regular sync (i.e., through Realm Studio), and the server decided to perform log compaction on the reference file. This has now been fixed.
  • A set of bugs that could lead to bad changesets were fixed. An example of an assertion, caused by these bugs, is: [realm-core-5.10.0] Assertion failed: ndx < size() with (ndx, size()) = [742, 742]. An example of an error in a log file, caused by these bugs, is: ERROR: Client[1]: Connection[1]: Session[14]: Failed to parse, or apply received changeset: ndx out of range.

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.13.0

06 Nov 08:46
Compare
Choose a tag to compare

Enhancements

  • None

Fixed

  • Fix some cases where a ROS cluster on top of Consul will return 503 Service Unavailable responses even though there was nothing wrong. Additionally, we've added more information when returning 503 responses, so it's easier to diagnose which service is causing problems.
  • The Realm Object Server will now store all Realms it opens under the data/realms folder. Previously it stored some of the files under the documents folder of the currently logged in user or in the Realm Object Server folder where ROS is running from. The Realms in the old location (Documents/Realm Object Server and ROS-install-folder/Realm Object Server) can be safely deleted to reclaim some space.

Breaking changes

  • None

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.12.4

25 Oct 17:29
Compare
Choose a tag to compare

Release 3.12.4 (2018-10-25)

Enhancements

  • Reduced verbosity of some log messages.

Fixed

  • A bug in log compaction of link lists was fixed. This bug would lead to errors of the type "index out of range" or "ndx < size()".

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.12.2

18 Oct 17:19
Compare
Choose a tag to compare

Enhancements

  • Added syncServiceConfigOverride callback to BasicServer's start params to allow customizing the default values for the sync service config properties without having to add all services manually. (#1303)

Fixed

  • Added ability to override enableRealmStateSizeReporting setting to false using an endpoints annotation.

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues

Release 3.12.1

17 Oct 16:47
Compare
Choose a tag to compare

Enhancements

  • The vacuum command is enhanced to take options history-type and bump-realm-version.

Fixed

  • Avoid crashing the server when compaction is requested for a file whose history type is not yet set to server (realm/realm-sync#2492).

Compatibility

Installation & rollback instructions

Please see the Realm Docs for installation, upgrade and rollback instructions.

Notable known issues