Skip to content

Releases: couchbase/sync_gateway

3.1.3 — December 2023

19 Dec 17:07
52b979c
Compare
Choose a tag to compare

Release notes at https://docs.couchbase.com/sync-gateway/current/release-notes.html#3-1-3december-2023

Enhancements
CBG-3685 CORS max_age now configurable on a database level

Fixed Issues

  • CBG-3639 Fixed InjectJSONProperties not escaping string values
  • CBG-3643 Fix incorrect usage of PreserveExpiry with an expiry and no doc flags
  • CBG-3659 cbgt fix to avoid file system writes

3.1.2 — November 2023

19 Dec 17:04
5aaa2d5
Compare
Choose a tag to compare

Release notes at https://docs.couchbase.com/sync-gateway/current/release-notes.html#3-1-2november-2023

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-3494 Enforce "bucket" field match in DbConfig
  • CBG-3457 Prevent minor version downgrade
  • CBG-3432 Move KeyDCP changes and cache logging to KeyChanges and Key Cache
  • CBG-3430 Deterministic database/bucket bootstrapping
  • CBG-3362 Silence metrics requests
  • CBG-3361 Add basic ping/healthcheck endpoint
  • CBG-3360 Tune console log collation buffer size when writing to a file
  • CBG-3359 Per-db console log settings

