AWS Developer Tools Blog

Important changes coming for .NET Framework 3.5 and 4.5 targets of the AWS SDK for .NET

Update June 20th, 2024: Initially this announcement specified the minimum .NET Framework version would change to 4.6.2. During the development of this work we determined that 4.7.2 would be a better minimum target framework for the long term direction of the SDK. With 4.7.2 the SDK has access to more crypto algorithms that we will need in the future. This version also contains fixes to the System.Uri class that affect encoding and signature mismatch issues when using special character.


Starting August 15th 2024, the AWS SDK for .NET will end support for .NET Framework 3.5 and will change the minimum .NET Framework version to 4.7.2.

Motivation

.NET Framework 3.5 was released in 2007 when AWS was in its early stages with just a handful of services. Since then, the complexity of cloud applications and the requirements of language runtimes has grown. .NET itself has drastically changed since .NET Framework 3.5, including how asynchronous programming is written in .NET. For these reasons, the AWS SDK for .NET will end support for .NET Framework 3.5.

In addition, the AWS SDK for .NET currently targets .NET Framework 4.5, which reached end of life in January 2016. AWS SDK for .NET support for the .NET Framework 4.X platform is being raised to a minimum of 4.7.2. .NET Framework 4.7.2 is the default installation of Windows Server 2019 and can be used as far back Window Server 2008 R2 SP1 and Windows 7.

Making the change to use .NET Framework 4.7.2 for the AWS SDK will allow the team to start modernizing the SDK and deliver a higher performant SDK. The SDK will be able to use .NET Standard 2.0 libraries and APIs across all of the .NET targets for the AWS SDK for .NET. This will allow the SDK to use System.Text.Json for JSON parsing and memory efficent APIs such as Spans and ArrayPool. These changes will reduce allocations and garbage collections so that applications that use the .NET SDK can have improved performance and have a smaller memory footprint. Modernizing the SDK will be ongoing work, which starts by updating the SDK’s minimum .NET Framework targets.

Conclusion

If you are are running applications that cannot be upgraded at this time, you can continue using your current version of AWS SDK for .NET. However, on August 15th 2024, new versions of the AWS SDK for .NET will not support these older versions of .NET Framework. The source of the SDK is available on GitHub. When support for .NET Framework 3.5 ends, the last version of the SDK that supported .NET Framework 3.5 will be archived in a separate Git branch.

Feedback

The changes to the SDK will be done in our GitHub repository for the AWS SDK for .NET. You can provide feedback for the changes on the repository by opening issues and discussions.

Norm Johanson

Norm Johanson

Norm Johanson has been a software developer for more than 20 years developing all types of applications. Since 2010 he has been working for AWS focusing on the .NET developer experience at AWS. You can find him on Twitter @socketnorm and GitHub @normj.