Skip to content

Releases: googleforgames/agones

v1.35.0

28 Sep 17:44
98bd2c5
Compare
Choose a tag to compare

This is the 1.35.0 release of Agones.

In this release, we've improved our internal development toolchain, refined the memory usage of GameServer sub-controllers, and updated essential components including grpc-gateway and Hugo.

  • Memory Usage Improvement: Increased the number of workers for sub-controllers of the GameServer controller to match other controllers, leading to a much more stable memory footprint for the controller as events don’t get backed up in the worker queues.

  • SDK Server Enhancements: The SDK server now has less verbose logging on Watch disconnections.

  • Component Updates: Hugo has been upgraded to version 0.118.2 and grpc-gateway has been upgraded to v2.17.1. Additionally, the joonix/log has been modified to utilize the new joonix.NewFormatter().

What's Changed

Implemented enhancements

  • Cloud build script for simple-game-server by @Kalaiselvi84 in #3314
  • feat: discard disconnected game server streams by @antiphp in #3328
  • Rust SDK on crates.io by @Kalaiselvi84 in #3332
  • restapi generation: clean before generation so we don't leak files by @zmerlynn in #3353
  • Implements GetCounter and UpdateCounter on the SDK Server by @igooch in #3322
  • Adds Go SDK client Counter functions by @igooch in #3372
  • Update Go simple-game-server to have commands for Counter SDK methods by @igooch in #3378
  • Adds GameServer e2e tests for Counters by @igooch in #3381
  • Updates Fleet and GameServerSet CRDs by @igooch in #3396
  • Add conformance test implementation for C# SDK by @yoshd in #3392
  • Adds fleet e2e test for Counter by @igooch in #3399

Fixed bugs

Other

New Contributors

Full Changelog: v1.34.0...v1.35.0

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.34.0

16 Aug 00:16
f4725e5
Compare
Choose a tag to compare

This is the 1.34.0 release of Agones.

In this release, we've upgraded Kubernetes compatibility, graduated StateAllocationFilter to stable, and enhanced GameServers and GameServerAllocation address support.

  • Kubernetes Support: The latest update extends support to Kubernetes versions 1.25, 1.26, and 1.27, enhancing compatibility with current Kubernetes deployments.

  • Allocation State Filter is now Stable: The allocation state filter feature has been promoted to stable. It determines the specific state that should be filtered when trying to obtain a GameServer through allocation. By default, this filter is set to Ready, but it can also be set to Allocated. When the Allocated option is selected, it can be combined with label or player selectors to access an already Allocated GameServer.

  • Custom Fleet Autoscaler Synchronization Interval is now Stable: The ability to specify the interval in which the Fleet autoscaler syncs its state and updates its backing Fleet has now also been moved to Stable.

  • GameServer Address Improvements: GamesServers and GameServerAllocation results now also return the full set of Address records that are attached to the node they came from. This can be useful for dual stack IPv4 and IPv6 nodes, nodes with hostnames and more.

  • Migrating to Distroless Image: We have migrated from Alpine as the base container image for Agones to Distroless making managing consistent updates to the base image easier for the Agones team.

What's Changed

Breaking changes

  • refactor: Throwing error messages with field. by @aimuz in #3239
  • refactor: apihook ValidateGameServerSpec and ValidateScheduling use field.ErrorList by @aimuz in #3255
  • Update Supported Kubernetes to 1.25, 1.26, 1.27 by @Kalaiselvi84 in #3261
  • refactor(allocation): Reimplement the Validate method using "field.ErrorList" by @aimuz in #3259
  • refactor: FleetAutoscaler Validate use field.ErrorList by @aimuz in #3272

Implemented enhancements

Fixed bugs

  • fix: Enabling SplitControllerAndExtensions leads to incomplete metrics availability by @aimuz in #3242
  • Race Flake in TestControllerSyncFleetAutoscaler() by @markmandel in #3260
  • Use maintenance exclusion to prevent auto-upgrade, add 1.27 test clusters by @gongmax in #3253
  • SDK WatchGameServer logs error on shutdown by @Kalaiselvi84 in #3271
  • APIService: Updates to handlers for 1.27.x by @markmandel in #3297
  • [Helm Chart] Only enable service monitor relabelings for prometheus scrape when prometheusServiceDiscovery is enabled by @ufou in #3285
  • Flaky: TestAllocatorAllocateOnGameServerUpdateError by @markmandel in #3300
  • Run make gen-all-sdk-grpc by @zmerlynn in #3301
  • Fix for scaling split allocated GameServerSets by @markmandel in #3292
  • Flaky: TestAllocatorAllocateOnGameServerUpdateError by @markmandel in #3306
  • Bugs and Improvements for CPP SDK and Example by @markmandel in #3318

