Skip to content

Releases: ydb-platform/ydb-dotnet-sdk

v0.25.1

06 Nov 13:46

Choose a tag to compare

  • Fixed bug ADO.NET: ArgumentOutOfRangeException when using YdbParameter with YdbDbType = YdbDbType.List | YdbDbType.Unspecified;

Full Changelog: v0.25.0...v0.25.1

v0.25.0

06 Nov 09:16

Choose a tag to compare

  • Breaking Change: Renamed YdbDbType enum members to match the ydb.tech naming:
    • UInt8 -> Uint8.
    • UInt16 -> Uint16.
    • UInt32 -> Uint32.
    • Uint64 -> Uint64.
    • DateTime -> Datetime.
  • Breaking Change: Removed unused methods GetJson, GetJsonDocument, and GetYson from YdbDataReader.
  • Feat ADO.NET: Add support for reading Yson from YdbDataReader.GetBytes.
  • Feat ADO.NET: Add support for reading Json and JsonDocument from YdbDataReader.GetString.
  • Feat ADO.NET: Added type checking in the parameter list in sql statement IN (@id1, @id2).
  • Breaking Change: Ydb.Sdk.Services.Topic moved to Ydb.Sdk.Topic.

Full Changelog: v0.24.0...v0.25.0

ef-v0.1.0

20 Oct 19:45

Choose a tag to compare

  • Fixed bug: incompatible coalesce types (#531).
  • Upgraded ADO.NET provider version: 0.17.00.24.0.
  • Fixed Decimal precision/scale mapping in EF provider.
  • Supported Guid (Uuid YDB type).
  • PrivateAssets="none" is set to flow the EF Core analyzer to users referencing this package issue.

Full Changelog: v0.0.2...v0.1.0

v0.24.0

16 Oct 08:28

Choose a tag to compare

  • Breaking Change: Renamed properties in YdbConnectionStringBuilder:
    • MaxSessionPool -> MaxPoolSize.
    • MinSessionPool -> MinPoolSize.
  • Added XML documentation for all public APIs in Ydb.Sdk.
  • Feat ADO.NET: Added dispose timeout (10 seconds) to PoolingSessionSource.
  • Feat ADO.NET: Added EnableImplicitSession to support implicit sessions.

Full Changelog: v0.23.1...v0.24.0

v0.23.1

19 Sep 19:06

Choose a tag to compare

  • Fixed bug Topic Reader: NullReferenceException when handling StopPartitionSessionRequest (#528).
  • Feat ADO.NET: Added YSON type support (YdbDbType.Yson) with byte[] values.

Full Changelog: v0.23.0...v0.23.1

v0.23.0

16 Sep 09:08

Choose a tag to compare

  • Feat ADO.NET: YdbDataSource.OpenRetryableConnectionAsync opens a retryable connection with automatic retries for transient failures.
  • Fixed bug ADO.NET/PoolManager: SemaphoreSlim.WaitAsync over-release on cancellation.
  • Feat ADO.NET: Mark YdbConnection.State as Broken when the underlying session is broken, including background deactivation.
  • Feat ADO.NET: Added YdbDataSource ExecuteAsync and ExecuteInTransaction convenience methods.
  • Breaking Change: moved and renamed Ydb.Sdk.Services.Query.TxMode -> Ydb.Sdk.Ado.TransactionMode.
  • Feat ADO.NET: Cache gRPC transport by gRPCConnectionString to reuse channels.
  • Fixed bug wrap-around ADO.NET: Big parameterized Decimal — ((ulong)bits[1] << 32) -> ((ulong)(uint)bits[1] << 32).
  • Feat ADO.NET: Parameterized Decimal overflow check: Precision and Scale.
  • Feat ADO.NET: Deleted support for DateTimeOffset was a mistake.
  • Feat ADO.NET: Added support for Date32, Datetime64, Timestamp64 and Interval64 types in YDB.
  • Feat: Implement YdbRetryPolicy with AWS-inspired Exponential Backoff and Jitter.
  • Dev: LogLevel Warning -> Debug on DeleteSession has been RpcException.

Full Changelog: v0.22.0...v0.23.0

v0.22.0

12 Aug 14:57

Choose a tag to compare

  • Added YdbDbType property to YdbParameter, allowing to explicitly specify YDB-specific data types for parameter mapping.
  • ADO.NET: Now YdbConnection.OpenAsync and YdbCommand.Execute* throw OperationCanceledException,
    if the CancellationToken has already been cancelled before the method is called.
  • Feat ADO.NET: decimal type with arbitrary precision/scale (#498).
  • Fixed bug: interval value parsing in microseconds and double instead of ticks (#497).
  • ADO.NET: Changed IBulkUpsertImporter.AddRowAsync signature: object?[] rowparams object[].

Full Changelog: v0.21.0...v0.22.0

v0.21.0

04 Aug 09:16

Choose a tag to compare

  • ADO.NET: Added MinPoolSize setting to keep a minimum number of sessions ready in the PoolingSessionSource.
  • ADO.NET: Added SessionIdleTimeout to remove idle sessions from the PoolingSessionSource automatically.
  • ADO.NET: Made PoolingSessionSource faster and more reliable by using a lock-free LIFO stack.
  • ADO.NET: Added BeginBulkUpsertImport for batch upsert operations with transaction checks and integration tests.
  • Optimization: On BadSession, do not invoke the DeleteSession() method.
  • Canceling AttachStream after calling the DeleteSession method.
  • Fixed bug: fixed issue where session was not deleted (ClientTransportTimeout).
  • Fixed bug: Grpc.Core.StatusCode.Cancelled was mapped to server's Canceled status.
  • ADO.NET: PoolingSessionSource 2.0 based on Npgsql pooling algorithm.
  • Added new ADO.NET options:
    • MinSessionPool: The minimum connection pool size.
    • SessionIdleTimeout: The time (in seconds) to wait before closing idle session in the pool if the count of all sessions exceeds MinSessionPool.
    • SessionPruningInterval: How many seconds the pool waits before attempting to prune idle sessions (see SessionIdleTimeout).
  • Fixed bug Reader: unhandled exception in TryReadRequestBytes(long bytes).
  • Handle YdbException on DeleteSession.
  • Do not invoke DeleteSession if the session is not active.
  • YdbException: Added cancellation token propagation support in CommitAsync and RollbackAsync.
  • Deleted legacy exceptions: Driver.TransportException, StatusUnsuccessfulException and InitializationFailureException.
  • Fixed bug: Unhandled exception System.Net.Http.HttpIOException has now been converted to YdbException (grpc-dotnet issue).
  • Added 'x-ydb-client-pid' header to any RPC calls.
  • Added DisableServerBalancer option to ADO.NET session creation; default false.

Full Changelog: v0.20.1...v0.21.0

v0.20.1

02 Jul 15:08

Choose a tag to compare

  • Fixed bug ADO.NET: YdbSchema.SchemaObjects and Ydb.DescribeTablemethods are public for EntityFrameworkCore.Ydb.

Full Changelog: v0.20.0...v0.20.1

v0.20.0

02 Jul 10:46

Choose a tag to compare

  • Fixed bug: SQL parser skips token after param.
  • ADO.NET: Added support for conversion from IN (?, ?, ?) to IN $list (#447).

Full Changelog: v0.19.0...v0.20.0