Release Notes
- Quicklinks
-
Release 3.2 | Release 3.1 | Release 3.0 | Release 2.8 | Archived documentation
Couchbase Sync Gateway
This content describes the key features and changes implemented by release 3.3.0 of Couchbase Sync Gateway
One Way Upgrade
The migration to 3.x configuration is a ONE WAY process — see: Upgrading for more. |
3.3.0 — July 2025
Do not deploy Eventing/Sync Gateway until all SGW nodes are at version 3.2 or later. For earlier Sync Gateway versions that do not write import XATTRs, Eventing functions experience infinite recursions and duplicate mutations if deployed in a mixed mode SGW environment. This can only happen when you deploy a new Eventing/Sync Gateway function during an upgrade, with some SGW nodes at version 3.2 or later, and others at an earlier version. |
Partitioned Indexes
Sync Gateway 3.3 introduces support for partitioned indexes. Partitioned indexes offer horizontal scalability for large deployments by sharding indexes across multiple nodes.
Disable the Public All Docs Endpoint
Sync Gateway 3.3 introduces an option to disable the GET /{keyspace}/_all_docs
operation in the Public REST API.
Interactive Admin Credentials for SG Collect Info
In Sync Gateway 3.3 and later, the sgcollect_info
tool provides an interactive password prompt so that you can enter administrative credentials.
Performance Improvements for Larger Deployments
Sync Gateway 3.3 includes several performance enhancements for larger deployments.
For more information on new features and enhancements in this release, see New In 3.3.
Version 3.3.0 of Sync Gateway also delivers the following features and enhancements.
Fixed Issues
-
CBG-3933 — rotated_logs_size_limit not used by ConsoleLogger’s FileOutput
-
CBG-3935 — Documents with invalid inline _sync metadata cause panic during import
-
CBG-3947 — make config polling more resilient to timeout errors
-
CBG-4067 — Timeout error will release document sequence as unused
-
CBG-4216 — Pending unused sequences shouldn’t update high cache sequence
-
CBG-4236 — Default log file permissions changed from 644 to 600
-
CBG-4373 — http continuous changes requests no longer flush output
-
CBG-4395 — remove debug logging for GetWithXattrs for multiple xattrs
-
CBG-4399 — remove confusing logging when importing a tombstone with non sync xattrs
-
CBG-4422 — Resync collections processing is nil while no documents have been processed
-
CBG-4462 — Leaking/duplicate status reporters across ISGR reconnection can cause 409 conflcts
-
CBG-4478 — Db state is stuck in starting after failure in StartOnlineProcesses
-
CBG-4512 — Sync Gateway 3.1.9+/3.2.x does not support buckets containing
.
characters -
CBG-4536 — ISGR fatal connection errors will leak a stats reporter goroutine
-
CBG-4554 — import feed: not all DCP streams are open after pindex reconciliation
-
CBG-4562 — calling GET /db/_session/sessionID returns invalidated session
-
CBG-4570 — Audit events for database audit are enabled when no per db audit logging config is set
-
CBG-4572 — Blip will leak nextFrameToSend goroutines if non ack’d messages are queued
-
CBG-4597 — caching dcp feed does not utilize network connstr option
-
CBG-4603 — Better handling of pushed deltas when a client doesn’t have access to its parent revision
-
CBG-4619 — Documents created with _attachments property in value fail to sync
-
CBG-4666 — Missing response Content-Type on GET /db/role/… endpoint
-
CBG-4670 — Document import should not write the document body back to bucket
-
CBG-4697 — Recover from panics when importing a document via DCP feed
Enhancements
-
CBG-3692 — Log username for login attempt when user is disabled
-
CBG-3693 — Log username for login attempt when OIDC user doesn’t exist and auto-register is disabled
-
CBG-3694 — Log username for invalid POST /_session login attempts
-
CBG-4065 — Send User-Agent header with ISGR blipsync requests
-
CBG-4273 — Remove internal BLIP/Websocket frame debug logging
-
CBG-4473 — Reset resync progress when changing set of collections
-
CBG-4493 — Improve database startup time when indexes are already initialized and online
-
CBG-4510 — sgcollect_info will throw an exception if -vv is passed
-
CBG-4563 — Add an import_processed stat to help identify when import is busy/idle
-
CBG-4565 — Support principal and partitioned index cleanup via /_post_upgrade
-
CBG-4587 — Add new async index init API to support zero downtime partitioned index creation
-
CBG-4607 — Support principal index creation via /db/_index_init
-
CBG-4632 — Optimize channel cache memory allocations (avoid slice growth alloc)
-
CBG-4633 — Optimize channel cache memory allocations (avoid redundant map allocs)
-
CBG-4634 — Move initialSequence in the cache outside cache mutex
-
CBG-4635 — Reduce cache mutex churn for recent sequences in doc changed handling
-
CBG-4636 — Check skipped sequences from potential deduped entries in recent sequences
-
CBG-4712 — Support non-default admin API port with /sgcollect_info REST API
Upgrading
For more on upgrading — see: Upgrading