Releases: ydb-platform/ydb-dotnet-sdk
Releases · ydb-platform/ydb-dotnet-sdk
v0.16.0
- Breaking Change:
Ydb.Sdk.Yc.Auth
version <= 0.1.0 is not compatible with newer versions. - Added
IAuthClient
to fetch auth token. - Added the
CachedCredentialsProvider
class, which streamlines token lifecycle management. - Breaking Change: Deleted
AnonymousProvider
. Now users don't need to do anything for anonymous authentication.
Migration guide:var config = new DriverConfig(...); // Using AnonymousProvider if Credentials property is null
- Breaking Change: Deleted
StaticCredentialsProvider
. Users are now recommended to use theUser
andPassword
properties inDriverConfig
for configuring authentication. Migration guide:var config = new DriverConfig(...) { User = "your_username", Password = "your_password" };
Full Changelog: v0.15.4...v0.16.0
v0.15.4
- Added
KeepAlivePingTimeout
, with a default value of 10 seconds. - Added
KeepAlivePingDelay
, with a default value of 10 seconds.
Full Changelog: v0.15.3...v0.15.4
v0.15.3
- Added SeqNo to
Ydb.Sdk.Services.Topic.Reader.Message
.
Full Changelog: v0.15.2...v0.15.3
v0.15.2
- Added SeqNo to
WriteResult
. - Changed signature of the
TopicClient.DropTopic
method.
Full Changelog: v0.15.1...v0.15.2
v0.15.1
- Fixed Writer: possible creation of a session after
DisposeAsync()
, which this could happen when there are canceled tasks inInFlightMessages
. - Dev:
Writer.MoveNext()
changed exception on cancelToken fromWriterException
toTaskCanceledException
. - Dev: changed log level from
Warning
toInformation
in(Reader / Writer).Initialize()
when it is disposed.
Full Changelog: v0.15.0...v0.15.1
v0.15.0
- Dev: added
ValueTask<string?> GetAuthInfoAsync()
in ICredentialProvider. - Feat:
Writer.DisposeAsync()
waits for all in-flight messages to complete. - Feat:
Reader.DisposeAsync()
waits for all pending commits to be completed. - Breaking Change:
IReader
now implementsIAsyncDisposable
instead ofIDisposable
.
This change requires updates to code that disposesIReader
instances. Useawait using
instead ofusing
. - Breaking Change:
IWriter
now implementsIAsyncDisposable
instead ofIDisposable
.
This change requires updates to code that disposesIWriter
instances. Useawait using
instead ofusing
. - Topic
Reader
&Writer
: update auth token in bidirectional stream.
Full Changelog: v0.14.1...v0.15.0
v0.14.1
- Fixed bug: public key presented not for certificate signature.
- Fixed: YdbDataReader does not throw YdbException when CloseAsync is called for UPDATE/INSERT statements with no
result.
Full Changelog: v0.14.0...v0.14.1
v0.14.0
- Reader client for YDB topics
- Fixed: send PartitionIds in InitRequest.
- Do a committed offset on StopPartitionSessionRequest event anyway.
- Added log info on StopPartitionSessionRequest event.
- PartitioningSettings were changed to change the PartitionCountLimit to MaxActivePartitions.
- Dev: updated System.IdentityModel.Tokens.Jwt from version 0.7.0 to version 8.5.0.
- PartitionSession.Stop uses committedOffset to complete commit tasks.
- Changed batch type: IReadOnlyCollection<Message> -> IReadOnlyList<Message>.
- Invoking TryReadRequestBytes before deserializing message.
- Updated Ydb.Protos 1.0.6 -> 1.1.1: Updated version of the Grpc.Net.Client library to 2.67.0 and proto messages.
- Fixed: YdbDataReader.GetDataTypeName for optional values.
- Added support for "Columns" collectionName in YdbConnection.GetSchema(Async).
Full Changelog: v0.12.0...v0.14.0
v0.12.0
- GetUint64(int ordinal) returns a ulong for Uint8, Uint16, Uint32, Uint64 YDB types.
- GetInt64(int ordinal) returns a int for Int8, Int16, Int32, Int64, Uint8, Uint16, Uint32 YDB types.
- GetUint32(int ordinal) returns a uint for Uint8, Uint16, Uint32 YDB types.
- GetInt32(int ordinal) returns a int for Int8, Int16, Int32, Uint8, Uint16 YDB types.
- GetUint16(int ordinal) returns a ushort for Uint8, Uint16 YDB types.
- GetInt16(int ordinal) returns a short for Int8, Int16, Uint8 YDB types.
- GetDouble(int ordinal) returns a double for Float and Double YDB types.
- Throw InvalidCastException on string.Empty in
GetChar(int ordinal)
. - Changed Ydb.Sdk.Value.InvalidTypeException to InvalidCastException in YdbValueParser.
- Changed InvalidCastException to InvalidOperationException in YdbParameter.
- Added specification tests: YdbCommandTests and YdbParameterTests.
- YdbConnection.Database returns string.Empty if ConnectionStringBuilder is null.
- Propagated cancellationToken in Execute[.*]Async methods.
- When YdbCommand has an open data reader, it throws InvalidOperationException on the setters: CommandText, DbConnection.
- Added checkers to YdbCommand.Prepare().
- CommandText getter doesn't throw an exception if the CommandText property has not been initialized.
Full Changelog: v0.11.0...v0.12.0
v0.11.0
- Fix bug: GetValue(int ordinal) return DBNull.Value if fetched NULL value.
- Fix: NextResult() moves to the next result and skip the first ResultSet.
- Added specification DbDataReaderTests.
- If dataOffset is larger than the length of data, GetChars and GetBytes methods will return 0.
- If YdbDataReader is closed:
throw new InvalidOperationException("The reader is closed")
. - InvalidOperationException on ConnectionString property has not been initialized.
- One YdbTransaction per YdbConnection. Otherwise, throw an exception: InvalidOperationException("A transaction is already in progress; nested/concurrent transactions aren't supported.").
- ConnectionString returns an empty.String when it is not set.
- When a YdbDataReader is closed, if stream is not empty, a YdbTransaction fails if it is not null. A session also fails due to a possible error SessionBusy race condition with the server.
- Fixed bug: Fetch txId from the last result set.
- YdbTransaction CheckDisposed() (invoke rollback if transaction hasn't been committed).
- Dev: Added specification tests for YdbTransaction.
Full Changelog: v0.10.0...v0.11.0