# 1.59.0 - FleetAutoscaler Stability,Total Allocation Tracking,Stable Port Ranges, RollingUpdateFix Stability,Panic Resolutions, and AI Governance,Player Selection Logic Removal.

LLMS index: [llms.txt](/site/llms.txt)

---

This is the 1.59.0 release of Agones

This release strengthens system stability while expanding core fleet management capabilities. Key updates include promoting PortRanges and RollingUpdateFix to stable, introducing TotalAllocation tracking for deeper fleet insights, and the removal of the legacy Player Selection Logic. We have also resolved critical FleetAutoscaler flapping issues and controller panics to ensure reliable reconciliation, alongside new governance for responsible AI usage. These updates collectively improve platform resilience, network configuration, and operational visibility.

- **Support for Multiple Named Port Ranges Promoted to Stable:** Agones now officially supports multiple named dynamic port ranges in stable. This update allows you to define and manage isolated port pools via controller configuration, providing enhanced control and flexibility when allocating ports for your gameservers.

- **Reliable Fleet Rolling Updates:** The RollingUpdateFix has been promoted to Stable, ensuring more accurate fleet scaling during updates. By utilizing ReadyReplicas to trigger scale-down events, this change prevents the premature termination of active game sessions and guarantees a smoother transition between fleet versions.

- **Critical Stability and Panic Resolution:** We have addressed critical stability issues to prevent controller crashes and ensure reliable fleet reconciliation. This includes fixes for nil pointer panics in webhook and Wasm handlers when JSON payloads are missing expected fields, as well as robust error handling in UpdateList and GsListsMaxItems to prevent unexpected service interruptions.

- **FleetAutoscaler Flapping Resolution:** We have resolved a long-standing issue where FleetAutoscaler would enter a "flapping" state—repeatedly scaling up and down due to synchronization delays. The fix includes new regression testing to ensure stable scaling behavior and improved logic to correctly identify target servers during downscale events, resulting in more predictable fleet management under load.

- **Enhanced Fleet Visibility with Total Allocation Tracking:** Agones now tracks the aggregate number of GameServer allocations over time, providing deeper insights into fleet utilization. By exposing TotalAllocations in the FleetStatus, operators can now better optimize buffer sizes and fine-tune autoscaling strategies with more accurate data..

- **Improved AI-Coding Guidance & Governance:** To support the growing integration of AI tools in our development workflow, we have introduced a formal AI Usage Policy in the contributing guide and added an AGENTS.md file. These updates provide clear guidelines for contributors on the responsible use of AI tools while maintaining the high code-quality standards expected in the Agones project.

- **Removal of Player Selection Logic:** The PlayerAllocationFilter and PlayerSelector functionality have been removed from the GameServerAllocation API. This cleanup includes the removal of all associated proto definitions, internal filtering logic,and related e2e/unit tests.

**Breaking changes**
- Remove player allocation filter api proto by @indurireddy-TF in https://github.com/agones-dev/agones/pull/4624

**Implemented enhancements**
- feat: track allocations per fleet by @nrwiersma in https://github.com/agones-dev/agones/pull/4513
- feat: add matchExpressions support to Allocation Service by @markmandel in https://github.com/agones-dev/agones/pull/4630

**Fixed bugs**
- Fix/nil pointer dereference updatelist by @deezsecc in https://github.com/agones-dev/agones/pull/4611
- fix: nil pointer panic in webhook and wasm FleetAutoscaler handlers by @markmandel in https://github.com/agones-dev/agones/pull/4596
- fix: Fix flapping with list-based FleetAutoscaler by @rhysperry111 in https://github.com/agones-dev/agones/pull/4625

