Skip to content

Releases: googleforgames/agones

v1.44.0

09 Oct 00:32
24c3673
Compare
Choose a tag to compare

v1.44.0

This is the 1.44.0 release of Agones.

In this release, we have added beta support for Extended Duration Pods on GKE Autopilot, improved the Minikube documentation for running Agones, and updated the Helm and Fleet Autoscaler documentation. Additionally, we've upgraded the versions of Go and gRPC for improved performance and security.

  • Beta Support for Extended Duration Pods on GKE Autopilot: The GKEAutopilotExtendedDuration feature has progressed to beta in this release and is now enabled by default.

  • Documentation Enhancement for Setting Up Agones on Minikube with Docker on Windows: We have updated the instructions for running Agones on Minikube using the Docker driver on Windows. This update includes simple steps for publishing ports, making it easy to connect to GameServers without any extra setup.

  • Documentation Updates for Agones component Host Network Support: The documentation now includes Helm fields for enabling extensions components to use the host network and configure ports on EKS. For more details, please refer to our Helm and EKS guides.

  • Documentation Update for Fleet Autoscaler: Added documentation on schedule and chain policy features to optimize game server Fleet Autoscaler.

  • Updated Versions Go v1.22.6 and gRPC v1.65.0 Now Live: We have upgraded to Go v1.22.6 and gRPC v1.65.0, which bring enhanced performance and crucial security updates.

What's Changed

Implemented enhancements

  • Unreal SDK - Added counters to unreal sdk by @GloryOfNight in #3935
  • Unreal SDK - Add Support for GameServer Status Addresses by @KAllan357 in #3932
  • Updates upgrade test to install multiple versions of Agones on a cluster in succession by @igooch in #3982
  • Adds game server template with containerized sdk-client-test by @igooch in #3987
  • Adds clusters for the in place upgrades tests by @igooch in #3990
  • Test in place upgrades run tests by @igooch in #3991
  • Move Feature GKEAutopilotExtendedDurationPods To Beta by @kamaljeeti in #4006

Fixed bugs

Other

New Contributors

Full Changelog: v1.43.0...v1.44.0

Images available with this release:

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.43.0

29 Aug 13:31
37432d1
Compare
Choose a tag to compare

This is the 1.43.0 release of Agones.

In this release, we updated the supported Kubernetes version, added a new scheduled autoscaler, as well as Unity support for Counters and Lists..

  • Kubernetes 1.30 Support
    With this release, the Kubernetes support matrix for Agones is now 1.28, 1.29 and 1.30.

  • Alpha support for ScheduledAutoscaler
    This provides the ability to have Fleet autoscaler scheduling with the feature flag ScheduledAutoscaler, to allow you to schedule what level of autoscaling you would like on a schedule or between dates, giving you more control over your autoscaling needs.

  • Unity SDK: Counters and Lists
    We now have support for GameServer Counters and Lists with our Unity SDK!

  • New Helm Installation Configuration Options
    Two new installation options!

    We made the parameters that control how fast we scale up and down GameServers configurable, so you can see how fast your Kubernetes control plane really is when spinning up lots of GameServer instances.

    We also have new Helm configuration options that allow the use of the host network for the Agones controller and extensions for AWS EKS when using Cilium.

  • Beta support for Passthrough PortPolicy on GKE Autopilot
    We’ve graduated Passthrough Port Policy support from Alpha to Beta on GKE Autopilot, which you can now enable using the feature flag AutopilotPassthroughPort.

What's Changed

Breaking changes

Implemented enhancements

  • Add Option to Use Host Network and Configure Ports by @Orza in #3895
  • Graduate Passthrough Port Policy to Beta on Autopilot by @vicentefb in #3916
  • Agones Unity SDK development setup instructions + Agones Unity SDK Ready test by @aallbrig in #3887
  • feat: Add API Changes and Validation for FleetAutoscaler Schedule/Chain Policy by @indexjoseph in #3893
  • feat: Adds autoscaling logic for new Chain and Schedule policies by @indexjoseph in #3929
  • Adds basic framework for the in place Agones upgrades test controller by @igooch in #3956
  • [Performance] - Added a new metric inside the allocator to track the success retry rate inside the retry loop by @vicentefb in #3927
  • Make the parameters that limits the number of GameServers to add configurable by @vicentefb in #3950
  • feat: Adds e2e tests for chain/schedule policy and bump ScheduledAutoscaler to Alpha by @indexjoseph in #3946
  • Implement CountsAndLists for Unity SDK + Tests by @ZeroParticle in #3883

