Release Notes
- Quicklinks
Couchbase Sync Gateway
This content describes the key features and changes implemented by release 3.1.0 of Couchbase Sync Gateway
One Way Upgrade
The migration to 3.x configuration is a ONE WAY process — see: Upgrading for more. |
3.1.2 — November 2023
Version 3.1.2 of Sync Gateway delivers the following features and enhancements:
For an overview of the latest features offered in Sync Gateway 3.1, see New in 3.1. |
Enhancements
-
CBG-3557 - Improve behavior when allocating sequence much lower than existing doc seq
-
CBG-3509 - Add opt-out for config env var expansion for db configs
-
CBG-3495 - Detect and provide metrics for duplicate database names in bootstrap polling
-
CBG-3432 - Move KeyDCP changes and cache logging to KeyChanges and Key Cache
-
CBG-3360 - Tune console log collation buffer size when writing to a file
Fixed Issues
-
CBG-3554 - Increasing memory usage when failing to apply a database config from the bucket
-
CBG-3550 - Retry limit not set for operations requiring non-SDK retry
-
CBG-3465 - Config migration should consider use_xattr_config
-
CBG-3462 - Sync Gateway should not use 3.0 config when 3.1 config is present
-
CBG-3454 - Per-db log settings should take precedence over bootstrap
-
CBG-3405- Investigate the default scope/collection requiring resync after upgrade
-
CBG-3404 - Hook up the reset resync code to a parameter that is pssed into the resync endpoint
-
CBG-3398 - Pick up gocb fix for bootstrapping against non KV nodes
-
CBG-3397 - SG warning when client’s maxHistory for a rev is exceeded on push
-
CBG-3350 - SGW 3.1.1 using 50-75% more memory compared to 3.1.0
-
CBG-3330 -buildRevokedFeed query iteration fails when no documents processed
-
CBG-3197 - Cannot update db config from implicit '_default' scope to explicit '_default' scope
3.1.1 — July 2023
Version 3.1.1 of Sync Gateway delivers the following features and enhancements:
For an overview of the latest features offered in Sync Gateway 3.1, see New in 3.1. |
Enhancements
-
CBG-3118 - Shared bucket access=false without autoimport=false explicitly specified will panic
-
CBG-3042 - Attachment compaction code erroneously sets failOnRollback
-
CBG-3041 - Streamline database creation when using many collections
-
CBG-3038 - cbgt importlistener leaves open a connection to a bucket after database is deleted
-
CBG-3031 - Allow one-shot replications to wait for DCP to catch up on changes feed
-
CBG-3023 - cbgt cluster connection fails with HTTP polling enabled and TLS disabled
Issues and Resolutions
-
CBG-3129 - JWTLastUpdated should only be modified when claim-based access changes
-
CBG-3123 - Avoid panic in updateCalculatedStats for offline databases
-
CBG-3052 - cbgt panics when setting up import feed for server versions < 7.0
-
CBG-3039 - proveAttachment incompatibility between 3.0.x and 2.8.x
-
CBG-3036 - Replicator will not reconnect when max_back_off != 0
-
CBG-3033 - Import still starts when an offline database is created
-
CBG-3032 - CE Import feed starting from vb highseqno instead of zero
-
CBG-2913 - /db/ routing does not work with default collection that coexists with named collection
3.1.0 — April 2023
Version 3.1.0 of Sync Gateway delivers the following features and enhancements:
Scopes and Collections
Sync Gateway 3.0.x introduces some breaking changes. If you are upgrading from 2.x, please refer to the Upgrading page. Users should be able to upgrade to 3.1.x from 3.0.x without manual intervention. |
-
New support for Scopes and Collections
Couchbase has introduced support for Scopes and Collections for self-managed cloud-to-edge deployments only in Couchbase Lite 3.1.0 and Sync Gateway 3.1.0. This release won’t cause any issues with existing apps, as it’s compatible with older versions. If you have an app that uses bucket-based APIs, you can still upgrade to 3.1, but please note that this API is now deprecated. For more information, see Scopes and Collections Configuration for Sync Gateway. -
Improved Data Organization and Access Control for Scopes and Collections
Couchbase Mobile now offers Scopes and Collections, allowing more efficient and scalable data organisation within a bucket. This also introduces an improved method of defining and enforcing data Access Control more granularly. Multi-tenant apps will also experience better scalability and independent data lifecycle management. -
Improved metadata isolation for Scopes and Collections
Sync Gateway 3.1.0 has improved metadata isolation. The system data maintained by Sync Gateway is now stored in the_default
Scope/Collection, while both the_default
and user-defined Scope/Collection can be used for application data. For more information, examples and use cases, see Scopes and Collections Support in Couchbase Mobile for Edge Applications. -
Collection-Level Sync Functions and Scoped User Associations
The Sync Functions now work on a Collection level, and additional optional fields have been added to the database configurations to support this update. Each database is designed to support only one Scope. Users can be associated with that Scope and shared across multiple Collections. -
Enhanced Collection Synchronization and Local Data Storage with Couchbase Lite Client
With Couchbase Lite client replications, you can synchronize one or multiple Collections within a specific scope. The Couchbase Lite client also will store data locally in a scope not synchronized with the remote Sync Gateway.
You can define 1 custom scope per database with up to 1000 custom collections. If you don’t specify a custom scope and collection, any documents you create will be saved in the default scope and collection. |
Read the full 3.1 release notes.
Enhancements
-
CBG-2729 - Info-level logging when a remote webhook filter is empty
-
CBG-2721 - Add a flag to sg-collect collection to delete zip once uploaded
-
CBG-2510 - Docs not being tombstoned with replication DocID filter
-
CBG-2450 - Leading null character in document ID causes ISGR to terminate pull replication
-
CBG-2418 - Make a Runtime Database Config to explicitly track if a database is suspended
-
CBG-2362 - Identify whether SG is running in persistent config mode (or not) via REST API
-
CBG-2177 - Maintain long-lived bucket connections for persistent config
-
CBG-2137 - Support downloading meta(data) from S3 and resuming the bucket
-
CBG-2136 - Support uploading meta(data) to S3 for hibernation
-
CBG-2135 - Add API to stop/start access to a given bucket for hibernation
-
CBG-2027 - User API Enhancements - include details and limit
-
CBG-2017 - Handle removed buckets in background persistent config update polling
-
CBG-1969 - Support CBL clients that don't increment revpos when attachment body changes
Issues and Resolutions
Fixed Issues
-
CBG-2731 - AccessLock not being released when a PUSH replication is ongoing
-
CBG-2556 - Inefficient sequence parsing during ISGR checkpointing
-
CBG-2248 - Config admin API doesn't use Etags when config comes from JSON
-
CBG-2208 - Index compaction failing due to not found handling
-
CBG-2183 - Revocation of non-existent role causes replication panic
-
CBG-2174 - Periodic high response times on REST API due to persistent config polling
-
CBG-2134 - Guest user is not initialised with access to public channel ("!")
-
CBG-2119 - Update DisablePasswordAuth to False does not work
-
CBG-2102 - Admin auth credentials not verified when using x.509 auth between SG and CBS
-
CBG-2101 - User endpoint: missing first user if name_only=false
-
CBG-2065 - Update golang.org/x/text to 0.3.3+ CVE-2020-14040 in SGW 2.8.x
-
CBG-2059 - HTTP logs incorrectly redact document name if the database name contains it
-
CBG-2058 - Compaction w/ import and xattrs enabled can panic
-
CBG-2048 - Update nhooyr.io/websocket gin-gonic/gin CVE-2020-28483
-
CBG-2010 - CBL revpos handling causes attachment fetch per write for docs with attachments