Migrate to using Swift concurrency tasks to manage credential refreshes
use NSLock rather than a raw mutex. Ensure there is sufficient locking around retrieving and updating credentials
Remove conditional compilation around swift-concurrency code and remove Swift 5.5 support (as per our support document)
Add v2 versions of the public APIs that are async, deprecating the existing versions. The only difference between the now deprecated versions and v2 is that the initial credential retrieval will now be done async - in both cases the subsequent background refreshes will use the Swift-concurrency tasks.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.