1.40.0 - Kubernetes 1.29.0, CSharp SDK for Counters and Lists, and Multiple Feature Promotions
This is the 1.40.0 release of Agones.
In this release, we’ve updated our Kuberenetes support to include version 1.29, introduced a new implementation in the CSharp SDK for the Counters and Lists, graduated the FleetAllocationOverflow feature to stable, moved the DisableResyncOnSDKServer feature into beta and refined the documentation for Counters and Lists to simplify usage and enhance clarity.
-
Kubernetes Support Update 1.29: We’ve upgraded our Kubernetes compatibility to include version 1.29 and have discontinued support for version 1.26. Our current supported versions are now 1.27, 1.28, and 1.29. Please ensure your clusters are upgraded to one of these supported versions.
-
CSharp SDK for Counters and Lists: We’ve rolled out a new implementation in the CSharp SDK for the Counters and Lists features, along with significant enhancements to the documentation. These updates simplify the process of tracking numeric counters and lists of values on GameServers, providing clearer guidance.
-
Support for Extended Duration Pods on GKE Autopilot: Starting with Kubernetes version 1.28, we now support extended duration pods in Agones on GKE Autopilot. The GKEAutopilotExtendedDurationPods feature has been moved to Alpha status and requires Kubernetes versions 1.28 or newer. This enhancement is essential for those needing longer-lived pods in managed Kubernetes environments.
-
DisableResyncOnSDKServer in Beta: The DisableResyncOnSDKServer feature has progressed to beta in this release and is now enabled by default. This feature sets the resync interval to 0 to enhance performance by eliminating unnecessary resyncs.
-
FleetAllocationOverflow now Stable: With the FleetAllocationOverflow feature now stable in this release, you can apply labels and/or annotations to GameServers that exceed the desired number of replicas in a GameServerSet. This occurs when the allocation of GameServers surpasses the specified replica count.
-
Unity SDK Update: Enhanced Address Retrieval for GameServers: We’ve enhanced functionality to allow developers to conveniently access all associated addresses, including both IP and DNS, for a game server. This change simplifies the integration and deployment process by providing complete address information.
-
Counters & Lists Documentation Enhancements: We’ve standardized sorting priorities in GameServerAllocation and Fleet to consistently use available capacity and set the default sorting order as Ascending, making it easier to understand. We also have a new Counters and Lists documentation landing page to explain the functionality in full.
-
Optimised GameServer Sub-Controller Queues: We noticed that parts of the Agones controller were queuing way too many items than they should, resulting in consuming more memory than was ideal. This fixes that, ensuring that far fewer records get queued, resulting in a leaner memory footprint from the controller.
Check the README for details on features, installation and usage.
Breaking changes:
- Counters and Lists: Remove Bool Returns by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3738
Implemented enhancements:
- Leader Election in Custom Controller by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3696
- Migrating from generate-groups.sh to kube_codegen.sh by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3722
- Move GKEAutopilotExtendedDurationPods to Alpha in 1.28+ by @zmerlynn in https://github.com/googleforgames/agones/pull/3729
- Move DisableResyncOnSDKServer to Beta by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3732
- Counters & Lists landing page and doc improvements by @markmandel in https://github.com/googleforgames/agones/pull/3649
- Graduate FleetAllocationOverflow to Stable by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3733
- Adds Counters and Lists to CSharp SDK by @igooch in https://github.com/googleforgames/agones/pull/3581
- Feat/counter and list defaulting order to ascending by @lacroixthomas in https://github.com/googleforgames/agones/pull/3734
- Add handling for StatusAddresses in GameServerStatus for the Unity SDK by @charlesvien in https://github.com/googleforgames/agones/pull/3739
- Feat(gameservers): Shared pod IPs with GameServer Addresses by @lacroixthomas in https://github.com/googleforgames/agones/pull/3764
- Be prescriptive about rotating regions when updating Kubernetes versions by @zmerlynn in https://github.com/googleforgames/agones/pull/3716
- Fix ensure-e2e-infra-state-bucket by @zmerlynn in https://github.com/googleforgames/agones/pull/3719
- Create Performance Cluster 1.28 by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3720
- Optimise GameServer Sub-Controller Queues by @markmandel in https://github.com/googleforgames/agones/pull/3781
Security fixes:
- Bump protobufjs from 7.2.4 to 7.2.6 in /sdks/nodejs by @dependabot in https://github.com/googleforgames/agones/pull/3755
- Bump golang.org/x/net from 0.19.0 to 0.23.0 by @zmerlynn in https://github.com/googleforgames/agones/pull/3793
See CHANGELOG for more details on changes.
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.40.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.40.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.40.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.40.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.8
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.13
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.17
- us-docker.pkg.dev/agones-images/examples/crd-client:0.16
- us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.10
- us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.13
- us-docker.pkg.dev/agones-images/examples/simple-game-server:0.31
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.13
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:1.9
Helm chart available with this release:
Last modified October 3, 2024: Upgrade to Golang Version 1.22.6 and Golangci lint version v1.61.0 (#3988) (cd3bc13)Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable