Releases: checkout/checkout-sdk-net
5.0.0
Release - 5.0.0 (#546)
This release introduces .NET 8 support across the SDK, updates related dependencies and build/test workflows, and makes a breaking change to the Agentic Commerce API by renaming a key method. It also includes minor test improvements and some conditional compilation cleanup.
.NET 8 Support and Build/Dependency Updates
- Added .NET 8 (
net8.0) as a target framework to bothCheckoutSdkandCheckoutSdk.Extensionsprojects, and updated their dependencies to include .NET 8 compatible packages. (src/CheckoutSdk/CheckoutSdk.csproj,src/CheckoutSdk.Extensions/CheckoutSdk.Extensions.csproj) [1] [2] [3] [4] - Updated
global.jsonto use .NET SDK version 8.0.420. - Updated all GitHub Actions workflows to include .NET 8 in their build and test matrices. (
.github/workflows/build-master.yml,.github/workflows/build-pull-request.yml,.github/workflows/build-release.yml,.github/workflows/codeql-analysis.yml) [1] [2] [3] [4] [5] [6]
Conditional Compilation and Logging
- Updated preprocessor directives throughout the codebase to use
NET5_0_OR_GREATER || NETSTANDARD2_0instead of legacy combinations, ensuring correct logging and dependency usage for .NET 8 and simplifying multi-targeting logic. (src/CheckoutSdk/AbstractCheckoutSdkBuilder.cs,src/CheckoutSdk/ApiClient.cs,src/CheckoutSdk/LogProvider.cs,src/CheckoutSdk/OAuthSdkCredentials.cs) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
Agentic Commerce API Breaking Change
- Renamed the method
CreateDelegatedPaymenttoCreateDelegatedPaymentTokenin bothAgenticCommerceClientandIAgenticCommerceClient, and updated all related tests and usages accordingly. [1] [2] [3] [4] [5] [6] [7]
Test Improvements
- Updated integration tests to use
.ShouldNotBe(default)instead of.ShouldNotBeNull()for value types, improving the accuracy of assertions. (test/CheckoutSdkTest/Accounts/AccountsIntegrationTest.cs,test/CheckoutSdkTest/AgenticCommerce/AgenticCommerceIntegrationTest.cs) [1] [2] [3] [4]
Package Reference Conditions
- Improved conditional package references for legacy frameworks in
CheckoutSdk.csprojto avoid unnecessary dependencies for newer targets.
These updates ensure the SDK is compatible with the latest .NET ecosystem, improve CI reliability, and clarify API usage for Agentic Commerce.
4.24.0
Release 4.24.0 (#543)
Changes:
- Fix correct AccountHolder type and add missing fields to RequestIdSource and RequestCardSource
- Add PaymentRouting, PaymentSubscription and missing fields to PaymentRequest
- Update Card Metadata module: new fields, XML docs, and tests
- Fix balance predicates to refund integration tests to prevent flaky assertions
4.23.0
Release 4.23.0 (#538)
Changes:
- Add Agentic Commerce endpoint support with delegated payment operations
- Add Compliance Requests endpoint support (get details and respond)
- Add Google Pay endpoint support (enrollment, domain registration and listing)
- Add Digital Cards support to Issuing module
- Update Payment Setups and Flow models (Billing, AccommodationData, Paypal, and more)
- Update Authentication client with session headers support
- Wire up new clients in CheckoutApi/ICheckoutApi and update common infrastructure
4.22.2
4.22.1
Release - 4.22.1 (#533)
This release introduces several improvements and refactors across the SDK, focusing on enhanced API flexibility, improved type safety, and better test reliability. The most significant changes include updates to API methods for custom headers, improvements to file handling and type safety, and adjustments to test coverage due to upstream issues.
API flexibility and header support
- Added support for custom headers to the
Patchmethod inApiClientand its interface, allowing API calls to include additional headers when needed. (src/CheckoutSdk/ApiClient.cs,src/CheckoutSdk/IApiClient.cs, [1] [2] [3] - Updated
AccountsClientmethods (UpdatePaymentInstrument,UploadFile,RetrieveFile) to leverage new header support and correct entity path usage, improving API consistency and extensibility. (src/CheckoutSdk/Accounts/AccountsClient.cs, [1] [2] [3]
Type safety and file handling improvements
- Changed the
Purposeproperty inFileDetailsResponseto use the strongly-typedAccountsFilePurposeinstead of a plain string, improving type safety and clarity. (src/CheckoutSdk/Files/FileDetailsResponse.cs, src/CheckoutSdk/Files/FileDetailsResponse.csL23-R24) - Enhanced
AccountsFilePurposewith implicit conversions, equality overrides, andToString, facilitating easier and safer usage throughout the codebase. (src/CheckoutSdk/Accounts/AccountsFilePurpose.cs, [1] [2]
Payment method configuration and enum consistency
- Updated
PaymentMethodenum andPaymentMethodConfigurationto use consistent naming and serialization forapplepayandgooglepay, ensuring correct mapping and compatibility with API expectations. (src/CheckoutSdk/HandlePaymentsAndPayouts/Flow/Entities/PaymentMethod.cs, [1];src/CheckoutSdk/HandlePaymentsAndPayouts/Flow/Entities/PaymentMethodConfiguration.cs, [2] [3] [4]
Test reliability and coverage
- Temporarily skipped multiple integration tests in
AccountsIntegrationTestdue to upstream API issues (503 errors), preventing false negatives and maintaining CI reliability. (test/CheckoutSdkTest/Accounts/AccountsIntegrationTest.cs, [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
Miscellaneous improvements
- Changed the
Genderproperty inDocumentDetailsto use the nullableGenderenum instead of a string, improving type safety. (src/CheckoutSdk/Identities/Entities/DocumentDetails.cs, src/CheckoutSdk/Identities/Entities/DocumentDetails.csL63-R63) - Removed the unused
UpdatedCardclass fromStandaloneAccountUpdaterresponses, cleaning up the codebase. (src/CheckoutSdk/StandaloneAccountUpdater/Responses/UpdatedCard.cs, src/CheckoutSdk/StandaloneAccountUpdater/Responses/UpdatedCard.csL1-L37)
These changes collectively enhance the SDK's robustness, maintainability, and developer experience.