**Other**
- Preparation for Release v1.59.0 by @indurireddy-TF in https://github.com/agones-dev/agones/pull/4579
- meta: add governance model and update code of conduct to CNCF by @markmandel in https://github.com/agones-dev/agones/pull/4573
- docs: add KubeStellar Console to Third Party Libraries and Tools by @clubanderson in https://github.com/agones-dev/agones/pull/4538
- Update crd-client example by @markmandel in https://github.com/agones-dev/agones/pull/4580
- example: crd-client extra cleanup by @markmandel in https://github.com/agones-dev/agones/pull/4581
- Update Extism plugin in build by @markmandel in https://github.com/agones-dev/agones/pull/4583
- build(deps): bump github.com/go-git/go-git/v5 from 5.18.0 to 5.19.1 in /build/scripts/example-version-checker by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4574
- build: fix ci - pin python grpc-tools by @markmandel in https://github.com/agones-dev/agones/pull/4603
- build: pin GHA to commit SHAs, add workflow permissions and dependabot by @markmandel in https://github.com/agones-dev/agones/pull/4601
- build: bump actions/github-script from 6.4.1 to 9.0.0 by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4607
- build: bump actions/stale from 8.0.0 to 10.3.0 by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4605
- example: allocation-endpoint update dependencies by @markmandel in https://github.com/agones-dev/agones/pull/4608
- test: give each TestCounters/TestLists subtest its own GameServer by @markmandel in https://github.com/agones-dev/agones/pull/4610
- build: bump actions/checkout from 3.6.0 to 6.0.3 by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4612
- Update supertuxkart example to version 0.24 by @markmandel in https://github.com/agones-dev/agones/pull/4588
- chore: upgrade website to Docsy 0.15.0 by @Cloud-Architect-Emma in https://github.com/agones-dev/agones/pull/4593
- Remove PlayerTracking documentation references by @indurireddy-TF in https://github.com/agones-dev/agones/pull/4585
- build: bump adRise/update-pr-branch from 0.6.0 to 0.11.0 by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4606
- Implement an AI Usage policy for the contributing guide. by @markmandel in https://github.com/agones-dev/agones/pull/4613
- build: bump @grpc/grpc-js from 1.14.3 to 1.14.4 in /sdks/nodejs by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4614
- build: bump uuid from 8.3.2 to removed in /sdks/nodejs in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4622
- build: bump custom-controller to v0.14 with dependency upgrades by @markmandel in https://github.com/agones-dev/agones/pull/4619
- refactor: remove PlayerTracking and PlayerAllocationFilter examples by @indurireddy-TF in https://github.com/agones-dev/agones/pull/4623
- build: bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4626
- Add AGENTS.md for AI coding agents by @ayush-that in https://github.com/agones-dev/agones/pull/4618
- test: fix allocator e2e tests hanging on unresponsive gRPC server by @markmandel in https://github.com/agones-dev/agones/pull/4628
- build: replace MetalLB with minikube tunnel for LoadBalancer support by @markmandel in https://github.com/agones-dev/agones/pull/4629
- build: print debug info on helm install failure by @ayush-that in https://github.com/agones-dev/agones/pull/4632
- feat: promote PortRanges feature gate from Beta to Stable by @Sivasankaran25 in https://github.com/agones-dev/agones/pull/4609
- test: Modernise TestFleetAutoScalerRollingUpdate e2e tests by @markmandel in https://github.com/agones-dev/agones/pull/4631
- build: bump adRise/update-pr-branch from 0.11.0 to 0.11.1 by @dependabot[bot] in https://github.com/agones-dev/agones/pull/4634
- Issue-4589: Promote RollingUpdateFix feature gate from Beta to Stable by @Oliver-ke in https://github.com/agones-dev/agones/pull/4621

**New Contributors**
- @clubanderson made their first contribution in https://github.com/agones-dev/agones/pull/4538
- @deezsecc made their first contribution in https://github.com/agones-dev/agones/pull/4611
- @Cloud-Architect-Emma made their first contribution in https://github.com/agones-dev/agones/pull/4593
- @ayush-that made their first contribution in https://github.com/agones-dev/agones/pull/4618
- @rhysperry111 made their first contribution in https://github.com/agones-dev/agones/pull/4625
- @Oliver-ke made their first contribution in https://github.com/agones-dev/agones/pull/4621

See <a href="https://github.com/agones-dev/agones/blob/release-1.59.0/CHANGELOG.md" data-proofer-ignore>CHANGELOG</a> for more details on changes.

Images available with this release:

- [us-docker.pkg.dev/agones-images/release/agones-controller:1.59.0](https://us-docker.pkg.dev/agones-images/release/agones-controller:1.59.0)
- [us-docker.pkg.dev/agones-images/release/agones-sdk:1.59.0](https://us-docker.pkg.dev/agones-images/release/agones-sdk:1.59.0)
- [us-docker.pkg.dev/agones-images/release/agones-ping:1.59.0](https://us-docker.pkg.dev/agones-images/release/agones-ping:1.59.0)
- [us-docker.pkg.dev/agones-images/release/agones-allocator:1.59.0](https://us-docker.pkg.dev/agones-images/release/agones-allocator:1.59.0)
- [us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.17](https://us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.17)
- [us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.23](https://us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.23)
- [us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.26](https://us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.26)
- [us-docker.pkg.dev/agones-images/examples/crd-client:0.26](https://us-docker.pkg.dev/agones-images/examples/crd-client:0.26)
- [us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.11](https://us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.11)
- [us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.14](https://us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.14)
- [us-docker.pkg.dev/agones-images/examples/simple-game-server:0.43](https://us-docker.pkg.dev/agones-images/examples/simple-game-server:0.43)
- [us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.24](https://us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.24)
- [us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3](https://us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3)
- [us-docker.pkg.dev/agones-images/examples/xonotic-example:2.8](https://us-docker.pkg.dev/agones-images/examples/xonotic-example:2.8)

Helm chart available with this release:

- <a href="https://agones.dev/chart/stable/agones-1.59.0.tgz" data-proofer-ignore>
  <code>helm install agones agones/agones --version 1.59.0</code></a>

> Make sure to add our stable helm repository using `helm repo add agones https://agones.dev/chart/stable`