Fixed bugs

Other

New Contributors

Full Changelog: v1.42.0...v1.43.0

Images available with this release:

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.42.0

17 Jul 01:55
11cc336
Compare
Choose a tag to compare

This is the 1.42.0 release of Agones.

In this release we’ve added support for Kubernetes Security Contexts for all Agones containers, updated our documentation, and moved work forward on In-place Agones Upgrades and Scheduled Autoscalers.

Note: In this release we also removed the ConnectAsync method from the C# SDK, since it wasn’t providing any functionality for several releases. There’s no need to upgrade SDK’s at this time, but be aware that if you do, this function call will need to be removed from your code.

  • Enhanced Security Context in Agones Containers:
    Security enhancements have been implemented in the Agones Helm chart to support configuring runAsUser, runAsGroup, and allowPrivilegeEscalation for core components (controller, extensions, ping, allocator), ensuring secure container operations. Additionally, default security configurations have been hardcoded into the game server sidecar template, enhancing overall container security.

  • Documentation Enhancements:
    We updated the client sdk page to include that Counters and Lists have been implemented in the Node.js SDK. Additionally, clarification has been provided that the UpdateList REST documentation, specifically for how this pertains to the Local SDK Server.

What's Changed

Breaking changes

  • Update csharp.md to indicate ConnectAsync is deprecated by @aallbrig in #3866

Implemented enhancements

  • Add security context to Agones containers by @peterzhongyi in #3856
  • Add Security Context to game server sidecar by @peterzhongyi in #3869
  • Drop CountsAndLists Data from the Fleet and Game Server Set When the Flag is False by @igooch in #3881
  • Adds tests to confirm that Fleet, Fleet Autoscaler, and Fleet Allocation apply defaults code is idempotent by @igooch in #3888
  • feat: Add CRD Changes and Feature Flag for chain policy by @indexjoseph in #3880

Fixed bugs

  • sdk-server expects SDK_LOG_LEVEL by @KAllan357 in #3858
  • this will resolve From/layer extraction issue on ltsc2019 in examples by @ashutosji in #3873
  • featuregate: adds validation if PortPolicyNone is not enabled by @daniellee in #3871
  • added local as default for registry when registry is not specified by @kamaljeeti in #3876
  • Buffer Unity SDK ReceiveData when watching for configuration changes by @ZeroParticle in #3872
  • agones-{extensions,allocator}: Make servers context aware by @zmerlynn in #3845
  • added condition for distributed logic by @ashutosji in #3877

Security fixes

  • Bump @grpc/grpc-js from 1.10.7 to 1.10.9 in /sdks/nodejs by @dependabot in #3863

Other

  • Preparation for Release v1.42.0 by @ashutosji in #3854
  • Add helpful note to edit-first-gameserver-go by @peterzhongyi in #3846
  • Moved Passthrough feature description to the correct section in Feature Stages by @vicentefb in #3861
  • Updated Node.js Page to Reflect that Counters and Lists is Implemented by @ashutosji in #3865
  • Change Slack channel description from #developers to #development by @branhoff in #3868
  • updated UpdateList documentation for local sdk server and sdk server by @ashutosji in #3878
  • Add zio-agones to the list of third party client SDKs by @ghostdogpr in #3875
  • refactor simple game server by @ashutosji in #3817
  • Update Slack invite link by @markmandel in #3896
  • Added cleanup for app-engine services in cloudbuild script by @kamaljeeti in #3890
  • Adds a command to generate the zz_generated.deepcopy.go files for the apis by @igooch in #3900
  • update go version to 1.21.12 by @ashutosji in #3894

New Contributors

Full Changelog: v1.41.0...v1.42.0

Images available with this release:

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.41.0

04 Jun 23:03
2abfd71
Compare
Choose a tag to compare

This is the 1.41.0 release of Agones.

