1.36.0 (2023-02-01)
Features Added
- Added explicit support for
text
-based serialization, this is done by addingSerializerEncoding.TEXT
. Previously,
text
was being implicitly supported by usingSerializerEncoding.JSON
but there were edge cases when aString
wasn't a JSON string (string
vs"string"
). (#32277) - Added
BinaryData.fromListByteBuffer(List<ByteBuffer>)
to support additional ways to createBinaryData
. (#32932) - Added
TracingOptions
to make tracing configurable. (#32573) - Added support for links, start timestamp, W3C trace-context propagation, and numerical attributes in tracing.
- Tracing plugins are no longer required to implement
AfterRetryPolicyProvider
as tracing is now handled by
InstrumentationPolicy
using the providedTracer
implementation.
Breaking Changes
- Deprecated messaging-specific methods in tracing abstractions.
Bugs Fixed
- Fixed a bug where
PollingStrategy.getResult
would guard getting results forPOST
-based on containing aLocation
header which isn't guaranteed to exist. If the header doesn't exist the body of the last polling operation is used
as the final result. (#32815) - Fixed a bug where
HEAD
-based requests were checking for a body before deserializing.HEAD
requests shouldn't have
a body or if they do it should be ignored. (#32833)
Other Changes
- Exceptions when deserializing error HTTP responses now include the deserialization exception as the causal exception
in addition to logging it. ExpandableStringEnum
now usesMethodHandle
instead ofConstructor
to create subtype instances when using
fromString(String, Class<T>)
.