21 KiB
Executable File
21 KiB
Executable File
Release History
1.39.0 (2024-04-18)
Features Added
- Add
Operation.RehydrateandOperation.Rehydrate<T>static methods to rehydrate a long-running operation.
Other Changes
RequestFailedExceptionwill not include the response content or headers in the message when theIsErrorproperty of the response isfalse.
1.38.0 (2024-02-26)
Features Added
- Add
GetRehydrationTokentoOperationfor rehydration purpose.
Other Changes
- Additional Azure data centers are now included in
AzureLocation. The following were added:- China East 3
- China North 3
- Israel Central
- Italy North
- Poland Central
- Sweden South
1.37.0 (2024-01-11)
Bugs Fixed
- Fixed exponential retry behavior so that delay milliseconds greater than
Int32.MaxValuedo not trigger an exception. - Fixed
DelayStrategybehavior to no longer shift the delay to be used over by one attempt. Previously, the first delay would be what should have been used for the second, and the second was what should have been used for the third, etc. Note, this would only be observed when usingDelayStrategyoutside of aRetryPolicyorRetryOptions. - Do not add the
error.typeattribute twice when tracing is enabled. - Do not suppress nested activities when they occur in the context of Consumer/Server activities (e.g.
BlobClient.Downloadis no longer suppressed underEventHubs.Process).
Other Changes
- Remove targets for .NET Core 2.1 and .NET 5 since they are out of support. Azure.Core is no longer compatible with .NET Core 2.1 after removal of target. The remaining targets are unchanged.
1.36.0 (2023-11-10)
Features Added
- Added
RequiresUnreferencedCodeattribute toRequestContent.Create(object)overloads that use reflection to serialize the input object. This provides support for native AOT compilation when Azure.Core is used for diagnostics. - Use System.Text.Json source generation to deserialize the error response in
RequestFailedExceptiononnet6.0and above targets.
Breaking Changes
- Updated tracing attributes names to conform to OpenTelemetry semantic conventions version 1.23.0.
- Suppress client activity creation by Azure clients if it happens in scope of another activity created by an Azure client.
- Changed how
ActivitySourcename is constructed for clients that use single-worded activity names (without dot). We now append provided activity name as is to the client namespace name. Previously, the provided activity name was omitted and theActivitySourcename matched the provided client namespace. - Distributed tracing with
ActivitySourcefor HTTP and REST-based client libraries is declared stable. Experimental feature-flag is no longer required for most of the newly released libraries. Tracing for messaging libraries remains experimental. - Added nullable annotation to
ResourceIdentifier.TryParseparameterinput.
1.35.0 (2023-09-07)
Features Added
- Expand the set of supported
DynamicDataproperty types to included heterogeneous arrays of allowed types.
Breaking Changes
- Added the nullability annotation to
NullableResponse<T>.Valueto indicate that it is a nullable type.
1.34.0 (2023-07-11)
Features Added
- Added
IsCaeEnabledproperty toTokenRequestContextto enabled per-request support for Continuous Access Evaluation - Updated dependency on System.Diagnostics.DiagnosticSource
- Added
ContentLengthLongproperty toResponseHeaders
1.33.0 (2023-06-16)
Features Added
- Added
BinaryData.ToDynamicFromJson()extension method to enable dynamic access to JSON. See the aka.ms/azsdk/net/dynamiccontent for further details.
Other Changes
- Client redirects are now disabled by default and can be enabled by setting providing a custom transport in
ClientOptions'. Client Authors can also enable redirects by settingHttpPipelineTransportOptions.IsClientRedirectEnabledtotrueon the transport options passed toHttpPipelineBuilder.Build`.
1.32.0 (2023-05-09)
Features Added
- Added the
GetRawResponsemethod toRequestFailedException. - Added overloads of
Operation<T>.WaitForCompletionandOperation.WaitForCompletionResponsethat take aDelayStrategy.
1.31.0 (2023-04-10)
Features Added
- Added the
RetryPolicytype which can be used to create a custom retry policy. - Added the
DelayStrategytype which can be used to customize delays.
Bugs Fixed
- Set the Activity status to
Erroron failed activity source activities. - Mark the
Azure.Core.Http.Requestspan as failed if the request fails with an exception thrown in the pipeline. - Fixed equality comparison when comparing a
stringto aContentTypeinstance. - Jitter is added when using a
RetryModeofFixed.
1.30.0 (2023-03-09)
Bugs Fixed
- Fixed the issue with empty header names and values, caused by
ArrayBackedPropertyBagkeeping reference to the array after returning it to array pool inDisposemethod.
1.29.0 (2023-03-02)
Features Added
ActivitySourceactivities that are used when using the experimental OpenTelemetry support will include theaz.schema_urltag indicating the OpenTelemetry schema version. They will also include the attribute names specified here.- "West US 3", "Sweden Central" and "Qatar Central" locations are added to
Azure.Core.AzureLocation
Improvements
Azure.Core.ArrayBackedPropertyBagis used to store request headers beforeHttpRequestMessageis created instead ofSystem.Net.Http.Headers.HttpContentHeadersAzure.HttpRange.ToStringusesstring.Createinstead ofFormattableString.Invariantin .NET 6.0+Azure.Core.Diagnostics.AzureCoreEventSourcechecksEventLevelbefore formatting data for the eventsAzure.Core.Pipeline.HttpClientTransport.JoinHeaderValuesusesSystem.Runtime.CompilerServices.DefaultInterpolatedStringHandlerto join header string values in .NET 6.0+
Bugs Fixed
ActivitySourceactivities will no longer be stamped with thekindattribute as this is redundant with the OpenTelemetrySpanKindattribute.- The product information section of the UserAgent header is now validated for invalid parenthesis formatting and escaped, if necessary.
1.28.0 (2023-02-06)
Bugs Fixed
- Fixed an issue with
AzureSasCredentialwhich resulted in messages to fail authentication if the SAS signature was updated while a message was in a retry cycle.
1.27.0 (2023-01-10)
Features Added
- Made
RedirectPolicypublic to provideSetAllowAutoRedirect()method to library authors. - Added
RetryPolicyproperty toClientOptionsto allow library authors to set a custom retry policy. - Added
MessageProcessingContexttype andProcessingContextproperty toHttpMessagewhich contains information about the message as it traverses through the pipeline. - Added
SetPropertyandTryGetPropertyoverloads toHttpMessageto allow setting property values using aTypeas the key.
1.26.0 (2022-11-08)
Features Added
- Introduced a new
NullableResponse<T>type for scenarios where a service method may or may not return a value. One common example isGet*IfExistsmethods.Response<T>also now inherits fromNullableResponse<T>. - Added
TryParsemethod to theResourceIdentifiertype. - Added
AppendQueryandAppendPathoverloads toRequestUriBuilder.
Bugs Fixed
- Fixed issue where fixed delay was applied when the
RetryModewas set toExponentialwhen retrying a request that resulted in an exception.
Other Changes
- Azure.Core now targets .NET 6 in addition to the existing targets.
1.25.0 (2022-06-23)
Features Added
- Added
RequestFailedDetailsParserabstract class, which client libraries can implement to control customization of exception messages for failed responses. - Added
HttpPipelineOptionstype which is accepted in a new overload toHttpPipelineBuilder.Build. This type contains all the properties from other overloads and adds a property to specify aRequestFailedDetailsParser. - Added a property to
HttpPipelineTransportOptionscalledClientCertificateswhich is a collection ofX509Certificate2. If populated, the certificates in the collection will be used by the client for TLS client certificate authentication. - Added the
MultipartResponsetype, which can be used by clients to parse the sub-responses for multi-part responses.
1.24.0 (2022-04-04)
Features Added
- Added the
MessageContenttype which represents a message containing a content type and data. - Sub classes of
ClientOptionsare now able to create sub class implementations ofDiagnosticsOptionsand set it as the implementation for theDiagnosticsproperty ofClientOptionsvia a new constructor overload.
1.23.0 (2022-03-21)
Features Added
- Added the
TelemetryDetailstype which enables customization of UserAgent header values on a per-request basis based on a specifiedAssemblyand an optional application Id string. - Added
AddClassifiermethods toRequestContext. These methods allow callers to change the response classification behavior for a given method invocation. - Added a new
StatusCodeClassifiertype that will be used as the defaultResponseClassifierfor some libraries. - Added an extension method to
BinaryDatacalledToObjectFromJsonwhich converts the json value represented byBinaryDatato an object of a specific type. - Additional data center locations were added to
AzureLocation. - Added
WaitUntilenum to allow callers to set whether a method invoking a long running operation should return when the operation starts or once it has completed.
Breaking Changes
- Cookies are no longer set on requests by default. Cookies can be re-enabled for
HttpClientTransportby either setting an AppContext switch named "Azure.Core.Pipeline.HttpClientTransport.EnableCookies" to true or by setting the environment variable, "AZURE_CORE_HTTPCLIENT_ENABLE_COOKIES" to "true". Note: AppContext switches can also be configured via configuration like below:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Azure.Core.Pipeline.HttpClientTransport.EnableCookies" Value="true" />
</ItemGroup>
1.22.0 (2022-01-11)
Features Added
- Added
AddPoliciesmethod toRequestContext. This allows policies to be added to the pipeline when calling protocol methods. - Added
IsErrorproperty toResponse. This will indicate whether the message'sResponseClassifierconsiders the response to be an error. - Added
RequestFailedExceptionconstructor that takes aResponse. - Added
AzureLocation. This class gives static references to known Azure regions. - Added
ResourceIdentifier. This class allows users to load an Azure resource identifier string and parse out the pieces of that string such as whichSubscriptionIddoes the resource belong to. - Added
ResourceType. This class represents the ARM provider information for a given resource and is used by theResourceIdentifierclass. - Added
HttpPipelineTransportOptionstype. This type contains aServerCertificateCustomValidationCallbackproperty that allows callers to set aFunc<ServerCertificateCustomValidationArgs, bool>delegate. If set, the delegate will be called to validate the server side TLS certificate. - Added a new static overload for
HttpPipelineBuilder.Buildthat takes anHttpPipelineTransportOptionsinstance. This overload creates anHttpPipelinewith the default transport configuration and theHttpPipelineTransportOptionsapplied. It returns aDisposableHttpPipelinethat implementsIDisposable. Note: TheHttpPipelineTransportOptionswill not be applied if a customTransporthas been set in theClientOptions. In the case that transport options were provided but not applied, an event is logged(PipelineTransportOptionsNotApplied).
Breaking Changes
- Added logging of
api-versionquery parameter by default. In order to redact this, you can do the following:
options.Diagnostics.LoggedQueryParameters.Remove("api-version");
Bugs Fixed
- Fixed a bug where requests were failing with
NotImplementedExceptionon Unity with .NET Framework scripting.
1.21.0 (2021-11-03)
Features Added
- Added
RequestContextandErrorOptionstypes to aid in configuring requests. - Added
ContentTypestrongly-typed string to allow operation callers to specify the content type of a request.
1.20.0 (2021-10-01)
Features Added
- Added the static
DelegatedTokenCredentialtype with aCreatemethod, which returns an instance ofTokenCredentialthat uses the supplied delgates to produce anAccessToken. This would most typically be used when an token has previously been obtained from some other source and that token needs to be returned by aTokenCredentialinstance. - Added
ResponseErrortype to represent an Azure error type. - Added an experimental
ActivitySourcesupport.
Bugs Fixed
- Fixed an exception during EventSource creation on Xamarin.
1.19.0 (2021-09-07)
Features Added
- Added
HttpAuthorizationto represent authentication information in Authorization, ProxyAuthorization, WWW-Authenticate, and Proxy-Authenticate header values.
1.18.0 (2021-08-18)
Bugs Fixed
- Fixed a bug where a buffered error responses on .NET Framework were prematurely disposed
- Fixed relative redirect support.
1.17.0 (2021-08-10)
Features Added
- Added
ClientOptions.Defaultto configure defaults process-wide. - Added
HttpPipelinePosition.BeforeTransportto be able to add policies at the end of the pipeline before the transport.
Fixed
- Fixed
NotSupportedExceptionwhen running in Unity.
1.16.0 (2021-06-30)
Changed
- Added
TenantIdto the properties onTokenRequestContextto enable multi-tenant support in Azure.Identity.
1.15.0 (2021-06-08)
Features Added
- Types to represent
GeoJsonprimitives.
Changed
Response.Contentno longer throwsInvalidOperationExceptionwhen the response is backed by aMemoryStreamwith a non publicly visible buffer.
1.14.0 (2021-05-11)
Features Added
- Added additional methods to
BearerTokenAuthenticationPolicy, which enables creation of authentication policies that can handle challenges.
1.13.0 (2021-04-07)
Key Bug Fixes
- Fixed
NotSupportedExceptionwhen running using Blazor in the browser. - Disable the response caching and enable the streaming when running using Blazor in the browser.
1.12.0 (2021-04-06)
Features Added
- Added
HttpPipeline.CreateHttpMessagePropertiesScopethat can be used to inject scoped properties intoHttpMessage.
1.11.0 (2021-03-22)
Features Added
Operationbase class for operations that do not return a value.- Added
Contentproperty toResponsewhich returns the body of the response as aBinaryDataif the body is buffered. AzureNamedKeyCredentialhas been implemented to cover scenarios where services require that a shared key name and the key value be used as a component of the algorithm to form the authorization token.
Key Bug Fixes
- Check the
JsonIgnoreAttribute.Conditionproperty added in .NET 5 when discovering members withJsonObjectSerializer. ETagnow returnsstring.Emptyif it is constructed with a null value.- Keep-Alive connections are recycled every 300 seconds to observe DNS changes.
1.10.0 (2021-03-09)
Features Added
- Added
CloudEventtype based on the CloudEvent spec.
1.9.0 (2021-02-09)
Features Added
- Added Serialize overloads on
ObjectSerializerthat serialize toBinaryData. - Added AzureCoreExtensions containing extensions methods for
BinaryDatathat allow deserializing with anObjectSerializer.
Key Bug Fixes
- Avoid
ObjectDisposedExceptionwhen the request is cancelled during content upload over HTTPS. - Fix exception while setting
If-Modified-Sinceheader on .NET Framework.
1.8.1 (2021-01-11)
Key Bug Fixes
- Include
Microsoft.Bcl.AsyncInterfacesdependency on .NET 5 to avoid build issues in applications targeting .NET 5.
1.8.0 (2021-01-06)
Features Added
AzureSasCredentialand its respective policy.
Key Bug Fixes
- Avoid a causing and ignoring an exception when setting network stream timeout on .NET Core.
1.7.0 (2020-12-14)
New Features
System.Text.Json.JsonConverterimplementation for theETag- Synchronous
HttpClientsupport on .NET 5.
Key Bug Fixes
- System proxy settings are correctly applied on .NET Framework
1.6.0 (2020-10-28)
Features Added
- The
HttpClientTransport(HttpMessageHandler)constructor overload. - The
JsonPatchDocumenttype.
Key Bugs Fixed
- The race condition in
AzureEventSourceListenerclass that sometimes resulted in aNullReferenceExceptionin theEventSource. - The overflow exception when content length is larger than
int.MaxValue.
1.5.1 (2020-10-01)
Changed
ServicePointManagerConnection limit is automatically increased to50for Azure endpoints.
1.5.0 (2020-09-03)
Changed
ETagnow supports weak ETags and implements an overload forToStringthat accepts a format string.
Features Added
- HttpWebRequest-based transport implementation. Enabled by-default on .NET Framework. Can be disabled using
AZURE_CORE_DISABLE_HTTPWEBREQUESTTRANSPORTenvironment variable orAzure.Core.Pipeline.DisableHttpWebRequestTransportAppContext switch. To use the app context switch add the following snippet to your.csproj:
<ItemGroup>
<RuntimeHostConfigurationOption Include="Azure.Core.Pipeline.DisableHttpWebRequestTransport" Value="true" />
</ItemGroup>
When the environment variable or the switch are set the HttpClientTransport would be used by default instead.
1.4.1 (2020-08-18)
Key Bugs Fixed
- Bug in TaskExtensions.EnsureCompleted method that causes it to unconditionally throw an exception in the environments with synchronization context
1.4.0 (2020-08-06)
Features Added
- Added
ObjectSerializerbase class for serialization. - Added
IMemberNameConverterfor converting member names to serialized property names. - Added
JsonObjectSerializerthat implementsObjectSerializerforSystem.Text.Json.
Key Bugs Fixed
- Connection leak for retried non-buffered requests on .NET Framework.
1.3.0 (2020-07-02)
Features Added
HttpPipeline.CreateClientRequestIdScopemethod to allow setting client request id on outgoing requests.
1.2.2 (2020-06-04)
Key Bugs Fixed
- Retry server timeouts on .NET Framework.
1.2.1 (2020-04-30)
Changed
- Read client request ID value used for logging and tracing off the initial request object if available.
Key Bugs Fixed
- Fixed a bug when using Azure.Core based libraries in Blazor WebAssembly apps.
1.2.0 (2020-04-03)
Features Added
AzureKeyCredentialand its respective policy.
Changed
- Response trace messages are properly identified.
- Content type "application/x-www-form-urlencoded" is decoded in trace messages.
1.1.0 (2020-03-05)
Fixes and improvements
- Add OPTIONS and TRACE HTTP request methods.
- Add
NetworkTimeoutproperty toRetryOptionsand apply it to network operations like sending request or reading from the response stream. - Implement serialization for RequestFailedException.
1.0.2 (2020-01-10)
- Block bearer token authentication for non TLS protected endpoints.
- Add support for retrying on request timeouts.
- Add support for retrying on 408, 500, 502, 504 status codes.
- Remove commit hash from User-Agent telemetry.
1.0.1
- Fix issues with log redaction where first query character was replaced with '?' character.
- Exclude EventCounter events from AzureEventSourceListener.
- Add
AZURE_TRACING_DISABLEDenvironment variable support.
1.0.0
- Updating versioning and packaging for general availability.
- Make types and namespace names consistent.
1.0.0-preview.9
- Added console and trace logger listener.
- Added additional content and header logging options.
- Moved commonly used types to Azure namespace.
1.0.0-preview.8
- Minor improvements and bug fixes.
1.0.0-preview.7
- Support for distributed tracing added.
- Support for TokenCredential in ASP.NET Core integration added. Shared types for long running operations and async collections added.
- .NET Core dependencies updated to preview7.
- Bug fixes.