In July 2026, we announced our annual minor release cycle for updating the AWS SDK for .NET build targets. Today we’re releasing 4.1, the first release on this schedule. Along with the build target changes, we made dependency changes that improve performance and make the SDK easier to use. If your project targets a version of .NET that is in support according to the Microsoft .NET lifecycle, you can expect to update to the latest version with no code changes.
Updated .NET build targets
Version 4.1 includes builds for the following targets:
- .NET 11
- .NET 10
- .NET 8
- .NET Standard 2.0
- .NET Framework 4.7.2
The main change is that we removed the .NET Core 3.1 target. Applications that target .NET Core 3.1 or .NET 5, 6, or 7 are out of support and we recommend moving to a Microsoft supported .NET version. If you update the SDK without doing that, you’ll get a compile-time warning that the SDK has fallen back to the .NET Standard 2.0 build of the AWS SDK for .NET.
warning : The target framework 'net6.0' is no longer supported by the AWS SDK for .NET. This project has fallen back to the .NET Standard 2.0 assemblies of the SDK, which do not include the features and optimizations available on supported targets. The .NET Standard 2.0 build doesn’t have target-specific features such as the Native AOT optimizations and bidirectional event stream APIs that arrived in the .NET 8 build.
The .NET 8 target remains in the AWS SDK for .NET despite recently going out of support from Microsoft. It will remain in the SDK for 1 year. Next year when we release 4.2 of the AWS SDK for .NET the .NET 8 target will be removed. This gives users a year to update to newer supported versions of .NET.
Replacing AWS Common Runtime dependencies
Previously, the SDK used .NET bindings to the native AWS Common Runtime (CRT) for algorithms that .NET didn’t provide. These were SigV4a, which features like Amazon Simple Storage Service (Amazon S3) multi-region access points need, and CRC64NVME checksums for S3 objects. CRT was optional, so if you used one of these features without the AWSSDK.Extensions.CrtIntegration NuGet package, you got a runtime exception.
With 4.1, the SDK no longer needs CRT. A managed SigV4a implementation is now part of the AWSSDK.Core package. Checksums on all targets use the System.IO.Hashing package, which is .NET Standard 2.0 compatible, so every target of the AWS SDK for .NET can use it. The .NET 11 release added CRC64NVME support to System.IO.Hashing across all .NET targets the SDK supports, removing the last dependency on the CRT. If your project references AWSSDK.Extensions.CrtIntegration, you can remove it. Otherwise, it’s included in your deployment bundle and ignored.
Note for .NET 8 and 9 applications. Because .NET 8 and 9 are now out of support following the Microsoft .NET lifecycle, the System.IO.Hashing library triggers a compile-time warning, like other System.* .NET Standard 2.0-based packages from Microsoft. This warning informs users that Microsoft does not run the library through its test suite for these targets because they are out of support.
warning : System.IO.Hashing 11.0.0 doesn't support net8.0 and has not been tested with it. Consider upgrading your TargetFramework to net10.0 or later. The CI infrastructure for the AWS SDK for .NET does test System.IO.Hashing for the use cases in which the SDK uses the package. We recommend updating to a .NET version that is currently supported according to the Microsoft .NET lifecycle to remove the warning. Alternatively, you can suppress the compile-time warning by setting the SuppressTfmSupportBuildWarnings MSBuild property to true.
Performance
Performance has been a big theme for the SDK this year, with a focus on optimizing hot paths and reducing memory allocations. Version 4.1 adds two more significant improvements.
Checksums: The SDK calculates checksums in several places. One example is the CRC32 checksum it calculates by default for Amazon S3 uploads. Previously the SDK used custom checksum implementations in AWSSDK.Core. It now uses System.IO.Hashing, which avoids allocations and is hardware accelerated on newer targets such as .NET 10 and 11. This lowers CPU and memory use for every operation that calculates a checksum, including S3 uploads, with no code changes.
Concise Binary Object Representation (CBOR): Many AWS services such as Amazon CloudWatch are adding support for CBOR, a compact binary format that is an alternative to JSON. Smaller payloads reduce transmission time. As services add CBOR support, the SDK will use it through the System.Formats.Cbor package. For .NET 11 we worked with the .NET team on performance-focused API changes to that package, and 4.1 includes them.
Conclusion
Version 4.1 is our first release on the annual .NET target update schedule. It moves the SDK to the latest .NET versions, drops the .NET Core 3.1 target, and removes the need for CRT. To get these changes, update your AWS SDK for .NET NuGet packages to 4.1.
We’d like to hear how the upgrade goes. Try 4.1 and let us know what you think by opening an issue or starting a discussion in the aws-sdk-net GitHub repository.