- SAS credential replicated "/" fix #13159
- Support params as list for exploding parameters #12410
AzureKeyCredentialPolicy
will now accept (and ignore) passed in kwargs #11963- Better error messages if passed endpoint is incorrect #12106
- Do not JSON encore a string if content type is "text" #12137
- Added
http_logging_policy
property on theConfiguration
object, allowing users to individually set the http logging policy of the config #12218
- Fixed deadlocks in AsyncBearerTokenCredentialPolicy #11543
- Fix AttributeException in StreamDownloadGenerator #11462
- Added support for changesets as part of multipart message support #10485
- Add AsyncLROPoller in azure.core.polling #10801
- Add get_continuation_token/from_continuation_token/polling_method methods in pollers (sync and async) #10801
- HttpResponse and PipelineContext objects are now pickable #10801
- Support "x-ms-retry-after-ms" in response header #10743
link
andlink_from_headers
now accepts attributes #10765
- Not retry if the status code is less than 400 #10778
- "x-ms-request-id" is not considered safe header for logging #10967
- Support a default error type in map_error #9773
- Added
AzureKeyCredential
and its respective policy. #10509 - Added
azure.core.polling.base_polling
module with a "Microsoft One API" polling implementation #10090 Also contains the async version inazure.core.polling.async_base_polling
- Support kwarg
enforce_https
to disable HTTPS check on authentication #9821 - Support additional kwargs in
HttpRequest.set_multipart_mixed
that will be passed into pipeline context.
- Appended RequestIdPolicy to the default pipeline #9841
- Rewind the body position in async_retry #10117
- Add raw_request_hook support in custom_hook_policy #9958
- Add timeout support in retry_policy #10011
- Add OdataV4 error format auto-parsing in all exceptions ('error' attribute) #9738
- Fixed a bug that sends None as request_id #9545
- Enable mypy for customers #9572
- Handle TypeError in deep copy #9620
- Fix text/plain content-type in decoder #9589
- Fixed a regression in 1.2.0 that was incompatible with azure-keyvault-* 4.0.0 #9462
- Add user_agent & sdk_moniker kwargs in UserAgentPolicy init #9355
- Support OPTIONS HTTP verb #9322
- Add tracing_attributes to tracing decorator #9297
- Support auto_request_id in RequestIdPolicy #9163
- Support fixed retry #6419
- Support "retry-after-ms" in response header #9240
- Removed
__enter__
and__exit__
from async context managers #9313
- Bearer token authorization requires HTTPS
- Rewind the body position in retry #8307
- New RequestIdPolicy #8437
- Enable logging policy in default pipeline #8053
- Normalize transport timeout. #8000
Now we have:
- 'connection_timeout' - a single float in seconds for the connection timeout. Default 5min
- 'read_timeout' - a single float in seconds for the read timeout. Default 5min
- RequestHistory: deepcopy fails if request contains a stream #7732
- Retry: retry raises error if response does not have http_response #8629
- Client kwargs are now passed to DistributedTracingPolicy correctly #8051
- NetworkLoggingPolicy now logs correctly all requests in case of retry #8262
- Tracing: DistributedTracingPolicy now accepts kwargs network_span_namer to change network span name #7773
- Tracing: Implementation of AbstractSpan can now use the mixin HttpSpanMixin to get HTTP span update automatically #7773
- Tracing: AbstractSpan contract "change_context" introduced #7773
- Introduce new policy HttpLoggingPolicy #7988
- Fix AsyncioRequestsTransport if input stream is an async generator #7743
- Fix form-data with aiohttp transport #7749
- Tracing: AbstractSpan.set_current_span is longer supported. Use change_context instead. #7773
- azure.core.pipeline.policies.ContentDecodePolicy.deserialize_from_text changed
-
Tracing: network span context is available with the TRACING_CONTEXT in pipeline response #7252
-
Tracing: Span contract now has
kind
,traceparent
and is a context manager #7252 -
SansIOHTTPPolicy methods can now be coroutines #7497
-
Add multipart/mixed support #7083:
- HttpRequest now has a "set_multipart_mixed" method to set the parts of this request
- HttpRequest now has a "prepare_multipart_body" method to build final body.
- HttpResponse now has a "parts" method to return an iterator of parts
- AsyncHttpResponse now has a "parts" methods to return an async iterator of parts
- Note that multipart/mixed is a Python 3.x only feature
- Tracing: policy cannot fail the pipeline, even in the worst condition #7252
- Tracing: policy pass correctly status message if exception #7252
- Tracing: incorrect span if exception raised from decorated function #7133
- Fixed urllib3 ConnectTimeoutError being raised by Requests during a socket timeout. Now this exception is caught and wrapped as a
ServiceRequestError
#7542
-
Tracing:
azure.core.tracing.context
removed -
Tracing:
azure.core.tracing.context.tracing_context.with_current_context
renamed toazure.core.tracing.common.with_current_context
#7252 -
Tracing:
link
renamedlink_from_headers
andlink
takes now a string -
Tracing: opencensus implementation has been moved to the package
azure-core-tracing-opencensus
-
Some modules and classes that were importables from several differente places have been removed:
azure.core.HttpResponseError
is now onlyazure.core.exceptions.HttpResponseError
azure.core.Configuration
is now onlyazure.core.configuration.Configuration
azure.core.HttpRequest
is now onlyazure.core.pipeline.transport.HttpRequest
azure.core.version
module has been removed. Useazure.core.__version__
to get version number.azure.core.pipeline_client
has been removed. Import fromazure.core
instead.azure.core.pipeline_client_async
has been removed. Import fromazure.core
instead.azure.core.pipeline.base
has been removed. Import fromazure.core.pipeline
instead.azure.core.pipeline.base_async
has been removed. Import fromazure.core.pipeline
instead.azure.core.pipeline.policies.base
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.base_async
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.authentication
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.authentication_async
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.custom_hook
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.redirect
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.redirect_async
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.retry
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.retry_async
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.distributed_tracing
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.pipeline.policies.universal
has been removed. Import fromazure.core.pipeline.policies
instead.azure.core.tracing.abstract_span
has been removed. Import fromazure.core.tracing
instead.azure.core.pipeline.transport.base
has been removed. Import fromazure.core.pipeline.transport
instead.azure.core.pipeline.transport.base_async
has been removed. Import fromazure.core.pipeline.transport
instead.azure.core.pipeline.transport.requests_basic
has been removed. Import fromazure.core.pipeline.transport
instead.azure.core.pipeline.transport.requests_asyncio
has been removed. Import fromazure.core.pipeline.transport
instead.azure.core.pipeline.transport.requests_trio
has been removed. Import fromazure.core.pipeline.transport
instead.azure.core.pipeline.transport.aiohttp
has been removed. Import fromazure.core.pipeline.transport
instead.azure.core.polling.poller
has been removed. Import fromazure.core.polling
instead.azure.core.polling.async_poller
has been removed. Import fromazure.core.polling
instead.
- Fix aiohttp auto-headers #6992
- Add tracing to policies module init #6951
- Transport classes don't take
config
parameter anymore (use kwargs instead) #6372 azure.core.paging
has been completely refactored #6420- HttpResponse.content_type attribute is now a string (was a list) #6490
- For
StreamDownloadGenerator
subclasses,response
is now anHttpResponse
, and not a transport response likeaiohttp.ClientResponse
orrequests.Response
. The transport response is available ininternal_response
attribute #6490
- aiohttp is not required to import async pipelines classes #6496
AsyncioRequestsTransport.sleep
is now a coroutine as expected #6490RequestsTransport
is not tight toProxyPolicy
implementation details anymore #6372AiohttpTransport
does not raise on unexpected kwargs #6355
- New paging base classes that support
continuation_token
andby_page()
#6420 - Proxy support for
AiohttpTransport
#6372
- Preview 1 release