Skip to content

Releases: google/go-cloud

v0.22.0

06 Feb 04:25
2330ef4
Compare
Choose a tag to compare
  • 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).
  • docstore

    • all: Improved handling of byte arrays and non-pointer protocol buffers.
    • dynamodocstore: Added support for a consistent_read option to the URLOpener.

All commits:

v0.21.0

10 Dec 00:00
ab33edb
Compare
Choose a tag to compare
  • blob

    • all: added a ListPage function for listing blobs in pages.
    • all: added bucket.IsAccessible.
    • all: added CreateTime and ETag 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 via As in WriterOptions.
    • 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 AWS ReceiveMessage via a SubscriberOption.
    • 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

10 Jun 03:06
012388a
Compare
Choose a tag to compare
  • all

    • Dropped explicit support for go 1.11 and go 1.12 and added go 1.14.
    • Updated dependencies.
  • 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.
  • runtimevar

    • awsparamstore: Use WithDecryption=true to decrypt encrypted parameters.
  • 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

10 Feb 17:20
905a3db
Compare
Choose a tag to compare

No breaking changes.

  • all: Updated various dependencies.
  • blob: Enabled setting Content-Type for PUT requests.
  • blob: Added ReadFrom to blob.Writer and WriteTo to blob.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 implements http.Hijacker.

v0.18.0

13 Nov 00:05
70c91b9
Compare
Choose a tag to compare

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-in ctx.

v0.17.0

06 Sep 18:00
af96398
Compare
Choose a tag to compare

This release contains a couple of minor fixes, and changes to support go 1.13.

v0.16.0

09 Aug 21:34
7e65c47
Compare
Choose a tag to compare

Breaking changes:

  • Renamed secrets/vault to secrets/hashivault.
  • Renamed rdsmysql to awsmysql, rdspostgres to awspostgres, cloudmysql to gcpmysql, and cloudpostgres to gcppostgres.
  • Moved the health and requestlog packages under servers.
  • 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 of azurekeyvault://mykeyvaultname/mykeyname/mykeyversion.
    • runtimevar/gcpruntimeconfig: Constructor changed, and URLs are now gcpruntimeconfig://projects/myproject/configs/mycfg/variables/myvar instead of gcpruntimeconfig://myproject/mycfg/myvar.
    • postgres and mysql: Removed constructors in favor of URL openers entirely.

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 and DELETE for SignedURL.
  • 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

30 May 18:52
bea4ab0
Compare
Choose a tag to compare

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

30 May 00:34
7ab9ebe
Compare
Choose a tag to compare

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 return false, and Message.Nack will panic.
  • pubsub/azuresb: Removed Options.AckFuncForReceiveAndDelete in favor of Options.ReceiveAndDelete; if the latter is set to true, Message.Ack will be a no-op for Azure ServiceBus, Message.Nackable will return false, and Message.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 the stringkey scheme for URLs have been removed.

Highlights:

  • blob

    • Added support for a blob.Bucket that operates on a subfolder of a bucket (see blob.PrefixedBucket).
    • Added a ReaderOptions.BeforeRead hook for As.
    • gcsblob: Exposed more types via As.
  • pubsub

    • Added a Message.BeforeSend hook for As.
    • Added Message.Nackable to determine if the provider supports Nack.
    • 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.
  • secrets

    • localsecrets: See breaking changes above.
  • server

    • Logged traces are no longer empty.
  • sql

    • Added RDS MySQL URLOpener.

v0.13.0

24 Apr 16:40
Compare
Choose a tag to compare

Breaking Changes:

  • blob
    • Modified Bucket.Attributes to return *Attributes instead of Attributes.
    • gcsblob: Modified As for Reader to return *storage.Reader, not storage.Reader.
  • pubsub
    • awssnssqs: Modified OpenTopic and OpenSubscription constructors to take AWS ConfigProvider instead of the raw SNS/SQS connections.
    • awssnssqs: Changed the URL scheme from awssnssqs to awssns for Topics and awssqs for Subscriptions.
    • natspubsub: Renamed CreateTopic/CreateSubscription to OpenTopic/OpenSubscription for consistency.
  • secrets
    • Some provider constructors were renamed from NewKeeper to OpenKeeper for consistency.
  • runtimevar
    • Some provider constructors were renamed from NewVariable to OpenVariable for consistency.
    • Decode now takes a context.Context argument.
  • server
    • New now takes an http.Handler argument (rather than passing it later in ListenAndServe).
  • sql:
    • The GCP Cloud SQL/Postgres Open function now return an additional function used to close the returned *sql.DB.

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.
  • blob
    • Added a Copy method, for copying a blob within a Bucket.
    • azureblob: Fixed bug when using SASToken.
    • fileblob: Improved List performance when using Prefix.
    • s3blob: Fixed a bug where Attribute.MD5 would sometimes report an incorrect MD5 hash.
  • pubsub
    • A bunch of performance improvements in the portable type and in various providers.
    • Added support for Nack.
  • secrets
    • Added a Close function to Keeper.
  • sql
    • Added support for Azure Database for MySQL.
    • Added URLOpener support for GCP PostgreSQL and RDS PostgreSQL.