azure-sdk/releases/2019-11/2019-11-java.md

7.3 KiB

title layout date tags sidebar repository permalink
Azure SDK for Java (November 2019) post Nov 2019 java azure releases_sidebar azure/azure-sdk-for-java /releases/2019-11/java.html

The Azure SDK team is pleased to make available the November 2019 client library GA release. This represents the updated release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This GA release includes new and updated client libraries for Identity, Key Vault (keys, secrets and certificates) , and Storage (Blobs and Queues). Some of the libraries are released as preview and they are Azure App Configuration, Event Hubs and Event Hubs , Checkpoint Store, Storage File.

Installation Instructions

To use the GA and preview 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-data-appconfiguration</artifactId>
  <version>1.0.0-preview.6/version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-identity</artifactId>
  <version>1.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-security-keyvault-certificates</artifactId>
  <version>4.0.0-preview.5</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-security-keyvault-keys</artifactId>
  <version>4.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-security-keyvault-keys</artifactId>
  <version>4.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-messaging-eventhubs</artifactId>
  <version>5.0.0-preview.5</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-messaging-eventhubs-checkpointstore-blob</artifactId>
  <version>1.0.0-preview.3</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-storage-blob</artifactId>
  <version>12.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-storage-blob-batch</artifactId>
  <version>12.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-storage-blob-cryptography</artifactId>
  <version>12.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-storage-file-share</artifactId>
  <version>12.0.0-preview.5</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-storage-queue</artifactId>
  <version>12.0.0</version>
</dependency>

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-core-tracing-opencensus</artifactId>
  <version>1.0.0-preview.4</version>
</dependency>
<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-cosmos</artifactId>
  <version>4.0.0-preview.1</version>
</dependency>

Feedback

If you have a bug or feature request for one of the libraries, please post an issue to GitHub.

Changelog

Detailed change logs are linked to in the Quick Links below. Here are some critical call outs.

  • Designed based on the Azure SDK Design Guidelines for Java, resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
  • Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
  • Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using Project Reactor.

App Configuration

  • Renamed addSetting, getSetting, deleteSetting, setSetting, listSettings, listSettingRevisions to addConfigurationSetting, getConfigurationSetting, deleteConfigurationSetting, setConfigurationSetting, listConfigurationSettings, listRevisions for consistency naming across languages.
  • Ensured exceptions are consistent for certain operations (c.f. other languages).
  • Renamed asOfDayTime to acceptDateTime, and lock to isReadOnly.
  • ConfigurationCredentialsPolicy no longer explored to public and moved to implementation folder.
  • Fixed AzConfig Revisions Range Returns 416 Status Code
  • Added ConfigurationServiceVersion class for version
  • Added more samples including conditional request, setReadOnly, clearReadOnly, listRevisions, etc.

Azure Identity

  • The getToken(TokenRequest tokenRequest) methods on all the credentials are changed to getToken(TokenRequestContext tokenRequestContext).
  • All credentials are moved from com.azure.identity.credential package to com.azure.identity package
  • DeviceCodeChallenge is renamed to DeviceCodeInfo, with int expiresIn() replaced with OffsetDateTime expiresOn() returning the time of the device code expiration
  • All methods containing uri is renamed to contain url for consistency

Event Hubs

  • Added Proxy support for Event Hubs sync and async clients.
  • EventHubConsumer and EventHubAsyncConsumer now provides last enqueued event information.
  • Refactored azure-messaging-eventhubs to extract AMQP implementation details to azure-core-amqp module.
  • Added modules support for JDK 9+ and renamed model classes to support Java bean naming convention.

Event Hub Checkpoint Store

  • Added modules support for JDK 9+.

Key Vault [Secrets, Keys and Certificates]

  • Updated to be fully compliant with the Java 9 Platform Module System.
  • Getters and setters were updated to use Java Bean notation.
  • Added importCertificate API to CertificateClient and CertificateAsyncClient.
  • Changed VoidResponse to Response on sync API, and Mono to Mono<Response> on async API.

Storage [Blob, Files and Queues]

  • Renaming of common class names to be prepended with module name
  • URL parameters were replaced with String parameters
  • File and Blob download response type changed
  • File and Blob copy are now using Poller
  • Blob access condition class structure was flattened and renamed
  • Removed duplicate upload methods and renamed download methods in Storage File
  • File upload changed to take InputStream instead of ByteBuffer
  • Storage File was renamed to Storage File Share
  • General API renaming and consistency changes

Tracing

  • Added tracing support for AMQP client libraries

Need help?

{% include_relative java-quicklinks.md %}

{% include refs.md %}