Go Cloud Versions Save

The Go Cloud Development Kit (Go CDK): A library and tools for open cloud development in Go.

v0.26.0

1 year ago

all

  • Updated to Go 1.19 (with compatibility for Go 1.18).

blob

  • all: Made blob.Reader implement io.ReadSeekCloser.
  • all: Added WriterOption.MaxConcurrency.
  • azureblob: Fixed a capture bug in As for List.

pubsub

  • gcppubsub: Exposed ReceivedMessage in As (for AckId)
  • rabbitpubsub: Switch to using github.com/rabbitmq/amqp091-go.

runtimevar

  • awsparamstore: Drop the DescribeParameters call, it's not needed.

sql

  • gcp/cloudsql: Enable IAM login.

v0.25.0

2 years ago

blob:

  • Added support for SingleKeyBucket via key URL parameter.
  • s3blob: Added support for using AWS SDK V2.
  • azblob: Allowed for providing client id in MSI authentication via AZURE_CLIENT_ID.
  • fileblob: Stopped overwriting URLOpener.Metadata if there's no URL param.
  • fileblob: Fixed pagination for dirs that end in characters smaller than the delimiter.

pubsub:

  • gcppubsub: Added retries on DeadlineExceeded for subscriptions.
  • awssnssqs: Added support for using AWS SDK V2.

runtimevar:

  • all: Added support for setting wait/timeout Option in URL params.
  • httpdvar: Added support for using basic authentication on the HTTP requests.

v0.24.0

2 years ago

all

  • Updated to use go 1.17 (tests still run with `go 1.16 as well).

blob

  • s3blob: Enable choosing an AWS session profile via the URLOpener.
  • s3blob: Don't set ContentType in the S3 input for signing if it is an empty string and EnforcedAbsentContentType is false.

pubsub

  • gcppubsub: Allow configuration of batch sizes.
  • gcppubsub: Consider publish request body size limitation when batching.
  • kafkapubsub: Enable configuration of initial offset in URLOpener.
  • mempubsub: Log if message sent to subscriber-less topic.

runtimevar

  • awsparamstore: Added support for using AWS SDK V2.
  • awssecretsmanager: Added support for using AWS SDK V2.

secrets

  • awskms: Added support for using AWS SDK V2.

docstore

  • gcpfirestore: Add support for Firestore emulator.

v0.23.0

3 years ago

blob:

  • azblob: Add support for CDN domains.
  • fileblob: Minor fixes and performance improvements; new option to skip writing sidecar/metadata files.
  • azblob: Fixed bug where Copy could fail with permission denied when using SAS tokens.

pubsub:

  • Added a Message.LoggableID field for logging.
  • Added an As hook for AfterSend.
  • rabbitpubsub: Made the default URL opener reconnect if needed.

docstore:

  • memdocstore: Fixed a bug in OrderBy when using Limit.

secrets:

  • hashivault: Added support for VAULT_ADDR and VAULT_TOKEN as aliases for existing environment variables.
  • azurekeyvault: Added support for private clouds.

server:

  • Logger is now passed the full Request (sans Body).

v0.22.0

3 years ago
  • 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

3 years ago
  • 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

3 years ago
  • 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

4 years ago

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

4 years ago

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

4 years ago

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