This is the 1.39.0 release of Agones.
In this release, we’ve made some important changes and introduced exciting new features, including an example for integrating GenAI, improved GameServer allocation results for Counters and Lists, and a new example custom GameServer controller.
Breaking Changes:
-
C++ gRPC Setup: This is a breaking change with our dependency management for C++ and gRPC. Our CMake file no longer automatically imports and compiles gRPC, as it was getting increasingly fragile. Now, to install the C++ SDK, you will need to install gRPC manually before installing the C++ SDK.
-
GKE Terraform - Agones-Metrics nodepools: With our latest tweak in GKE Terraform configuration, the
agones-metrics
nodepool is disabled by default, as not everyone will want it. If you do need it for Prometheus and Grafana? Just turn it on and you’re set.
Key highlights of this release include:
-
GenAI and Agones: We've added a new example GenAI game server that shows how to integrate Generative AI backends into your Agones game server.
-
Counters and Lists Allocation Results: GameServer Allocation results now also return the current state of Counter and List values on the allocated GameServer, making workflows based on these values much easier.
-
Concise SDK Logging: Our latest SDK update ensures that if you set an
Error
orWarning
log level on the SDK sidecar -- we now respect that for the entire lifecycle of the SDK sidecar process. -
New Example Custom GameServer Controller: See how to implement your own custom controller with Agones resources with only a small amount of code.
What's Changed
Breaking changes
- Breaking: Remove Cmake gRPC install when not found by @markmandel in #3621
- by default disable agones-metrics nodepools by @ashutosji in #3672
Implemented enhancements
- More description on fleetautoscaler.md by @markmandel in #3632
- Modify NewSDK(): Hardcode localhost by @Kalaiselvi84 in #3676
- Allow passing values to Helm release of the Agones Terraform module by @Pierca7 in #3665
- Create Controller Example by @Kalaiselvi84 in #3680
- feat: allocation response with counters and lists data by @katsew in #3681
- simple-genai-server 0.2: Make autonomous mode effective by @zmerlynn in #3693
Fixed bugs
- fix(SdkList): fix list delete values panic by @GStones in #3615
- Define SDKServer LogLevel early by @Kalaiselvi84 in #3631
- Fix the handling of removing disconnected streams to avoid a panic when multiple streams disconnect from the sdkserver by @roberthbailey in #3668
- resolve flaky e2e test by @ashutosji in #3616
- fix: cannot load extensions image on minikube node by @katsew in #3682
- added mutex at right places by @ashutosji in #3678
- correct path of gameserver for windows node by @ashutosji in #3687
Other
- Prep for release v1.39.0 by @Kalaiselvi84 in #3620
- Flake: List Add/Delete Unit Tests by @markmandel in #3627
- Script to bump example images by @Kalaiselvi84 in #3626
- Linting: need
git ... --add safe.directory
by @markmandel in #3638 - Migrate to https://github.com/gomodules/jsonpatch by @markmandel in #3639
- Docs: Default Counter Capacity as 1000 by @Kalaiselvi84 in #3637
- Build: Replace godoc with pkgsite by @markmandel in #3643
- fix: typo by @qhyun2 in #3658
- Switch to debian:bookworm by @Kalaiselvi84 in #3657
- Document
Distributed
pod scheduling. by @markmandel in #3662 - Downscale performance test cluster by @markmandel in #3666
- Info log level on Performance tests by @markmandel in #3667
- Adds simple game server for gen AI by @igooch in #3628
- fix: minor typos for simple-genai-server endpoints and readme by @indexjoseph in #3673
- Local SDK: Counters and Lists by @Kalaiselvi84 in #3660
- Adds Chat Message History and Connects to the NPC Chat API by @igooch in #3679
- Adding build targets for the simple-genai-server example. by @roberthbailey in #3689
New Contributors
- @GStones made their first contribution in #3615
- @indexjoseph made their first contribution in #3673
- @Pierca7 made their first contribution in #3665
Full Changelog: v1.38.0...v1.39.0
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.39.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.39.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.39.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.39.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.6
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.11
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.17
- us-docker.pkg.dev/agones-images/examples/crd-client:0.14
- 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.27
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.11
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:1.7
Helm chart available with this release:
Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable