Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump google-cloud-storage from 2.13.1 to 2.14.0 #146

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 7, 2022

Bumps google-cloud-storage from 2.13.1 to 2.14.0.

Release notes

Sourced from google-cloud-storage's releases.

v2.14.0

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

  1. 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.

    1. Investigation into the possibility of backporting these improvements to the HTTP counterparts is ongoing
  2. Preview support for Accessing GCS via gRPC

    1. Set the environment variable GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS=true, then run your program.
    2. When configuring your StorageOptions mimic the following:
       StorageOptions.grpc()
         .setAttemptDirectPath(true)
         .build()
      
    3. Internally the default host endpoint https://storage.googleapis.com:443 will be transformed to the applicable google-c2p-experimental:///storage.googleapis.com
  3. Support for java.time types on model classes

    1. Points in time are now represented with java.time.OffsetDateTime, while durations are represented with java.time.Duration
    2. All existing Long centric methods are still present, but have been deprecated in favor of their corresponding java.time variant
    3. At the next major version, these deprecated methods will be replaced with types from java.time and the java.time variant methods will be deprecated
  4. com.google.cloud.storage.Storage now extends java.lang.AutoClosable thereby allowing it to be used in a try-with-resource block.

    1. When using gRPC transport be sure to call Storage#close() when complete so it can clean up the gRPC middleware and resources.
    2. When using HTTP transport calling Storage#close() will gracefully no-op, allowing for the same style of use regardless of transport.
  5. 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

  6. Update equals()/hashCode() methods to follow the expected contract

  7. The new gRPC transport based implementation continues to provide idempotency aware automatic retries the same as HTTP

  8. Expanded test suite which should bring improved stability and reliability to both HTTP and gRPC transport implementations

  9. 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

  1. All ACL specific operations.

    1. These will be implemented in the near future
    2. In the interim, reading and setting of ACLs and Default Object ACLs can be performed via Object/Bucket operations
  2. All Notification related operations

    1. These will be implemented in the near future

... (truncated)

Changelog

Sourced from google-cloud-storage's changelog.

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

  1. 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.

    1. Investigation into the possibility of backporting these improvements to the HTTP counterparts is ongoing
  2. Preview support for Accessing GCS via gRPC

    1. Set the environment variable GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS=true, then run your program.
    2. When configuring your StorageOptions mimic the following:
       StorageOptions.grpc()
         .setAttemptDirectPath(true)
         .build()
      
    3. Internally the default host endpoint https://storage.googleapis.com:443 will be transformed to the applicable google-c2p-experimental:///storage.googleapis.com
  3. Support for java.time types on model classes

    1. Points in time are now represented with java.time.OffsetDateTime, while durations are represented with java.time.Duration
    2. All existing Long centric methods are still present, but have been deprecated in favor of their corresponding java.time variant
    3. At the next major version, these deprecated methods will be replaced with types from java.time and the java.time variant methods will be deprecated
  4. com.google.cloud.storage.Storage now extends java.lang.AutoClosable thereby allowing it to be used in a try-with-resource block.

    1. When using gRPC transport be sure to call Storage#close() when complete so it can clean up the gRPC middleware and resources.
    2. When using HTTP transport calling Storage#close() will gracefully no-op, allowing for the same style of use regardless of transport.
  5. 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

  6. Update equals()/hashCode() methods to follow the expected contract

  7. The new gRPC transport based implementation continues to provide idempotency aware automatic retries the same as HTTP

  8. Expanded test suite which should bring improved stability and reliability to both HTTP and gRPC transport implementations

  9. 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

  1. All ACL specific operations.

    1. These will be implemented in the near future
    2. In the interim, reading and setting of ACLs and Default Object ACLs can be performed via Object/Bucket operations
  2. All Notification related operations

    1. These will be implemented in the near future
    2. In the interim, please continue to use the HTTP transport

... (truncated)

Commits
  • 69c842d chore(main): release 2.14.0 (#1728)
  • efddab2 test(deps): update dependency net.jqwik:jqwik to v1.7.0 (#1739)
  • 95d7ad9 feat: initial preview implementation of Storage over gRPC (#1740)
  • 9b2d446 chore: cleanup repo settings for branch feat/grpc-storage post merge
  • 7c0a8e5 Merge branch 'main' into feat/grpc-storage
  • 7ff0591 build: add com.google.cloud:google-cloud-storage-bom (#1731)
  • c3f8cb3 test(deps): update kms.version to v0.99.0 (#1735)
  • 04e5166 fix: properly implement GrpcBlobReadChannel#isOpen (#1733)
  • d247886 chore: [java] remove flatten plugin dependency check (#1663) (#1732)
  • d5e937f Merge branch 'main' into feat/grpc-storage
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [google-cloud-storage](https://github.com/googleapis/java-storage) from 2.13.1 to 2.14.0.
- [Release notes](https://github.com/googleapis/java-storage/releases)
- [Changelog](https://github.com/googleapis/java-storage/blob/main/CHANGELOG.md)
- [Commits](googleapis/java-storage@v2.13.1...v2.14.0)

---
updated-dependencies:
- dependency-name: com.google.cloud:google-cloud-storage
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Nov 7, 2022
@ismailsimsek ismailsimsek merged commit 221b680 into master Nov 7, 2022
@dependabot dependabot bot deleted the dependabot/maven/com.google.cloud-google-cloud-storage-2.14.0 branch November 7, 2022 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update Java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant