diff --git a/CHANGELOG.md b/CHANGELOG.md index dfcc326..8d267ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/). ### Changed +- CS2 changelog: add the removal of `player_status.is_spotted` under 2026-10-21. - Drop `player_status.is_spotted` from the CS2 spec and data dictionary. - CS2 changelog: add the `convar` channel and `header.is_queued_matchmaking` / `queued_matchmaking_mode` under 2026-10-15 (parser 6.0.0), and `header.round_time`, `objective`, `patch_version`, `is_pov_recording` and `is_truncated` under 2026-10-16 (parser 6.2.0), dated from the production deployments. - CS2 spec: the header gains `round_time`, `objective`, `patch_version`, `is_pov_recording` and `is_truncated` (parser 6.2.0). The CS2 changelog gets its entry when the parser reaches production. diff --git a/docs/datascience/adx/cs2/csds/changelog-by-channel.md b/docs/datascience/adx/cs2/csds/changelog-by-channel.md index 3757df2..44ad5e0 100644 --- a/docs/datascience/adx/cs2/csds/changelog-by-channel.md +++ b/docs/datascience/adx/cs2/csds/changelog-by-channel.md @@ -288,6 +288,7 @@ Dates are the day (UTC) a change reached production. ## player_status +- **2026-10-21**, column removed: `is_spotted`. **Breaking:** no longer written, so code that reads it breaks. It was the game's own "spotted" flag on each player, and it proved unreliable as a sign of who could see whom: checked against real kills, it was never set for one victim who was being shot, and set only a fraction of a second before another kill. Matches published earlier keep the column. Some later manifests still list it, with origin `replay-deleted` and no data behind it. - **2026-10-14**, columns added: `progress_bar_start`, `progress_bar_duration`, `last_injury_time`, `is_in_reload`, `reserve_ammo`, `deploy_tick`. The player's and the held weapon's own state, all nullable. `progress_bar_start` and `progress_bar_duration` are the defuse progress bar. `progress_bar_start` is when the player's last defuse began, in seconds on the clock of `second`, and keeps that value after the defuse ends. `progress_bar_duration` is the bar's length in seconds while it shows (10, or 5 with a kit) and negative otherwise. CS2 doesn't use the bar for planting. `last_injury_time` is when the player last took damage, on the clock of `second`. Both times are null until first set. `is_in_reload` is the held weapon's reload flag; unlike `is_reloading` it falls as soon as a reload stops, and about a third of reloads end early in a weapon switch. `reserve_ammo` is the held weapon's reserve and drops by one magazine per completed reload; null for knives, grenades and equipment. `deploy_tick` is the tick the held weapon was drawn, joinable on `tick`. - **2026-10-05**, types changed: `player_id_fixed`. An integer in every match, with nulls where no player matched. Before, a match in which any row found no player wrote the column as a double, so its type changed from match to match. - **2026-10-05**, types changed. Written compactly, with the same values. Each integer column is the smallest signed type that holds it, `int8`, `int16` or `int32`, where it was `int64`. The floats read from the demo are `float32`, where they were `double`. `place_name` is dictionary-encoded. The spec's tables give every column's type. pandas reads nullable `Int8`, `Int16` or `Int32` where it read `Int64`, and a category for `place_name`. Element-wise arithmetic stays narrow and can wrap (with `int16` `money`, `money * 5` gives 14,464 for 16,000), so cast to a wider type first. How to read old and new files together is in [The player tables](./spec.md#the-player-tables). diff --git a/docs/datascience/adx/cs2/csds/changelog.md b/docs/datascience/adx/cs2/csds/changelog.md index c4f7e2a..573e276 100644 --- a/docs/datascience/adx/cs2/csds/changelog.md +++ b/docs/datascience/adx/cs2/csds/changelog.md @@ -25,6 +25,14 @@ The same changes are listed channel by channel on the removes personal data; and the publisher, which sends matches to Data Exchange. +## 2026-10-21 + +_The converter release that stops writing player_status.is_spotted._ + +**Columns removed** + +- `player_status.is_spotted`: **Breaking:** no longer written, so code that reads it breaks. It was the game's own "spotted" flag on each player, and it proved unreliable as a sign of who could see whom: checked against real kills, it was never set for one victim who was being shot, and set only a fraction of a second before another kill. Matches published earlier keep the column. Some later manifests still list it, with origin `replay-deleted` and no data behind it. + ## 2026-10-16 _Parser 6.2.0._