Skip to content

Releases: ydb-platform/ydb-dotnet-sdk

v0.15.1

06 Mar 13:02
Compare
Choose a tag to compare
  • Fixed Writer: possible creation of a session after DisposeAsync(), which this could happen when there are canceled tasks in InFlightMessages.
  • Dev: Writer.MoveNext() changed exception on cancelToken from WriterException to TaskCanceledException.
  • Dev: changed log level from Warning to Information in (Reader / Writer).Initialize() when it is disposed.

Full Changelog: v0.15.0...v0.15.1

v0.15.0

05 Mar 16:11
Compare
Choose a tag to compare
  • 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 implements IAsyncDisposable instead of IDisposable.
    This change requires updates to code that disposes IReader instances. Use await using instead of using.
  • Breaking Change: IWriter now implements IAsyncDisposable instead of IDisposable.
    This change requires updates to code that disposes IWriter instances. Use await using instead of using.
  • Topic Reader & Writer: update auth token in bidirectional stream.

Full Changelog: v0.14.1...v0.15.0

v0.14.1

03 Mar 08:05
Compare
Choose a tag to compare
  • 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

21 Feb 13:29
Compare
Choose a tag to compare
  • 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

31 Jan 19:34
Compare
Choose a tag to compare
  • 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

30 Jan 16:32
Compare
Choose a tag to compare
  • 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

v0.10.0

16 Jan 04:41
Compare
Choose a tag to compare
  • Fixed bug in Topic Writer: race condition when session fails, then write operation starts on previous session and new session is created. Messages may be lost.
  • Supported in ADO.NET GetSchema(Async). CollectionNames:
    • Tables
    • TablesWithCollections
    • DataSourceInformation
    • MetaDataCollections
    • Restrictions
  • Rename field _onStatus -> _onNotSuccessStatus in YdbDataReader
  • If session is not active, do not invoke DeleteNotActiveSession(session)
  • AttachStream: connect stream using NodeId
  • PoolManager: change pool properties on field
  • Delete *Settings.DefaultInstance because it's a singleton object that's changed by tasks when NodeId is set
  • DbConnection.Session.OnStatus(status) in YdbTransaction

Full Changelog: v0.9.4...v0.10.0

v0.9.4

25 Dec 09:09
Compare
Choose a tag to compare
  • Do not pessimize the node on Grpc.Core.StatusCode.Cancelled and Grpc.Core.StatusCode.DeadlineExceeded.
  • Dispose of WriterSession using dispose CancellationToken.
  • BidirectionalStream is internal class.
  • Move Metadata class to Ydb.Sdk.Services.Topic.
  • Fixed memory leak CancellationTokenRegistration.
  • Cancel writing tasks after disposing of Writer.

Full Changelog: v0.9.3...v0.9.4

v0.9.3

18 Dec 15:15
Compare
Choose a tag to compare
  • Fixed bug in Topic Writer: worker is stopped by disposeCts
  • Fixed bug in sql parser ADO.NET: deduplication declare param in YQL query
  • Deleted property BufferOverflowRetryTimeoutMs

Full Changelog: v0.9.2...v0.9.3

v0.9.2

17 Dec 13:10
Compare
Choose a tag to compare
  • Fixed bug: delete deadline grpc timeout on AttachStream

Full Changelog: v0.9.1...v0.9.2