Releases: googleforgames/agones
v1.54.0
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
v1.53.0
This is the 1.53.0 release of Agones.
This release introduces a beta Rust SDK and lays the groundwork for WebAssembly (Wasm) Fleet Autoscaling with a new policy type and architectural refactoring. It also includes key bug fixes for List value removal and SDK initialization. The critical WebSocket connectivity fix, which was previously backported to the v1.52.2 patch release, is also included in this release.
-
Rust SDK (Beta) Counters and Lists Integration: Added initial implementation for the Rust SDK, integrating its beta features, including the Counter and List state management functionalities. This change also introduces unit tests for the Rust SDK and new conformance tests to ensure proper behavior within the Agones system.
-
Ensured SDK Server Runs First in Init Containers: Corrected the container injection logic from using append (which put the Agones SDK last) to using a prepend/concat operation.
-
List Value Removal Reliability: Corrected a bug in the SDK Server that prevented reliable removal of values from the experimental SDK List when those values were part of a pending batch update, ensuring consistent List state.
-
Restored Real-Time WebSocket Connection (SDK): Fixed a deadlock introduced by an upstream dependency upgrade (in grpc-gateway/v2) that caused the /watch/gameserver WebSocket to hang.
Note: This critical fix was also backported and is available in the v1.52.2 patch release. -
FleetAutoscaler Architecture Improvement: We've refactored the internal structure of the fasThread to introduce a dedicated local state map. This foundational work sets the stage for advanced future features, such as the upcoming support for WebAssembly (Wasm)-based custom autoscaling plugins. This feature remains under active development and is not yet available.
-
New Policy Type: WebAssembly (Wasm) Fleet Autoscaling: Introduced Wasm as a new policy type option for the FleetAutoscaler CRD. This involved defining a new Wasm policy schema (function, config, from.url, and hash) and refactoring existing webhook templates into a reusable url.configuration template.
Check the README for details on features, installation and usage.
What's Changed
Breaking changes
- feat(autoscaling): CRDs for Wasm autoscaler policy by @markmandel in #4281
Implemented enhancements
- feat: add processor proto by @lacroixthomas in #4227
- Feat: Add new binary processor by @lacroixthomas in #4222
- Update Helm option for spec.strategy.type for controller and extensio… by @Sivasankaran25 in #4244
- WasmAutoscaler feature gate and prep build image by @markmandel in #4243
- feat: use gameservers.lists.maxItems instead of a hardcoded limit by @miai10 in #4246
- Feat: update error fields from processor proto by @lacroixthomas in #4266
- Wasm Autoscaler: Example by @markmandel in #4260
- Feat: implement rust sdk (counter and list) by @lacroixthomas in #4247
- Fleet autoscaler threads maintain state by @markmandel in #4277
- Feat: implement processor client by @lacroixthomas in #4265
- Add Wasm autoscaler policy support to FleetAutoscaler CRDs YAML by @markmandel in #4298
- Implement Wasm autoscaler policy controller logic by @markmandel in #4299
- Feat: integrate processor on allocator by @lacroixthomas in #4302
- Feat: integrate processor on extensions by @lacroixthomas in #4301
Fixed bugs
- Fix: patch flaky tests from submit-upgrade-test-cloud-build by @lacroixthomas in #4236
- Fix: Add missing permission for helm uninstall in upgrade test cleanup by @lacroixthomas in #4250
- Prepend sidecars to existing init containers by @markmandel in #4278
- fix: broken websocket connection after upgrading github.com/grpc-ecosystem/grpc-gateway/v2 by @swermin in #4270
- flakey: add resource requirements to SuperTuxKart e2e test by @markmandel in #4280
- Fix: update link to quilkin by @lacroixthomas in #4288
- Update Add and Remove List Value in SDK Server by @Sivasankaran25 in #4279
Other
- Preparation for Release v1.52.0 by @Sivasankaran25 in #4234
- Updates agones-bot dependencies by @igooch in #4232
- Update all tests to use the latest Helm version by @Sivasankaran25 in #4238
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in /examples/crd-client by @dependabot[bot] in #4229
- Handle missing upgrade-test-runner pod to avoid log collection errors by @0xaravindh in #4224
- e2e: add webhook autoscaler test with fleet metadata by @0xaravindh in #4251
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 in /test/upgrade by @dependabot[bot] in #4254
- Updates the upgrade test to print any fatal error messages to the job pod termination log by @igooch in #4252
- Pause Single Cluster Upgrade work until stable. by @markmandel in #4257
- Replace bitname/kubectl with alpine/kubectl by @markmandel in #4268
- Upgrade Golang to 1.24.6 and update related dependencies by @0xaravindh in #4262
- flaky: TestControllerAllocator by @markmandel in #4269
- Release v1.52.0 by @Sivasankaran25 in #4272
- Preparation for Release v1.53.0 by @Sivasankaran25 in #4273
- Updates the build scripts to allow for a patch release by @igooch in #4291
- Post Release-1.52.2 by @Sivasankaran25 in #4296
- Add Patch Release Template by @Sivasankaran25 in #4300
- fix(ci): Fix all the links in CI by @markmandel in #4303
- docs: clarify FleetAutoscaler webhook response structure by @markmandel in #4297
- Updates Rust version by @igooch in #4306
- npm audit fix by @igooch in #4305
- Updates release templates by @igooch in #4307
Full Changelog: v1.51.0...v1.53.0
See CHANGELOG for more details on changes.
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.53.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.53.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.53.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.53.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.21
- 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.19
- 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:
- ...
v1.52.2
This is the 1.52.2 release of Agones.
In this release, several improvements have been made to testing and error reporting, including new webhook autoscaler e2e tests and updated error fields in processor proto. Helm support has been enhanced with new strategy options, additional permissions for uninstall, and full test coverage on the latest Helm version. The kubectl image has been updated to a lighter alpine-based build for efficiency, and the hardcoded GameServer list limit has been replaced with a configurable gameservers.lists.maxItems option. Finally, Golang has been upgraded to 1.24.6, along with related dependencies, bringing performance, stability, and security improvements.
-
Configurable GameServer List Limits: A new configuration option, gameservers.lists.maxItems, replaces the previous hardcoded limit, improving scalability and API performance tuning.
-
Helm and Kubectl Updates: Helm support has been expanded with new options and permissions, and all tests have been aligned to use the latest Helm version. The kubectl image has been switched from bitnami/kubectl to alpine/kubectl, providing a slimmer and more secure runtime environment.
-
Dependency Upgrades: Golang has been upgraded to 1.24.6 with updated dependencies, ensuring stronger security, compatibility, and performance across the project.
-
Enhanced Testing and Error Reporting: Added webhook autoscaler e2e tests with fleet metadata, improved processor proto error fields, and updated upgrade tests to log fatal errors for better debugging and observability.
What's Changed
Implemented enhancements
- feat: add processor proto by @lacroixthomas in #4227
- Feat: Add new binary processor by @lacroixthomas in #4222
- Update Helm option for spec.strategy.type for controller and extensio… by @Sivasankaran25 in #4244
- WasmAutoscaler feature gate and prep build image by @markmandel in #4243
- feat: use gameservers.lists.maxItems instead of a hardcoded limit by @miai10 in #4246
- Feat: update error fields from processor proto by @lacroixthomas in #4266
- Wasm Autoscaler: Example by @markmandel in #4260
Fixed bugs
- Fix: patch flaky tests from submit-upgrade-test-cloud-build by @lacroixthomas in #4236
- Fix: Add missing permission for helm uninstall in upgrade test cleanup by @lacroixthomas in #4250
- fix: broken websocket connection after upgrading github.com/grpc-ecosystem/grpc-gateway/v2 by @swermin in #4270
Other
- Preparation for Release v1.52.0 by @Sivasankaran25 in #4234
- Updates agones-bot dependencies by @igooch in #4232
- Update all tests to use the latest Helm version by @Sivasankaran25 in #4238
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in /examples/crd-client by @dependabot[bot] in #4229
- Handle missing upgrade-test-runner pod to avoid log collection errors by @0xaravindh in #4224
- e2e: add webhook autoscaler test with fleet metadata by @0xaravindh in #4251
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 in /test/upgrade by @dependabot[bot] in #4254
- Updates the upgrade test to print any fatal error messages to the job pod termination log by @igooch in #4252
- Pause Single Cluster Upgrade work until stable. by @markmandel in #4257
- Replace bitname/kubectl with alpine/kubectl by @markmandel in #4268
- Upgrade Golang to 1.24.6 and update related dependencies by @0xaravindh in #4262
- flaky: TestControllerAllocator by @markmandel in #4269
- Release v1.52.0 by @Sivasankaran25 in #4272
- Patch-releasev1.52.1 by @Sivasankaran25 in #4286
- Updates the build scripts to allow for a patch release by @igooch in #4291
Full Changelog: v1.51.0...v1.52.2
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.52.2
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.52.2
- us-docker.pkg.dev/agones-images/release/agones-ping:1.52.2
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.52.2
- 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.21
- 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.19
- 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
~~v1.52.1~~ Images Incorrect. Do Not Use.
This is the 1.52.1 release of Agones
In this release, several improvements have been made to testing and error reporting, including new webhook autoscaler e2e tests and updated error fields in processor proto. Helm support has been enhanced with new strategy options, additional permissions for uninstall, and full test coverage on the latest Helm version. The kubectl image has been updated to a lighter alpine-based build for efficiency, and the hardcoded GameServer list limit has been replaced with a configurable gameservers.lists.maxItems option. Finally, Golang has been upgraded to 1.24.6, along with related dependencies, bringing performance, stability, and security improvements.
-
Configurable GameServer List Limits: A new configuration option, gameservers.lists.maxItems, replaces the previous hardcoded limit, improving scalability and API performance tuning.
-
Helm and Kubectl Updates: Helm support has been expanded with new options and permissions, and all tests have been aligned to use the latest Helm version. The kubectl image has been switched from bitnami/kubectl to alpine/kubectl, providing a slimmer and more secure runtime environment.
-
Dependency Upgrades: Golang has been upgraded to 1.24.6 with updated dependencies, ensuring stronger security, compatibility, and performance across the project.
-
Enhanced Testing and Error Reporting: Added webhook autoscaler e2e tests with fleet metadata, improved processor proto error fields, and updated upgrade tests to log fatal errors for better debugging and observability.
What's Changed
Implemented enhancements
- feat: add processor proto by @lacroixthomas in #4227
- Feat: Add new binary processor by @lacroixthomas in #4222
- Update Helm option for spec.strategy.type for controller and extensio… by @Sivasankaran25 in #4244
- WasmAutoscaler feature gate and prep build image by @markmandel in #4243
- feat: use gameservers.lists.maxItems instead of a hardcoded limit by @miai10 in #4246
- Feat: update error fields from processor proto by @lacroixthomas in #4266
- Wasm Autoscaler: Example by @markmandel in #4260
Fixed bugs
- Fix: patch flaky tests from submit-upgrade-test-cloud-build by @lacroixthomas in #4236
- Fix: Add missing permission for helm uninstall in upgrade test cleanup by @lacroixthomas in #4250
- fix: broken websocket connection after upgrading github.com/grpc-ecosystem/grpc-gateway/v2 by @swermin in #4270
Other
- Preparation for Release v1.52.0 by @Sivasankaran25 in #4234
- Updates agones-bot dependencies by @igooch in #4232
- Update all tests to use the latest Helm version by @Sivasankaran25 in #4238
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in /examples/crd-client by @dependabot[bot] in #4229
- Handle missing upgrade-test-runner pod to avoid log collection errors by @0xaravindh in #4224
- e2e: add webhook autoscaler test with fleet metadata by @0xaravindh in #4251
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 in /test/upgrade by @dependabot[bot] in #4254
- Updates the upgrade test to print any fatal error messages to the job pod termination log by @igooch in #4252
- Pause Single Cluster Upgrade work until stable. by @markmandel in #4257
- Replace bitname/kubectl with alpine/kubectl by @markmandel in #4268
- Upgrade Golang to 1.24.6 and update related dependencies by @0xaravindh in #4262
- flaky: TestControllerAllocator by @markmandel in #4269
- Release v1.52.0 by @Sivasankaran25 in #4272
Full Changelog: v1.51.0...v1.52.1
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.52.1
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.52.1
- us-docker.pkg.dev/agones-images/release/agones-ping:1.52.1
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.52.1
- 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.21
- 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.19
- 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
v1.52.0
This is the 1.52.0 release of Agones
In this release, several improvements have been made to testing and error reporting, including new webhook autoscaler e2e tests and updated error fields in processor proto. Helm support has been enhanced with new strategy options, additional permissions for uninstall, and full test coverage on the latest Helm version. The kubectl image has been updated to a lighter alpine-based build for efficiency, and the hardcoded GameServer list limit has been replaced with a configurable gameservers.lists.maxItems option. Finally, Golang has been upgraded to 1.24.6, along with related dependencies, bringing performance, stability, and security improvements.
-
Configurable GameServer List Limits: A new configuration option, gameservers.lists.maxItems, replaces the previous hardcoded limit, improving scalability and API performance tuning.
-
Helm and Kubectl Updates: Helm support has been expanded with new options and permissions, and all tests have been aligned to use the latest Helm version. The kubectl image has been switched from bitnami/kubectl to alpine/kubectl, providing a slimmer and more secure runtime environment.
-
Dependency Upgrades: Golang has been upgraded to 1.24.6 with updated dependencies, ensuring stronger security, compatibility, and performance across the project.
-
Enhanced Testing and Error Reporting: Added webhook autoscaler e2e tests with fleet metadata, improved processor proto error fields, and updated upgrade tests to log fatal errors for better debugging and observability.
What's Changed
Implemented enhancements
- feat: add processor proto by @lacroixthomas in #4227
- Feat: Add new binary processor by @lacroixthomas in #4222
- Update Helm option for spec.strategy.type for controller and extensio… by @Sivasankaran25 in #4244
- WasmAutoscaler feature gate and prep build image by @markmandel in #4243
- feat: use gameservers.lists.maxItems instead of a hardcoded limit by @miai10 in #4246
- Feat: update error fields from processor proto by @lacroixthomas in #4266
- Wasm Autoscaler: Example by @markmandel in #4260
Fixed bugs
- Fix: patch flaky tests from submit-upgrade-test-cloud-build by @lacroixthomas in #4236
- Fix: Add missing permission for helm uninstall in upgrade test cleanup by @lacroixthomas in #4250
Other
- Preparation for Release v1.52.0 by @Sivasankaran25 in #4234
- Updates agones-bot dependencies by @igooch in #4232
- Update all tests to use the latest Helm version by @Sivasankaran25 in #4238
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in /examples/crd-client by @dependabot[bot] in #4229
- Handle missing upgrade-test-runner pod to avoid log collection errors by @0xaravindh in #4224
- e2e: add webhook autoscaler test with fleet metadata by @0xaravindh in #4251
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 in /test/upgrade by @dependabot[bot] in #4254
- Updates the upgrade test to print any fatal error messages to the job pod termination log by @igooch in #4252
- Pause Single Cluster Upgrade work until stable. by @markmandel in #4257
- Replace bitname/kubectl with alpine/kubectl by @markmandel in #4268
- Upgrade Golang to 1.24.6 and update related dependencies by @0xaravindh in #4262
- flaky: TestControllerAllocator by @markmandel in #4269
Full Changelog: v1.51.0...v1.52.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.52.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.52.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.52.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.52.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.21
- 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.19
- 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
v1.51.0
This is the 1.51.0 release of Agones.
In this release, the ScheduledAutoscaler feature has been promoted to Beta, enhancing autoscaling with scheduled policy support. Several bug fixes improve system stability, including retry logic in addMoreGameServers and better handling of succeeded Pods. The Unreal SDK now supports list data structures, offering greater flexibility for game developers. Sidecar rate limiting has been updated to a constant interval for more predictable behavior. Monitoring and debugging have also been improved through Prometheus metrics tests and enhanced logging in upgrade workflows.
-
Promote ScheduledAutoscaler to Beta: The ScheduledAutoscaler feature has been promoted to Beta and is now enabled by default. It allows scheduled scaling of fleets, making auto scaling behavior more predictable and flexible.
-
Unreal SDK List Support: This release adds support for list data types in the Unreal SDK. It improves data handling and provides developers with more tools to manage game state.
-
New Controller for Pods in Succeeded State: A new controller detects when sidecar-enabled Pods exit cleanly (exit(0)) and enter a Succeeded state. This ensures the associated GameServer transitions to Shutdown, preventing stuck resources and improving cleanup logic.
-
Consistent Rate Limiting for Sidecar Requests: Sidecar now uses a constant 500ms rate limiter instead of exponential backoff, reducing PATCH failures and improving update speed.
-
Monitoring and Debugging Improvements: Added tests for Prometheus metrics and improved logging in upgrade tests, enhancing visibility and reliability in monitoring and CI workflows.
What's Changed
Implemented enhancements
- Feat: Add dev feature flag for Processor Allocator by @lacroixthomas in #4221
- feat: promote ScheduledAutoscaler to beta by @lacroixthomas in #4226
- Adds support for lists in the Unreal SDK #4029 by @keith-miller in #4216
Fixed bugs
- Controller for Pod in Succeeded state. by @markmandel in #4201
- Changed the sidecar requests rate limiter from exponential to a constant one by @miai10 in #4186
- Mocked GCE metadata to fix the Stackdriver local test failure by @0xaravindh in #4215
- Fix: Adding a retry mechanism in case the addMoreGameServers function call fails. by @txuna in #4214
- Remove former agones collaborator from github action by @igooch in #4228
Other
- Preparation for Release v1.51.0 by @0xaravindh in #4209
- Add tests for Prometheus metrics endpoint and validation by @0xaravindh in #4185
- fleetautoscaler.md references metadata incorrectly by @KAllan357 in #4217
- Add logs reporting to submit-upgrade-test-cloud-build for better visibility by @0xaravindh in #4165
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in /examples/custom-controller by @dependabot[bot] in #4211
- Update region to asia-east1 for 1.33 cluster in E2E tests by @0xaravindh in #4231
New Contributors
- @miai10 made their first contribution in #4186
- @txuna made their first contribution in #4214
- @keith-miller made their first contribution in #4216
Full Changelog: v1.50.0...v1.51.0
See CHANGELOG for more details on changes.
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.51.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.51.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.51.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.51.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.13
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.18
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.21
- us-docker.pkg.dev/agones-images/examples/crd-client:0.21
- 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.38
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.18
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:2.4
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.50.0
This is the 1.50.0 release of Agones.
In this release, we’ve added important updates to improve stability and usability. The RollingUpdateFix feature is now in Beta, making Fleet updates more reliable. Agones now supports Kubernetes versions 1.31, 1.32, and 1.33. We’ve upgraded to Go 1.24.4 and updated related dependencies and Dockerfiles. Prometheus metrics testing and improved logging, including Chain ID tracking in FleetAutoscaler events, make monitoring and debugging easier. You can also now push Helm charts to custom registries.
-
Updated Kubernetes Version Support (v1.31, v1.32, v1.33): Agones now officially supports Kubernetes versions 1.31, 1.32, and 1.33, ensuring compatibility with the latest Kubernetes releases for improved performance and stability.
-
Upgrade to Golang 1.24.4 and Dependency Updates: This release includes an upgrade to Go 1.24.4 along with updates to related dependencies and Dockerfiles, ensuring compatibility and improved performance.
-
Promote RollingUpdateFix to Beta: The FeatureRollingUpdateFix has been promoted to Beta and is enabled by default. This feature enhances the update strategy for fleets and improves reliability during rolling updates.
-
Enhanced Logging and Error Handling for Fleet Autoscaler: Logging and error handling in the Fleet Autoscaler, especially during ChainPolicy checks, have been improved. This helps make scaling actions clearer and troubleshooting easier.
-
Helm and Multi-Cluster Enhancements: Added support for pushing charts to custom Helm registries. Updated best practices to improve multi-cluster allocation workflows and consistency.
What's Changed
Breaking changes
- Update supported Kubernetes versions to 1.31, 1.32, 1.33 by @0xaravindh in #4199
Implemented enhancements
- Feat: allow push-chart to custom helm registry by @lacroixthomas in #4172
- Specify exit code in simple-game-server CRASH by @markmandel in #4196
- Promote FeatureRollingUpdateFix to Beta by @0xaravindh in #4205
Fixed bugs
- Updated version mapping and post-release step by @kamaljeeti in #4191
Other
- Preparation for Release v1.50.0 by @kamaljeeti in #4177
- Log Chain ID in Events When Applying ChainPolicy in FleetAutoscaler by @0xaravindh in #4131
- Update release template by @kamaljeeti in #4181
- Enhance logging and error handling in computeDesiredFleetSize, including Chain policies by @0xaravindh in #4179
- Update best practices for multi-cluster allocation by @kamaljeeti in #4157
- fix: exclude InactiveScheduleError for error logging by @indexjoseph in #4183
- Updated goimports formatting by @markmandel in #4195
- Upgrade Golang to 1.24.4 and update related dependencies and Dockerfiles by @0xaravindh in #4204
- Created performance test cluster for 1.32 by @0xaravindh in #4202
Full Changelog: v1.49.0...v1.50.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.50.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.50.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.50.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.50.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.13
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.18
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.21
- us-docker.pkg.dev/agones-images/examples/crd-client:0.21
- 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.38
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.18
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:2.4
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.49.0
This is the 1.49.0 release of Agones.
In this release, we’ve made significant progress with several features. Key updates include promoting Port Policy to Beta, promoting the Disable Resync on SDK Server feature to stable, promoting the Port Ranges feature to Beta, enhancing the Agones Feature Proposal (AFP) process with new additions, and improving the GameServer life cycle with Sidecar Containers support.
-
Promote Port Policy None to Beta: The PortPolicyNone feature has progressed to beta in this release and is now enabled by default.
-
Disable Resync on SDK Server is now Stable: The Feature DisableResyncOnSDKServer has been promoted to Stable. The feature is now always enabled and the flag remains for compatibility during upgrades.
-
Port Ranges Feature Now in Beta: The Multiple Dynamic Port Ranges (PortRanges) feature has been promoted to Beta. It’s been successfully tested in production and is now ready for wider use within the community.
-
Add AFP Features and Enhance Documentation: This update adds new features to the Agones Feature Proposal (AFP) process. It improves documentation with guidelines, metadata schema, and detailed workflow instructions. The update also includes references to the AFP review process.
-
Sidecar Containers Support: It introduces the SidecarContainers feature flag to improve GameServer lifecycle management. This enhancement simplifies health checks and adjusts the restart behavior of containers, ensuring more consistency and reliable operations.
What's Changed
Breaking changes
- Add AFP features and update documentation by @0xaravindh in #4061
- Adoption of Sidecar Containers by @markmandel in #4146
Implemented enhancements
- Promote PortPolicyNone to Beta by @kamaljeeti in #4144
- Promote FeatureDisableResyncOnSDKServer to Stable by @igooch in #4138
- Promote PortRanges to Beta by @kamaljeeti in #4147
Fixed bugs
- Update Windows manifest handling in push-agones-sdk-manifest by @0xaravindh in #4136
- Fix CRD API docs generation script by @0xaravindh in #4152
- fix: ensure fleet autoscaler policy are namespaced by @lacroixthomas in #4098
- Fix feature stages page to show expected content by @0xaravindh in #4156
- Allocation: Re-cache allocated
GameServerby @markmandel in #4159
Other
- Preparation for Release v1.49.0 by @0xaravindh in #4134
- Updated doc for adding support of Extended Duration Pods on GKE Autopilot by @kamaljeeti in #4139
- Various e2e test improvements by @markmandel in #4143
- load test client make concurrent requests by @peterzhongyi in #4149
- Adds permissions in the agones-system namespace for the upgrade tests by @igooch in #4148
- Adds explicit permissions for github workflows by @igooch in #4161
- chore: update Nitrado GameFabric branding by @nrwiersma in #4164
- Adds instructions to update dependencies as part of upgrading Golang by @igooch in #4155
- Fix: Remove Kubernetes 1.29 from Agones 1.39.0 compatibility matrix by @0xaravindh in #4168
- Documentation for Sidecar Containers by @markmandel in #4171
- Upgrade: Go to 1.23.8 and deps by @0xaravindh in #4170
- Updates GKE Autopilot documentation to include Passthrough portPolicy by @igooch in #4173
Full Changelog: v1.48.0...v1.49.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.49.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.49.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.49.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.49.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.12
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.17
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.20
- us-docker.pkg.dev/agones-images/examples/crd-client:0.20
- 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.37
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.17
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:2.3
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.48.0
This is the 1.48.0 release of Agones.
In this release, we’ve added support for new Kubernetes versions, improved Docker Buildx support for ARM64 and Windows, better Helm schema validation, dual-stack networking for load balancers, and the inclusion of fleet metadata in the Webhook Autoscaler for more accurate fleet size calculations.
-
Updated Kubernetes Version Support (v1.30, v1.31, v1.32): Agones now officially supports Kubernetes versions 1.30, 1.31, and 1.32, ensuring compatibility with the latest Kubernetes releases for improved performance and stability.
-
Fix Buildx Builders for ARM64 and Windows: Ensures Docker Buildx builders are created or reused for ARM64 and Windows, preventing build failures.
-
Update Helm Schema Validation for customCertSecretPath: Enhanced Helm schema validation for applying custom certificates, ensuring better compatibility and smoother upgrades with the latest chart version.
-
Support Dual-Stack Networking for Load Balancers: Introduces support for dual-stack load balancers, allowing both IPv4 and IPv6 configurations and enhancing network flexibility.
-
Extend Webhook Autoscaler with Fleet Metadata: It enhances the Webhook Autoscaler by including fleet metadata (labels/annotations) in the FleetAutoscaleRequest, enabling more accurate fleet size calculations without frequent URL updates.
What's Changed
Implemented enhancements
- add metadata to agones webhook autoscaler request by @swermin in #3957
- feat(helm): support dual-stack networking for load balancers by @bergemalm in #4073
Fixed bugs
- fix: bump version of jsonpatch for lossy max int64 by @lacroixthomas in #4090
- Fix JSON Schema validation for ServiceAccount annotations by @0xaravindh in #4122
- Refactor image build and manifest push process by @0xaravindh in #4118
Other
- Preparation for Release v1.48.0 by @0xaravindh in #4109
- Increase wait time for upgrade test runner by @igooch in #4113
- Update Helm Schema Validation for topologySpreadConstraints and customCertSecretPath by @AliaksandrTsimokhau in #4112
- Fix: Ensure Buildx Builders Are Created or Used for ARM64 and Windows by @0xaravindh in #4115
- Update Supported Kubernetes to 1.30, 1.31, 1.32 by @kamaljeeti in #4124
- helm: change type from object to array for controller.customCertSecre… by @Joseph-Irving in #4120
- Created performance test cluster for 1.31 by @kamaljeeti in #4125
- Add deprecation notice for older image versions in release template by @0xaravindh in #4126
- Fix flaky test TestListAutoscalerAllocated by @igooch in #4130
New Contributors
- @AliaksandrTsimokhau made their first contribution in #4112
- @swermin made their first contribution in #3957
- @bergemalm made their first contribution in #4073
- @Joseph-Irving made their first contribution in #4120
Full Changelog: v1.47.0...v1.48.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.48.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.48.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.48.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.48.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.11
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.16
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.20
- us-docker.pkg.dev/agones-images/examples/crd-client:0.19
- 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.36
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.16
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:2.2
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.47.0
This is the 1.47.0 release of Agones.
In this release, we’ve updated our Player Tracking guide to use Lists, added documentation on High Density Integration for Counters, and enhanced Helm support with JSON schema validation. Additionally, we’ve introduced the ability to change the externalTrafficPolicy for agones-ping services. Along with that, various documentation updates have been made to help users implement these features more easily.
-
Updated Player Tracking Guide to Use Lists: The Player Tracking Guide has been updated to use Lists, replacing the older Player Tracking functionality. This change provides a more flexible and scalable approach to managing player data in game servers.
-
High Density Counters Integration Documentation: We’ve added documentation for the High Density Integration pattern using Counters. This pattern allows for more efficient use of counters in systems with high density, helping developers to scale effectively and optimize performance.
-
Customizable Traffic Policy for Agones-Ping Services: This update introduces the ability to configure the Local traffic policy for Agones-Ping services. With this feature, users can now specify the traffic handling behavior for ping services, offering greater control over traffic management and improving network efficiency within the cluster.
-
Helm JSON Schema Validation: We’ve added a Helm JSON schema validation test to our test suite, ensuring the integrity of Helm charts and preventing configuration issues. This is part of our ongoing efforts to improve the reliability of Helm support.
-
Fixes for Deprecated Configurations and Warnings: The .golangci.yml configuration file has been updated to resolve deprecation warnings, including replacing outdated configuration options and removing deprecated linters. These changes ensure a clean and up-to-date linting process, aligning with the latest standards.
What's Changed
Implemented enhancements
- Docs: Update Player Tracking to use Lists by @markmandel in #4086
- Docs: Counters with High Density by @markmandel in #4085
- Add ability to change externalTrafficPolicy for agones-ping services (http&udp) by @zifter in #4083
- JSON Schema Validation for Helm by @igooch in #4094
- Adds helm schema validation test to the test suite by @igooch in #4101
Fixed bugs
Other
- Preparation for Release v1.47.0 by @0xaravindh in #4079
- Update
.golangci.ymlconfig to resolve deprecation warnings by @paulinek13 in #4082 - Initialise FCounterResponse members by @alexrudd in #4084
- Bump golang.org/x/crypto from 0.21.0 to 0.31.0 in /build/agones-bot by @dependabot in #4062
- Added OKE steps in K8S version upgrade template by @kamaljeeti in #4091
- User and developer documentation for Helm json schema validation by @igooch in #4100
- Update All Go Module Dependencies to Latest Patches by @0xaravindh in #4104
- Bump github.com/go-git/go-git/v5 from 5.12.0 to 5.13.0 in /build/scripts/example-version-checker by @dependabot in #4088
New Contributors
- @paulinek13 made their first contribution in #4082
- @alexrudd made their first contribution in #4084
Full Changelog: v1.46.0...v1.47.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.47.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.47.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.47.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.47.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.11
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.16
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.19
- us-docker.pkg.dev/agones-images/examples/crd-client:0.19
- 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.36
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.16
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:2.2
Helm chart available with this release:
Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable