Introduction Release Highlights Known Issues Credits Test Results Introduction Apache jclouds 2.2.0 is a first major release after a long period of time. In this release we have focused on modernizing the codebase and some dependencies to upgrade to Java 8 and prepare to upgrade to newer Java versions in future. You can read the official announcement here . To get started with jclouds, please see the jclouds installation guide . Release Highlights New features in Apache jclouds 2.2.0 include: Java 8 friendly builds The jclouds Karaf integration and the jclouds CLI are no longer part of the jclouds releases. The projects are now maintained by the Apache Karaf team and they will be released by them. Bugs and patches JCLOUDS-1200 - org.jclouds.http.HttpResponseException fails to serialize JCLOUDS-1263 - Listing objects in Openstack Swift blob store containers fails if a key has an invalid URL encode sequence JCLOUDS-1294 - Azure ARM improve HTTP retry logic JCLOUDS-1366 - OutOfMemory when InputStream referencing to big file is used as payload JCLOUDS-1367 - Blob.getPayload.openStream() is inconsistent across implementations JCLOUDS-1389 - Multipart upload to Google cloud storage failing with 400 bad request JCLOUDS-1391 - Headers must be sorted by lowercase when calculating signature JCLOUDS-1392 - When fetching blob metadata with details all folders are removed from response JCLOUDS-1400 - GCS’s presigned url requires blank Content-Type JCLOUDS-1401 - S3 SignatureDoesNotMatch when listing keys using prefix with ampersand JCLOUDS-1405 - Dimension Data Live Tests Broken - Domain classes for Server and Image with List nics incorrect JCLOUDS-1410 - SoftLayer cannot provision with private image JCLOUDS-1419 - Missing StorageClass REGIONAL for GCS buckets JCLOUDS-1422 - LocalBlobStore.list ignores recursive flag when prefix set JCLOUDS-1427 - NPE when deserializing Elastic IPs that have tags JCLOUDS-1433 - IllegalArgumentException from Strings2.replaceTokens JCLOUDS-1441 - [ARM] China regions can not be used JCLOUDS-1443 - unable to resolve URI with complex host JCLOUDS-1447 - S3 CopyObject requires x-amz-copy-source to be URL encoded JCLOUDS-1462 - Upgrade Apache Http driver in response to CVE-2015-5262 JCLOUDS-1463 - MachineTypeToHardware throws exception when region has no available zone JCLOUDS-1467 - Newly added c5 instanceType do not supports c5d series of AWS JCLOUDS-1472 - Multipart upload for AzureBlob fails when using InputStream for files greater than 32MB JCLOUDS-1479 - Swift API throws Exception when getting blob from containers JCLOUDS-1488 - Filesystem list call with prefix is slow in large containers JCLOUDS-1492 - Dimension Data Feature API Predicates are not usable JCLOUDS-1503 - Azurecompute-arm deploy doesn’t work JCLOUDS-1505 - BlobStore.blobMetadata(container, object) returns a StorageMetadata object with empty size when using org.jclouds.http.apachehc.config.ApacheHCHttpCommandExecutorServiceModule JCLOUDS-1509 - ParseAWSErrorFromXmlContent uses the default charset JCLOUDS-1510 - ParseSax convertStreamToStringAndParse creates a String from bytes without specifying a charset New Feature JCLOUDS-1399 - S3 One Zone-IA Storage Class JCLOUDS-1418 - The Azure ARM provider is missing several statuses for the PowerState enum JCLOUDS-1421 - Images created by the ImageExtension may lack the mandatory default credentials JCLOUDS-1468 - Add missing fields on CloudStack usage API JCLOUDS-1494 - Add S3 Glacier Deep Archive tier Improvement JCLOUDS-847 - S3 poor upload performance JCLOUDS-1271 - Remove signRemoveBlob JCLOUDS-1339 - Support launching an x1 EC2 instance JCLOUDS-1387 - Add support for c5 instance types in AWS ec2 JCLOUDS-1390 - google-cloud-storage: Avoid per blob calls to get user metadata when listing with details JCLOUDS-1394 - Increase limit for azure blob from 64MB to 256MB JCLOUDS-1404 - Available Google Storage regions JCLOUDS-1414 - OpenStack Keystone V3: Support different “domain” for “identity/user” and “project” JCLOUDS-1428 - Support for SAS token based Authentication for Azure Blob Storage JCLOUDS-1436 - Add support for m5 instance types in AWS ec2 JCLOUDS-1450 - Multi-part upload against the filesystem provider should return ETag similar to S3 JCLOUDS-1452 - Switch to B2 v2 API JCLOUDS-1460 - Add support for t3 instance types in AWS ec2 JCLOUDS-1464 - Google Cloud Storage regions need updating JCLOUDS-1477 - B2 cannot upload small payloads when multipart specified JCLOUDS-1489 - allow glacier storage tier during create object JCLOUDS-1506 - Azurecompute-arm add tags on disk create/update JCLOUDS-1512 - Use SecureRandom in Sha512Crypt JCLOUDS-1514 - Azurecompute-arm add disk storage types on disk create/update Task JCLOUDS-1406 - Add default location configuration to dimension data provider JCLOUDS-1431 - Support AU geo for Live Tests JCLOUDS-1432 - API Client expects 404 code when asset UUID not found for Get APIs JCLOUDS-1454 - Implement ServerToServerWithExternalIp function for dimensiondata JCLOUDS-1455 - Update ParseResponse to log error details. Add ParseTests for Domain Objects in NetworkApi and ServerApi JCLOUDS-1457 - Add Clean Server operation to ServerApi JCLOUDS-1495 - maven plugins are not correctly referred to JCLOUDS-1496 - Update maven-compiler-plugin for increased JDK compatibility JCLOUDS-1497 - Fix jclouds-labs after JCLOUDS-1496 JCLOUDS-1499 - Disable sonatype snapshot repository for plugins The complete list of fixed issues and improvements can be found here . Known Issues JCLOUDS-1520 - JClouds is not using the JDK’s KeepAliveCache when UntrustedSSLContextSupplier is used. Credits jclouds would like to thank everyone who contributed time and effort in order to make this release happen: Especial thanks to the Apache Karaf team for taking over the jclouds-karaf and jclouds-cli projects to make sure they will have continuity. Apache jclouds PMC and community for verifying the release. Check out who has been busy on Open Hub . Test Results Please see the discussion and the vote threads for live test results for 2.2.0: RC1 vote and discussion threads.