Skip to content

v2.0.0

Compare
Choose a tag to compare
@novabyte novabyte released this 14 May 10:45
· 1295 commits to master since this release

Notable changes

This release brings a large number of changes and new features to the server. For more news about this release see the announcement.

Added

  • Authenticate functions can now be called from the code runtime.
  • Use opencensus for server metrics. Add drivers for Prometheus and Google Cloud Stackdriver.
  • New API for users to subscribe to status update events from other users online.
  • New API for user wallets to store and manage virtual currencies.
  • Realtime multiplayer supports authoritative matches with a handler and game loop on the server.
  • Matches can be listed on the server for "room-based" matchmaker logic.
  • "run_once" function to execute logic at startup with the code runtime.
  • Variables can be passed into the server for environment configuration.
  • Low level streams API for advanced distributed use cases.
  • New API for export and delete of users for GDPR compliance.

Changed

  • Split the server protocol into request/response with GRPC or HTTP1.1+JSON (REST) and WebSockets or rUDP.
  • The command line flags of the server have changed to be clearer and more explicit.
  • Authenticate functions can now take username as an input at account create time.
  • Use TIMESTAMPTZ for datetimes in the database.
  • Use JSONB for objects stored in the database.
  • Before/after hooks changed to distinguish between req/resp and socket messages.
  • Startup messages are more concise.
  • Log messages have been updated to be more useful in development.
  • Stdlib for the code runtime uses "snake_case" consistently across variables and function names.
  • The base image for our Docker images now uses Alpine Linux.

Fixed

  • Build dependencies are now vendored and build system is simplified.
  • Database requests for transaction retries are handled automatically.

Removed

  • The storage engine no longer needs a "bucket" field as a namespace. It was redundant.
  • Leaderboard haystack queries did not perform well and need a redesign.
  • IAP validation removed until it can be integrated with the virtual wallet system.

This release is not a simple upgrade from v1.0 so reach out to us for help to upgrade.