Pre-release Archive Release Notes

      +
      Release notes for the 2.0 Alpha & Beta Releases

      In the run-up to the SDK 3.0 API (Go SDK 2.0) releases, several αλφα and βετα releases were made. Their release notes are maintained here for archive purposes. The 2.0 series release notes proper can be found here, along with install instructions for all supported platforms. Please note that none of the pre-releases listed below are supported; all supported (GA) releases can be found here.

      These are the pre-release α & β Release Notes maintained purely for archive and information purposes. These releases are unsupported. Supported (GA) releases can be found on the general 2.0 Release Notes page.

      Version 2.0 Beta1 (3 October 2019)

      Version 2.0.0-beta1 is the first beta release for the Go SDK 2.0.0.

      New Features and Behavioral Changes

      • GOCBC-485: Added support for GCCCP meaning the ability to execute cluster level queries without first opening a bucket.

      • GOCBC-479, GOCBC-480, GOCBC-619: Updated transcoders to add several new transcoders out of the box as well as changing the default behaviour. Added Serializer support to views and search.

      • GOCBC-524: Now fails fast if both synchronous and observability based durability are set.

      • GOCBC-535: Added data structures API.

      • GOCBC-536: Added query fast prepare support.

      • GOCBC-540: Enabled mutation tokens by default and removed CAS based observability based durability.

      • GOCBC-560, GOCBC-563: Changed the subdoc API to be simpler and easier to use.

      • GOCBC-603: Changed geo search query functions so that parameters are ordered lon, lat rather than lat,lon.

      • GOCBC-520: Added DesignDocument suffix to view manager function names.

      • GOCBC-521: Added Index suffix to search index manager function names.

      • GOCBC-522: Added AnalyzeDoc function to search index manager to allow users to test how a document will be analyzed by an index.

      A large number of minor changes updating names and behavioural tweaks to improve cross-SDK consistency.

      Fixed Issues

      • GOCBC-591: Fixed issue that was causing authentication errors for view queries during a graceful failover.

      Version 2.0 Alpha5 (8 August 2019)

      Version 2.0.0-alpha.5 is the fifth alpha release for the Go SDK 2.0.0.

      New Features and Behavioral Changes

      • GOCBC-451: Create search index manager.

      • GOCBC-478, GOCBC-513, GOCBC-515: Various updates to the analytics index manager including: Add support for custom (de)serializers in analytics queries. Add Dataverse functions to analytics index manager.

      • GOCBC-507: Mark up APIs with stability levels.

      • GOCBC-508: Add groups to user manager.

      • GOCBC-516: Add bulk operations API.

      • GOCBC-519: Add IsQueueOverloadError function for detecting when the dispatch queue is full.

      • GOCBC-503: Various updates to the bucket manager including: Add Bucket suffix to function names. Update CreateBucket to take a CreateBucketSettings.

      • GOCBC-511: Remove DefaultCollection from Scope. Only the DefaultScope has DefaultCollection so it doesn’t make sense to have it.

      • GOCBC-520: Add DesignDocument suffix to view manager function names.

      • GOCBC-521: Add Index suffix to search index manager function names.

      • GOCBC-522: Add AnalyzeDoc function to search index manager to allow users to test how a document will be analyzed by an index.

      Fixed Issues

      • GOCBC-514: Don’t add clients that failed to connect to the cluster connections cache.

      Version 2.0 Alpha4 (25 July 2019)

      Version 2.0.0-alpha.4 is the fourth alpha release for the Go SDK 2.0.0.

      New Features and Behavioral Changes

      • GOCBC-412, GOCBC-439: Update error handling to be more consistent with other SDKs.

      • GOCBC-436: Changed subdoc options blocks to use CreatePath rather than CreateParents.

      • GOCBC-438: Create bucket manager.

      • GOCBC-447: Create query index manager.

      • GOCBC-448: Create analytics index manager.

      • GOCBC-449: Create user manager.

      • GOCBC-450: Create view index manager.

      • GOCBC-452: Create collections manager.

      • GOCBC-453: Create ping (health) interface.

      • GOCBC-454: Create diagnostics (health) interface.

      • GOCBC-455: Add DurabilityTimeout option to Durable operation option blocks.

      • GOCBC-463: Add enhanced prepared statements support for querying.

      • GOCBC-470: Added a Transcoder type and made the Encode/Decode functions belong to it.

      • GOCBC-481: Remove support for spatial views.

      • GOCBC-483: Update the transcoder api to also expose a JSONSerializer type that can be used for services like query.

      • GOCBC-484: Drop the pretty option from query and analytics options blocks.

      • GOCBC-486: Rename ContextID in analytics options to ClientContextID and default to a UUID.

      • GOCBC-500: Remove all references to OpenTracing API, easier to add whatever it turns into than change after beta.

      Fixed Issues

      • GOCBC-465: Fixed issue where search was calculating timeouts incorrectly.

      • GOCBC-466: Fixed issue where the context deadline was being updated evenwhen the durability deadline wasn’t coerced upward.

      • GOCBC-473, GOCBC-474, GOCBC-486: Fixed issue where a panic could arise if a cluster level service was used before a bucket was opened.

      Version 2.0 Alpha3 (14 May 2019)

      Version 2.0.0-alpha.3 is the third alpha release for the Go SDK 2.0.0.

      New Features and Behavioral Changes

      • GOCBC-411: Split GetFromReplica into two new functions - GetAnyReplica and GetAllReplicas. GetAnyReplica will send requests to all servers to Get a document and return the first result received. GetAllReplicas returns a cancellable stream of documents from all servers.

      • GOCBC-429, GOCBC-430: Update how timeouts are selected when multiple are provided for an operation. If only Timeout is set on the options then use that value. If Timeout and Context are set then take the shortest of the two. If only Context is set then take the shortest of Context and cluster level timeout.

      • GOCBC-437: Add client side timeout to views.

      • GOCBC-441: Ensure that all durable operations have DurabilityLevel options.

      Version 2.0 Alpha2 (16 April 2019)

      Version 2.0.0-alpha.2 is the second alpha release for the Go SDK 2.0.0.

      New Features and Behavioral Changes

      • GOCBC-407; GOCBC-418; GOCBC-419; GOCBC-420: Added support for http streaming to the n1ql, analytics, search, and view APIs. These changes do not alter the public API but work implicitly with requests. This means that requests can be made for large amounts of data without hitting memory issues.

      • GOCBC-414: Updated the subdocument API so that full document operations are explicit rather than implicit.

      • GOCBC-415: Updated the subdocument API to enable to use of custom encoding/decoding options.

      • GOCBC-416: Updated the n1ql, analytics, search, and view APIs to move all metadata calls below a *Metadata type.

      • GOCBC-422: Change gocb.NewCluster to gocb.Connect.

      • GOCBC-423: Updated the search API so that the Status type no longer exists and, instead, there are SuccessCount and ErrorCount functions.

      • GOCBC-424: Updated the ErrNoResults error that can occur when using n1ql, analytics, search, and view APIs to be an actual error type which can be checked for using IsNoResultsError(err).

      • GOCBC-425: Updated how errors are handled in the n1ql, analytics, search, and view APIs so that if errors are known at execution time then they are returned straight away.

      Fixed Issues

      • GOCBC-413: Fixed issue where the SDK can get into a state where all future requests timeout following certain circumstances where a request times out whilst it is being sent.

      • GOCBC-431: Fixed issue where the SDK would fail to connect to some external network types such as a publicly addressable Kubernetes cluster.