Skip to content

@realm-ci realm-ci released this Jun 7, 2019 · 0 commits to 1e1d6951976836189f6401c7dd6d78e188625f4e since this release

Changes since 3.21.1:

Enhancements

  • [GraphQL Service]: Added new properties to the NamedSubscription object to align it with realm-js version 2.26.0. Particularly, these relate to the expiration of subscriptions.
  • [GraphQL Service]: Added an ability to specify timeToLive (in ms) for a query-based subscription. This only works for named subscriptions.
  • [GraphQL Service]: Added the ability to update an existing query-based subscription. To do so, pass in update: true and the name of the subscription to the createXXXSubscription mutation.
  • [Permissions Service]: Added two config options to the permissions service constructor to allow disabling permission reflection and observing the management Realms. These should not be used unless advised by the Realm support team.
  • [Sync Server]: Improved the performance of query-based sync with many readers.
  • Decreased the size of the npm module.

Fixed

  • Fixed a bug that could cause ROS to attempt to write to a socket that has been closed, resulting in Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed being output in the log and the process terminating.
  • Fixed a race condition that could result in ROS consuming 100% CPU after a user has been deleted.
  • [GraphQL Service]: Fixed an issue when using Query-based Sync that would result in JS value must be of type 'object', got (undefined) when creating a subscription without a name.

Breaking Changes

  • Removed the following API because they no longer have any effect on the server:
    • The shouldCompactRealmsAtStart and shouldPerformPartialSyncAtStart properties from BasicServer's config.
    • The sync.realm.io/enable-debug-mode, sync.realm.io/should-perform-partial-sync-at-start, sync.realm.io/disable-precheck-in-child-proc, and sync.realm.io/skip-verify-realms-at-start annotations from KubernetesSyncWorker.
    • The shouldCompactRealmsAtStart, shouldPerformPartialSyncAtStart, skipVerifyRealmsAtStart, disablePrecheckInChildProc, verifyRealmsAtStart, and runPrecheckInChildProcess properties from the SyncService config object.

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2

@bmunkholm bmunkholm released this May 1, 2019

Release 3.21.0 (2019-04-10)

Changes since 3.20.1:

Enhancements

  • Added support for a new way to quickly download a Full Realm file and to automatically resolve client-reset type errors. Client SDKs need to be updated to take advantage of this feature. Keep an eye on the SDK's changelog for more information.
  • Added support for including user specified backlinks in a query based subscription. Client SDKs need to be updated to take advantage of this feature. Keep an eye on the SDK's changelog for more information.

Fixed

  • None

Compatibility

Installation & rollback instructions

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

Notable known issues

  • Encrypting existing realm files is not possible. Only fresh deployments with zero state can use realms encryption. We're working on a migration path for existing deployments.
Assets 2

@realm-ci realm-ci released this Apr 26, 2019 · 0 commits to 99d1ed73888825f0435b2b17ba1a9507945f4aae since this release

Changes since 3.21.0:

Enhancements

  • None