Other

New Contributors

Full Changelog: v1.33.0...v1.34.0

Images available with this release:

Read more

v1.33.0

05 Jul 21:21
4876ea5
Compare
Choose a tag to compare

This is the 1.33.0 release of Agones.

In this release, we have focused on improving the documentation, stabilized the SDKGracefulTermination feature and also are now returning GameServer annotations and labels on allocation response.

  • The SDKGracefulTermination feature has been promoted to stable. The SDK server will now remain active for the specified terminationGracePeriodSeconds until SDK.Shutdown() has been called to ensure that game servers can successfully run to completion during automatic node upgrades without downtime.

  • The helm documentation has been restructured into multiple sections making it much easier to understand the configuration options and customize the Agones installation.

  • GameServerAllocation now has a metadata field returned with the metadata of the allocated GameServer. This can be useful for returning information about the GameServer, Fleet or even the cluster to the allocating process.

Check the README for details on features, installation and usage.

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: v1.32.0...v1.33.0

Images available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.32.0

24 May 00:37
aca0178
Compare
Choose a tag to compare

This is the 1.32.0 release of Agones.

This upgrade ensures that your game servers are equipped with the latest tools and improvements, enhancing their overall performance and stability:

  • Upgrade to Go version 1.20.
  • The ResetMetricsOnDelete feature is now beta and enabled by default. Now when a Fleet or FleetAutoscaler is deleted from the system, Agones will automatically clear metrics that utilize their name as a label from the exported metrics, so the metrics exported do not continuously grow in size over the lifecycle of the Agones installation.
  • The PodHostname feature that allows you to access a GameServer Pod within a cluster by a DNS name is now beta and enabled by default.
  • The SplitControllerAndExtensions feature which splits the Agones controller into multiple binaries for better reliability is now beta and enabled by default.
  • The SafeToEvict feature has been promoted to stable.

We encourage you to take advantage of these promoted features to enhance the stability, performance, and functionality of your game servers.

Check the README for details on features, installation and usage.

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

See CHANGELOG for more details on changes.

Images available with this release:

Read more

v1.31.0

12 Apr 02:51
1863878
Compare
Choose a tag to compare

This is the 1.31.0 release of Agones.

In this release we see fixes that ensure that GameServers won't move to Unhealthy while they are still downloading their images, Kubernetes versions 1.24, 1.25 and 1.26 are now supported, as well as a bunch of other smaller bug fixes and project improvements.

Breaking changes

  • Update Supported Kubernetes to 1.24 1.25 1.26 by @gongmax in #3029

Implemented enhancements

Fixed bugs

  • Ensure the state bucket exists before creating e2e test clusters by @gongmax in #3014
  • Add Sigterm handler and readiness probe to extensions by @chiayi in #3011
  • Use actually distinct webhook for Autopilot by @zmerlynn in #3035
  • Changes to resolve error in creating gcloud-e2e-test-cluster by @igooch in #3040
  • Replaces functionality and types to make plugin cross-compilable between UE4 and UE5 by @DevChagrins in #3060
  • Rework game server health initial delay handling by @zmerlynn in #3046
  • Fix simple-game-server to use context substitute for the infinite loop by @oniku-2929 in #3050
  • Added -buildvcs=false in build/Makefile by @Kalaiselvi84 in #3069
  • Rework game server health initial delay handling by @zmerlynn in #3072

Other

New Contributors

Full Changelog: v1.30.0...v1.31.0

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.30.0

02 Mar 01:45
7f3fe1a
Compare
Choose a tag to compare

This is the 1.30.0 release of Agones.

This release brings us support for multiple Kubernetes versions (no more being tied to a single version!), support for GKE Autopilot, and a large collection of bug fixes and general improvements. This is also the first release following our new release process whereby we do not publish a release candidate prior to the release.

Check the README for details on features, installation and usage.

Breaking changes:

Implemented enhancements:

  • TypeScript types for Node SDK #2937
  • Graduate SafeToEvict to Beta #2931
  • Upgrade windows node image on GKE #2582
  • Player Tracking for each GameServer #1033
  • Add extensions status dash and dash name change #3000 (chiayi)
  • Add variable to go-client request dashboard #2998 (chiayi)
  • Add more time and logging to extensions test #2996 (chiayi)
  • Add Extensions Resource Dashboard #2993 (chiayi)
  • Add integration guide for Google Cloud Managed Service for Prometheus #2990 (zmerlynn)
  • Added back metrics support for extensions #2988 (chiayi)
  • Adds default values for Counters and Lists fields #2983 (igooch)
  • Kubernetes Update template, Release template, and site content change for multiple k8s version support #2980 (gongmax)
  • CRDs for AllocationOverflow #2979 (markmandel)
  • More "packed" behavior when reducing GameServerSet replicas. #2974 (castaneai)
  • Create e2e test clusters in different regions to mitigate quota limit issue #2969 (gongmax)
  • Run e2e tests on multiple clusters with different versions #2968 (gongmax)
  • Pre-Alpha Feature Gate: FleetAllocationOverflow #2967 (markmandel)
  • Updates counters lists schema status CRDs for gameservers fleets #2965 (igooch)
  • Create e2e test clusters with multiple k8s versions #2962 (gongmax)
  • Add e2e test for Extensions #2947 (chiayi)
  • Arbitrary Counts and Lists Feature/CRD #2946 (igooch)
  • Add types for nodejs sdk #2940 (vasily-polonsky)
  • Use GCS as the Terraform state backend #2938 (gongmax)
  • Disable consul locking if consul is not present #2934 (zmerlynn)
  • Allocation Endpoint: Fix Makefile to correctly call docker build #2933 (abmarcum)
  • Added GKE Workload Identity flag to GKE Terraform modules #2928 (abmarcum)
  • Add doc for "Controlling Disruption", document SafeToEvict #2924 (zmerlynn)
  • Enable SplitControllerAndExtensions for e2e testing and changed value… #2923 (chiayi)
  • Allow 30m more to acquire consul lock #2922 (zmerlynn)
  • Add GKE Autopilot to e2e #2913 (zmerlynn)
  • GKE Autopilot: Add terraform module, users #2912 (zmerlynn)
  • e2e: Use gotestsum for CI e2e runs, change e2e ARGS handling #2904 (zmerlynn)
  • Wait on free ports on GKE Autopilot #2901 (zmerlynn)
  • controller/extensions: Add explicit requests/limits for ephemeral storage #2900 (zmerlynn)
  • Validate the .scheduling field in the fleet and gameserverset #2892 (zmerlynn)
  • Trim down agones-extensions and add flag to agones-controller #2891 (chiayi)

See CHANGELOG for more details on changes.

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.29.0

26 Jan 18:38
f5ea106
Compare
Choose a tag to compare

This is the 1.29.0 release of Agones.

We are bringing a huge release to start 2023!

  • Update Agones to support for Kubernetes 1.24.0
  • SDKGracefulTermination feature has now graduated to beta. So by default, the sidecar container will not shutdown immeadiately on TERM signal, but instead wait for Shutdown state to occur.
  • A new PodHostname feature is now available, if you need to able to access a GameServer Pod within a cluster by a DNS name.
  • Agones release images have all been moved to Google Artifact Registry
  • Updated dependencies for security fixes
    While we expect no issues, we also updated the gRPC libraries that Agones uses, so please make sure to test upgrades before deploying to production.

Check the README for details on features, installation and usage.

Breaking changes:

  • Update Kubernetes to 1.24 #2867
  • Migrate from github.com/golang/protobuf to google.golang.org/protobuf #2786 (govargo)

Implemented enhancements:

  • Graduate SDKGracefulTermination to beta #2831
  • Set the hostName of the Pod to the name of the GameServer #2704
  • Update from golang/protobuf to google.golang.org/protobuf #2462
  • Release Automation: Add cloud build target for release builds #2460
  • Release Automation: Generate version of website to push #2457
  • Consider moving agones system images from gcr.io to GCP's artifact registry #2358
  • CI builds should publish a multi-arch manifest for the agones-sdk image #2280
  • Generate Changelog - Release Automation: Add cloud build target for release builds #2884 (mangalpalli)
  • GameServer Pod: Stable Network ID #2826 (markmandel)
  • Release Automation: Generate version of website to push #2808 (mangalpalli)

See CHANGELOG for more details on changes.

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.29.0-rc

14 Jan 00:00
8726ce8
Compare
Choose a tag to compare
v1.29.0-rc Pre-release
Pre-release

This is the 1.29.0-rc release of Agones.