In this release, we’ve graduated the Counters and Lists feature to Beta, added a new None PortPolicy in Gameserver if you only want in-cluster communications, and started work on in-place upgrades of Agones -- starting with providing SDK compatibility guarantees between versions. . Additionally, we now have Alpha support for the Passthrough PortPolicy on GKE Autopilot.

  • Graduate Counters and Lists to Beta: We’ve graduated the Counters and Lists Feature from Alpha to Beta, which also includes a new Counters and Lists documentation landing page.

  • Node.js SDK for Counters and Lists: We’ve rolled out the implementation in the Node.js SDK for the Counters and Lists feature. This update implements the Node.js client methods that simplify the process of tracking numeric counters and lists of values on GameServers.

  • New “None” PortPolicy: A new PortPolicy “None” has been added as an Alpha feature. This allows direct connection to a Gameserver instance using only the PodIP and the ContainerPort, if you do not want to use a hostPort on your Nodes and/or keep traffic only within a cluster.

  • Moved sdk-server to utilize Patch instead of Update: This is the first step in building out support for In-place Agones upgrades and published SDK compatibility guarantees between Agones versions..

  • Alpha support for Passthrough PortPolicy on GKE Autopilot: You can now enable Passthrough Port Policy support on GKE Autopilot with the feature flag AutopilotPassthroughPort.

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: v1.40.0...v1.41.0

Images available with this release:

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.40.0

23 Apr 19:55
f306a3f
Compare
Choose a tag to compare

This is the 1.40.0 release of Agones.

In this release, we’ve updated our Kuberenetes support to include version 1.29, introduced a new implementation in the CSharp SDK for the Counters and Lists, graduated the FleetAllocationOverflow feature to stable, moved the DisableResyncOnSDKServer feature into beta and refined the documentation for Counters and Lists to simplify usage and enhance clarity.

  • Kubernetes Support Update 1.29: We’ve upgraded our Kubernetes compatibility to include version 1.29 and have discontinued support for version 1.26. Our current supported versions are now 1.27, 1.28, and 1.29. Please ensure your clusters are upgraded to one of these supported versions.

  • CSharp SDK for Counters and Lists: We’ve rolled out a new implementation in the CSharp SDK for the Counters and Lists features, along with significant enhancements to the documentation. These updates simplify the process of tracking numeric counters and lists of values on GameServers, providing clearer guidance.

  • Support for Extended Duration Pods on GKE Autopilot: Starting with Kubernetes version 1.28, we now support extended duration pods in Agones on GKE Autopilot. The GKEAutopilotExtendedDurationPods feature has been moved to Alpha status and requires Kubernetes versions 1.28 or newer. This enhancement is essential for those needing longer-lived pods in managed Kubernetes environments.

  • DisableResyncOnSDKServer in Beta: The DisableResyncOnSDKServer feature has progressed to beta in this release and is now enabled by default. This feature sets the resync interval to 0 to enhance performance by eliminating unnecessary resyncs.

  • FleetAllocationOverflow now Stable: With the FleetAllocationOverflow feature now stable in this release, you can apply 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.

  • Unity SDK Update: Enhanced Address Retrieval for GameServers: We've enhanced functionality to allow developers to conveniently access all associated addresses, including both IP and DNS, for a game server. This change simplifies the integration and deployment process by providing complete address information.

  • Counters & Lists Documentation Enhancements: We've standardized sorting priorities in GameServerAllocation and Fleet to consistently use available capacity and set the default sorting order as Ascending, making it easier to understand. We also have a new Counters and Lists documentation landing page to explain the functionality in full.

  • Optimised GameServer Sub-Controller Queues: We noticed that parts of the Agones contoller were queuing way too many items than they should, resulting in consuming more memory than was ideal. This fixes that, ensuring that far fewer records get queued, resulting in a leaner memory footprint from the controller.

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Security fixes

Other

New Contributors

Full Changelog: v1.39.0...v1.40.0

Images available with this release:

Read more

v1.39.0

13 Mar 01:25
281d2e6
Compare
Choose a tag to compare

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 or Warning 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

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: v1.38.0...v1.39.0

Images available with this release:

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.38.0

30 Jan 23:37
1eb72bc
Compare
Choose a tag to compare

This is the 1.38.0 release of Agones.

Key highlights of this release include Nodepool Upgrades on GKE Terraform and the support of Pod Topology Spread Constraints, alongside internal upgrades to Golang, Docker, and Debian. We have also made improvements to the Agones documentation, particularly for the Counters and Lists feature.

  • Improved Counters and Lists: New life cycle management examples in the Agones documentation are now available for the Counters and Lists feature. Try it out, share your feedback, and if you find any bugs, please file issues and PRs.

  • Nodepool Upgrades on GKE Terraform: It’s an important update for managing node pools in Kubernetes clusters. We've separated node pool definitions from the cluster setup, allowing for easier updates and synchronization between control planes and nodes.

  • Pod Topology Spread Constraints: Want to utilize Pod Topology Spread Constraints on Agones components? Now you can with our new configuration options on our Helm chart.

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: v1.37.0...v1.38.0