Fixed

  • A regression was introduced in version 3.21.0 that could cause the server to decide to perform full history compaction on every upload, causing severe performance degradation. (Issue #2962, since 3.21.0)

Compatibility

Installation & rollback instructions

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

Notable known issues

  • Encrypting existing realm files is not possible. Only fresh deployments with zero state can use realms encryption. We're working on a migration path for existing deployments.
Assets 2

@realm-ci realm-ci released this Apr 4, 2019 · 0 commits to d564f338216afa45fbc7f5ad18a27a44de9ba3f0 since this release

Changes since ROS 3.19.0:

IMPORTANT: This version will perform an automatic file-format upgrade of certain files used for Query Based Sync. The server cannot be downgraded without restoring those files from backup. So it's recommended to do a full backup before the server is upgraded.

Enhancements

  • Reduced the performance impact of authenticating users with invalid credentials when using the username/password provider.
  • A new argument for the Sync Service has been added. numAuxPsyncThreads enables multithreading during query-based sync fan-out operations. Specify the number of additional worker threads desired in addition to the main worker thread. Defaults to 0 (disabled).
  • The GraphQL service has two new mutations added: create**type**(input: **type**, updatePolicy) and create**type**s(input: [**type**], updatePolicy) where updatePolicy is optional and may be NEVER, ALL, and MODIFIED. These correspond to the now deprecated mutations add**type**, update**type** and diffUpdate**type**. If updatePolicy is not specified, NEVER will be used. (Issue #1496)
  • The server no longer rejects subscriptions based on queries with distinct and/or limit clauses.
  • Realm files used for query based sync have had all non-essential state removed, to reduce the file size on disk and improve query based sync performance. In some scenarios, this improves the latency of query-based sync by up to 25%, depending on the user's schema.
  • Various performance improvements for queries results in faster query based sync performance.
  • Memory usage has been decreased when using encryption.
  • Performance when using encryption has been significantly improved.
  • Commit performance is improved for realms with a long lifetime and many changes due to better handling of the free space in the file.
  • Added a warning when the nickname auth provider is started to more prominently alert developers of the fact it's not a secure provider.

Fixed

  • Fixed an issue that could cause the GraphQL service to end up always throwing an Internal Server Error for a particular Realm. This could happen when a reference Realm is deleted, then an access token, issued before the deletion, is used to connect to it via query-based sync. (PR #1504 Since v3.16.6)
  • A Realm file deletion (including deletion of partial files as a result of history compaction) could cause various kinds of crashes, and even corruption within the server. (since v3.0.0).
  • A bug was fixed where if a user had canCreate but not canUpdate privileges on a class, the user would be able to create the object, but not actually set any meaningful values on that object, despite the rule that objects created within the same transaction can always be modified. (Issue #2574, since v3.0.0).
  • A segfault could occur under certain circumtances when queries compared two integer fields.
  • Fixed an issue that could prevent the server from starting with a message like Cannot read property 'findIndex' of undefined. This was caused when explicitly specifying the auth providers as opposed to using the runtime configuration API. (Issue #1506, Since 3.19.0)

Compatibility

Installation & rollback instructions

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

NOTE: This version will perform an automatic file-format upgrade of certain files used for Query Based Sync. The server cannot be downgraded without restoring those files from backup. So it's highly recommended to do a full backup before the server is upgraded.

Notable known issues

  • Encrypting existing realm files is not possible. Only fresh deployments with zero state can use realms encryption.
Assets 2

@realm-ci realm-ci released this Mar 15, 2019 · 0 commits to b2f3ecfd54b85608dafbc7e8630ba6bbb53da221 since this release

Enhancements

  • Updated some services to inherit from event emitter to emit events when processing some requests. The updated services are:
    • AuthService
      • userCreated emitted with argument { user: User, totalUsers: number } when a user is created.
    • SyncProxyService
      • socketConnected emitted with argument { path: string, socketId: number, userAgent: string } when a socket connection is established with the sync service.
      • socketDisconnected emitted with argument { path: string, socketId: number, userAgent: string } when a socket connection is terminated.
    • RealmDirectoryService
      • realmCreated emitted with argument { type: RealmType, path: string, syncLabel: string } when a new Realm is created.
  • Added 2 more buckets for changeset_integrated histogram.
  • Added an option to AuthService called allowAnyUserToRetrieveUserInfo that enables any registered user to call the
    GET /auth/users/:user_id and GET /auth/users/:provider/:provider_id HTTP APIs, either directly or with SDK methods
    such as the JavaScript SDK's Realm.Sync.User.retrieveAccount method.
  • Reduced the performance impact of authenticating users with invalid credentials when using the username/password provider.

Fixed

  • Fixed a bug that would prevent the GraphQL Service's diffUpdate method from working with lists of primitive values.

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2

@realm-ci realm-ci released this Feb 20, 2019 · 0 commits to 44ecdec7e7522e5185f994de396e12ad43489bdb since this release

Enhancements

  • None

Fixed

  • Fixed a TypeScript build error in ros init-created applications. (Issue #413)

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2

@realm-ci realm-ci released this Feb 14, 2019 · 0 commits to b49f264a1ea9d95ea7e59ba50e87d76b59c73ad4 since this release

Breaking

  • Node 6 support has been deprecated and we'll drop it completely in a future version. We recommend upgrading to node 10 LTS.

Enhancements

  • None

Fixed

  • None

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2

@realm-ci realm-ci released this Feb 11, 2019 · 0 commits to e5e5e848c087c281dadafd6fc783386e5717d18d since this release

Enhancements

  • None

Fixed

  • Fixed an issue where metric names would be incorrectly decoded and the following message would be printed in the logs: Failed processing a metric: URI is not defined.

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2

@realm-ci realm-ci released this Feb 11, 2019 · 0 commits to fc0b399d0bcf805f3cd664ac0bcb830a140ae291 since this release

Enhancements

  • Added a new operation to the Kubernetes Sync Worker - copyfile with operation arguments { "file": "sync-worker-file-path" }. Executing it will copy a sync worker file while the server is running and ensure that the original and the copy have matching md5 checksums. Additionally, if fileUploadFunction is provided in the config, the file will be compressed using gzip and the function will be invoked with the archive as argument. (PR #1447)
  • Added a new operation to the Kubernetes Sync Worker - quarantine with operation arguments { "file": "sync-worker-file-path" }. Executing it will stop the server, move the file to a quarantine folder within the sync worker's data directory, then start the server again. Generally, it should be used if the server is failing to start due to a corrupt file. Should be used with great care as quarantining the file will result in client resets. (PR #1453)
  • Cleaned up some log messages in the sync proxy service and added a connection counter metric, ros_sync_proxy_connections_total.

Fixed

  • Fixed the url of the errors thrown by ROS to point to a valid docs page. (Issue #1394)

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2

@realm-ci realm-ci released this Feb 4, 2019 · 0 commits to 3f55d8b8934fe778477aedf00d830bcbf7fd6b0a since this release

Enhancements

  • None

Fixed

  • Downgrades kubernetes-client dependency to 4.0.1, which will fix startup errors when deploying to kubernetes environments.

Compatibility

Installation & rollback instructions

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

Notable known issues

Assets 2
You can’t perform that action at this time.