A newer version of this documentation is available.

View Latest
March 16, 2025
+ 12

Couchbase Sync Gateway
This content describes the key features and changes implemented by release 3.0.0 of Couchbase Sync Gateway

One Way Upgrade

The migration to 3.0 configuration is a ONE WAY process — see: Upgrading for more.

3.0.8 — June 2023

Release 3.0.0 — February 2022

Replaced by v3.0.3

Version 3.0.3 includes fixes for several critical issues found in 3.0.0. Therefore v3.0.0 is replaced by v3.0.3. We strongly encourage upgrading to v3.0.3.

New Features

Centralized Persistent Modular Configuration

Centralized Persistent Modular Configuration is a core enhancement that makes it simpler for administrators to configure and manage the Sync Gateway.

This enhancement removes reliance on monolithic JSON configuration files whilst providing a modular and cluster-aware approach to Sync Gateway node configuration.

Basic startup configuration settings bootstrap your Sync Gateway nodes and securely connect them to a Couchbase Server. Configuration of cluster-wide Sync Gateway databases, access control policies and inter-Sync Gateway replications is then provided using the Admin REST API.

Secure Administration

This major enhancement complements the introduction of the centralized persistent configuration by introducing secure administration of a cluster through the Admin REST API.

The Admin REST API now enforces authentication and role-based access control by default.

TLS Encryption Enabled by Default

The default enabling of secure TLS connections for all Couchbase Server,side communication ensures that all such communication is encrypted; enforcing and encouraging security best practices.

User Defined Extended Attributes(XAttrs) for Access Control

Use extended attributes (metadata) to avoid the need to embed sensitive access grant information such as channels and roles within document bodies.

This key architectural enhancement enforces separation of concerns by providing you the option to use Extended Attributes (XATTRs) to specify channel access grants outside of your document bodies.

Auto-Purge on Channel Access Revocation in Inter-Sync Gateway Replication

This enhancement to inter-Sync Gateway replication technology helps with the enforcement of data privacy and governance in complex workflows.

Use Environment Variables in Configuration File

Sync Gateway configuration is extended to allow the use of defined environment variables as substitution values inside the configuration file. This allows users to determine, pick-up and substitute appropriate values during Sync Gateway start-up.

Enhancements

Compacting

Attachments added post 3.0 are automatically removed from the bucket upon reference removal, document delete or document purge.
The {db}/_compact API includes an option to remove any redundant pre-3.0 attachments — see: Revisions — Compacting.

Resync

The _resync process has been enhanced to better handle large datasets, minimizing timeout and out-of-memory issues. The process now runs asynchronously, uses query pagination and supports sequence regeneration.

Other Enhancements

Issues and Resolutions

API and Configuration Changes

This release introduces significant configuration and persistent API changes; some of which may be breaking changes if they impact a feature you rely on — see the items identified in:attribute: value Table 1 | Table 2 | Table 3.

Breaks compatibility

Table 1. Breaks compatibility
Feature Link

enable_shared_bucket_access — enabled by default

The change ought to be transparent to the user, if:

  • Doc metadata is smaller than 1MB

  • There is no reliance on inspecting doc metadata using the _sync property in a document on the server side

Old documents are automatically migrated to the xattr metadata format.

Enforce TLS by default

Deprecated

Table 2. Deprecated
Feature Link

allow_conflicts confg

enable_shared_bucket_access — disabled option

Facebook User Auth Config

Google User Auth Config

Logging API

Dropped or removed

Table 3. Dropped or removed
Feature Link

admin UI

configServer property

databases.this_db.cache.channel_cache_expiry

databases.this_db.feed_type

logging.default config section

databases.this_db.cache.channel_cache_max_length

databases.this_db.cache.channel_cache_min_length

databases.this_db.cache.enable_star_channel

databases.this_db.cache.max_num_pending

databases.this_db.cache.max_wait_pending

databases.this_db.cache.max_wait_skipped

old cache config values: databases.this_db.rev_cache_size

SG-Replicate

walrus mode

Support Notices

This section documents any support-related notes, constraints and changes

Deprecation Notices

Items (features and-or functionality) are marked as deprecated when a more current, and usually enhanced, alternative is available.

Whilst the deprecated item will remain usable, it is no longer supported, and will be removed in a future release. You should plan to move to an alternative, supported, solution as soon as practical.

Upgrading

For more on upgrading — see: Upgrading