Azure SDK for Java (August 2020)
The Azure SDK team is pleased to announce our August 2020 client library releases.
GA
- Azure Storage Blob
Updates
- Azure App Configuration
- Azure Core
- Azure Core Http Netty
- Azure Core Http OkHttp
- Azure-Cosmos
- Azure Key Vault Certificates
- Azure Key Vault Keys
- Azure Key Vault Secrets
- Azure Spring Boot
Preview
- Azure Core Experimental
- Azure Core Management
- Azure Core Serializer Json Gson
- Azure Core Serializer Json Jackson
- Azure Core Tracing OpenTelemetry
- Form Recognizer
- Azure Search Documents
- Azure Service Bus
Installation Instructions
To use the GA and beta libraries, refer to the Maven dependency information below, which may be copied into your projects Maven pom.xml
file as appropriate. If you are using a different build tool, refer to its documentation on how to specify dependencies.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-experimental</artifactId>
<version>1.0.0-beta.2</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-okhttp</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-management</artifactId>
<version>1.0.0-beta.3</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-serializer-json-gson</artifactId>
<version>1.0.0-beta.3</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-serializer-json-jackson</artifactId>
<version>1.0.0-beta.3</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-tracing-opentelemetry</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-formrecognizer</artifactId>
<version>3.0.0-beta.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-data-appconfiguration</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
<version>12.8.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob-changefeed</artifactId>
<version>12.0.0-beta.2</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-file-datalake</artifactId>
<version>12.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-file-share</artifactId>
<version>12.6.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-keyvault-certificates</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-keyvault-keys</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-keyvault-secrets</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-search-documents</artifactId>
<version>11.1.0-beta.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.0.0-beta.5</version>
</dependency>
To use Azure Spring Boot starters, refer to the Maven dependency information below, which may be copied into your projects Maven pom.xml
file as appropriate.
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-active-directory-b2c-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-active-directory-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-cosmosdb-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-data-gremlin-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault-secrets-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-spring-boot-metrics-starter</artifactId>
<version>2.3.3</version>
<dependency>
</dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
Feedback
If you have a bug or feature request for one of the libraries, please post an issue to GitHub.
Changelog
Detailed changelogs are linked from the Quick Links below. Here are some of the highlights:
Azure Core (Changelog)
New Features
- Redesigned
SimpleTokenCache
to gracefully attempt a token refresh 5 minutes before actual expiry. - Added
ObjectSerializer
andJsonSerializer
APIs to support pluggable serialization within SDKs. - Added
TypeReference<T>
to enable serialization handling forClass<T>
andType
while retaining generics through a call stack. - Added
MemberNameConverter
which converts aMember
type ofField
orMethod
into its expected serialized JSON property name. - Updated
reactor-core
version to3.3.8.RELEASE
. - Updated
reactor-netty
version to0.9.10.RELEASE
. - Updated
netty
version to4.1.51.Final
. - Updated
netty-tcnative
version to2.0.31.Final
.
Key Bug Fixes
- Updated handling of
OffsetDateTime
serialization to implicitly convert date strings missing time zone into UTC. - Updated
PollerFlux
andSyncPoller
to propagate exceptions when polling instead of only on failed statuses.
Azure Core Experimental (Changelog)
Breaking Changes
- Moved
ObjectSerializer
and some implementation ofJsonSerializer
intoazure-core
. - Created sub-interface of
JsonSerializer
inazure-core
to include APIs that weren’t moved.
Azure Core Http Netty (Changelog)
New Features
- Updated
reactor-core
version to3.3.8.RELEASE
. - Updated
reactor-netty
version to0.9.10.RELEASE
. - Updated
netty
version to4.1.51.Final
. - Updated
netty-tcnative
version to2.0.31.Final
.
Key Bug Fixes
- Fixed a bug where connections weren’t being re-used when using a proxy which lead to a new TCP and SSL session for each request.
- Fixed a bug where a non-shareable proxy handler could be added twice into a
ChannelPipeline
.
Azure Core Management (Changelog)
New Features
- Added optional
Context
parameter to methods inPollerFactory
class, which will be shared for all polling requests. - Added
getResponseHeaders()
method toPollResult.Error
class. - Added
AzureProfile
class. - Added
IdentifierProvider
andDelayProvider
interfaces.
Key Bug Fixes
- Fixed polling status HTTP status code check to include 202.
Azure Core Serializer Json Gson (Changelog)
New Features
GsonJsonSerializer
now implements the interfaceMemberNameConverter
.
Breaking Changes
- Changed
GsonJsonSerializer
to implementazure-core
’sJsonSerialzer
instead ofazure-core-experimental
’s. - Removed JSON tree models and APIs.
Breaking Changes
Azure Core Serializer Json Jackson (Changelog)
New Features
JacksonJsonSerializer
now implements the interfaceMemberNameConverter
.
Breaking Changes
- Changed
JacksonJsonSerializer
to implementazure-core
’sJsonSerialzer
instead ofazure-core-experimental
’s. - Removed JSON tree models and APIs.
Breaking Changes
Azure Core Tracing OpenTelemetry (Changelog)
New Featues
- Update
opentelemetry-api
dependency version to0.6.0
and includedio.grpc:grpc-context[1.30.0]
external dependency.
Azure Cosmos (Changelog)
4.3.1 (2020-08-13)
Key Bug Fixes
- Fixed issue with
GROUP BY
query, where it was returning only one page. - Fixed user agent string format to comply with central SDK guidelines.
- Enhanced diagnostics information to include query plan diagnostics.
Azure Cosmos (Changelog)
4.3.0 (2020-07-29)
New Features
- Updated reactor-core library version to
3.3.8.RELEASE
. - Updated reactor-netty library version to
0.9.10.RELEASE
. - Updated netty library version to
4.1.51.Final
. - Added new overload APIs for
upsertItem
withpartitionKey
. - Added open telemetry tracing support.
Key Bug Fixes
- Fixed issue where SSLException gets thrown in case of cancellation of requests in GATEWAY mode.
- Fixed resource throttle retry policy on stored procedures execution.
- Fixed issue where SDK hangs in log level DEBUG mode.
- Fixed periodic spikes in latency in Direct mode.
- Fixed high client initialization time issue.
- Fixed http proxy bug when customizing client with direct mode and gateway mode.
- Fixed potential NPE in users passes null options.
- Added timeUnit to
requestLatency
in diagnostics string. - Removed duplicate uri string from diagnostics string.
- Fixed diagnostics string in proper JSON format for point operations.
- Fixed issue with
.single()
operator causing the reactor chain to blow up in case of Not Found exception.
Azure Identity (Changelog)
1.1.0 (2020-08-10)
- Upgraded core dependency to 1.7.0
- Removed the default value of 0 for port in
InteractiveBrowserCredential
.
Breaking Changes
- Removing Application Authentication APIs for GA release. These will be reintroduced in 1.2.0-beta.1.
- Removed class
AuthenticationRecord
- Removed class
AuthenticationRequiredException
- Removed methods
allowUnencryptedCache()
andenablePersistentCache()
fromClientCertificateCredentialBuilder
,ClientSecretCredentialBuilder
,InteractiveBrowserCredentialBuilder
,DeviceCodeCredentialBuilder
,UsernamePasswordCredentialBuilder
andClientCertificateCredentialBuilder
. - Removed methods
allowUnencryptedCache()
andauthenticationRecord(AuthenticationRecord)
fromSharedTokenCacheCredentialBuilder
. - Removed methods
authenticationRecord(AuthenticationRecord)
anddisableAutomaticAuthentication()
fromDeviceCodeCredentialBuilder
andInteractiveBrowserCredentialBuilder
. - Removed methods
authenticate(TokenRequestContext)
andauthenticate()
fromDeviceCodeCredential
,InteractiveBrowserCredential
andUsernamePasswordCredential
.
- Removed class
Form Recognizer (Changelog)
Breaking changes
- Bumped package version to 3.0.0-beta.1 and now targets the service’s stable v2.0 API
- Changed param ordering for methods
beginRecognizeCustomForms
andbeginRecognizeCustomFormsFromUrl
- Model and property renamings detailed in the Changelog.
New features
- Added support for context passing.
Key Bug Fixes
- Fixed
getFields()
onRecognizedForm
to preserve service side ordering of fields.
Azure Key Vault Certificates (Changelog)
New features
- Added support for service version
7.1
. - Added
retryPolicy
setter inCertificateClientBuilder
. - Added
recoverableDays
property toCertificateProperties
.
Key Bug Fixes
- Fixed an issue that prevented using classes from package
com.azure.security.keyvault.certificates
when working on a project using Java 9+.
Azure Key Vault Keys (Changelog)
New features
- Added support for service version
7.1
. - Added
retryPolicy
setter inKeyClientBuilder
,CryptographyClientBuilder
andKeyEncryptionKeyClientBuilder
. - Added
recoverableDays
property toKeyProperties
. - Added
Import
operation toKeyOperation
.
Key Bug Fixes
- Fixed an issue that prevented using classes from package
com.azure.security.keyvault.keys
when working on a project using Java 9+.
Azure Key Vault Secrets (Changelog)
New features
- Added support for service version
7.1
. - Added
retryPolicy
setter inSecretClientBuilder
. - Added
recoverableDays
property toSecretProperties
.
Azure Search Documents (Changelog)
New Features
- Added
buildSearchFields
API toSearchIndexClient
andSearchIndexAsyncClient
to aid in creatingSearchField
s from the passedClass
. - Added
SearchableFieldProperty
,SimpleFieldProperty
, andFieldBuilderIgnore
to annotateClass
es passed intobuildSearchFields
. - Added
getDefaultLogOptions
toSearchClientBuilder
,SearchIndexCleintBuilder
, andSearchIndexerClientBuilder
. Updated client construction to use default log options by default. - Added the ability for clients to accept a
JsonSerializer
to specify a custom JSON serialization layer when dealing with Search documents.
Azure Service Bus (Changelog)
New features
- Automatic lock renewal using LockRenewalOperation.
- A timeout period is added when synchronously receiving messages.
Breaking changes
- Service Bus queue, topic, and subscription creation are done through CreateQueueOptions, CreateTopicOptions, and CreateSubscriptionOptions.
- Only updateable properties on QueueProperties, TopicProperties, and SubscriptionProperties are exposed
- MessageDetailCount is flattened and removed in QueueRuntimeInfo, TopicRuntimeInfo, and SubscriptionRuntimeInfo.
Azure Spring Boot
New Features
- Support connection to multiple Key Vault from a single application configuration file
- Support case sensitive keys in Key Vault
- Key Vault Spring Boot Actuator
Key Bug Fixes
- Address CVEs and cleaned up all warnings at build time.
Breaking Changes
- azure-servicebus-spring-boot-starter
- azure-mediaservices-spring-boot-starter
- azure-storage-spring-boot-starter
- Revamp KeyVault refreshing logic to avoid unnecessary updates.
- Update the underpinning JMS library for Service Bus to JMS 2.0 to support seamlessly lift and shift their Spring workloads to Azure and automatic creation of resources.
Azure Storage
Blob Changelog
New Features
- GA of v12.8.0, includes features from all preview versions
- Added support for Object Replication Service on listBlobs and getProperties
- Added support for blob tags
- Added RehydratePriority to BlobProperties and BlobItemProperties
- Added support to set tier on a snapshot or version
Key Bug Fixes
- Fixed bug that ignored customer specified block size when determining buffer sizes in BlobClient.upload
- Fixed a bug that would cause buffered upload to always put an empty blob before uploading actual data
Blob ChangeFeed Changelog
New Features
- Added the ability to read to the current hour
- Standardized continuation token behavior
File DataLake Changelog
New Features
- GA of v12.2.0
Key Bug Fixes
- Fixed bug where Query Input Stream would throw when a ByteBuffer of length 0 was encountered
File Share Changelog
New Features
- GA of v12.6.0, for the 2019-12-12 service version
Need help
- For reference documentation visit the Azure SDK for Java documentation.
- For tutorials, samples, quick starts and other documentation, visit Azure for Java Developers.
- For build reports on code quality, test coverage, etc, visit Azure Java SDK.
- File an issue via Github Issues.
- Check previous questions or ask new ones on StackOverflow using
azure-java-sdk
tag.
Latest Releases
View all the latest versions of Java packages here.