feat: update .NET SDK support to include versions 8.0, 9.0, and 10.0;… - #14
Merged
Conversation
… enhance build and test workflows; implement IDisposable for client classes
lukekim
commented
Nov 23, 2025
lukekim
enabled auto-merge (squash)
November 23, 2025 05:58
sgrebnov
approved these changes
Nov 23, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the Spice.ai .NET SDK, focusing on enhanced multi-framework support, resource management, and developer usability. The most important changes include support for .NET 8, 9, and 10, proper disposal of network resources via
IDisposablein key classes, stricter input validation, and updates to CI/CD workflows to build and test across multiple frameworks.Multi-framework support and packaging:
Spice/Spice.csprojto supportnetstandard2.0,net8.0,net9.0, andnet10.0, and upgraded package dependencies to the latest versions. Also changed the package ID to lowercase and bumped the version to0.2.0..github/workflows/pr.yaml,.github/workflows/publish.yaml) to build and test against multiple .NET versions (8, 9, 10) and improved NuGet publishing to skip duplicates. [1] [2]Resource management and disposal:
IDisposableinSpiceClientandSpiceFlightClientto ensure proper cleanup of gRPC channels and HTTP clients, preventing resource leaks. [1] [2] [3]README.mdto emphasize usingusingstatements/declarations for automatic disposal ofSpiceClientinstances. [1] [2]Input validation and error handling:
SpiceClientBuildermethods (WithFlightAddress,WithApiKey,WithMaxRetries,WithUserAgent) usingThrowHelperfor pre-.NET 8 targets and built-in exceptions for .NET 8+. [1] [2] [3] [4] [5]Documentation and usability:
README.mdto reflect new framework support, improved code samples to useusing var, and added a section on memory management best practices. [1] [2] [3]These changes collectively make the SDK more robust, easier to use, and compatible with the latest .NET platforms.