Skip to content

Releases: google/go-cloud

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.

v0.12.0

20 Mar 16:51
Compare
Choose a tag to compare

Breaking Changes:

  • runtimevar: Renamed paramstore->awsparamstore and runtimeconfigurator->gcpruntimeconfig for consistency with other driver packages names.
  • pubsub: Renamed awspubsub->awssnssqs and azurepubsub->azuresb for consistency with other driver package names.
  • secrets/gcpkms: Updated constructor to use a string as the key resourceID instead of a struct.

Highlights:

  • runtimevar, pubsub, secrets, mysql, postgres: Added support for opening via URL. See here for more info.
  • runtimevar
    • Added a Latest function for retrieving the latest value of the watched variable
    • Now implements health.Checker.
    • Added a DecryptDecode that uses secrets.Keeper to decrypt watched variables.
  • blob
    • Added a Bucket.Close function.
    • s3blob: Changed to respect the aws login defaults from the environment when opening via URL.
    • s3blob: Added an option for using S3's V1 ListObjects (useful for S3-compatible services that don't yet support V2).
  • pubsub
    • Added a NATS driver.
  • secrets
    • Added a driver for Azure KeyVault.

v0.11.0

28 Feb 17:42
31355ab
Compare
Choose a tag to compare

blob/fileblob: Added support for SignedURL.
pubsub/awspubsub: Improved performance through batching.
blob: Added a top-level Exists function to check if a blob exists.
blob/s3blob: Restored URL parameters for various aws.Config fields.

v0.10.0

12 Feb 23:47
c18b5cb
Compare
Choose a tag to compare
  • all: Added OpenCensus tracing and metrics across all portable APIs.
  • all: Reworked how opening blob.Bucket via URLs works.
  • all: Modified drivers to escape strings appropriately so that GCDK supports UTF-8 strings consistently.
  • all: Updated to use a common error type with an error code.
  • pubsub: Added implementations for AWS and Azure.
  • pubsub: Changed to dynamically choose the batch size for ReceiveBatch (improved performance).
  • secrets: Added a Vault implementation.
  • docs Renamed "Go Cloud" to "Go Cloud Development Kit" or "Go CDK".

v0.9.0

15 Jan 22:17
dc9e05e
Compare
Choose a tag to compare

pubsub: Added a new portable API for publish/subscribe, with implementations for Google Cloud PubSub, RabbitMQ, and in-memory; more coming soon.
secrets: Added a new portable API for encryption/decryption, with implementations for Google KMS, AWS KMS, and local/in-memory.
blob: Added Azure (azureblob)and in-memory provider (memblob) implementations.
blob: Added MD5 hash to return values for List and Attributes.
blob: Improved support for 0-length writes.
blob: Added support for additional headers like Content-Encoding and Content-Disposition.

v0.8.0

13 Dec 23:49
3c405e2
Compare
Choose a tag to compare

Changed import path from github.com/google/go-cloud to gocloud.dev. No other code changes from v0.7.0.

v0.7.0

13 Dec 22:53
e981f05
Compare
Choose a tag to compare

wire: moved from github.com/google/go-cloud/wire to github.com/google/wire. See announcement for details.
postgres: returned *sql.DB types now create OpenCensus spans
server/sdserver: NewExporter now returns a cleanup function