v1.37.0
This is the 1.37.0 release of Agones.
This release sees the first milestone of a over-a-year series of work on the functionality of arbitrary Counters and Lists attached to each GameServer!
We’ve also upgraded the following features: CountsAndLists to alpha, FleetAllocationOverflow to Beta, and PodHostName, ResetMetricsOnDelete, and SplitControllerAndExtensions to Stable - with defaults below.
CountsAndLists: This feature flag provides functionality for a configurable set of Counters or Lists be attached to GameServers with attached allocation and autoscaling functionality to provide a flexible implementation that can handle a wide range of use cases such as player tracking, high density game server room tracking, and could even be used for game specific game server allocation prioritization.
Documentation is a little sparse in this release, but will grow! We’re focusing on the reference material first and will then expand into more in-depth guides and integration patterns.
Note: Counters and Lists will eventually replace the Alpha functionality of Player Tracking, which will subsequently be removed from Agones. If you are currently using this Alpha feature, we would love for you to test (and ideally migrate to!) this new functionality to ensure it will meet all your needs.
FleetAllocationOverflow: 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.
PodHostName: Enables the assignment of the GameServer’s name as the PodHostname.
ResetMetricsOnDelete: This feature instructs the metrics service to unregister and then re-register the relevant metrics view to reset their state immediately whenever an Agones resource is deleted.
SplitControllerAndExtensions: This feature introduces an important change in Agones for high availability. It separates the system's responsibilities into two binaries: the controller
, which now handles Kubernetes object monitoring and uses a leader election system to keep only one active controller at a time, and a new horizontally scalable extensions
binary, focused on managing webhook endpoints.
What's Changed
Implemented enhancements
- Adds Counter conformance test by @igooch in #3488
- Adds List SDK methods to simple-game-server by @igooch in #3500
- Support appProtocol by @Kalaiselvi84 in #3502
- Adds gameserver e2e test for Lists by @igooch in #3507
- Adds fleet e2e test for lists by @igooch in #3510
- Disable resync on SDK Server by @Kalaiselvi84 in #3508
- Move PodHostName to Stable by @Kalaiselvi84 in #3517
- Adds gameserverallocation e2e tests for Lists by @igooch in #3516
- Move FleetAllocationOverflow to Beta by @Kalaiselvi84 in #3515
- Move ResetMetricsOnDelete to Stable by @Kalaiselvi84 in #3518
- Adds fleetauotscaler e2e test for Lists by @igooch in #3519
- Another List fleet autoscaler e2e test by @igooch in #3521
- Adds Go Conformance Tests for Lists by @igooch in #3524
- Move CountsAndLists to Alpha by @Kalaiselvi84 in #3527
- Move SplitControllerAndExtensions to Stable by @Kalaiselvi84 in #3523
- Add clusterIP for agones-allocator in helm chart by @govargo in #3526
- GKE Autopilot: Add support for Extended Duration pods by @zmerlynn in #3387
- Counter and List Aggregate Fleet Metrics by @igooch in #3528
- CountsAndLists: SDK Reference by @Kalaiselvi84 in #3537
- Adds Counters and Lists REST API Conformance Tests by @igooch in #3546
- CountsAndLists: Yaml Examples And References by @Kalaiselvi84 in #3552
Fixed bugs
- Xonotic: gLibc incompatibility by @markmandel in #3495
- Fixes occasional data race flake with TestSDKServerAddListValue by @igooch in #3505
- handle static port policy by @ashutosji in #3375
- Prevent Redundant Windows SDK Builds by @Kalaiselvi84 in #3520
- CloudBuild: Fix for cache image rebuild by @markmandel in #3535
Other
- Prep for release v1.37.0 by @Kalaiselvi84 in #3493
- Test SuperTuxKart Image by @Kalaiselvi84 in #3496
- Test Rust Image by @Kalaiselvi84 in #3499
- Test cpp-simple image by @Kalaiselvi84 in #3497
- Add steps to update performance test clusters when upgrading k8s version by @gongmax in #3501
- Test NodeJS image by @Kalaiselvi84 in #3498
- Bumps simple-game-server version to 0.22 by @igooch in #3504
- xonotic image test by @Kalaiselvi84 in #3494
- Bump helm install timeout to 10m by @zmerlynn in #3506
- Add Shulker to the Agones adopters list by @jeremylvln in #3503
- Remove warning on C# SDK Docs by @Kalaiselvi84 in #3525
- Ensure ci/save_cache and ci/restore_cache images don't get deleted by cleanup policy by @Kalaiselvi84 in #3522
- GH Action: Size label for PRs by @markmandel in #3532
- Flake: TestControllerWatchGameServers by @markmandel in #3534
- Go CRD Comment Updates for Counters and Lists by @markmandel in #3536
- Simple Game Server Example: Upgrade Docker to 24.0.6 by @Kalaiselvi84 in #3531
- CI: Fix 404 on CI link testing by @markmandel in #3542
- Xonotic Example: Docker 24.0.6 by @Kalaiselvi84 in #3538
- Bumps simple-game-server to 0.23 by @Kalaiselvi84 in #3543
- Tweaks to Client SDK reference by @markmandel in #3541
- Updates to Counter and List Alpha.proto Methods by @igooch in #3544
- Docs: SDK implementation matrixes by @Kalaiselvi84 in #3545
- Disable deletion protection for Autopilot test clusters by @gongmax in #3468
New Contributors
- @jeremylvln made their first contribution in #3503
Full Changelog: v1.36.0...v1.37.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.37.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.37.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.37.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.37.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.6
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.9
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.16
- us-docker.pkg.dev/agones-images/examples/crd-client:0.12
- us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.9
- us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.12
- us-docker.pkg.dev/agones-images/examples/simple-game-server:0.23
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.10
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:1.6
Helm chart available with this release:
Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable