- support for hierarchical namespace (folders) (#25967)
- Respect custom endpoint for signed_url (#25469)
- Add support for soft deletion (#25340)
- Set configured univer_domain and endpoint when initializing through Service (#25665)
- Support of Managed Folders (#24809)
- Raise an error on mismatching universe domain (#24486)
- Support for universe_domain (#24449)
- support for object lock / retention (#23732)
- support match_glob for Object.list
- added autoclass v2.1 features (#23483)
- support autoclass
- Add retry conformance test (#18230)
- send invocation_id header in all requests (#19161)
- add retry support for non-idempotent operations (#19134)
- Update all patch bucket helper methods to accept preconditions (#19117)
- add support for conditional idempotent operations (#18834)
- Add support for dual region gcs buckets (#18862)
- support OLM Prefix/Suffix (#18190)
- allow retry options to be configurable on client initialization (#18332)
- update object path parsing to handle hashes in them
- Document support for dual region buckets
- Update the RPO sample output. (#17277)
- add support for RPO (turbo replication). (#14407)
- changed PAP unspecified to inherited
- support for more client timeout options
- Update dependency on the addressable gem to 2.8 to remediate a vulnerability
- Update AUTHENTICATION.md in handwritten packages
- Add support for automatic crc32c and md5 upload verification
- Add checksum to Bucket#create_file
- Add support for PublicAccessPrevention
- Add Bucket#public_access_prevention
- Add Bucket#public_access_prevention=
- Add Bucket#public_access_prevention_enforced?
- Add Bucket#public_access_prevention_unspecified?
- Add samples for PublicAccessPrevention
- Add sources_if_generation_match to Bucket#compose
- Add support for (meta)generation preconditions to File operations
- Add if_(meta)generation_match options to Bucket#compose
- Add if_(meta)generation_(not_)match options to Bucket#create_file
- Add if_(meta)generation_(not_)match options to Bucket#file
- Add if_(meta)generation_(not_)match options to File#delete.
- Add if_(meta)generation_(not_)match options to File#rewrite
- Add generation and if_(meta)generation_(not_)match options to File#update
- Add generation and if_(meta)generation_(not_)match options to File::Acl predefined_acl methods
- Expand googleauth dependency to support future 1.x versions
- Update File::Verifier to test for File#to_path
- Update IAMCredentialsService#sign_service_account_blob examples
- Drop support for Ruby 2.4 and add support for Ruby 3.0
- Replace google-api-client with specific client gems
- Remove google-api-client
- Add google-apis-iamcredentials_v1
- Add google-apis-storage_v1
- Update Bucket#generate_signed_post_policy_v4 documentation
- Fix support for #generate_signed_post_policy_v4 conditions
- Fix encoding of space characters in file names in signed_url v4
- Update Bucket#default_kms_key= docs
- Demonstrate deleting the Cloud KMS encryption key
- Update customer-supplied encryption key docs and examples (#7851)
- quota_project can be set via library configuration (#7656)
- Fix encoding of space characters in #signed_url version: :v4
- Fix encoding of space characters to use percent encoding (%20) instead of plus sign (+).
- Add custom time to file metadata sample
- Add Object Lifecycle Management fields
- Add custom_time_before to Lifecycle::Rule
- Add days_since_custom_time to Lifecycle::Rule
- Add days_since_noncurrent_time to Lifecycle::Rule
- Add noncurrent_time_before to Lifecycle::Rule
- Add File#custom_time and #custom_time=
- Add support for signing URLs with IAMCredentials SignBlob API
- Add signer parameter accepting Procs to the following methods:
- Project#signed_url
- Bucket#generate_signed_post_policy_v4
- Bucket#post_object
- Bucket#signed_url
- File#signed_url
- Update signer aliases signing_key and private_key to similarly support Procs
- Add signer parameter accepting Procs to the following methods:
- Update documentation of SignedUrlUnavailable
- Fix a few broken links
- Add missing bucket condition in SignerV4#post_object
- Ensure bucket is not returned in PostObject fields
- Update V4 Signature support in Project#signed_url, Bucket#signed_url and File#signed_url
- Add scheme, virtual_hosted_style and bucket_bound_hostname to #signed_url methods
- Add support for V4 query param encoding and ordering
- Convert tabs in V4 to single whitespace character
- Set payload in V4 to X-Goog-Content-SHA256 if present
- Fix method param default value GET for #signed_url
- Add support for V4 Signature POST Policies
- Add Bucket#generate_signed_post_policy_v4
- Address keyword argument warnings in Ruby 2.7 and later
- Add ARCHIVE storage class
- Add IAM Conditions support to Policy
- Add force_copy_metadata to File#copy and #rewrite
- Update #post_object to support special variable
${filename}
- Add support for Bucket#uniform_bucket_level_access
- Deprecate Bucket#policy_only=, #policy_only?, and #policy_only_locked_at, which are now aliases for the uniform_bucket_level_access methods.
- Now requires Ruby 2.4 or later.
- This release uses the updated default endpoint for Cloud Storage.
- update storage class examples in docs and tests
- Replace MULTI_REGIONAL and REGIONAL with STANDARD and NEARLINE.
- Support overriding of service endpoint
- Update documentation
- Fix Bucket Policy Only service bug temporarily
- Set UniformBucketLevelAccess to same value as BucketPolicyOnly
- Add HmacKey
- Add Project#create_hmac_key, Project#hmac_key, and Project#hmac_keys.
- Update documentation listings of current and legacy storage classes.
- Fix File#download to use generation from current File object.
- Add Bucket#location_type
- Remove :multi_regional and :regional from storage_class docs
- Declare explicit dependency on mime-types
- Update Storage Bucket Policy Only documentation.
- Add support for V4 signed URLs.
- Add version param to #signed_url.
- Fix file path encoding for V2 signed URLs.
- Change CGI encoding to URI (percent) encoding to fix URLs containing spaces in file path.
- Fix documentation typo.
- Add support for Bucket Policy Only with
Bucket#policy_only?
,Bucket#policy_only=
andBucket#policy_only_locked_at
. Read more at https://cloud.google.com/storage/docs/bucket-policy-only
- Make use of Credentials#project_id
- Use Credentials#project_id If a project_id is not provided, use the value on the Credentials object. This value was added in googleauth 0.7.0.
- Loosen googleauth dependency Allow for new releases up to 0.10. The googleauth devs have committed to maintaining the current API and will not make backwards compatible changes before 0.10.
- Add Bucket retention policy
- Add retention_policy fields and default_event_based_hold to Bucket.
- Add retention_policy and hold fields to File.
- Add Bucket#lock_retention_policy!
- Add Bucket#metageneration.
- Add Bucket#retention_policy_locked?
- Add File#(set|release)_temporary_hold!
- Add File#(set|release)_event_based_hold!
- Update documentation.
- Change documentation URL to googleapis GitHub org.
- Fix circular require warning.
- Add missing documentation files to package.
- Add Object Lifecycle Management:
- Add Bucket#lifecycle.
- Add Bucket::Lifecycle and Bucket::Lifecycle::Rule.
- Update documentation.
- Update documentation.
- Update Policy, protect from role duplication.
- Updated dependencies.
- Support Cloud KMS keys / Customer-managed encryption keys (CMEK).
- Support partial Storage::File downloads. (georgeclaghorn)
- Add File#rewrite.
- Similar to File#copy, except for being able to specify both source and destination encryption keys.
- Refactor both File#copy and File#rotate to call File#rewrite.
- Update documentation for File-like IO parameters. The underlying libraries call #size on the argument, which is not present on IO, but is present on File and StringIO.
- Support Shared Configuration.
- Fix verification for gzipped files.
- Add skip_decompress to File#download
- Update documentation and examples for gzip-encoded files.
- Fix issue with IAM Policy not refreshing properly.
- Update Google API Client dependency.
- Update authentication documentation
- Add
Google::Cloud::Storage.anonymous
to support public data access.
- Add
Google::Cloud::Storage::Credentials
class. - Rename constructor arguments to
project_id
andcredentials
. (The previous argumentsproject
andkeyfile
are still supported.) - Document
Google::Auth::Credentials
ascredentials
value. - Updated
google-api-client
,googleauth
dependencies.
- Fix bug in Bucket#create_file, Bucket#compose, File#copy and File#rotate in which user_project was not set on returned File object.
- Fix bug in Bucket::Acl#add_reader and Bucket::Acl#add_owner in which user_project was not passed in the API request.
- Add
Bucket#compose
. - Update documentation.
- Add
user_project
option toProject#buckets
andProject#create_bucket
. - Upgrade to Google API Client 0.14.2.
- Update documentation.
- Add Pub/Sub notification subscriptions.
- Update
#signed_url
to support symbols (dimroc).
- Add
skip_lookup
option for retrievingBucket
andFile
objects without accessing the Storage API- Add
Bucket#exists?
method - Add
File#exists?
method
- Add
- Add
File#generations
method- Add
generation
argument toFile#delete
- Add
generation
argument toFile#reload!
- Add
- Add
Bucket#storage_class=
method - Fix for when the
user_project
value set on aBucket
was not being properly set on allFile
objects returned byBucket
. - Fix to use
user_project
value when reloading aBucket
.
- Add
query
parameter to#signed_url
methods (georgeclaghorn).
- Add Requester Pays support.
- Upgrade dependency on Google API Client.
- Add Bucket#labels.
- Update gem spec homepage links.
- Remove memoization of Policy.
- Deprecate force parameter in Bucket#policy. (Will be removed in a future version.)
- Deprecate Policy#deep_dup. (Will be removed in a future version.)
- Add Bucket IAM support
- Release 1.0
- Improvements to File copy for large files
- Allow file attributes to be changed during copy
- Upgrade dependency on Google API Client
- Allow upload and download of in-memory IO objects
- Added signed_url at top-level object, without creating a bucket or file object
- Updated documentation
- Dependency on Google API Client has been updated to 0.10.x.
- Allow setting a File's storage_class on file creation
- Allow updating an existing File's storage_class
- Add File#rotate to rotate encryption keys
- Add PostObject and Bucket#post_object for uploading via HTML forms
- Support Google extension headers on signed URLs (calavera)
- Remove
encryption_key_sha256
method parameter, hash will be calculated usingencryption_key
- Many documentation improvements
- New service constructor Google::Cloud::Storage.new
- Bucket#signed_url added to create URLs without a File object
- Fix issue with signed_url and file names with spaces (gsbucks)
- Fix for timeout on uploads.
This gem contains the Google Cloud Storage service implementation for the google-cloud
gem. The google-cloud
gem replaces the old gcloud
gem. Legacy code can continue to use the gcloud
gem.
- Namespace is now
Google::Cloud
- The
google-cloud
gem is now an umbrella package for individual gems