GoogleForGames/agones: Release v1.40.0
Name: agones
Owner: GoogleForGames
Release: v1.40.0
Released: 2024-04-23
License: Apache-2.0
Release Assets:
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 contoller 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.
What's Changed
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
Fixed bugs
- Counters & Lists: Consolidate
priorities
sorting by @markmandel in https://github.com/googleforgames/agones/pull/3690 - Fix(Counter & Lists): Add validation for
priorities
by @lacroixthomas in https://github.com/googleforgames/agones/pull/3714 - fix: #3607 Metrics data loss in K8S controller by @alvin-7 in https://github.com/googleforgames/agones/pull/3692
- Deflake GameServerAllocationDuringMultipleAllocationClients by allowing errors by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3750
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
Other
- Flaky: TestGameServerCreationAfterDeletingOneExtensionsPod by @markmandel in https://github.com/googleforgames/agones/pull/3699
- Prep for release v1.40.0 by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3700
- Bumps cpp-simple Image and Refactoring Example Makefiles by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3695
- Upgrade Protobuf to 1.33.0 by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3711
- Modify Script for Makefile Version Updates in Examples Directory by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3712
- Adds simple genai server example documentation to the Agones site by @igooch in https://github.com/googleforgames/agones/pull/3713
- Update Supported Kubernetes to 1.27, 1.28, 1.29 by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3654
- fix: typo in docs by @qhyun2 in https://github.com/googleforgames/agones/pull/3723
- Tweak: Setting up the Game Server by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3717
- Docs: gke.md - spelling by @daniellee in https://github.com/googleforgames/agones/pull/3740
- Aesthetic rearrangement of cloudbuild.yaml by @zmerlynn in https://github.com/googleforgames/agones/pull/3741
- Docs: Make hitting on connection explicit by @markmandel in https://github.com/googleforgames/agones/pull/3743
- CI: Don't check Unreal Link by @markmandel in https://github.com/googleforgames/agones/pull/3745
- New recommendation for multi-cluster allocation by @markmandel in https://github.com/googleforgames/agones/pull/3744
- Custom Controller Example Page on Agones Website by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3725
- Add Nitrado logo by @towolf in https://github.com/googleforgames/agones/pull/3753
- Remove unnecessary args from e2e-test-cloudbuild by @zmerlynn in https://github.com/googleforgames/agones/pull/3754
- Update Allocation from Fleet Documentation by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3761
- Transform Lint Warnings into Errors by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3756
- Update Canary Testing Documentation by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3760
- Supertuxkart Example on Agones Site by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3728
- Xonotic Example on Agones Site by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3742
- nit documentation fix in kind cluster section when building Agones by @vicentefb in https://github.com/googleforgames/agones/pull/3770
- Merged steps inside documentation about webhook certificate creation by @vicentefb in https://github.com/googleforgames/agones/pull/3768
- Example Images: Increment Tags by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3796
- Update simple game server example documentation by @vicentefb in https://github.com/googleforgames/agones/pull/3776
New Contributors
- @lacroixthomas made their first contribution in https://github.com/googleforgames/agones/pull/3714
- @daniellee made their first contribution in https://github.com/googleforgames/agones/pull/3740
- @charlesvien made their first contribution in https://github.com/googleforgames/agones/pull/3739
- @vicentefb made their first contribution in https://github.com/googleforgames/agones/pull/3770
Full Changelog: https://github.com/googleforgames/agones/compare/v1.39.0...v1.40.0
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:
Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable