1.12.0 (2026-05-15)
- limit ingestion request body size to valid csgsi payloads (64kb). this change hardens the api against denial-of-service attacks. previously, an adversary could send up to 30mb of json, causing the server to spend excessive resources attempting to deserialize an oversized payload that could not have originated from a legitimate client. (b287ecc)
- deps: update dotnet monorepo to 10.0.8 (653a325)
- use source generated logging in token authorization middleware (1b1fc27)
1.11.2 (2026-04-27)
- deps: update dotnet monorepo to 10.0.7 (b679bc4)
1.11.1 (2026-03-16)
- homeassistant: correct issue causing truncation of device and sensor names for accounts with steamid64 >= 76561198228701184. affected users may need to update their automations. (0319397)
1.11.0 (2026-03-15)
- add support for player_match_stats from game state integration (66d5c4a)
- deps: update dotnet monorepo to 10.0.5 (e9e5f2d)
- mqtt: optimize data structure for message routing (bbd05e9)
1.10.1 (2026-02-12)
- deps: update dependency mqttnet to 5.1.0.1559 (242bcb9)
- deps: update dotnet monorepo to 10.0.3 (bf2f3d9)
1.10.0 (2026-02-08)
- homeassistant: cs2mqtt will now automatically fetch mqtt configuration from the home assistant supervisor api when running as an add-on. to revert to manual configuration, disable the "auto-configure mqtt" option in the add-on configuration page. (ebd82bc)
- deps: update dotnet monorepo to 10.0.2 (46fb2bb)
1.9.2 (2025-12-11)
- add compatibility with arms race mode (90ad315)
- add compatibility with retake mode (90ad315)
- add compatibility with training day (90ad315)
- add compatibility with wingman mode (90ad315)
- upgrade project to dotnet 10 (b126c20)
1.9.1 (2025-10-04)
- homeassistant: gracefully handle empty payloads in value_templates (cd8298d)
1.9.0 (2025-09-30)
- add option to ignore data from spectated players. it is now enabled by default and must be disabled to revert to previous behavior. (8573417)
- ha-addon: add cs2mqtt icon and logo (e1c1134)
- ha-addon: expose more cs2mqtt options on configuration page and tidy up (41ddace)
- ha-addon: use /alive endpoint for watchdog health checks (e886dce)
- logging: add timestamps to log messages (59b214a)
- logging: log cs2 gsi api requests at debug level (ad118ee)
1.8.1 (2025-09-26)
- mqtt: fix availability bug preventing sensor from transitioning offline -> online (e2a50c7)
- in the documentation for
gamestate_integration_cs2mqtt.cfg, it originally had"heartbeat" "60.0", but it turns out this value also determines how long cs2 waits before sending player game state data when joining a deathmatch game or when switching from free cam to spectating a player in a casual game and more. the new recommended value is"heartbeat" "5.0". please update your existing configs as you see fit. (6deb9d7)
1.8.0 (2025-09-25)
- homeassistant: add cs2 game device connectivity sensor (8c3b03c)
- homeassistant: convert flashed sensor to boolean value (2ba6cb0)
- homeassistant: convert smoked and burning sensor measurements to percentage (305a0fd)
- homeassistant: use state_class: 'measurement' for numerical sensor values (c3b1808)
- mqtt: correctly log connection retry delay when wait is over 1 minute (1f30728)
- mqtt: ensure cs2mqtt shuts down after max reconnect attempts (2d8c139)
1.7.0 (2025-09-19)
- homeassistant: add unit of measurement to various sensors (f520b83)
- homeassistant: enable installing cs2mqtt as an add-on via repository (06e5f1f)
- mqtt: throw exception when authentication fails (d0177b6)
1.6.9 (2025-09-16)
1.6.8 (2025-08-05)
- deps: update dotnet monorepo to 9.0.8 (c949a9c)
1.6.7 (2025-07-15)
1.6.6 (2025-06-12)
1.6.5 (2025-05-15)
- deps: update dotnet monorepo to 9.0.5 (a86f4b3)
1.6.4 (2025-04-24)
- deps: update dotnet monorepo to 9.0.4 (2105f4e)
1.6.3 (2025-03-11)
- deps: update dotnet monorepo to 9.0.3 (7f32ef2)
1.6.2 (2025-02-11)
- deps: update dotnet packages to 9.0.2 (a74f2f4)
1.6.1 (2025-02-06)
- deps: update dependency polly to 8.5.2 (71f125c)
1.6.0 (2025-01-20)
- api: add healthcheck endpoints /health and /alive (ad9c6cd)
- remove duplicate binding of gamestate options (308821d)
1.5.2 (2025-01-14)
1.5.1 (2025-01-11)
- homeassistant: fix bridge device being connected via unnamed device (aeff30a)
1.5.0 (2025-01-08)
- upgrade to dotnet 9 (219ff68)
1.4.1 (2025-01-05)
- deps: update dependency mqttnet to 5.0.1.1416 (56223ca)
1.4.0 (2025-01-05)
- mqtt: add protocol version as an optional option (85f2895)
- deps: update dependency mqttnet from v4 to v5 (2953184)
1.3.0 (2024-10-27)
- homeassistant: append textual steamid (steam_x:y:z) to the mqtt device name (9193d1a)
- homeassistant: publish cs2mqtt as a bridge device; use it as via_device for game state devices (98148ec)
1.2.1 (2024-10-13)
- homeassistant: show "inactive" for bomb when value is null instead of "unknown" (7292ef1)
1.2.0 (2024-10-02)
- mqtt: publish offline message to all availability topics on graceful shutdown (30db192)
1.1.2 (2024-09-17)
- homeassistant: use
availability_mode: allfor mqtt entities (32e8991)
1.1.1 (2024-09-15)
- mqtt: ensure no broker reconnect is attempted on graceful shutdown (4e0def7)
- mqtt: publish offline message to system availability topic on graceful shutdown (5248c52)
1.1.0 (2024-08-11)
- homeassistant: use assembly version for mqtt device sw version (9c64973)
- Bridge events from Counter-Strike 2 Game State Integration to any MQTT broker
- Separate events from multiple providers into their own MQTT topics
- Keep track of the latest game state and emit the same data only once, using the MQTT retain flag
- Allow providers to limit and customize the data included in their payloads
- Maintain a system-wide availability topic
- Maintain separate availability topics for each type of game state component, for each provider
- Automatically detect when providers close their game/stop sending data and emit availability status for them
- Utilize the HomeAssistant MQTT device discovery protocol to automatically create a
cs2mqttdevice for each provider, with all data exposed as sensors - Expose data on REST API endpoints
- Optionally use pre-shared key (token) auth from CS2 Game State Integration on HTTP ingestion endpoint
- Optionally use TLS, custom client ID and credentials for MQTT broker