Skip to content

Releases: ydb-platform/ydb-go-sdk

v3.7.0-beta

17 Jan 10:28
b5971c6
Compare
Choose a tag to compare
v3.7.0-beta Pre-release
Pre-release
  • Replaced Option to CustomOption on Connection interface methods
  • Implements WithCustom[Token,Database] options for redefine database and token
  • Removed experimental balancer.PreferEndpoints[WithFallback][RegEx] balancers
  • Supported connections TTL with Option WithConnectionTTL
  • Remove unnecessary WithFastDial option (lazy connections are always fast inserts into cluster)
  • Added Scripting service client with API methods Execute(), StreamExecute() and Explain()
  • Added String() method to table.types.Type interface
  • Added With[Custom]UserAgent() Option and CustomOption constructors
  • Refactored log.Logger interface and internal implementation
  • Added retry.RetryableError() for returns user-defined error which must be retryed
  • Renamed internal type internal.errors.OperationCompleted to internal.errors.OperationStatus
  • Added String() method to table.KeyRange and table.Value types
  • Replaced creation of goroutine on each stream call to explicit call stream.Recv() on NextResultSet()

v3.7.0-alpha

17 Jan 06:34
25487fe
Compare
Choose a tag to compare
v3.7.0-alpha Pre-release
Pre-release
  • Replaced Option to CustomOption on Connection interface methods
  • Implements WithCustom[Token,Database] options for redefine database and token
  • Removed experimental balancer.PreferEndpoints[WithFallback][RegEx] balancers
  • Supported connections TTL with Option WithConnectionTTL
  • Remove unnecessary WithFastDial option (lazy connections are always fast inserts into cluster)
  • Added Scripting service client with API methods Execute(), StreamExecute() and Explain()
  • Added String() method to table.types.Type interface
  • Added With[Custom]UserAgent() Option and CustomOption constructors
  • Refactored log.Logger interface and internal implementation
  • Added retry.RetryableError() for returns user-defined error which must be retryed
  • Renamed internal type internal.errors.OperationCompleted to internal.errors.OperationStatus
  • Added String() method to table.KeyRange and table.Value types

v3.5.2: Merge pull request #68 from ydb-platform/race-result

03 Jan 09:32
4dfb59d
Compare
Choose a tag to compare
  • Fixed data race on closing table result
  • Added custom dns-resolver to grpc options for use dns-balancing with round_robin balancing policy
  • Wrapped with recover() system panic on getting system certificates pool
  • Added linters and fixed issues from them
  • Changed API of sugar package

v3.5.0

21 Dec 15:03
f1e959a
Compare
Choose a tag to compare
  • Added ClosabelSession interface which extends Session interface and provide Close method
  • Added CreateSession method into table.Client interface
  • Added Context field into trace.Driver.Net{Dial,Read,Write,Close}StartInfo structs
  • Added Address field into trace.Driver.DiscoveryStartInfo struct
  • Improved logger options (provide err and out writers, provide external logger)
  • Renamed package table.resultset to table.result
  • Added trace.Driver.{OnInit,OnClose} events
  • Changed unit/integration tests running
  • Fixed/added YDB error checkers
  • Dropped ydb.WithDriverConfigOptions (duplicate of ydb.With)
  • Fixed freeze on closing driver
  • Fixed CGO race on Darwin system when driver tried to expand tilde on certificates path
  • Removed EnsurePathExists and CleanupDatabase from API of scheme.Client
  • Added helpers MakePath and CleanPath to root of package ydb-go-sdk
  • Removed call types.Scanner.UnmarshalYDB() inside scanner.setDefaults()
  • Added DoTx() API method into table.Client
  • Added String() method into ConnectParams for serialize params to connection string
  • Added early exit from Rollback for committed transaction
  • Moved HasNextResultSet() method from Result interface to common result interface. It provides access to HasNextResultSet() on both result interfaces (unary and stream results)
  • Added public credentials constructors credentials.NewAnonymousCredentials() and credentials.NewAccessTokenCredentials(token)

v3.2.3

30 Oct 07:36
Compare
Choose a tag to compare
  • Fixed bug of interpret tilda in path of certificates file
  • Added chapter to README.md about ecosystem of debug tools over ydb-go-sdk
  • Fixed result type of RawValue.String (ydb string compatible)
  • Fixed scans ydb types into string and slice byte receivers
  • Added WithEndpoint and WithDatabase Option constructors
  • added package log with interface log.Logger
  • implements trace.Driver and trace.Table with log.Logger
  • added internal leveled logger which implement interface log.Logger
  • supported environment variable YDB_LOG_SEVERITY_LEVEL
  • changed name of the field RetryAttempts to Attempts in the structure trace.PoolGetDoneInfo.
    This change reduces back compatibility, but there are no external uses of v3 sdk, so this change is
    fine. We are sorry if this change broke your code

v3.1.0

26 Oct 14:41
ac78b88
Compare
Choose a tag to compare
  • published scheme Client interface

v3.0.1

26 Oct 14:39
Compare
Choose a tag to compare
  • refactored integration tests
  • fixed table retry trace calls

v3.0.0

23 Oct 23:01
Compare
Choose a tag to compare
  • Refactored sources for splitting public interfaces and internal
    implementation for core changes in the future without change major version
  • Refactored of transport level of driver - now we use grpc code generation by stock protoc-gen-go instead internal protoc codegen. New API provide operate from codegen grpc-clients with driver as a single grpc client connection. But driver hide inside self a pool of grpc connections to different cluster endpoints YDB. All communications with YDB (base services includes to driver: table, discovery, coordiantion and ratelimiter) provides stock codegen grpc-clients now.
  • Much changed API of driver for easy usage.
  • Dropped package ydbsql (moved to external project)
  • Extracted yandex-cloud authentication to external project
  • Extracted examples to external project
  • Changed of traces API for next usage in jaeger и prometheus
  • Dropped old APIs marked as deprecated
  • Added integration tests with docker ydb container
  • Changed table session and endpoint link type from string address to integer NodeID