This is the 1.54.0 release of Agones.
Agones now supports Kubernetes 1.32,1.33,1.34 and introduces a new Counter feature that improves state management and visibility in the GameServer resource, along with a fix for a related update issue. Autoscaler configuration is easier thanks to removing the caBundle requirement for standard HTTPS endpoints. A major bug affecting missing Agones SDK environment variables in Init Containers has been resolved. This release graduates AutopilotPassthroughPort to Stable, enabling direct node-to-GameServer communication on GKE Autopilot
-
Updated Kubernetes Version Support (v1.32, v1.33, v1.34): Agones now officially supports Kubernetes versions 1.32, 1.33, and 1.34, ensuring compatibility with the latest Kubernetes releases for improved performance and stability.
-
Improved Reliability for Counter Updates: An issue where the SDK's UpdateCounter call did not return the updated Counter values has been fixed. This correction ensures that developers immediately receive accurate count and capacity data upon successful update.
-
Counter Status Visibility Added: The current state (Count and Capacity) of the GameServer Counters is now exposed in the GameServer status. This allows external systems, like Allocators or FleetAutoscalers, to easily read the counter status from the Kubernetes resource.
-
Simplified Autoscaler HTTPS Configuration: The Autoscaler no longer requires a caBundle when accessing standard HTTPS webhook or WASM URLs served by a trusted certificate authority. This change simplifies configuration for auto scaling logic.
-
Agones SDK Environment Variables for Init Containers: Fixed an issue where Agones SDK environment variables (like GRPC and HTTP ports) were not being injected into GameServer Init Containers. This correction ensures your Init Containers can communicate with the Agones SDK server during setup, enabling complex initialization logic before the main game server starts.
-
Autopilot Passthrough Port Graduation to Stable: The AutopilotPassthroughPort feature has been graduated to Stable. This allows complex game server architectures to expose specific ports that bypass the Agones sidecar logic for direct node-to-GameServer communication.
Check the README for details on features, installation and usage.
What's Changed
Breaking changes
- Update supported Kubernetes versions to 1.32, 1.33, 1.34 by @Sivasankaran25 in #4320
- [Unreal] Refactor agones component to subsystem by @GloryOfNight in #4033
- Return GameServerAllocationUnAllocated when an game server update error occurs by @miai10 in #4267
- feat(autoscaler)!: Remove caBundle requirement for HTTPS URLs by @markmandel in #4332
Implemented enhancements
- [Unreal] Add counters support to status by @GloryOfNight in #4333
- docs(examples): add working autoscaler-wasm example configuration by @markmandel in #4345
- Graduate AutopilotPassthroughPort to Stable by @Sivasankaran25 in #4335
Fixed bugs
- Populate Env Vars for GameServer init containers by @giornetta in #4319
- Fix update counter to return correct values by @indurireddy-TF in #4324
- Fix: ensure the uninstall wait to be properly done by @lacroixthomas in #4355
- Fix race condition in PerNodeCounter by tracking processed events by @markmandel in #4363
Other
- Preparation for Release v1.54.0 by @Sivasankaran25 in #4313
- cleanup(e2e): Scale back autoscaler timeout. by @markmandel in #4312
- Refactor FleetAutoscaler state from map to typed struct by @markmandel in #4315
- Created performance test cluster for 1.33 by @Sivasankaran25 in #4325
- docs: Add Wasm autoscaling documentation to FleetAutoscaler reference by @markmandel in #4314
- Feat: add metallb on kind / minikube to run e2e locally by @lacroixthomas in #4318
- build: upgrade MetalLB to v0.15.2 and use helm upgrade --install by @markmandel in #4330
- test: simplify autoscaler e2e tests for minikube compatibility by @markmandel in #4331
- cleanup(examples): Upgrade SuperTuxKart and increase timeout. by @markmandel in #4338
- cleanup(ci): Remove 403 link for Win 10 and minikube by @markmandel in #4349
- Remove assignees from update dependencies github issue creation by @igooch in #4327
- test: improve TestMultiClusterAllocationFromLocal flakiness. by @markmandel in #4350
- Cleanup on SuperTuxKart README by @markmandel in #4344
- Exclude wasm from example image check by @igooch in #4353
- docs: add section highlighting good first issue and help wanted labels by @markmandel in #4362
- More fixes for SuperTuxKart example to attempt to fix flakiness. by @markmandel in #4359
- cleanup(agones-bots): Update Agones Bot Deps. by @markmandel in #4366
- Bumps SuperTuxKart image version by @igooch in #4367
- feat: Bump golang.org/x/crypto to v0.45.0 by @indurireddy-TF in #4370
- Adds the build environment image to the pre_cloudbuild pipeline by @igooch in #4372
New Contributors
- @giornetta made their first contribution in #4319
- @indurireddy-TF made their first contribution in #4324
Full Changelog: v1.53.0...v1.54.0
See CHANGELOG for more details on changes.
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.54.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.54.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.54.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.54.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.14
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.20
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.23
- us-docker.pkg.dev/agones-images/examples/crd-client:0.22
- 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.39
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.21
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:2.5
Helm chart available with this release:
Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable