github Azure/azure-sdk-for-net Azure.Storage.Files.DataLake_12.29.0-beta.1

latest release: Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.67
pre-release5 hours ago

12.29.0-beta.1 (2026-11-05)

Features Added

  • Added support for Session Authentication for TokenCredential-authenticated clients using GET Blob operations. This is currently disabled by default and can be enabled via DataLakeClientOptions.SessionOptions.SessionMode.
  • Added support for locality-aware downloads for DataLakeFileClient.ReadTo, DataLakeFileClient.ReadToAsync, DataLakeFileClient.OpenRead, and DataLakeFileClient.OpenReadAsync operations. This is currently disabled by default and can be enabled via DataLakeFileReadToOptions.LayoutAwareRouting and DataLakeOpenReadOptions.LayoutAwareRouting.
  • Added support for scheduling file deletion with DataLakeFileClient.Upload and UploadAsync.

Breaking Changes

  • Changed the default value of StorageTransferOptions.InitialTransferSize used by partitioned uploads and downloads when it is not set by the caller. It now matches the default size of subsequent chunks instead of 256 MB:
    • Downloads (DataLakeFileClient.ReadTo/ReadToAsync): the first range request now defaults to 4 MB, the same as subsequent ranges. Previously, it was 256 MB when no transfer checksum was used.
    • Uploads (DataLakeFileClient.Upload/UploadAsync): a file is now uploaded in a single Append and Flush only if its content is smaller than the default block size (4 MB, or 8 MB for content of 100 MB or more). Previously, content smaller than 256 MB was uploaded in a single append.
    • This means uploads and downloads may be partitioned more often, leading to more requests.
    • Explicitly set InitialTransferSize and MaximumTransferSize values are still respected. To restore the previous behavior, set StorageTransferOptions.InitialTransferSize to 256 MB.

Bugs Fixed

  • Fixed SAS timestamp handling for non-UTC DateTimeOffset values. SAS times are now normalized to UTC before formatting/signing, preventing unintended validity windows in st/se (Start Time, Expiry Time) and related delegation key fields. Affected APIs include:
    • DataLakeFileSystemClient.GenerateSasUri(...)
    • DataLakeFileSystemClient.GenerateUserDelegationSasUri(...)
    • DataLakePathClient.GenerateSasUri(...)
    • DataLakePathClient.GenerateUserDelegationSasUri(...)
    • DataLakeServiceClient.GenerateAccountSasUri(...)
    • DataLakeSasBuilder

Don't miss a new azure-sdk-for-net release

NewReleases is sending notifications on new releases.