Releases: google/go-cloud
Releases · google/go-cloud
v0.22.0
-
blob
- azblob: Fixed a bug where a SAS token was not being used during Open.
-
pubsub
- gcppubsub: Tell gRPC to allow messages up to 10MB.
- azurepubsub: Fixed a bug when the number of messages returned is empty.
- azurepubsub: Now using a new
SendBatchDisposition
function to simplify sending of acks/nacks. - awssnssqs: Fixed
Message.As
when used with multiple concurrent workers. - kafka: Fixed to use default partitioning when no
KeyName
is set.
-
runtimevar
- Added a new driver for GCP Secret Manager.
-
mysql
- Fixed parsing of URL hostnames in the form of
protocol(addr)
.
- Fixed parsing of URL hostnames in the form of
-
docstore
- all: Improved handling of byte arrays and non-pointer protocol buffers.
- dynamodocstore: Added support for a
consistent_read
option to theURLOpener
.
All commits:
v0.21.0
-
blob
- all: added a ListPage function for listing blobs in pages.
- all: added
bucket.IsAccessible
. - all: added
CreateTime
andETag
to blob.Attributes. - all: added
BeforeSign
support to SignedURL. - azureblob: added support for local emulators via
http
. - azureblob: added support for setting the storage domain in URL opener.
- azureblob: added MSI based authentication for Azure buckets, including signing.
- s3blob: added access to
s3manager.Uploader
viaAs
inWriterOptions
. - fileblob: fixed List() when the bucket is rooted at /.
- fileblob: added an
Option
to create the base fileblob directory if it does not already exist. - fileblob: added support for various
As
functions.
-
runtimevar
- NEW DRIVER for AWS Secrets Manager!
- etcdvar: dropped support (hopefully temporarily, until they can fix their dependency issues).
- httpvar: fixed to respect context when watching values.
-
pubsub
- all: now allowing batch size to decay when there aren't any messages.
- awssnssqs: exposed the
WaitTime
parameter to AWSReceiveMessage
via aSubscriberOption
. - awssnssqs: requesting Attributes be returned in messages (accessible via
As
). - azurepubsub: fixed bugs in error handling from
ReceiveOne
.
-
docstore:
- mongodocstore: no longer include revision field projection twice.
-
secrets
- localsecrets: now using separate key decoders for URL and Std base64.
-
sql
- awsmysql: add parsing of DSN options from the URL.
v0.20.0
-
all
- Dropped explicit support for
go 1.11
andgo 1.12
and addedgo 1.14
. - Updated dependencies.
- Dropped explicit support for
-
blob
- all: Reduced allocations in bucket.Read() and bucket.Write().
- gcsblob: Set defaults for
SignURL
from any credentials file, and fall back to using IAM for signing. - s3blob: Fixed bug with
ListObject.As
returning the wrong object reference. - fileblob: Support relative paths in URL openers via a
.
Host.
-
pubsub
- all: * Improved support for writing external drivers by moving
batcher
out of internal. - gcppubsub: Dial emulator with insecure options by default.
- natspubsub: Added support for opening Queue subscriptions via
SubscriptionOptions
.
- all: * Improved support for writing external drivers by moving
-
runtimevar
- awsparamstore: Use
WithDecryption=true
to decrypt encrypted parameters.
- awsparamstore: Use
-
secrets
- azurekeyvault Added support for other Azure keyvault regions.
- ** awskms**: Support ARNs in URLs by using an empty Host.
-
sql
- gcpmysql: Parse Options in DSN.
-
server
- Added ListenAndServeTLS.
v0.19.0
No breaking changes.
- all: Updated various dependencies.
- blob: Enabled setting
Content-Type
forPUT
requests. - blob: Added
ReadFrom
toblob.Writer
andWriteTo
toblob.Reader
. - blob/gcsblob:
BeforeRead
now correctly returns false if the read is going to fail. - blob/gcsblob: Updated to use
STORAGE_EMULATOR_HOST
if present. - blob/gcsblob: Fixed object attributes via As when listing bucket contents.
- blob/azureblob: Added support for specifying Azure Cloud Environment.
- blob/fileblob: Now correctly returns
NotFound
when key addresses a directory. - docstore: Fixed batch Creates.
- server: Now using
ochttp
to create spans. - server:
ResponseStats
now implementshttp.Hijacker
.
v0.18.0
Breaking changes:
- None
Highlights:
- blob: Fixed n return value from blob.Writer when content sniffing is active.
- blob/azureblob: Added support for User Delegation Credentials.
- blob/fileblob: Now handles empty filepath better.
- pubsub: Fixed race when retrying across multiple batches.
- pubsub/awssnssqs: Dropped leading slash from ARNs in SNS URLs.
- pubsub/gcppubsub: Now supports pubsub emulator.
- runtimevar:
Latest
now correctly checks for good snapshot before selecting on passed-inctx
.
v0.17.0
v0.16.0
Breaking changes:
- Renamed
secrets/vault
tosecrets/hashivault
. - Renamed
rdsmysql
toawsmysql
,rdspostgres
toawspostgres
,cloudmysql
togcpmysql
, andcloudpostgres
togcppostgres
. - Moved the
health
andrequestlog
packages underservers
. - We made some breaking changes to be more consistent about how constructors and URLs deal with resource names, affecting:
- secrets/azurekeyvault: Constructor changed, and URLs are now
azurekeyvault://mykevaultname.vault.azure.net/keys/mykeyname/mykeyversion
instead ofazurekeyvault://mykeyvaultname/mykeyname/mykeyversion
. - runtimevar/gcpruntimeconfig: Constructor changed, and URLs are now
gcpruntimeconfig://projects/myproject/configs/mycfg/variables/myvar
instead ofgcpruntimeconfig://myproject/mycfg/myvar
. - postgres and mysql: Removed constructors in favor of URL openers entirely.
- secrets/azurekeyvault: Constructor changed, and URLs are now
Highlights:
- docstore: Initial version of docstore, a portable type for Document stores, with implementations for GCP Firestore, AWS DynamoDB, Azure CosmosDB (via MongoDB driver), MongoDB, and in-memory.
- blob: Improved error messages to always include the key.
- blob: Added supported for
PUT
andDELETE
forSignedURL
. - pubsub/azuresb: Fixed a bug where acks/nacks didn't work when partitioning was enabled.
- pubsub/kafkapubsub: Fixed a bug where messages stopped being received after a repartitioning.
- pubsub/awssnssqs: Fixed handling of raw, but JSON messages.
v0.15.0
This release doesn't have functional changes. It breaks up the main module gocloud.dev
to several sub-modules, which helps users have fewer dependencies when requiring only small parts of the Go CDK. The following packages have been split out to separate modules:
pubsub/kafkapubsub
pubsub/natspubsub
pubsub/rabbitpubsub
runtimevar/etcdvar
samples
secrets/vault
v0.14.0
Breaking changes:
- pubsub/nats: Removed the
ackFunc
constructor argument URL query parameter.Message.Ack
is now always a no-op for NATS,Message.Nackable
will returnfalse
, andMessage.Nack
will panic. - pubsub/azuresb: Removed
Options.AckFuncForReceiveAndDelete
in favor ofOptions.ReceiveAndDelete
; if the latter is set totrue
,Message.Ack
will be a no-op for Azure ServiceBus,Message.Nackable
will returnfalse
, andMessage.Nack
will panic. - secrets/localsecrets: Now more strict about the key material it is given; it must now always be exactly 32 bytes (previously it would crop as needed). The
ByteKey
helper and thestringkey
scheme for URLs have been removed.
Highlights:
-
blob
- Added support for a
blob.Bucket
that operates on a subfolder of a bucket (seeblob.PrefixedBucket
). - Added a
ReaderOptions.BeforeRead
hook forAs
. - gcsblob: Exposed more types via
As
.
- Added support for a
-
pubsub
- Added a
Message.BeforeSend
hook forAs
. - Added
Message.Nackable
to determine if the provider supportsNack
. - awssnssqs: Added a
pubsub.Topic
implementation that sends directly to an SQS queue. - kafkapubsub: Added new provider for Kafka.
- rabbitpubsub: Fixed high background CPU usage.
- Added a
-
secrets
- localsecrets: See breaking changes above.
-
server
- Logged traces are no longer empty.
-
sql
- Added RDS MySQL
URLOpener
.
- Added RDS MySQL
v0.13.0
Breaking Changes:
- blob
- Modified
Bucket.Attributes
to return*Attributes
instead ofAttributes
. - gcsblob: Modified
As
forReader
to return*storage.Reader
, notstorage.Reader
.
- Modified
- pubsub
- awssnssqs: Modified
OpenTopic
andOpenSubscription
constructors to take AWSConfigProvider
instead of the rawSNS/SQS
connections. - awssnssqs: Changed the URL scheme from
awssnssqs
toawssns
for Topics andawssqs
for Subscriptions. - natspubsub: Renamed
CreateTopic/CreateSubscription
toOpenTopic/OpenSubscription
for consistency.
- awssnssqs: Modified
- secrets
- Some provider constructors were renamed from
NewKeeper
toOpenKeeper
for consistency.
- Some provider constructors were renamed from
- runtimevar
- Some provider constructors were renamed from
NewVariable
toOpenVariable
for consistency. Decode
now takes acontext.Context
argument.
- Some provider constructors were renamed from
- server
New
now takes anhttp.Handler
argument (rather than passing it later inListenAndServe
).
- sql:
- The GCP Cloud SQL/Postgres
Open
function now return an additional function used to close the returned*sql.DB
.
- The GCP Cloud SQL/Postgres
Highlights:
- all: Added functions to
URLMux
to retrieve a slice of registered schemes (e.g.,blob.DefaultURLMux().BucketSchemes()
, and a separate function to see if a specific scheme has been registered (e.g.,blob.DefaultURLMux().ValidBucketScheme()
). - runtimevar
- Added a new
httpvar
provider.
- Added a new
- blob
- Added a
Copy
method, for copying a blob within aBucket
. - azureblob: Fixed bug when using
SASToken
. - fileblob: Improved
List
performance when usingPrefix
. - s3blob: Fixed a bug where
Attribute.MD5
would sometimes report an incorrect MD5 hash.
- Added a
- pubsub
- A bunch of performance improvements in the portable type and in various providers.
- Added support for
Nack
.
- secrets
- Added a
Close
function toKeeper
.
- Added a
- sql
- Added support for Azure Database for MySQL.
- Added URLOpener support for GCP PostgreSQL and RDS PostgreSQL.