DotRocks 1.3.3
A patch release of DotRocks — a native .NET driver, Entity Framework Core provider, and Roslyn analyzer suite built specifically for StarRocks. It implements its own managed StarRocks client protocol and takes no runtime dependency on any MySQL driver. This release gives the ADO.NET synchronous command path a native streaming pipeline so it no longer blocks on the async path, adds compilable TLS, pooling, transaction, and Stream Load transaction samples, expands the performance benchmark suite, refreshes the documentation, and pins the transitive Roslyn workspace packages.
Added
- The ADO.NET synchronous command path (
ExecuteReader,ExecuteScalar,ExecuteNonQuery, and theCommandBehavioroverloads) now runs on a native synchronous streaming pipeline instead of blocking on the async path throughGetAwaiter().GetResult(), so large result sets stream row-by-row without buffering the whole set or pinning a thread-pool thread on an async continuation.DotRocksDataReadergains aDisposeAsync()override, andExecuteScalar/ExecuteScalarAsyncnow request a single row instead of draining the rest of the result set. - Compilable samples for secure (TLS) connections, connection pooling, transactions, and Stream Load transactions (
DotRocks.Samples.SecureConnection,.ConnectionPooling,.Transactions, and.StreamLoadTransaction). - Expanded performance benchmark coverage — analyzer execution, EF Core materialization, protocol hot paths, packet framing, and Stream Load — with a broadened performance-budget guard.
Changed
- Documentation refresh: new connection-string, security, Stream Load, observability, and analyzer guides; corrected Stream Load result and transaction guidance; documented the bounded metric tags and the canonical EF Core mapping APIs; and clarified analyzer code-fix availability.
Fixed
- The transitive Roslyn workspace packages are pinned so the analyzer projects can no longer pick up a conflicting
Microsoft.CodeAnalysis.*transitive dependency version.
Compatibility
- .NET 10 / C# 14. Source-compatible with 1.3.2 — the only public API addition is the
DotRocksDataReader.DisposeAsync()override. Behavior change worth noting:ExecuteScalar/ExecuteScalarAsyncnow stop after the first row instead of draining the full result set, and the synchronous command path streams rather than blocking on the async pipeline.
Full Changelog: v1.3.2...v1.3.3