We are bringing a huge release to start 2023!

  • Update Agones to support for Kubernetes 1.24.0
  • SDKGracefulTermination feature has now graduated to beta. So by default, the sidecar container will not shutdown immeadiately on TERM signal, but instead wait for Shutdown state to occur.
  • A new PodHostname feature is now available, if you need to able to access a GameServer Pod within a cluster by a DNS name.
  • Agones release images have all been moved to Google Artifact Registry
  • Updated dependencies for security fixes

While we expect no issues, we also updated the gRPC libraries that Agones uses, so please make sure to test upgrades before deploying to production.

Check the README for details on features, installation and usage.

Breaking changes:

  • Update Kubernetes to 1.24 #2867
  • Migrate from github.com/golang/protobuf to google.golang.org/protobuf #2786 (govargo)

Implemented enhancements:

  • Graduate SDKGracefulTermination to beta #2831
  • Set the hostName of the Pod to the name of the GameServer #2704
  • Update from golang/protobuf to google.golang.org/protobuf #2462
  • Release Automation: Add cloud build target for release builds #2460
  • Release Automation: Generate version of website to push #2457
  • Consider moving agones system images from gcr.io to GCP's artifact registry #2358
  • CI builds should publish a multi-arch manifest for the agones-sdk image #2280
  • Generate Changelog - Release Automation: Add cloud build target for release builds #2884 (mangalpalli)
  • GameServer Pod: Stable Network ID #2826 (markmandel)
  • Release Automation: Generate version of website to push #2808 (mangalpalli)

Documentation: https://development.agones.dev/site/

See CHANGELOG for more details on changes.

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.28.0

07 Dec 21:54
4aa721b
Compare
Choose a tag to compare

This is the 1.28.0 release of Agones.

Highlights for this release include:

  • Support for OpenShift (where OwnerReferencesPermissionEnforcement is enabled)
  • Metrics for Player Tracking
  • GKE Terraform options for regional clusters and autoscaling

Check the README for details on features, installation and usage.

Implemented enhancements:

  • Add a FAQ entry describing when you would use Agones vs. StatefulSets #2770
  • Documentation: Kubernetes and Agones supported version matrix #2237
  • Immutable replicas field would allow PodDisruptionBudget on selected GameServer Pods #2806
  • Update example allocation yaml files to use selectors instead of required #2771
  • Only refresh certificates if the fsnotify event is relevant #1816
  • Terraform, GKE - add autoscaling Node Pools option #1467
  • Terraform, GKE - Option to create a Regional Cluster #1441
  • Adding AGONES_SDK_GRPC_HOST to NewSDK #1183
  • GameServer: Implement (immutable) scale subresource, add pdb #2807 (zmerlynn)
  • Sync Pod host ports back to GameServer in GCP #2782 (zmerlynn)
  • Players in-game metric for when PlayerTracking is enabled #2765 (estebangarcia)
  • Implemented PodDisruptionBudget on relevant deployments #2740 (valentintorikian)

See CHANGELOG for more details on changes.

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable

v1.28.0-rc

30 Nov 20:03
d2c6181
Compare
Choose a tag to compare
v1.28.0-rc Pre-release
Pre-release

This is the 1.28.0-rc release of Agones.

Highlights for this release include:

  • Support for OpenShift (where OwnerReferencesPermissionEnforcement is enabled)
  • Metrics for Player Tracking
  • GKE Terraform options for regional clusters and autoscaling

Check the README for details on features, installation and usage.

Implemented enhancements:

  • Immutable replicas field would allow PodDisruptionBudget on selected GameServer Pods #2806
  • Update example allocation yaml files to use selectors instead of required #2771
  • Only refresh certificates if the fsnotify event is relevant #1816
  • Terraform, GKE - add autoscaling Node Pools option #1467
  • Terraform, GKE - Option to create a Regional Cluster #1441
  • Adding AGONES_SDK_GRPC_HOST to NewSDK #1183
  • GameServer: Implement (immutable) scale subresource, add pdb #2807 (zmerlynn)
  • Sync Pod host ports back to GameServer in GCP #2782 (zmerlynn)
  • Players in-game metric for when PlayerTracking is enabled #2765 (estebangarcia)
  • Implemented PodDisruptionBudget on relevant deployments #2740 (valentintorikian)

Documentation: https://development.agones.dev/site/

See CHANGELOG for more details on changes.

Images available with this release:

Helm chart available with this release:

Make sure to add our stable helm repository using helm repo add agones https://agones.dev/chart/stable