Breaking Changes
- make UDP IO backend runtime configurable (#1414)
Features
- Add more metrics around phoenix and game traffic (#1047)
- Add initial nmap-service-probes crate (#1059)
- Allow XDP when force flag is set (#1070)
- Add xDS provider (#1087)
- Add service.id as a parameter (#1097)
- Add phoenix_distance metric (#1115)
- parse origin IP through proxy headers (#1132)
- add
clusterlabel to active_endpoints metric (#1149) - add metrics to server. (#1158)
- add ASN information to metrics (#1159)
- add metrics (#1161)
- support pulling gameservers from multiple namespaces (#1177)
- add leader election to configuration, and block mDS communication on being the leader (#1176)
- add support for logging to files (#1212)
- update unreal plugin. (#1231)
- Clean up Datacenters which fail to respond to qcmp pings (#1267)
- Add network coordinate route (#1286)
- Add decryptor filter (#1035)
- Initial corrosion integration (#1348)
- Batch k8s events to prevent excessive calls to
EndpointSet::update()(#1370) - add http provider + provider benchmarks (#1379)
- arm image support (#1404)
- add db limit options, add checks for database at startup (#1403)
- recover from SQLITE_FULL errors (#1407)
- add udp benchmarks (#1416)
- add corrosion provider loadtest (#1417)
- use wal normal mode (#1425)
- QuicDcid strategy for
quilkin.filters.capture.v1alpha1.Capturefilter (#1419) - reduce frequency and add parameter
- query queue count dynamically from the system
- add more metrics around traffic
- publish multi-arch amd64 + arm64 images
- add more configuration options
- reap tombstones of deleted endpoints
- move to n-dimensional coordinates
Fixes
- Guard against invalid gameserver events (#1041)
- fix env var names (#1085)
- Add health check enabled to xDS provider (#1088)
- use new health check bool (#1091)
- Add short timeouts and keepalive intervals (#1141)
- set distance metric on none branch (#1142)
- shutdown on panic (#1144)
- fix metric name (#1164)
- use consistent semantics for watching gameservers (#1198)
- spawn mmdb provider in new API (#1208)
- canonise IP address in process_client_packet (#1218)
- do not terminate task on completion (#1219)
- actually wait for sessions to drain during shutdown (#1224)
- canonise server_addr in XDP (#1226)
- Don't clear local config when connection is lost (#1256)
- Ensure Datacenter xDS resource names and versions are consistent (#1276)
- don't block xDS task when outgoing request buffer is full (#1297)
- don't return on gameserver stream error, just continue (#1307)
- Change how latency to other nodes is measured (#1364)
- reject invalid ports (#1372)
- rustdoc errors & warnings
- compose example
- add udp session limit to prevent unbounded growth (#1396)
- compile errors in agones crate (#1410)
- agones tests running on GHA (#1411)
- k8s readiness check (#1413)
- remove panic on connect_insecure call
- restore cache_size pragma even when vacuuming fails
- don't panic on tracing install
- update to 0.9.20 (RUSTSEC-2026-0204)
- count more errors in metrics
- add octet-stream content type to /debug/pprof/allocs
- set user as root
- reorder so program is attached before bind
- change idle timeout
- prevent hostname resolution panics during packet processing
- accept any width of integer for ASN
- probe buffer ring registration so auto falls back to poll
- stop two sessions to the same gameserver from sharing a port
- drop removed datacenters, not relay itself
- don't cache maxmind misses from before the database loads