Fixed Issues

  • CBG-3560 Inherited channels from roles are not checked when running changes feed filtered to a channel
  • 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-3450 DCP rollback should force checkpoint persistence
  • CBG-3426 Explicit check on xattr length to avoid panics
  • 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-3403 Handle rollback error for resync operations
  • 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-3383 Invalid error handling state for async db online
  • CBG-3350 SGW 3.1.1 using 50-75% more memory compared to 3.1.0
  • [CBG-3330(https://issues.couchbase.com/browse/CBG-3330) buildRevokedFeed query iteration fails when no documents processed]
  • CBG-3329 Revision Cache, Replications with purge_on_removal and meta.xattrs for channel assignment not purging/syncing consistently
  • CBG-3197 Cannot update db config from implicit '_default' scope to explicit '_default' scope

Sync Gateway 3.1.1.1 - August 2023

28 Aug 15:03
4c0d321
Compare
Choose a tag to compare

Fixed Issues

CBG-3247 openStreamRequest sends through unnecessary blocking channel

Sync Gateway 3.0.8.1 - August 2023

08 Aug 14:24
3b4d8e6
Compare
Choose a tag to compare

Fixed Issues

CBG-3235
Query based resync infinite loop when querylimit <= number of docs+tombstones
CBG-3246
[3.0.8.1 (MP) Backport] Revocation feed errors cause MultiChangesFeed to close

3.1.1 — July 2023

18 Jul 17:43
d26ad31
Compare
Choose a tag to compare

Release notes at https://docs.couchbase.com/sync-gateway/3.1/release-notes.html#maint-3-1-1

What's Changed (generated)

Full Changelog: 3.1.0...3.1.1

3.0.8 — June 2023

28 Jun 13:09
e3d9fac
Compare
Choose a tag to compare

Release notes at https://docs.couchbase.com/sync-gateway/3.0/release-notes.html#maint-3-0-8

What's Changed (generated)

  • [3.0.8 Backport] CBG-2944 Ensure proveAttachments works for v2 attachments with a v2 replication protocol by @adamcfraser in #6268
  • (3.0.8 backport) CBG-2855 Allow one-shot replications to wait for DCP to catch up on changes feed by @torcolvin in #6284

Full Changelog: 3.0.7...3.0.8

3.0.7 — May 2023

22 May 14:09
9ce91b6
Compare
Choose a tag to compare

3.1.0 — April 2023

22 May 14:16
2a9837d
Compare
Choose a tag to compare

Version 3.1.0 of Sync Gateway delivers the following features and enhancements:

Scopes and Collections

In 3.1, Sync Gateway has significantly improved by incorporating Scopes and Collections support:

  1. Scopes and Collections Support: Adding Scopes and Collections support allows for an improved method of defining and enforcing data access control. This enhancement ensures that only authorized users can use the appropriate data.
  2. Simplified Data Organization and Synchronization: Streamlining the data organization and synchronization processes, enabling users to build and scale applications more efficiently while maintaining high security.

Synchronization between Couchbase Lite clients and Couchbase Server is accomplished by:

Sync Gateway Metadata Isolation

  • Scopes and Collections for Isolation
    Scopes and collections are used to isolate Sync Gateway metadata.
  • Default Scope/Collection for System Data
    The _default scope/collection is used for system data maintained by Sync Gateway. In contrast, user-defined scopes/collections are used for application data.
  • Separating System Metadata and Application Data
    Using separate Scopes and collections for system metadata and application data helps to logically isolate them and avoid accidental modification or deletion of system metadata by the application.
  • Implementing Role-Based Access Controls (RBAC)
    To further safeguard against such risks, an SDK-based application implements role-based access controls (RBAC) to restrict access to the _default scope/collection, which typically contains critical sync metadata.

Sync Gateway and Couchbase Lite Clients

  • Direct Syncing of Scopes
    Sync Gateway enables Couchbase Lite clients to sync one or more Scopes directly to other Couchbase Lite clients over a local network via Couchbase Lite Peer-to-Peer protocol.

  • Bypassing Cloud-Based Control Points
    This can be done without the need for a cloud-based control point.

  • Setting Up Replications
    A Couchbase Lite client can set up one or more replications to one or more Sync Gateway database endpoints.

  • Syncing Collections
    Each replication can sync one or all collections associated with that Scope.

  • Local Persistence of Data
    The Couchbase Lite client can also locally persist data in a Scope not synced to remote Sync Gateway.

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-2689 - Add sync_function_exception_count stat

CBG-2660 - Use MaxInt64 for high sequence queries

CBG-2559 - Move history to end of marshalled SyncData

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-2138 - Inform client they need to contact another SGW

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-2064 - Allow mapping OIDC claims to user roles/channels

CBG-2047 - Update client-golang to 1.11.1+ CVE-2022-21698

CBG-2027 - User API Enhancements - include details and limit

CBG-2026 - Option to disable basic auth on public REST API

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-2247 - Etags should be quoted

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-2030 - _user endpoint pagination causes query error

CBG-2010 - CBL revpos handling causes attachment fetch per write for docs with attachments

Known Issues

CBG-798 - Sync Gateway requires Couchbase Server nodes to use the same SSL memcached port

2.8.4 — Feb 2023

15 Jun 11:08
5e45e54
Compare
Choose a tag to compare

Generated release notes

Key Summary
CBG-2706 Compact expected/processed when safe seq unchanged
CBG-2704 ISGR Sequence checkpointing maintains unnessesary entries
CBG-2701 Use MaxInt64 for high sequence queries
CBG-2698 Add conflictIncludesRev support for proposeChanges
CBG-2607 Update websocket implementation

Full Changelog: 2.8.3...2.8.4

3.0.3 — June, 2022

14 Jun 11:34
8187d9a
Compare
Choose a tag to compare

https://docs.couchbase.com/sync-gateway/3.0/release-notes.html#maint-3-0-3

Important: This version includes fixes for critical issues from v3.0.0

Therefore v3.0.0 is replaced by v3.0.3. If you are using v3.0.0 we strongly recommend upgrading to v3.0.3.

Enhancements

  • CBG-2032 - Prevent use of internal underscore properties
  • CBG-2033 - Restrict ability to modify SG config documents
  • CBG-2035 - Handle removed buckets in background persistent config update polling
  • CBG-2044 - Option to disable basic auth on public REST API
  • CBG-2057 - User API Enhancements - include details and limit
  • CBG-2069 - Support CBL clients that don’t increment revpos when attachment body changes
  • CBG-2078 - Option to make GUEST access read-only

Fixed Issues

  • CBG-1953 - Console logging not being enabled when only a log key set
  • CBG-1996 - Implementation for supporting top-level properties with an underscore prefix
  • CBG-1998 - Fix race condition caused when getting user roles
  • CBG-1999 - Unable to upsert replication config username or password independently
  • CBG-2000 - One shot sub changes request does not decrement NumPullReplActiveOneShot stat when completed
  • CBG-2011 - CBL revpos handling causes attachment fetch per write for docs with attachments
  • CBG-2011 - _user endpoint pagination causes query error
  • CBG-2055 - Mutating a document with an attachment on over CBL causes the attachment to be deleted from the bucket
  • CBG-2072 - crc32c values with leading zeros trigger unnecessary import
  • CBG-2099 - User endpoint: missing first user if name_only=false