Images available with this release:

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.37.0

20 Dec 04:44
e804614
Compare
Choose a tag to compare

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

Fixed bugs

Other

New Contributors

Full Changelog: v1.36.0...v1.37.0

Images available with this release:

Read more

v1.36.0

07 Nov 22:15
3e72a6c
Compare
Choose a tag to compare

This is the 1.36.0 release of Agones.

In this release:

  • We've added support for Kubernetes 1.28 and have discontinued support for 1.25 to bring the support matrix to 1.26, 1.27 and 1.28 . Please upgrade your clusters accordingly.
  • We’ve resolved path issues in the Unreal Engine Plugin to ensure compatibility with Unreal Engine 5.3.
  • We are now using Go 1.20.10 and gRPC 1.57.1, which includes a number of performance improvements and important security fixes.
  • GameServers that end up in Error state now have a delay before deletion, allowing developers a chance to see why they have failed, and prevent GameServer churn from overwhelming the Kubernetes control plane.
  • We've upgraded to the latest v0.7.1 Docsy- let us know if you see anything broken in the docs!

What's Changed

Breaking changes

Implemented enhancements

  • Adds CounterActions and ListActions to Allocation.proto by @igooch in #3407
  • Terraform template file for the performance test cluster by @gongmax in #3409
  • In the scenario test, submitting request in a fixed interval, exposing more error type by @gongmax in #3414
  • Adds GameServerAllocation e2e tests for Counters by @igooch in #3400
  • Adds Counter FleetAutoScaler e2e Test by @igooch in #3418
  • simple-game-server: Adds a graceful termination delay by @zmerlynn in #3436
  • add opt-out ttlSecondsAfterFinished setting for the pre-delete hook by @mikeseese in #3442
  • Add Cloudbuild step to run performance test by using the scenario test framework. by @gongmax in #3429
  • Implements UpdateList, AddListValue, and RemoveListValue in the SDK Server by @igooch in #3445
  • Adds Go SDK Client List Functions by @igooch in #3484
  • Updates LocalSDK UpdateCounter method by @igooch in #3487

Fixed bugs

Security fixes

  • Bump @babel/traverse from 7.20.1 to 7.23.2 in /sdks/nodejs by @dependabot in #3433

Other

New Contributors

Full Changelog: v1.35.0...v1.36.0

Images available with this release:

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.35.0

28 Sep 17:44
98bd2c5
Compare
Choose a tag to compare

This is the 1.35.0 release of Agones.

In this release, we've improved our internal development toolchain, refined the memory usage of GameServer sub-controllers, and updated essential components including grpc-gateway and Hugo.

  • Memory Usage Improvement: Increased the number of workers for sub-controllers of the GameServer controller to match other controllers, leading to a much more stable memory footprint for the controller as events don’t get backed up in the worker queues.

  • SDK Server Enhancements: The SDK server now has less verbose logging on Watch disconnections.

  • Component Updates: Hugo has been upgraded to version 0.118.2 and grpc-gateway has been upgraded to v2.17.1. Additionally, the joonix/log has been modified to utilize the new joonix.NewFormatter().

What's Changed

Implemented enhancements

  • Cloud build script for simple-game-server by @Kalaiselvi84 in #3314
  • feat: discard disconnected game server streams by @antiphp in #3328
  • Rust SDK on crates.io by @Kalaiselvi84 in #3332
  • restapi generation: clean before generation so we don't leak files by @zmerlynn in #3353
  • Implements GetCounter and UpdateCounter on the SDK Server by @igooch in #3322
  • Adds Go SDK client Counter functions by @igooch in #3372
  • Update Go simple-game-server to have commands for Counter SDK methods by @igooch in #3378
  • Adds GameServer e2e tests for Counters by @igooch in #3381
  • Updates Fleet and GameServerSet CRDs by @igooch in #3396
  • Add conformance test implementation for C# SDK by @yoshd in #3392
  • Adds fleet e2e test for Counter by @igooch in #3399

Fixed bugs

Other

New Contributors

Full Changelog: v1.34.0...v1.35.0

Images available with this release:

Helm chart available with this release:

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