Changelog
2.27.0 (2023-09-12)
Features
- Add new JournalingBlobWriteSessionConfig usable with gRPC transport (#2194) (8880d94)
- Follow-up CLI Improvements (#2184) (d985976)
- Initial CLI for SSB integration and Workload 1 (#2166) (a349735)
Bug Fixes
- A resumable session without a Range header should be interpreted as 0 length (#2182) (5302201)
- Update User-Agent handling for resumable uploads (#2168) (665b714)
- Update version resolution logic to be more resilient (#2169) (c89d275)
Dependencies
- Update actions/checkout action to v4 (#2188) (c10267e)
- Update actions/checkout action to v4 (#2189) (5c048c4)
- Update actions/checkout action to v4 (#2190) (45e66e8)
- Update dependency com.google.apis:google-api-services-storage to v1-rev20230710-2.0.0 (#2162) (73a9f75)
- Update dependency com.google.apis:google-api-services-storage to v1-rev20230907-2.0.0 (#2200) (1fa49db)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.15.0 (#2197) (26552f4)
- Update dependency info.picocli:picocli to v4.7.4 (#2177) (0c90814)
- Update dependency info.picocli:picocli to v4.7.5 (#2183) (f244861)
- Update dependency net.jqwik:jqwik to v1.8.0 (#2187) (aedbd6a)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.26 (#2196) (4f8bb65)
2.26.1 (2023-08-14)
Bug Fixes
- Make use of ImmutableMap.Builder#buildOrThrow graceful (#2159) (e9746f8)
- Update gRPC writeAndClose to only set finish_write on the last message (#2163) (95df758)
Dependencies
2.26.0 (2023-08-03)
Features
- Implement BufferToDiskThenUpload BlobWriteSessionConfig (#2139) (4dad2d5)
- Introduce new BlobWriteSession (#2123) (e0191b5)
Bug Fixes
- grpc: Return error if credentials are detected to be null (#2142) (b61a976)
- Possible NPE when HttpStorageOptions deserialized (#2153) (68ad8e7)
- Update grpc default metadata projection to include acl same as json (#2150) (330e795)
Dependencies
2.25.0 (2023-07-24)
Features
- BlobWriteChannelV2 - same throughput less GC (#2110) (1b52a10)
- Update Storage.createFrom(BlobInfo, Path) to have 150% higher throughput (#2059) (4c2f44e)
Bug Fixes
- Update BlobWriteChannelV2 to properly carry forward offset after incremental flush (#2125) (c099a2f)
- Update GrpcStorageImpl.createFrom(BlobInfo, Path) to use RewindableContent (#2112) (c805051)
Documentation
Dependencies
- test: Update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.37.0 (#2130) (9e8b6d3)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.13.1 (#2129) (a7e854e)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.10.0 (#2132) (f5477e4)
- Update junit-platform.version to v5.10.0 (#2133) (3d22686)
2.24.0 (2023-07-11)
Features
- Add validation around bytes received vs bytes expected (#2078) (45d142a)
- Initial Preview of Transfer Manager #2105 (8b17574)
Bug Fixes
- Update grpc upload logic to follow hashing behavior of json (#2107) (ed05232)
- Update UploadCallable to use createFrom to avoid NPE trying to resolve resulting object (#2086) (6769a2b)
Documentation
- Javadocs for remainder of Transfer Manager (#2097) (0362e80)
- Javadocs for TransferManager interface and ParallelUploadConfig (#2094) (63d8ed3)
- samples: Add storage_grpc_quickstart samples (#2041) (5f916fb)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.12.0 (#2088) (18adb5a)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.13.0 (#2106) (734dee0)
- Update dependency io.grpc:grpc-bom to v1.56.1 (#2101) (3102941)
- Update dependency net.jqwik:jqwik to v1.7.4 (#2103) (c681ccf)
- Update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.36.0 (#2080) (ba5c11a)
2.23.0 (2023-06-21)
Features
Dependencies
- Update dependencies io.grpc:* to v1.56.0 (#2072) (e10bde2)
- Update dependency com.google.apis:google-api-services-storage to v1-rev20230617-2.0.0 (#2077) (9f618cd)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.23 (#2074) (427f330)
2.22.4 (2023-06-07)
Bug Fixes
Documentation
- Add documentation about quantum write alignment, use of ObjectChecksums, Bucket.name format, and Object.delete_time (#2032) (c39ec13)
Dependencies
2.22.3 (2023-05-30)
Bug Fixes
- Add retries for auth service errors which are tagged Retryable (#2026) (3675514)
- Make GrpcBlobWriteChannel open upon construction (#2022) (6549736)
- Plumb GrpcInterceptorProvider to constructed InstantiatingGrpcChannelProvider (#2031) (bfe0415)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.10.0 (#2033) (54d6332)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.10.1 (#2035) (0bdb5ec)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.22 (#2016) (b4c4655)
2.22.2 (2023-05-09)
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.9.0 (#2010) (27b9014)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.9.3 (#1996) (7839768)
- Update junit-platform.version to v5.9.3 (#1997) (5683340)
2.22.1 (2023-04-26)
Bug Fixes
- Introduce new BlobId#toGsUtilUriWithGeneration (#1998) (68de5c7)
- Update grpc x-goog-user-project handling gracefulness (#1983) (f274739)
Documentation
- Update routing annotations for CancelResumableWriteRequest and QueryWriteStatusRequest (#1992) (e36f8f1)
Dependencies
2.22.0 (2023-04-12)
Features
- Add matchGlob parameter to BlobListOption (#1965) (93be97a)
- Handle generation numbers in BlobId#{to,from}GsUtilUri (#1929) (0a033b3)
- Implement GrpcStorageImpl#{get,list,create,delete}Notification (#1958) (830052b)
- Make it possible to disable the buffer of ReadChannels returned from Storage.reader (#1974) (702ab2b)
Bug Fixes
Documentation
- Update spec for WriteObjectRequest.object_size to clarify that it applies to both one-shot and resumable writes (#1976) (7354e19)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.7.0 (#1978) (1f7e9c9)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.21 (#1979) (d6accdf)
2.21.0 (2023-03-31)
Features
Bug Fixes
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.6.0 (#1957) (af90f16)
- Update dependency net.jqwik:jqwik to v1.7.3 (#1944) (a8b96c9)
Documentation
- Revert ChecksummedData message definition not to specify ctype=CORD, (#1960) (3a2a643)
- Updated ChecksummedData message definition to specify ctype=CORD, and removed incorrect earlier attempt that set that annotation in the ReadObjectResponse message definition (#1959) (3d97bdd)
2.20.2 (2023-03-22)
Bug Fixes
Documentation
Dependencies
- Update dependency com.google.apis:google-api-services-storage to v1-rev20230301-2.0.0 (#1935) (dbc7534)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.5.0 (#1940) (fc55e41)
2.20.1 (2023-03-07)
Dependencies
2.20.0 (2023-03-01)
Features
2.19.0 (2023-02-21)
Features
Bug Fixes
- Update Default RetryStrategy to retry SSLException caused by SocketException (#1900) (be2aba0)
- Update GrpcStorageImpl handling to be aware of quotaProjectId (#1877) (ca8510e), closes #1736
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.3.0 (#1907) (85e22d7)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.20 (#1904) (95b9aef)
2.18.0 (2023-02-06)
Features
- Add Storage.BlobWriteOption.{meta,}generation{Not,}Match(long) methods to allow literal value construction (#1875) (a9fab09)
- Setting up 2.15.x (#1880) (1c88e83)
Dependencies
2.17.2 (2023-01-23)
Bug Fixes
Dependencies
2.17.1 (2023-01-13)
Bug Fixes
2.17.0 (2023-01-12)
Features
- Implement GrpcStorageImpl BucketAccessControl operations (#1816) (5c52079)
- Implement GrpcStorageImpl ObjectAccessControl operations (#1818) (2eec791)
- Implement GrpcStorageImpl#createDefaultAcl & GrpcStorageImpl#updateDefaultAcl (#1806) (0f24a11)
- Implement GrpcStorageImpl#deleteDefaultAcl (#1807) (c783277)
- Implement GrpcStorageImpl#getDefaultAcl (#1802) (b9b7c49)
- Implement GrpcStorageImpl#listDefaultAcl (#1805) (03c2e66)
- Improve throughput of http based storage#reader between 100 MiB/s and 200 MiB/s (#1799) (94cd288)
- Update GrpcBlobReadChannel to allow seek/limit after read (#1834) (45dc983)
Bug Fixes
- Add missing preconditions and update samples (#1753) (96beca2)
- grpc: Fix bucket logging conversion to allow clearing (#1822) (30e19dc)
- Update gRPC object list implementation to include synthetic directories (#1824) (0665c24)
- Update Grpc Write implementation to allow specifying expected md5 (#1815) (4662572)
- Update GrpcConversions to use Bucket.RetentionPolicy.retention_duration (#1798) (82fb014)
- Update GrpcStorageImpl#update to support fine-grained update of BucketInfo.labels and BlobInfo.metadata (#1843) (c8bf3c7)
Documentation
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.1.1 (#1836) (3b71fab)
- Update dependency net.jqwik:jqwik to v1.7.2 (#1833) (83bc261)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.9.2 (#1837) (5b38184)
- Update junit-platform.version to v5.9.2 (#1838) (372521b)
2.16.0 (2022-12-06)
Features
- Add {Compose,Rewrite,StartResumableWrite}Request.object_checksums and Bucket.RetentionPolicy.retention_duration (#1790) (31c1b18)
- Added a new retention_duration field of Duration type (31c1b18)
- Added object_checksums for compose/rewrite/startResumableWrite request (31c1b18)
Bug Fixes
- Removed WriteObject routing annotations (31c1b18)
Documentation
- Clarified relative resource names in gRPC IAM RPCs (31c1b18)
- Clarified the object can be deleted via DeleteObject (31c1b18)
- Updated the document link for
Naming Guidelines
(31c1b18)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.1.0 (#1797) (b1d0266)
- Update dependency org.apache.httpcomponents:httpclient to v4.5.14 (#1795) (cf900f4)
- Update dependency org.apache.httpcomponents:httpcore to v4.4.16 (#1786) (3bf403e)
- Update dependency org.apache.httpcomponents:httpmime to v4.5.14 (#1796) (c9ee3ca)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.18 (#1782) (5bc5176)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.19 (#1791) (3184d65)
2.15.1 (2022-11-17)
Bug Fixes
- Disable REGAPIC transport in storage v2 (#1762) (13d630e)
- Update GrpcStorageImpl#get(BlobId) to return null on 404 (#1772) (8c59c64)
Documentation
2.15.0 (2022-11-07)
Features
- Add Autoclass support and sample (#1697) (82aacd7)
- Update retries for Notifications (#1734) (0fb2f18)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.6 (#1761) (803a90b)
- Update dependency net.jqwik:jqwik to v1.7.1 (#1758) (140e909)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.17 (#1759) (7e3175a)
2.14.0 (2022-10-26)
Google Cloud Storage gRPC API Preview
The first release of google-cloud-storage
with support for a subset of the Google Cloud Storage gRPC API which is in private preview. The most common operations have all been implemented and are available for experimentation.
Given not all public api surface of google-cloud-storage
classes are supported for gRPC a new annotation @TransportCompatibility
has been added to various classes, methods and fields/enum values to signal where that thing can be expected to work. As we implement more of the operations these annotations will be updated.
All new gRPC related APIs are annotated with @BetaApi
to denote they are in preview and the possibility of breaking change is present. At this time, opting to use any of the gRPC transport mode means you are okay with the possibility of a breaking change happening. When the APIs are out of preview, we will remove the @BetaApi
annotation to signal they are now considered stable and will not break outside a major version.
NOTICE: Using the gRPC transport is exclusive. Any operations which have not yet been implemented for gRPC will result in a runtime error. For those operations which are not yet implemented, please continue to use the existing HTTP transport.
Special thanks (in alphabetical order) to @BenWhitehead, @frankyn, @jesselovelace and @sydney-munro for their hard work on this effort.
Notable Improvements
For all gRPC media related operations (upload/download) we are now more resource courteous then the corresponding HTTP counterpart. Buffers are fixed to their specified size (can't arbitrarily grow without bounds), are allocated lazily and only if necessary.
- Investigation into the possibility of backporting these improvements to the HTTP counterparts is ongoing
Preview support for Accessing GCS via gRPC
- Set the environment variable
GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS=true
, then run your program. - When configuring your
StorageOptions
mimic the following:StorageOptions.grpc() .setAttemptDirectPath(true) .build()
- Internally the default host endpoint
https://storage.googleapis.com:443
will be transformed to the applicablegoogle-c2p-experimental:///storage.googleapis.com
- Set the environment variable
Support for
java.time
types on model classes- Points in time are now represented with
java.time.OffsetDateTime
, while durations are represented withjava.time.Duration
- All existing
Long
centric methods are still present, but have been deprecated in favor of their correspondingjava.time
variant - At the next major version, these deprecated methods will be replaced with types from
java.time
and thejava.time
variant methods will be deprecated
- Points in time are now represented with
com.google.cloud.storage.Storage
now extendsjava.lang.AutoClosable
thereby allowing it to be used in a try-with-resource block.- When using gRPC transport be sure to call
Storage#close()
when complete so it can clean up the gRPC middleware and resources. - When using HTTP transport calling
Storage#close()
will gracefully no-op, allowing for the same style of use regardless of transport.
- When using gRPC transport be sure to call
When downloading an object via gRPC idle stream detection is now present which will restart a stream if it is determined to be idle and has remaining retry budget
- Update equals()/hashCode() methods to follow the expected contract
- The new gRPC transport based implementation continues to provide idempotency aware automatic retries the same as HTTP
- Expanded test suite which should bring improved stability and reliability to both HTTP and gRPC transport implementations
- New
com.google.cloud:google-cloud-storage-bom
maven bom available to use for coordinated dependency version resolution for multiple storage artifacts
Not yet implemented
All ACL specific operations.
- These will be implemented in the near future
- In the interim, reading and setting of ACLs and Default Object ACLs can be performed via Object/Bucket operations
All Notification related operations
- These will be implemented in the near future
- In the interim, please continue to use the HTTP transport
ReadChannel#capture()
,RestorableState<ReadChannel>#restore()
,WriteChannel#capture()
,RestorableState<WriteChannel>#restore()
,CopyWriter#capture()
andRestorableState<CopyWriter>#capture()
are not yet implemented.- These use cases will be implemented in the near future. We are still determining the route we want to take.
Batch and "bulk" operations which depend on batch
- GCS gRPC does not currently define a batch method whereas HTTP does. This means
Storage#batch()
is only supported for HTTP transport. - The following methods which currently depend on
Storage#batch()
are currently only supported for HTTP transportcom.google.cloud.storage.Storage#get(com.google.cloud.storage.BlobId...)
com.google.cloud.storage.Storage#get(java.lang.Iterable<com.google.cloud.storage.BlobId>)
com.google.cloud.storage.Storage#update(com.google.cloud.storage.BlobInfo...)
com.google.cloud.storage.Storage#update(java.lang.Iterable<com.google.cloud.storage.BlobInfo>)
com.google.cloud.storage.Storage#delete(com.google.cloud.storage.BlobId...)
com.google.cloud.storage.Storage#delete(java.lang.Iterable<com.google.cloud.storage.BlobId>)
- GCS gRPC does not currently define a batch method whereas HTTP does. This means
One-Time Inconveniences
All classes under
com.google.cloud.storage
which areSerializable
have newserialVersionUIDs
and are incompatible with any previous version.- Several classes had to change in order to support both HTTP and gRPC at the same time. We were able to preserve Source and Binary runtime level compatibility but had to break Serialization across versions.
- If you depend upon Java Serialization, please ensure you are using the same version of
google-cloud-storage
in both locations.
The cause chains of some Exceptions have changed.
- When using gRPC,
StorageException
causes will use the correspondingcom.google.api.gax.rpc.ApiException
for the failure type instead of the HTTPcom.google.api.client.googleapis.json.GoogleJsonError
- In an effort to preserve compatibility of your existing error handling code, we will translate from the gRPC error code to the similar HTTP Status code before constructing the
StorageException
preserving the integrity ofStorageException#getCode()
- In an effort to preserve compatibility of your existing error handling code, we will translate from the gRPC error code to the similar HTTP Status code before constructing the
- RetryHelper$RetryHelperException will no longer appear in exception cause chains for either HTTP or gRPC
- When using gRPC,
Not Supported
Given the nature of the gRPC transport a few things are explicitly not supported when using gRPC, and require HTTP transport. Attempting to use any of the following methods will result in a runtime error stating they are not supported for gRPC transport.
Storage#writer(URL)
does not work for gRPC. gRPC does not provide a means of exchanging an HTTP url for a resumable session idStorage#signUrl
is not supported for gRPC transport. Signed URLs explicitly generate HTTP urls and are only supported for the HTTP transport based implementation.Storage#generateSignedPostPolicyV4
is not supported for gRPC transport. Signed URLs explicitly generate HTTP urls and are only supported for the HTTP transport based implementation.
Known Issues
- https://github.com/googleapis/java-storage/issues/1736
- https://github.com/googleapis/java-storage/issues/1737
Features
Bug Fixes
- Properly implement GrpcBlobReadChannel#isOpen (#1733) (04e5166)
- Update BucketInfo.LifecycleRule.LifecycleCondition equals and hashCode to include match prefix and suffix (#1729) (9664e8a)
Dependencies
2.13.1 (2022-10-20)
Bug Fixes
- Avoid unexpected initialization of
JacksonParser
in Graal 22.2 (#1709) (eca1a03) - Update BucketInfo.LifecycleRule#fromPb to wire through MatchesPrefix & MatchesSuffix (#1717) (eae3cf2)
Dependencies
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.15 (#1711) (f188a07)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.16 (#1721) (631b98d)
2.13.0 (2022-10-03)
Features
Documentation
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 (#1685) (3d8f550)
- Update dependency gcp-releasetool to v1.8.9 (#1684) (54a5159)
- Update dependency importlib-metadata to v4.13.0 (#1682) (2487aff)
- Update dependency importlib-metadata to v5 (#1683) (020fe8c)
- Update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.14 (#1643) (ab3a198)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.9.1 (#1635) (ba85ab6)
2.12.0 (2022-09-15)
Features
Documentation
- Add batch sample (#1559) (583bf73)
- Document thread safety of library (#1566) (c740899)
- Fix broken links in readme (#1520) (840b08a)
Dependencies
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 (#1611) (8a48aea)
- Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 (#1620) (20e6378)
2.11.3 (2022-08-08)
Dependencies
2.11.2 (2022-08-04)
Dependencies
2.11.1 (2022-08-04)
Dependencies
2.11.0 (2022-08-03)
Features
Documentation
Dependencies
- update dependency com.google.cloud:google-cloud-pubsub to v1.120.5 (#1527) (77072e3)
- update dependency com.google.cloud:google-cloud-pubsub to v1.120.7 (#1530) (8c2ebad)
- update dependency com.google.cloud:google-cloud-pubsub to v1.120.8 (#1534) (723b100)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v3 (#1526) (f7fc0d2)
- update dependency org.junit.vintage:junit-vintage-engine to v5.9.0 (#1524) (0e74093)
2.10.0 (2022-07-13)
Features
Bug Fixes
Documentation
Dependencies
2.9.3 (2022-07-08)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20220705-1.32.1 (#1494) (5612f0f)
2.9.2 (2022-07-06)
Dependencies
2.9.1 (2022-07-06)
Dependencies
2.9.0 (2022-06-27)
Features
Documentation
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 (#1468) (1a817fe)
- update dependency org.graalvm.buildtools:junit-platform-native to v0.9.12 (#1463) (d42c570)
- update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.12 (#1464) (2f35a4f)
- update kms.version to v0.96.3 (#1471) (ceb7fa6)
2.8.1 (2022-06-13)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20220608-1.32.1 (#1448) (96676cd)
2.8.0 (2022-06-08)
Features
- Prefix/Suffix Matches Lifecycle Condition (#1389) (20c8848)
- Support AbortIncompleteMultipartUpload LifecycleAction (#1347) (7c3aba2)
Bug Fixes
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20220604-1.32.1 (#1438) (df8fcd9)
- update dependency com.google.cloud:google-cloud-pubsub to v1.119.0 (#1426) (93ba28c)
2.7.2 (2022-05-27)
Dependencies
2.7.1 (2022-05-24)
Dependencies
2.7.0 (2022-05-24)
Features
- add build scripts for native image testing in Java 17 (#1440) (#1400) (274a373)
- add Storage#downloadTo (#1354) (5a565a7)
- change GCS gRPC API to get user billing project from gRPC metadata instead of CommonRequestParams, and remove latter (#1396) (8a7755c)
Documentation
- add new storage_download_byte_range samples (#1325) (cef3d13)
- sample: removing unnecessary native-image-support dependency (#1373) (3a246ef)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20220509-1.32.1 (#1386) (4e93c8e)
- update dependency com.google.cloud:google-cloud-pubsub to v1.116.4 (#1360) (66c7ffe)
- update dependency com.google.cloud:google-cloud-pubsub to v1.117.0 (#1382) (0cd01a0)
- update dependency com.google.cloud:google-cloud-pubsub to v1.118.0 (#1397) (fc0c187)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.11.0 (#1398) (8834423)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 (#1402) (32cded4)
- update kms.version to v0.95.4 (#1361) (2f42ba2)
2.6.1 (2022-04-15)
Bug Fixes
- add gccl-invocation-id interceptor (#1309) (335c267)
- java: add service account email to Native Image testing kokoro job (#1348) (9f76fcc)
Documentation
- Adding PubSub Notification Samples (#1317) (fa9920d)
- Adding Samples for Creating Dual Region Buckets (#1341) (9396061)
- Update CreateBucketPubSubNotification to have line without horizontal scrolling (#1335) (09b7842)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20220401-1.32.1 (#1337) (a5050e2)
- update dependency com.google.cloud:google-cloud-pubsub to v1.116.3 (#1327) (9d8c520)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.10.0 (#1352) (ab46f98)
- update dependency com.google.cloud:native-image-support to v0.12.11 (#1319) (c338c54)
- update dependency com.google.cloud:native-image-support to v0.13.1 (#1353) (0f76d27)
- update kms.version to v0.95.2 (#1331) (2ca4883)
- update kms.version to v0.95.3 (#1346) (a4f9503)
2.6.0 (2022-03-30)
Features
- replace enum with string representation for predefined ACLs and public_access_prevention (#1323) (4dd1a88)
Bug Fixes
- java: add configurations for Storage tests (#1305) (2bacf92)
- update boundary checking of BlobReadChannel when limit() is used (#1324) (f21f624)
Dependencies
Documentation
2.5.1 (2022-03-28)
Dependencies
2.5.0 (2022-03-25)
Features
Documentation
- Adding Samples for printing all Acls for a file and for a specific user (#1288) (32fe388)
- Copy all storage samples from java-docs-samples (#1258) (48b99be)
- sample: Add Native Image sample for Storage (#1283) (375874d)
Dependencies
- allow snapshot to update properly (#1311) (a5d32f2)
- update dependency com.google.cloud:native-image-support to v0.12.10 (#1295) (3b3ecce)
- update dependency org.graalvm.buildtools:junit-platform-native to v0.9.10 (#1296) (6f1b142)
- update dependency org.graalvm.buildtools:junit-platform-native to v0.9.11 (#1306) (1527ba0)
- update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.10 (#1297) (3f64f11)
- update dependency org.graalvm.buildtools:native-maven-plugin to v0.9.11 (#1307) (e45ae07)
2.4.5 (2022-03-04)
Documentation
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.8.0 (#1284) (0f71ae4)
- update kms.version to v0.95.1 (#1287) (8334d3c)
2.4.4 (2022-02-28)
Dependencies
2.4.3 (2022-02-25)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20220210-1.32.1 (#1269) (b3933be)
Documentation
- Adding Samples for Add/Remove Bucket Default Owner (#1260) (7223626)
- Adding Samples for Add/Remove Bucket Owner (#1272) (9d25fa9)
- Adding Samples for Printing Bucket ACLs and Printing Bucket ACL for a specific user. (#1236) (d82333b)
2.4.2 (2022-02-11)
Dependencies
2.4.1 (2022-02-08)
Dependencies
2.4.0 (2022-02-03)
Features
- Change RewriteObjectRequest to specify bucket name, object name and KMS key outside of Object resource (#1218) (8789e4f)
- re-generate gapic client to include full GCS gRPC API (#1189) (3099a22)
- Update definition of RewriteObjectRequest to bring to parity with JSON API support (#1220) (7845c0e)
Bug Fixes
Dependencies
- java: update actions/github-script action to v5 (#1339) (#1215) (deb110b)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.7.0 (#1219) (623e68b)
2.3.0 (2022-01-12)
Features
Bug Fixes
- java: run Maven in plain console-friendly mode (#1301) (#1186) (1e55dba)
- Remove all client side validation for OLM, allow nonspecific lif… (#1160) (5a160ee)
Dependencies
- update dependency org.easymock:easymock to v4 (#1198) (558520f)
- update kms.version to v0.94.1 (#1195) (cc999b1)
2.2.3 (2022-01-07)
Bug Fixes
- do not cause a failure when encountering no bindings (#1177) (16c2aef)
- java: add -ntp flag to native image testing command (#1169) (b8a6395)
- update retry handling to retry idempotent requests that encounter unexpected EOF while parsing json responses (#1155) (8fbe6ef)
Documentation
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.6.0 (#1191) (3b384cf)
- update dependency org.apache.httpcomponents:httpcore to v4.4.15 (#1171) (57f7a74)
2.2.2 (2021-12-06)
Bug Fixes
Documentation
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20211201-1.32.1 (#1165) (9031836)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.5.1 (#1163) (feca2c6)
- update kms.version to v0.94.0 (#1164) (8653783)
2.2.1 (2021-11-15)
Dependencies
2.2.0 (2021-11-02)
Features
- next release from mainline is 2.2.0 (#1124) (53a755b)
- update all automatic retry behavior to be idempotency aware (#1132) (470b8cd)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20211018-1.32.1 (#1123) (edc0e00)
- update kms.version to v0.93.2 (#1120) (a5c007d)
2.1.9 (2021-10-19)
Dependencies
2.1.8 (2021-10-18)
Bug Fixes
- regenerate google.cloud.storage.v2 protos (a7e3b94)
Dependencies
2.1.7 (2021-10-04)
Bug Fixes
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20210918-1.32.1 (#1046) (2c79005)
- update kms.version to v0.93.0 (#1061) (97b1a2e)
2.1.6 (2021-09-24)
Dependencies
2.1.5 (2021-09-22)
Dependencies
2.1.4 (2021-09-20)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20210914-1.32.1 (#1025) (ff56d5e)
- update kms.version to v0.92.1 (#1023) (ca1afcf)
2.1.3 (2021-09-15)
Dependencies
2.1.2 (2021-09-14)
Dependencies
2.1.1 (2021-09-03)
Documentation
Dependencies
- update dependency com.google.cloud:google-cloud-conformance-tests to v0.2.0 (#982) (c7460a3)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.2.0 (#989) (6745c9e)
- update kms.version to v0.91.3 (#991) (1f15022)
2.1.0 (2021-08-24)
Features
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v2.1.0 (#976) (5cac14d)
- update kms.version to v0.91.2 (#977) (1c60e6e)
2.0.2 (2021-08-19)
Dependencies
2.0.1 (2021-08-11)
Features
Bug Fixes
Dependencies
2.0.0 (2021-08-09)
⚠ BREAKING CHANGES
- migrate to java8 (#950)
Features
1.118.1 (2021-08-06)
Dependencies
1.118.0 (2021-07-13)
Features
Bug Fixes
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20210127-1.32.1 (#910) (2c54acc)
- update kms.version to v0.90.0 (#911) (1050725)
1.117.1 (2021-06-30)
Dependencies
1.117.0 (2021-06-28)
Features
- Add from and to storage url options for BlobId (#888) (1876a58)
- add support of public access prevention (#636) (3d1e482)
Bug Fixes
- Add
shopt -s nullglob
to dependencies script (#894) (901fd33) - Update dependencies.sh to not break on mac (#879) (bc6d1d9)
Documentation
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20210127-1.31.5 (#889) (99138a4)
1.116.0 (2021-06-14)
Features
Bug Fixes
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v1.3.0 (#863) (37bfd5e)
- update kms.version (#860) (f1430ff)
- update kms.version to v0.89.3 (#873) (ee7c236)
1.115.0 (2021-06-01)
Features
Bug Fixes
- improve error detection and reporting for BlobWriteChannel retry state (#846) (d0f2184), closes #839
- update BucketInfo translation code to properly handle lifecycle rules (#852) (3b1df1d), closes #850
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v1.2.0 (#836) (c1752ce)
- update kms.version to v0.88.4 (#830) (7e3dc28)
- update kms.version to v0.89.0 (#855) (29236e9)
1.114.0 (2021-05-13)
Features
Bug Fixes
- test: update blob paths used in storage.it.ITStorageTest#testDownloadPublicBlobWithoutAuthentication (#759) (#817) (1a576ca)
Dependencies
- update dependency com.google.api-client:google-api-client to v1.31.5 (#820) (9e1bc0b)
- update dependency com.google.api.grpc:grpc-google-cloud-kms-v1 to v0.88.3 (#797) (747e7e4)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v1.1.0 (#815) (e210de9)
1.113.16 (2021-04-23)
Bug Fixes
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.1 (#789) (c005e87)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v1 (#794) (195fead)
1.113.15 (2021-04-13)
Bug Fixes
- test: update blob paths used in storage.it.ITStorageTest#testDownloadPublicBlobWithoutAuthentication (#759) (9a6619c)
- typo (#779) (3c3d6b4)
Dependencies
- update dependency com.google.api-client:google-api-client to v1.31.4 (#774) (ad9ff7b)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.21.0 (#771) (5605095)
- update kms.version to v0.88.1 (#758) (3e57ea9)
- update kms.version to v0.88.2 (#778) (6edfc4c)
- update truth (#767) (4e5ee03)
1.113.14 (2021-03-11)
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.1 (#749) (bb42107)
- update kms.version to v0.88.0 (#753) (eaedb64)
1.113.13 (2021-03-08)
Bug Fixes
Dependencies
1.113.12 (2021-02-26)
Bug Fixes
Dependencies
- update dependency com.google.api-client:google-api-client to v1.31.2 (#686) (6b1f036)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.20.0 (#732) (c98413d)
- update kms.version to v0.87.7 (#724) (3229bd8)
- update kms.version to v0.87.8 (#733) (a21b75f)
1.113.11 (2021-02-19)
Dependencies
1.113.10 (2021-02-17)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20210127-1.31.0 (#706) (04db8f7)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.18.0 (#683) (6f172eb)
- update kms.version to v0.87.6 (#702) (a50c333)
1.113.9 (2021-01-12)
Bug Fixes
- last chunk is retriable (#677) (44f49e0)
- unnecessary options in resumable upload URL (#679) (d31a39b)
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.17.1 (#678) (d4a237f)
- update kms.version to v0.87.5 (#662) (20e7c1f)
1.113.8 (2020-12-16)
Dependencies
1.113.7 (2020-12-14)
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.1 (f1fc884)
1.113.6 (2020-12-10)
Bug Fixes
Dependencies
1.113.5 (2020-12-07)
Dependencies
- update dependency com.google.api-client:google-api-client to v1.31.1 (#611) (7c4c759)
- update dependency com.google.api.grpc:grpc-google-cloud-kms-v1 to v0.87.2 (#625) (243a3cb)
- update dependency com.google.apis:google-api-services-storage to v1-rev20201112-1.30.10 (#613) (b0e24db)
- update dependency com.google.apis:google-api-services-storage to v1-rev20201112-1.31.0 (#641) (11da9c7)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.16.0 (#639) (68a3af9)
- update dependency org.apache.httpcomponents:httpcore to v4.4.14 (#637) (af53902)
1.113.4 (2020-11-13)
Bug Fixes
Dependencies
1.113.3 (2020-11-06)
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.14.1 (#592) (25e8e6a)
- update kms.version to v0.87.1 (#595) (1e399cd)
1.113.2 (2020-10-26)
Documentation
Dependencies
- update dependency com.google.api-client:google-api-client to v1.30.11 (#575) (99838e6)
- update dependency com.google.apis:google-api-services-storage to v1-rev20200927-1.30.10 (#539) (5e49013)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.0 (#529) (dc58856)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.10.2 (#549) (c59c28d)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.12.1 (#566) (f1dedfb)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.13.0 (#570) (ef55f49)
1.113.1 (2020-09-17)
Bug Fixes
- KMS Bad Key error when using existing Blob context to overwrite object (#507) (4d9c490)
- When passing a sub-array (offset, length) to the Storage#create method the array is needlessly cloned (#506) (9415bb7), closes #505
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20200814-1.30.10 (#499) (af91d7d)
Documentation
1.113.0 (2020-09-03)
Features
Bug Fixes
- add missing FieldSelector inside BucketField and BlobField (#484) (c2aa9cf)
- prevent NPE in RemoteStorageHelper.cleanBuckets (#492) (db358c8)
- set IT_SERVICE_ACCOUNT_EMAIL for nightly integration test (#479) (23c379e)
Documentation
Dependencies
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.9.0 (#493) (0e4f70f)
- update kms.version to v0.87.0 (#489) (a045d54)
1.112.0 (2020-08-27)
Features
- add support of customTime metadata (#413) (6f4585e)
- add support of customTimeBefore and daysSinceCustomTime (#396) (1af8288)
- add support of daysSinceNoncurrentTime and noncurrentTimeBefore OLM options (#335) (1e3e88a)
- add support of null to remove the CORS configuration from bucket (#438) (f8a4b12)
- add support of startOffset and endOffset (#430) (38c1c34)
- auto content-type on blob creation (#338) (66d1eb7)
- expose updateTime field of the bucket (#449) (f0e945e)
Bug Fixes
- Ignore CONTRIBUTING.md (#447) (bdacdc9), closes #446 #446
- PostPolicyV4 classes could be improved (#442) (8602b81)
- docs: example of Storage#testIamPermissions (#434) (275f452)
- PostPolicyV4.PostFieldsV4.Builder.addCustomMetadataField() allows to add prefixed an not prefixed custom fields (#398) (02dc3b5)
Dependencies
- update dependency com.google.api-client:google-api-client to v1.30.10 (#423) (fbfa9ec)
- update dependency com.google.api.grpc:grpc-google-cloud-kms-v1 to v0.86.1 (#463) (cf94230)
- update dependency com.google.api.grpc:proto-google-cloud-kms-v1 to v0.86.1 (#464) (6c372fa)
- update dependency com.google.apis:google-api-services-storage to v1-rev20200611-1.30.10 (#428) (6ef57eb)
- update dependency com.google.apis:google-api-services-storage to v1-rev20200727-1.30.10 (#457) (edfd1e6)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.4 (#452) (12bc02d)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.6 (#458) (f8d6e15)
1.111.2 (2020-07-10)
Dependencies
1.111.1 (2020-07-01)
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20200611-1.30.9 (#406) (b2ebea7)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.2 (#414) (4451887)
- update dependency google-cloud-shared-config to v0.9.0 (#417)
- update dependency grpc-google-cloud-kms-v1 to v0.86.0 (#417)
- update dependency proto-google-cloud-kms-v1 to v0.86.0 (#417)
1.111.0 (2020-06-25)
Features
- add storage.upload(path) (#269) (9457f3a)
- Add support to disable logging from bucket (#390) (be72027)
- expose all the methods of notification (#141) (8dfc0cb)
Reverts
1.110.0 (2020-06-18)
Features
1.109.1 (2020-06-15)
Dependencies
- bump shared-deps version and add back certain test deps (#340) (afd0339)
- update dependency com.google.cloud:google-cloud-shared-dependencies to v0.8.1 (#368) (ccaf480)
1.109.0 (2020-06-11)
Features
- adopt flatten-maven-plugin and java-shared-dependencies (#325) (209cae3)
- stub implementation of StorageRpc for the sake of testing (#351) (dd58025)
Bug Fixes
Documentation
- fix: update client documentation link (#324) (eb8940c)
- Add doc for equals method in blob (#311) (91fc36a)
- catch actual exception in java doc comment (#312) (9201de5), closes #309
- update CONTRIBUTING.md to include code formatting (#534) (#315) (466d08f)
- update readme to point client libarary documentation (#317) (8650f80)
Dependencies
- update dependency com.google.api.grpc:proto-google-common-protos to v1.18.0 (#301) (ff2dee2)
- update dependency com.google.apis:google-api-services-storage to v1-rev20200410-1.30.9 (#296) (2e55aa2)
- update dependency com.google.apis:google-api-services-storage to v1-rev20200430-1.30.9 (#319) (3d03fa3)
- update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.11 (#320) (6c18c88)
1.108.0 (2020-04-30)
Features
Bug Fixes
- Documentation for Blob.update() and Storage.update() methods is confusing/incorrect (#261) (876405f), closes #252
Dependencies
- pin mockito version to work with java 7 (#292) (8eb2fff)
- update dependency com.google.api.grpc:grpc-google-cloud-kms-v1 to v0.85.1 (#273) (7b5e7d1)
- update dependency com.google.api.grpc:proto-google-cloud-kms-v1 to v0.85.1 (#274) (0ab4304)
- update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.10 (#281) (f3dee7e)
- update dependency com.google.http-client:google-http-client-bom to v1.35.0 (#282) (1c1c1be)
- update dependency io.grpc:grpc-bom to v1.28.1 (#250) (b35e81c)
- update dependency io.grpc:grpc-bom to v1.29.0 (#275) (9b241b4)
- update dependency org.threeten:threetenbp to v1.4.4 (#278) (7bae49f)
Documentation
1.107.0 (2020-04-14)
Bug Fixes
- Blob API Doc is confusing (#233) (b5208b8)
- Blob.downloadTo() methods do not wrap RetryHelper$RetryHelperException (#218) (5599f29)
- implementations of FromHexString() for md5 and crc32c (#246) (c9b23b3)
- storage-client-lib-docs to right location (#213) (133d137)
- surface storage interface expectations correctly. (#241) (130a641)
- throw io exception instead of storage exception (#229) (4d42a4e)
Reverts
- Revert "feat: add upload functionality (#214)" (#224) (e87c731), closes #214 #224
- grpc version update (#248) (0f6703e)
Dependencies
- update conformance test dep (#210) (010c112)
- update core dependencies (#182) (3f0c59c)
- update core dependencies to v1.93.4 (#231) (1bb5787)
- update dependency com.google.api:api-common to v1.9.0 (#209) (789ceaa)
- update dependency com.google.api.grpc:grpc-google-cloud-kms-v1 to v0.85.0 (#222) (03eace6)
- update dependency com.google.api.grpc:proto-google-cloud-kms-v1 to v0.85.0 (#223) (aaf6a17)
- update dependency com.google.apis:google-api-services-storage to v1-rev20200326-1.30.9 (#239) (b9d0a70)
- update dependency com.google.cloud.samples:shared-configuration to v1.0.14 (#207) (be74072)
- update dependency com.google.guava:guava to v29 (#240) (7824c15)
- update dependency org.threeten:threetenbp to v1.4.2 (#200) (84faad1)
- update dependency org.threeten:threetenbp to v1.4.3 (#228) (be40a70)
Documentation
- clarify documentation on date formats (#196) (9b4af58), closes /github.com/googleapis/google-http-java-client/blob/master/google-http-client/src/main/java/com/google/api/client/util/DateTime.java#L53
1.106.0 (2020-03-17)
Bug Fixes
Dependencies
- update dependency com.google.apis:google-api-services-storage to v1-rev20200226-1.30.9 (#189) (b61a820)
1.105.2 (2020-03-13)
Bug Fixes
Dependencies
1.105.1 (2020-03-09)
Bug Fixes
Dependencies
- update core dependencies to v1.93.1 (#161) (960572f)
- update dependency com.google.api-client:google-api-client to v1.30.9 (#154) (84dfab9)
- update dependency com.google.apis:google-api-services-storage to v1-rev20191127-1.30.9 (#164) (d9ba7c7)
- update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.7 (#160) (cbf8082)
- update dependency org.apache.httpcomponents:httpclient to v4.5.12 (#168) (45b3992)
1.105.0 (2020-02-28)
Features
- add IAM Conditions support (#120) (8256f6d)
- examples of creating a signed url for a blob with generation (#140) (420212a)
Dependencies
- update core dependencies to v1.93.0 (#153) (836a2e7)
- update dependency com.google.api:gax-bom to v1.54.0 (#152) (e86051f)
- update dependency com.google.cloud:google-cloud-conformance-tests to v0.0.6 (#151) (2627a93)
- update dependency io.grpc:grpc-bom to v1.27.2 (e56f8ce)
1.104.0 (2020-02-19)
Features
- add delimiter BlobListOption (#102) (b30a675)
- disableGzipContent option on create with InputStream (#36) (#82) (65d3739)
Bug Fixes
Dependencies
- update dependency com.google.api-client:google-api-client to v1.30.8 (#111) (47b1495)
- update dependency com.google.api.grpc:grpc-google-cloud-kms-v1 to v0.83.1 (#118) (753d870)
- update dependency com.google.api.grpc:proto-google-cloud-kms-v1 to v0.83.1 (#119) (2c8b9ec)
- update dependency com.google.http-client:google-http-client-bom to v1.34.2 (#131) (fce5b33)
- update dependency com.google.protobuf:protobuf-bom to v3.11.3 (#113) (044de39)
- update dependency com.google.protobuf:protobuf-bom to v3.11.4 (#134) (1af989e)
- update dependency io.opencensus:opencensus-api to v0.25.0 (#129) (3809576)
- update to gRPC 1.27.0 (#105) (64f34bd)
1.103.1 (2020-01-27)
Bug Fixes
Dependencies
- update dependency com.google.truth:truth to v1.0.1 (#60) (3cedc8f)
- update dependency org.threeten:threetenbp to v1.4.1 (4c0f03a)