Skip to content

Releases: googleforgames/open-saves

v1.2.0

26 Jun 18:56
9a40f01

Choose a tag to compare

What's Changed

Full Changelog: v1.1.0...v1.2.0

v1.1.0

10 Jun 13:59

Choose a tag to compare

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

09 Jun 15:26
3f37cdb

Choose a tag to compare

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

28 Mar 15:05

Choose a tag to compare

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

Full Changelog: v0.4.0-beta0...v0.5.0-beta0

v0.4.0-beta0

13 Mar 16:14
ae8df3b

Choose a tag to compare

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

Full Changelog: v0.3.0-beta0...v0.4.0-beta0

v0.3.0-beta0

23 Jan 00:26
536314a

Choose a tag to compare

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

24 Aug 21:51
908e78c

Choose a tag to compare

v0.2.0-beta2 Pre-release
Pre-release

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

21 Jul 22:44
3ad77e3

Choose a tag to compare

v0.2.0-beta1 Pre-release
Pre-release

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

06 Mar 00:22
52e7d16

Choose a tag to compare

v0.1.0-beta0 Pre-release
Pre-release

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

21 Oct 23:32
be6ec74

Choose a tag to compare

v0.1.0-alpha2 Pre-release
Pre-release

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.