All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
public
option on storage, which enabled thepublicRead
default ACL, as an easier way to create public objects
- Signed URLs were wrongly generated when
expires
was not provided - Fixed special character encoding in URLs (thanks @camiloforero)
- Encode filenames in URIs (#47 by @vanboom)
- Minimum Ruby version is 2.6
- Multi Factor authentication is now required when publishing on Rubygems
- Allow an ACL to be specicied for an object (#45 by @ianks)
- Ruby 3.0 keyword arguments fixes (#46 by @sho918)
- Allow credentials to be manually specified when creating the Storage (#35 by @ianks)
- Updated for Shrine 3.0. This is a breaking change. (#37 by @janko)
- When copying a file from an existing GCS object, the content type was not properly copied. This is a bug in the
google-cloud-storage
gem, a workaround has been added so it now works currently (issue #36)
clear!
now accepts a block for conditional deletion. If a block is provided, it will only delete the files for which the block evaluates totrue
(#31 by @hwo411)
presign
has been updated to use the new Shrine 2.11 API. This is a breaking change if you usepresign
, and bumps theshrine
dependency to>= 2.11
(#25 by @janko)- This gem now uses
Shrine.with_file
, introduced in Shrine 2.11 (#29 by @janko)
clear!
was potentially not deleting every file (#26 by @janko)
- Moved tests to HTTP.rb (#23 by @janko-m)
presign
now correctly returns the headers needed for thePUT
request (#23 by @janko-m)
- You can specify a project when creating a storage (#16 by @rosskevin)
- Authentication is now delegated to
google-cloud-ruby
, which enables credentials discovery #url
now supports presigning (url(expires: …)
), matching the S3 storage (#16 by @rosskevin)
- switched to
google-cloud-storage
gem (#16 by @rosskevin) - added a
test/create_test_environment.sh
script to setup a test environment automatically (#16 by @rosskevin) - use
skip_lookup: true
when instanciating a bucket object to avoid an API call. This reduces the number of API calls for most operations, making them faster. It also allows operating on buckets with a restricted Service Account that does not have access tostorage.buckets.get
but can access the files. (#21)
- removed support for
multi_delete
, as this feature has been deprecated in Shrine
- moved batching to
batch_delete
, so it is used formulti_delete
(#11 by @janko-m) - updated
google-api-client
to 0.13
- First released version
- Base functionality (create objects, delete, copy, ...)
- Support for presigned URLs
- Support for default ACLs
- Support for setting custom headers