Releases: couchbase/sync_gateway
3.1.11 — Sept 2024
What's Changed
- CBG-3983: [3.1.9 backport] sgcollect_info: Switch to runtime config endpoint to determine logFilePath by @gregns1 in #6923
- CBG-4057 Correct test asserts in TestAsyncOnlineOffline by @adamcfraser in #6928
- CBG-3966: [3.1.9 backport] fix incorrect runtime config after conflict error on collection update by @gregns1 in #6924
- CBG-4054: update 3.1.9 branch go version to 1.22.5 by @gregns1 in #6935
- CBG-3953: [3.1.9 backport] Avoid timeout on creating indexes asynchronously by @gregns1 in #6934
- CBG-4062: [3.1.9 Backport] update api docs for all_docs endpoint (#6929) by @gregns1 in #6945
- CBG-4035: [3.1.9 backport] Skipped Sequence Optimisations by @gregns1 in #6925
- [3.1.9 backport] CBG-4029 Revocation handling for deleted roles by @adamcfraser in #6958
- [3.1.9 backport] CBG-4004 Revocation handling for deleted roles by @adamcfraser in #6959
- [3.1.9 backport] CBG-4028 Treat on-demand import for GET errors as not found by @adamcfraser in #6966
- [3.1.9 backport] CBG-4016 Refresh sequence allocator before incr during nextSequenceGreaterThan by @adamcfraser in #6960
- CBG-4082 Uptake GOCBC-1640 by @adamcfraser in #6978
- [3.1.9 backport] CBG-4073: fix panic in CheckpointHash function by @adamcfraser in #6983
- [3.1.10 backport] CBG-4127 use a non cancellable context for OIDC metadata by @torcolvin in #7061
- [3.1.10 backport] CBG-4145 improve logging for jwts by @torcolvin in #7070
- [3.1.10 backport] CBG-4162 log the source of metadata ID by @torcolvin in #7072
- [3.1.10 backport] CBG-4107 CBG-4173 : remove database even if removeCorruptConfigIfExists fails by @torcolvin in #7060
- CBG-4192 Add stop gap option to send document for channel removal by @torcolvin in #7088
- CBG-4218 [3.1.11 backport] Move duplicate checks for pending sequence to read side by @adamcfraser in #7105
- CBG-4221 [3.1.11 backport] Don't increment high sequence cached for unused sequences on pendingLogs by @adamcfraser in #7106
Full Changelog: 3.1.8...3.1.11
3.2.0 — Sept 2024
https://docs.couchbase.com/sync-gateway/3.2/whatsnew.html
Eventing Support with Sync Gateway 3.2.0+ and Couchbase Server 7.6.3+
Sync Gateway 3.2.0 now supports improved interoperability with Eventing from Couchbase Server version 7.6.3+.
You can use Eventing to handle data changes that happen when applications interact and to integrate with other Couchbase services such as Data, Query and Full Text Search.
For more information, see Eventing — Server Compatibility
Audit Logging Support
Couchbase now provides Audit Logging support for Sync Gateway. Audit Logging provides tools for administrators to track operational irregularities and to support regulatory and security compliance standards, such as HIPAA
and SOC-2. For more information, see Audit Logging.
What's Changed
- Add 3.1 release manifest by @torcolvin in #6174
- Take a copy of UserData without pointer-hacks that get optimised away by @bbrks in #6175
- enable ineffassign by @torcolvin in #6102
- Make tests work with XATTRS=false by @torcolvin in #6178
- Create 3.0.6 branch by @torcolvin in #6180
- Rest API tweaks for docs by @osfameron in #6182
- CBG-2412: Leaking rest/replicator_test.go goroutines by @gregns1 in #6181
- CBG-2844 update gocb for CCCP polling failure by @torcolvin in #6184
- Fix wrong error being passed into log due to shadowing by @bbrks in #6187
- Don't log if pruneCacheAge didn't prune anything by @bbrks in #6186
- CBG-2842 Always return unauthorized for non authorized public API by @torcolvin in #6183
- CBG-2840 Use go 1.20.3 by @torcolvin in #6191
- CBG-2711 add 3 node cluster option to jenkins by @torcolvin in #6176
- CBG-2807: Allow databases to override CORS config by @torcolvin in #6179
- CBG-2686: fix for dcp resync flake by @gregns1 in #6177
- rename gh actions to standard names by @torcolvin in #6195
- remove spurious warnings by @torcolvin in #6202
- CBG-1971: TestReplicationConcurrentPush flaky test fix by @gregns1 in #6173
- Set up 3.0.7 manifest by @adamcfraser in #6209
- CBG-2877 allow options to contain db-scoped CORS by @torcolvin in #6205
- Always close bootstrap connections from ServerContext.Close() by @bbrks in #6215
- CBG-2901 Port 3.1.0 DCP failover enhancements to main by @adamcfraser in #6213
- Set default for MULTI_NODE to avoid unbound variable error by @bbrks in #6216
- Speed up tests by reducing sleep/wait loop by @torcolvin in #6198
- Correct default value of EnableStarChannel by @bbrks in #6218
- CBG-2911 allow /db/ if default collection is configured with other named collections by @torcolvin in #6222
- CBG-2912 Add release-3.1.1 by @torcolvin in #6220
- fix manifest path for 3.1.0.xml. by @mhocouchbase in #6227
- allow rbac tests to run by @torcolvin in #6225
- flip boolean so test runs only with CBS 7.1 by @torcolvin in #6228
- Sync optimizations for changes and proposeChanges by @snej in #6190
- Produce 3.2.0 from
main
branch by @bbrks in #6753 - CBG-3852: Implementation of single sequence entry for skipped sequence slice by @gregns1 in #6747
- add manifest/3.2.xml back to product-config.json as a disabled entry. by @mhocouchbase in #6760
- CBG-3869: Fix losing user xattr on import feed for docs with no sync data by @gregns1 in #6755
- show diagnostic interface only in internal API by @torcolvin in #6745
- CBG-3721: [Diagnostic API] Import filter and sync function dry run endpoints by @mohammed-madi in #6715
- remove manifest now that 3.2 is main by @torcolvin in #6763
- 3.1.5 branch setup by @adamcfraser in #6766
- CBG-3882 add Content-Length header by @torcolvin in #6767
- CBG-3883 Restore 3.1 handling for admin_channels, admin_roles by @adamcfraser in #6768
- CBG-3703 create a basic bucket to bucket rosmar implementation by @torcolvin in #6761
- CBG-3888 make sure we can write errors to log files by @torcolvin in #6771
- Fix API version from the 3.3 -> 3.2 branch switch by @bbrks in #6778
- CBG-3844 Ensure sequence update waits for callback invocation by @adamcfraser in #6773
- Bump golang.org/x/crypto from 0.21.0 to 0.22.0 by @dependabot in #6775
- Bump golang.org/x/net from 0.22.0 to 0.24.0 by @dependabot in #6774
- Bump to latest Go - 1.22.2 by @bbrks in #6780
- CBG-3891: fix for panic in TestUnmarshalDocFromImportFeed on anemone branch by @gregns1 in #6781
- add gocb bucket feature for multi xattr subdoc operations by @torcolvin in #6779
- CBG-3835 catch error in case there is a valid json but not a JSON object by @torcolvin in #6756
- CBG-3853: Implementation of range sequence entry for skipped sequence slice by @gregns1 in #6764
- CBD-5866, advance build repo SHA by @mhocouchbase in #6783
- CBG-3768 Update only metadata during import by @adamcfraser in #6782
- CBG-3823 log warning if released unused sequence count > 1 million by @torcolvin in #6724
- CBG-3854: Integration of the skipped sequence slice into the cache by @gregns1 in #6789
- Mark minimum version of CBS 7.6.2 for XDCR by @torcolvin in #6792
- Add
SkipTestMain
utility function for clearer output by @bbrks in #6794 - [3.1.6] CBG-3907 build setup by @bbrks in #6793
- Bump github.com/felixge/fgprof from 0.9.3 to 0.9.4 by @dependabot in #6788
- CBG-3905 scope message about searching for database config by @torcolvin in #6790
- Removed GraphQL support (sob!) by @snej in #6803
- CBG-3855: Sequence range removal support by @gregns1 in #6801
- Return correct cas from WriteUpdateWithXattrs by @torcolvin in #6808
- CBG-3912 do JSON comparison using JSONEq by @torcolvin in #6811
- CBG-3915 upgrade to gocb v2.8.1 by @torcolvin in #6813
- CBG-3911 Recreate collections after tearing down databases by @torcolvin in #6809
- CBG-3914 change timeout to wait for authentication failure by @torcolvin in #6814
- CBG-3916 Use DCP feed to purge documents in viewsAndGSIBucketReadier by @adamcfraser in #6817
- Add new tests for WriteUpdateWithXattrs,WriteTombstoneWithXattrs by @torcolvin in #6816
- CBG-3913 replace parseStreamWithXattr with sg-bucket function by @torcolvin in #6812
- Skip test in CE by @torcolvin in #6823
- CBG-3920 Use IsDocNotFoundError in purgeWithDCPFeed by @adamcfraser in #6824
- Bump golang.org/x/crypto from 0.22.0 to 0.23.0 by @dependabot in #6820
- Bump golang.org/x/oauth2 from 0.18.0 to 0.20.0 by @dependabot in https://github.com/couchbase/s...
3.1.10 — Aug 2024
What's Changed
- [3.1.10 backport] CBG-4127 use a non cancellable context for OIDC metadata by @torcolvin in #7061
- [3.1.10 backport] CBG-4145 improve logging for jwts by @torcolvin in #7070
- [3.1.10 backport] CBG-4162 log the source of metadata ID by @torcolvin in #7072
- [3.1.10 backport] CBG-4107 CBG-4173 : remove database even if removeCorruptConfigIfExists fails by @torcolvin in #7060
Full Changelog: 3.1.9...3.1.10
3.1.9 — July 2024
https://docs.couchbase.com/sync-gateway/current/release-notes.html#maint-latest
What's Changed
- CBG-3983: [3.1.9 backport] sgcollect_info: Switch to runtime config endpoint to determine logFilePath by @gregns1 in #6923
- CBG-4057 Correct test asserts in TestAsyncOnlineOffline by @adamcfraser in #6928
- CBG-3966: [3.1.9 backport] fix incorrect runtime config after conflict error on collection update by @gregns1 in #6924
- CBG-4054: update 3.1.9 branch go version to 1.22.5 by @gregns1 in #6935
- CBG-3953: [3.1.9 backport] Avoid timeout on creating indexes asynchronously by @gregns1 in #6934
- CBG-4062: [3.1.9 Backport] update api docs for all_docs endpoint (#6929) by @gregns1 in #6945
- CBG-4035: [3.1.9 backport] Skipped Sequence Optimisations by @gregns1 in #6925
- [3.1.9 backport] CBG-4029 Revocation handling for deleted roles by @adamcfraser in #6958
- [3.1.9 backport] CBG-4004 Revocation handling for deleted roles by @adamcfraser in #6959
- [3.1.9 backport] CBG-4028 Treat on-demand import for GET errors as not found by @adamcfraser in #6966
- [3.1.9 backport] CBG-4016 Refresh sequence allocator before incr during nextSequenceGreaterThan by @adamcfraser in #6960
- CBG-4082 Uptake GOCBC-1640 by @adamcfraser in #6978
- [3.1.9 backport] CBG-4073: fix panic in CheckpointHash function by @adamcfraser in #6983
Full Changelog: 3.1.8...3.1.9
3.1.8 — July 2024
https://docs.couchbase.com/sync-gateway/current/release-notes.html#3-1-8july-2024
What's Changed
- [3.1.7 backport] CBG-3946 tag collection in error message by @torcolvin in #6853
- CBG-3956 replace GetAllScopes call to work with CBS 7.6 by @torcolvin in #6854
- [3.1.7 backport] CBG-3955 allow specifying empty string import and sync fn by @torcolvin in #6852
- [3.1.7 backport] CBG-3951 filter principal docs for default collection by @adamcfraser in #6860
- [3.1.7 backport] CBG-3959 include collection names in status of resync by @torcolvin in #6858
- [3.1.7 backport] CBG-3879 Recovery from cas mismatch on metadata documents when using xattrConfig by @adamcfraser in #6857
- [3.1.7 backport] CBG-3967 add reason in all_dbs for why db is offline by @torcolvin in #6862
- [3.1.7 backport] CBG-3969 include scope name in collections being resynced by @torcolvin in #6868
- [3.1.7 backport] CBG-3965 Do not regenerate principal sequences unless resync is running on default collection by @adamcfraser in #6869
- [3.1.7 backport] CBG-3964 wait for principal doc index readiness on r… by @torcolvin in #6867
- [3.1.7 backport] CBG-3964 View handling fix for CBG-3964 by @adamcfraser in #6871
- [3.1.7 Backport] CBG-3990 Ensure documents are imported when collection added to a db by @adamcfraser in #6883
- [3.1.7 backport] Reword missing collection error by @torcolvin in #6880
- [3.1.8 backport] CBG-4009 Support all config updates during async initialization by @adamcfraser in #6915
- CBG-4020 Add init_in_progress, change 'reason' to 'require_resync' flag by @adamcfraser in #6916
Full Changelog: 3.1.6...3.1.8
3.1.6 — May 2024
https://docs.couchbase.com/sync-gateway/3.1/release-notes.html#maint-latest
What's Changed
- [3.1.6 Backport] CBG-3828: add insertion strings to capture stdout/stderr by @bbrks in #6799
- [3.1.6 Backport] CBG-3826: log warning if released unused sequence count > 1 million by @bbrks in #6798
- [3.1.6 Backport] CBG-3845: Ensure sequence update waits for callback invocation by @bbrks in #6797
- [3.1.6 Backport] CBG-3878: Fix losing user xattr on import feed for docs with no sync data by @bbrks in #6796
- [3.1.6 backport] CBG-3906 scope message about searching for database config (#6790) by @torcolvin in #6800
- [3.1.6 Backport] CBG-3860: Bump go-blip to uptake wrapped EOF errors in isCloseError by @bbrks in #6802
- [3.1.6 backport] CBG-3876 suppress warning for non json objects by @torcolvin in #6795
Full Changelog: 3.1.5...3.1.6
3.1.5 — April 2024
https://docs.couchbase.com/sync-gateway/3.1/release-notes.html#3-1-5april-2024
Note
We have discovered a critical issue in release 3.1.4 impacting a few customers that utilize OIDC. This issue could lead to users losing access to channels, consequently resulting in document revocations. We suggest all users promptly upgrade to version 3.1.5.
What's Changed
- CBG-3687 backport of [CBG-3686 add idle kv ops stat (#6642)] by @torcolvin in #6658
- CBG-3723: [3.1.4 backport] allow tcp_nodelay to be set to false for tls connections by @gregns1 in #6669
- CBG-3586: [3.1.4 backport] log bucket and groupID during config search by @gregns1 in #6667
- CBG-3698: [3.1.4 backport] Allow user_xattr_key to be removed with an empty-string POST/upsert by @gregns1 in #6668
- CBG-3744: [3.1.4 backport] fetchAndLoadDatabase NewDatabaseContext race fix by @gregns1 in #6672
- CBG-3682: [3.1.4 backport] sgcollect loads entire file into mmap for upload, can run out of memory by @gregns1 in #6671
- CBG-3699: [3.1.4 backport] Error from handleChangesResponse not handled correctly by @gregns1 in #6670
- CBG-3762: [3.1.4 backport] Respond to _blipsync with BLIP context ID by @gregns1 in #6673
- CBG-3760: [3.1.4 backport] Include trace logs with sgcollect_info by @gregns1 in #6677
- CBG-3774: [3.1.4 backport] Incorrect log key used for log message inside DocChanged function by @gregns1 in #6678
- CBG-3725: [3.1.4 backport] Import DCP rollback unsuccessful in data migration cases by @gregns1 in #6676
- CBG-3775: [3.1.4 Backport] Fix for memeory issues seen in blipcollection contexts by @gregns1 in #6679
- [3.1.4 fix] CBG-3777 make sure cbgt always sets kv_pool_size=1 by @torcolvin in #6681
- CBG-3761: [3.1.4 Backport] Ignore read-only fields if values unchanged in User API by @gregns1 in #6688
- CBG-3776: [3.1.4 Backport] Configurable revs parallelism limit by @gregns1 in #6692
- CBG-3611: Fix regression on
PUT /_user/...
endpoint when sendingnull
admin_channels
/admin_roles
by @bbrks in #6696 - CBG-3793: [3.1.4 Backport] change getAuthScopeHandleCreateDB method to not expand env variables by @gregns1 in #6714
- CBG-3812: [3.1.4 Backport] sg_collect fails to get SGW config by @gregns1 in #6716
- [3.1.4 Backport] CBG-3751: Cherry-pick CBG-3742: Allow registry rollb… by @bbrks in #6718
- CBG-3749 [3.1.4 backport] Bail out of config updates when the registry write fails after exceeding retry attempts by @adamcfraser in #6721
- Test fixes for CBG-3749 by @adamcfraser in #6722
- [3.1.5 backport] CBG-3887 add Content-Length header by @torcolvin in #6769
- [3.1.5 backport] CBG-3885 Restore 3.1 handling for admin_channels, admin_roles by @adamcfraser in #6770
Full Changelog: 3.1.3...3.1.5
3.1.3 — December 2023
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
3.1.2 — November 2023
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
Fixed Issues
CBG-3247 openStreamRequest sends through unnecessary blocking channel