Releases: google/go-cloud
Releases · google/go-cloud
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.
v0.12.0
Breaking Changes:
- runtimevar: Renamed
paramstore
->awsparamstore
andruntimeconfigurator
->gcpruntimeconfig
for consistency with other driver packages names. - pubsub: Renamed
awspubsub
->awssnssqs
andazurepubsub
->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 usessecrets.Keeper
to decrypt watched variables.
- Added a
- 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).
- Added a
- pubsub
- Added a NATS driver.
- secrets
- Added a driver for Azure KeyVault.
v0.11.0
v0.10.0
- 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".