Releases: googleforgames/open-saves
v1.2.0
What's Changed
- feat: add database configuration for databaseID by @vasconcelosvcd in #479
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- chore: Log the errors returned by the async-collector by @Zurvarian in #476
- build(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 by @dependabot in #468
Full Changelog: v1.0.0...v1.1.0
v1.0.0
What's Changed
- feat: Add the ability to configure the Datastore TX max retries by @Zurvarian in #470
- fix: Rename datastore_tx_max_retries to datastore_tx_max_attempts by @Zurvarian in #472
- chore: Make signature check to return FailedPrecondition instead of Abort to avoid triggering Datastore TX retries by @Zurvarian in #474
Full Changelog: v0.5.0-beta0...v1.0.0
v0.5.0-beta0
What's Changed
- feat: Add support for more log config options by @Zurvarian in #463
- feat: adding optional TagFilterMode to the record query API that allows to filter by ALL or ANY of the tags (AND vs OR tag filter mode) by @SecretGibbon in #465
- feat: Bump up Golang version to 1.23 by @mbychkowski in #467
- build(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 by @dependabot in #461
- build(deps): bump github.com/redis/go-redis/v9 from 9.5.3 to 9.5.5 by @dependabot in #464
New Contributors
- @SecretGibbon made their first contribution in #465
- @mbychkowski made their first contribution in #467
Full Changelog: v0.4.0-beta0...v0.5.0-beta0
v0.4.0-beta0
Caveats
This is a pre-production beta release. We will not introduce breaking changes to the API between minor versions, however, compatibility between beta versions is not guaranteed (e.g. v0.2.0-beta1 and v0.2.0-beta2).
What's Changed
- feat: implement store caching by @vasconcelosvcd in #441
- feat: Bump Up datastore dep to v1.17.0 and Golang version to 1.21 by @Zurvarian in #446
- feat: Add support for Redis Cluster while keeping support for Redis Server by @Zurvarian in #448
- fix: Change Redis.go to support explicitely connecting to a Redis Cluster with a single address for GCP compatibility by @Zurvarian in #450
- feat: bump datastore by @vasconcelosvcd in #452
- feat: Add support to emit Metrics same as Traces via OTEL by @Zurvarian in #456
- build(deps): bump golang.org/x/net from 0.28.0 to 0.33.0 by @dependabot in #454
- feat: Add TTL support to OpenSaves by @Zurvarian in #458
New Contributors
- @Zurvarian made their first contribution in #446
Full Changelog: v0.3.0-beta0...v0.4.0-beta0
v0.3.0-beta0
Caveats
This is a pre-production beta release. We will not introduce breaking changes to the API between minor versions, however, compatibility between beta versions is not guaranteed (e.g. v0.2.0-beta1 and v0.2.0-beta2).
Changes
- feat: Iris Ho: adding cronjob option for collector by @loranger2k in #286
- feat: implement atomic operations by @yuryu in #300
- feat: Checksums - proto by @yuryu in #307
- feat: Checksums - add Checksums and Digest types by @yuryu in #306
- feat: support CRC32C and MD5 checksums by @yuryu in #309
- feat: Optimistic locking for records by @yuryu in #320
- feat: support redis pool config from file by @lorangf in #325
- feat!: migrate to go-redis as redis client by @hongalex in #334
- feat!: add default expiration (5m) for Redis by @yuryu in #335
- feat: add support for inequality filters by @hongalex in #338
- feat: add support for ordering in QueryRecords by @hongalex in #340
- feat: query limit support by @hongalex in #343
- feat: chunk count checking by @yuryu in #361
- feat: make max inline blob size configurable by @ano12ak in #375
- feat: support keys_only in QueryRecords by @yuryu in #369
- feat: add grpc health service by @hongalex in #382
- feat: bundle grpc_health_probe in image by @hongalex in #387
- feat: support graceful shutdown on sigint/sigterm by @hongalex in #385
- feat: enable opencensus tracing with cloud trace for datastore by @hongalex in #400
- feat: add new commit with upload method by @hongalex in #402
- feat: support query offset by @loranger2k in #409
- feat: get multi records by keys by @loranger2k in #410
- feat: use google.rpc.Status by @yuryu in #411
- feat: add configurations for keep alive on grpc server by @vasconcelosvcd in #416
- feat: add SignedUrls on every chunk in gcs by @vasconcelosvcd in #417
- fix: revert deletion of generated proto files by @loranger2k in #418
- feat: replace OpenCensus telemetry with OpenTelemetry by @Piotr-MPG in #423
- feat: tracing propagation and service name prioritize envvar by @vasconcelosvcd in #427
- feat: expose new redis config by @vasconcelosvcd in #429
Bug fixes
- fix: return chunk size and count with GetRecord by @yuryu in #312
- docs: add key terms and table of contents by @karenarialin in #308
- fix: wrong CRC32C checksums error message by @vasconcelosvcd in #317
- fix: remove defer statement closing listeners by @hongalex in #388
- fix: Server shutdown grace period by @loranger2k in #390
- fix: clean go proto in Makefile properly by @hongalex in #392
- fix: backward compatibility with numberofchunks by @zaratsian in #393
- fix!: remove indexing for timestamps by @hongalex in #399
- fix: remove extra writes when uploading chunked data by @loranger2k in #405
Full Changelog: v0.2.0-beta2...v0.3.0-beta0
v0.2.0-beta2
Caveats
This is a pre-production beta release. We will not introduce breaking changes to the API between minor versions, however, compatibility between beta versions is not guaranteed (e.g. v0.2.0-beta1 and v0.2.0-beta2).
Changes
This release is primarily a hot fix to address a crashing bug.
- feat: remove opaque string limit check
- refactor(pubsub): replace gob with msgpack
- fix: crash in CreateChunkedBlob with invalid param
- docs: Tweaking steps for garbage collection
v0.2.0-beta1
Caveats
This is a pre-production beta release. We will not introduce breaking changes to the API between minor versions, however, compatibility between beta versions is not guaranteed (e.g. v0.2.0-beta1 and v0.2.0-beta2).
New features
- Chunk blob support
- Opaque string support
- Lots of docs improvements
- Updated dependencies
For all changes, please check the v0.2.0-beta1 milestone on GitHub.
Docker images are available as
- gcr.io/triton-for-games-dev/open-saves-server:v0.2.0-beta1
- gcr.io/triton-for-games-dev/open-saves-collector:v0.2.0-beta1
v0.1.0-beta0
Caveats
This is a pre-production beta release. We will not introduce breaking changes to the API, however,
Breaking changes
- The Blob field in the Blob message was removed and replaced with the new streaming blob apis
- The default command line options for project and bucket names were removed
- Some fields were removed from the Datastore entities and the new version cannot read the old entities
- The primary git branch has been renamed from master to main
- The project has been renamed from Triton to Open Saves
New features
- Streaming blob support
- Log level is now configurable
- New deployment guide
- Garbage collector for blob entries
- Cloud Run support
- New sample client
For all changes, please check the beta0 milestone on GitHub.
v0.1.0-alpha2
Features
- feat(cache)!: add support for cache hints (#123
- feat(cache)!: use cachestore to cache request in server (#111)
- feat: Add streaming methods to BlobStore (#120)
- feat: Add a state machine to Blob (#101)
- feat(config): Env var config (#88) (#122)
Fixes
- fix: make create/update methods return new resource (#112)
- fix: keep old CreatedAt value in UpdateRecord
Known Issues
- There is no large blob or cache support yet.
- The HTTP REST endpoint is not implemented.
- GKE support is not available yet; deploying to Cloud Run is the only option at the time.