Skip to content

Commit 0110805

Browse files
authored
Storage STG 99 (#49887)
1 parent a579556 commit 0110805

File tree

88 files changed

+754
-509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+754
-509
lines changed

sdk/storage/Azure.Storage.Blobs.Batch/CHANGELOG.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
# Release History
22

3-
## 12.22.0-beta.2 (Unreleased)
3+
## 12.23.0-beta.1 (Unreleased)
44

55
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
10-
11-
### Other Changes
6+
- Added support for service version 2025-11-05.
7+
- Added more useful error message when the SDK encounters an x-ms-version mis-match issue.
128

139
## 12.22.0-beta.1 (2025-05-06)
1410

sdk/storage/Azure.Storage.Blobs.Batch/src/Azure.Storage.Blobs.Batch.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
</PropertyGroup>
55
<PropertyGroup>
66
<AssemblyTitle>Microsoft Azure.Storage.Blobs.Batch client library</AssemblyTitle>
7-
<Version>12.22.0-beta.2</Version>
7+
<Version>12.23.0-beta.1</Version>
88
<!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
99
<ApiCompatVersion>12.21.0</ApiCompatVersion>
1010
<DefineConstants>BlobSDK;$(DefineConstants)</DefineConstants>

sdk/storage/Azure.Storage.Blobs.ChangeFeed/CHANGELOG.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,8 @@
33
## 12.0.0-preview.56 (Unreleased)
44

55
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
10-
11-
### Other Changes
6+
- Added support for service version 2025-11-05.
7+
- Added more useful error message when the SDK encounters an x-ms-version mis-match issue.
128

139
## 12.0.0-preview.55 (2025-05-06)
1410

sdk/storage/Azure.Storage.Blobs.ChangeFeed/tests/ChangeFeedTestBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ namespace Azure.Storage.Blobs.ChangeFeed.Tests
3535
BlobClientOptions.ServiceVersion.V2025_01_05,
3636
BlobClientOptions.ServiceVersion.V2025_05_05,
3737
BlobClientOptions.ServiceVersion.V2025_07_05,
38+
BlobClientOptions.ServiceVersion.V2025_11_05,
3839
StorageVersionExtensions.LatestVersion,
3940
StorageVersionExtensions.MaxVersion,
4041
RecordingServiceVersion = StorageVersionExtensions.MaxVersion,

sdk/storage/Azure.Storage.Blobs/CHANGELOG.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Release History
22

3-
## 12.25.0-beta.2 (Unreleased)
3+
## 12.26.0-beta.1 (Unreleased)
44

55
### Features Added
6-
7-
### Breaking Changes
8-
9-
### Bugs Fixed
6+
- Added support for service version 2025-11-05.
7+
- AppendBlobClient.AppendBlobFromUri(), .AppendBlockFromUriAsync(), BlobBaseClient.StartCopyFromUri(), .StartCopyFromUriAsync(), SyncCopyFromUri(), .SyncCopyFromUriAsync(), BlockBlobClient.StageBlockFromUri(), .StageBlockFromUriAsync(), PageBlobClient.UploadPagesFromUri(), and .UploadPagesFromUri() will now return CopySourceStatusCode, CopySourceErrorCode, and CopySourceErrorMessage as part of error responses.
8+
- Added more useful error message when the SDK encounters an x-ms-version mis-match issue.
109

1110
### Other Changes
11+
- Changed BlobServiceClient.AccountName to be virtual so that it can be overridden and mocked.
1212

1313
## 12.25.0-beta.1 (2025-05-06)
1414

sdk/storage/Azure.Storage.Blobs/api/Azure.Storage.Blobs.net6.0.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public BlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredential c
5757
}
5858
public partial class BlobClientOptions : Azure.Core.ClientOptions
5959
{
60-
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) { }
60+
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) { }
6161
public Azure.Storage.Blobs.Models.BlobAudience? Audience { get { throw null; } set { } }
6262
public Azure.Storage.Blobs.Models.CustomerProvidedKey? CustomerProvidedKey { get { throw null; } set { } }
6363
public bool EnableTenantDiscovery { get { throw null; } set { } }
@@ -96,6 +96,7 @@ public enum ServiceVersion
9696
V2025_01_05 = 25,
9797
V2025_05_05 = 26,
9898
V2025_07_05 = 27,
99+
V2025_11_05 = 28,
99100
}
100101
}
101102
public partial class BlobContainerClient
@@ -186,7 +187,7 @@ public BlobServiceClient(System.Uri serviceUri, Azure.AzureSasCredential credent
186187
public BlobServiceClient(System.Uri serviceUri, Azure.Core.TokenCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
187188
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.Blobs.BlobClientOptions options = null) { }
188189
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.StorageSharedKeyCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
189-
public string AccountName { get { throw null; } }
190+
public virtual string AccountName { get { throw null; } }
190191
public virtual bool CanGenerateAccountSasUri { get { throw null; } }
191192
public virtual System.Uri Uri { get { throw null; } }
192193
public virtual Azure.Response<Azure.Storage.Blobs.BlobContainerClient> CreateBlobContainer(string blobContainerName, Azure.Storage.Blobs.Models.PublicAccessType publicAccessType = Azure.Storage.Blobs.Models.PublicAccessType.None, System.Collections.Generic.IDictionary<string, string> metadata = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
@@ -1908,7 +1909,7 @@ public PageBlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredenti
19081909
}
19091910
public partial class SpecializedBlobClientOptions : Azure.Storage.Blobs.BlobClientOptions
19101911
{
1911-
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
1912+
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
19121913
public Azure.Storage.ClientSideEncryptionOptions ClientSideEncryption { get { throw null; } set { } }
19131914
}
19141915
public static partial class SpecializedBlobExtensions

sdk/storage/Azure.Storage.Blobs/api/Azure.Storage.Blobs.net8.0.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public BlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredential c
5757
}
5858
public partial class BlobClientOptions : Azure.Core.ClientOptions
5959
{
60-
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) { }
60+
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) { }
6161
public Azure.Storage.Blobs.Models.BlobAudience? Audience { get { throw null; } set { } }
6262
public Azure.Storage.Blobs.Models.CustomerProvidedKey? CustomerProvidedKey { get { throw null; } set { } }
6363
public bool EnableTenantDiscovery { get { throw null; } set { } }
@@ -96,6 +96,7 @@ public enum ServiceVersion
9696
V2025_01_05 = 25,
9797
V2025_05_05 = 26,
9898
V2025_07_05 = 27,
99+
V2025_11_05 = 28,
99100
}
100101
}
101102
public partial class BlobContainerClient
@@ -186,7 +187,7 @@ public BlobServiceClient(System.Uri serviceUri, Azure.AzureSasCredential credent
186187
public BlobServiceClient(System.Uri serviceUri, Azure.Core.TokenCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
187188
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.Blobs.BlobClientOptions options = null) { }
188189
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.StorageSharedKeyCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
189-
public string AccountName { get { throw null; } }
190+
public virtual string AccountName { get { throw null; } }
190191
public virtual bool CanGenerateAccountSasUri { get { throw null; } }
191192
public virtual System.Uri Uri { get { throw null; } }
192193
public virtual Azure.Response<Azure.Storage.Blobs.BlobContainerClient> CreateBlobContainer(string blobContainerName, Azure.Storage.Blobs.Models.PublicAccessType publicAccessType = Azure.Storage.Blobs.Models.PublicAccessType.None, System.Collections.Generic.IDictionary<string, string> metadata = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
@@ -1908,7 +1909,7 @@ public PageBlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredenti
19081909
}
19091910
public partial class SpecializedBlobClientOptions : Azure.Storage.Blobs.BlobClientOptions
19101911
{
1911-
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
1912+
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
19121913
public Azure.Storage.ClientSideEncryptionOptions ClientSideEncryption { get { throw null; } set { } }
19131914
}
19141915
public static partial class SpecializedBlobExtensions

sdk/storage/Azure.Storage.Blobs/api/Azure.Storage.Blobs.netstandard2.0.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public BlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredential c
5757
}
5858
public partial class BlobClientOptions : Azure.Core.ClientOptions
5959
{
60-
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) { }
60+
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) { }
6161
public Azure.Storage.Blobs.Models.BlobAudience? Audience { get { throw null; } set { } }
6262
public Azure.Storage.Blobs.Models.CustomerProvidedKey? CustomerProvidedKey { get { throw null; } set { } }
6363
public bool EnableTenantDiscovery { get { throw null; } set { } }
@@ -96,6 +96,7 @@ public enum ServiceVersion
9696
V2025_01_05 = 25,
9797
V2025_05_05 = 26,
9898
V2025_07_05 = 27,
99+
V2025_11_05 = 28,
99100
}
100101
}
101102
public partial class BlobContainerClient
@@ -186,7 +187,7 @@ public BlobServiceClient(System.Uri serviceUri, Azure.AzureSasCredential credent
186187
public BlobServiceClient(System.Uri serviceUri, Azure.Core.TokenCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
187188
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.Blobs.BlobClientOptions options = null) { }
188189
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.StorageSharedKeyCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
189-
public string AccountName { get { throw null; } }
190+
public virtual string AccountName { get { throw null; } }
190191
public virtual bool CanGenerateAccountSasUri { get { throw null; } }
191192
public virtual System.Uri Uri { get { throw null; } }
192193
public virtual Azure.Response<Azure.Storage.Blobs.BlobContainerClient> CreateBlobContainer(string blobContainerName, Azure.Storage.Blobs.Models.PublicAccessType publicAccessType = Azure.Storage.Blobs.Models.PublicAccessType.None, System.Collections.Generic.IDictionary<string, string> metadata = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
@@ -1908,7 +1909,7 @@ public PageBlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredenti
19081909
}
19091910
public partial class SpecializedBlobClientOptions : Azure.Storage.Blobs.BlobClientOptions
19101911
{
1911-
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
1912+
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
19121913
public Azure.Storage.ClientSideEncryptionOptions ClientSideEncryption { get { throw null; } set { } }
19131914
}
19141915
public static partial class SpecializedBlobExtensions

sdk/storage/Azure.Storage.Blobs/api/Azure.Storage.Blobs.netstandard2.1.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public BlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredential c
5757
}
5858
public partial class BlobClientOptions : Azure.Core.ClientOptions
5959
{
60-
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) { }
60+
public BlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) { }
6161
public Azure.Storage.Blobs.Models.BlobAudience? Audience { get { throw null; } set { } }
6262
public Azure.Storage.Blobs.Models.CustomerProvidedKey? CustomerProvidedKey { get { throw null; } set { } }
6363
public bool EnableTenantDiscovery { get { throw null; } set { } }
@@ -96,6 +96,7 @@ public enum ServiceVersion
9696
V2025_01_05 = 25,
9797
V2025_05_05 = 26,
9898
V2025_07_05 = 27,
99+
V2025_11_05 = 28,
99100
}
100101
}
101102
public partial class BlobContainerClient
@@ -186,7 +187,7 @@ public BlobServiceClient(System.Uri serviceUri, Azure.AzureSasCredential credent
186187
public BlobServiceClient(System.Uri serviceUri, Azure.Core.TokenCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
187188
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.Blobs.BlobClientOptions options = null) { }
188189
public BlobServiceClient(System.Uri serviceUri, Azure.Storage.StorageSharedKeyCredential credential, Azure.Storage.Blobs.BlobClientOptions options = null) { }
189-
public string AccountName { get { throw null; } }
190+
public virtual string AccountName { get { throw null; } }
190191
public virtual bool CanGenerateAccountSasUri { get { throw null; } }
191192
public virtual System.Uri Uri { get { throw null; } }
192193
public virtual Azure.Response<Azure.Storage.Blobs.BlobContainerClient> CreateBlobContainer(string blobContainerName, Azure.Storage.Blobs.Models.PublicAccessType publicAccessType = Azure.Storage.Blobs.Models.PublicAccessType.None, System.Collections.Generic.IDictionary<string, string> metadata = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
@@ -1908,7 +1909,7 @@ public PageBlobClient(System.Uri blobUri, Azure.Storage.StorageSharedKeyCredenti
19081909
}
19091910
public partial class SpecializedBlobClientOptions : Azure.Storage.Blobs.BlobClientOptions
19101911
{
1911-
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_07_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
1912+
public SpecializedBlobClientOptions(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion version = Azure.Storage.Blobs.BlobClientOptions.ServiceVersion.V2025_11_05) : base (default(Azure.Storage.Blobs.BlobClientOptions.ServiceVersion)) { }
19121913
public Azure.Storage.ClientSideEncryptionOptions ClientSideEncryption { get { throw null; } set { } }
19131914
}
19141915
public static partial class SpecializedBlobExtensions

sdk/storage/Azure.Storage.Blobs/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "net",
44
"TagPrefix": "net/storage/Azure.Storage.Blobs",
5-
"Tag": "net/storage/Azure.Storage.Blobs_5d1e8e8cd5"
5+
"Tag": "net/storage/Azure.Storage.Blobs_274b449b34"
66
}

sdk/storage/Azure.Storage.Blobs/src/Azure.Storage.Blobs.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
</PropertyGroup>
55
<PropertyGroup>
66
<AssemblyTitle>Microsoft Azure.Storage.Blobs client library</AssemblyTitle>
7-
<Version>12.25.0-beta.2</Version>
7+
<Version>12.26.0-beta.1</Version>
88
<!--The ApiCompatVersion is managed automatically and should not generally be modified manually.-->
99
<ApiCompatVersion>12.24.0</ApiCompatVersion>
1010
<DefineConstants>BlobSDK;$(DefineConstants)</DefineConstants>

sdk/storage/Azure.Storage.Blobs/src/BlobClientOptions.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,12 @@ public enum ServiceVersion
166166
/// <summary>
167167
/// The 2025-07-05 service version.
168168
/// </summary>
169-
V2025_07_05 = 27
169+
V2025_07_05 = 27,
170+
171+
/// <summary>
172+
/// 2025-11-05 service version.
173+
/// </summary>
174+
V2025_11_05 = 28
170175
#pragma warning restore CA1707 // Identifiers should not contain underscores
171176
}
172177

sdk/storage/Azure.Storage.Blobs/src/BlobServiceClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public class BlobServiceClient
7272
/// <summary>
7373
/// Gets the Storage account name corresponding to the service client.
7474
/// </summary>
75-
public string AccountName
75+
public virtual string AccountName
7676
{
7777
get
7878
{

0 commit comments

Comments
 (0)