v3.11.0
CS Demo Manager is a free and open-source software not backed by any corporate entity.
You can support the project by contributing or donating.
- feat: add support for MatchZy demos #751
- feat(video): allow overlapping sequences #953
- feat(video): multiple cameras per sequence #923. This feature also means:
- allow to set camera focus on any player at any tick
- add a "Generate cameras" button to generate cameras for the current sequence
- add "focus camera on player" in sub context menus
- add camera markers on timeline
- add camera color indicators per player
- add a table to edit cameras quickly
- feat(video): increase max zoom
- feat(video): the "show only death notices" option is now configurable per sequence
- feat(video): add input to change seconds delay before/after round start/end #927
- feat(video): initial start/end ticks are now set to the first round start/end ticks
- feat(video): open sequence edition on double click on the sequences timeline
- feat(video): add a button to pause/resume the video queue #967
- feat(search): add how long it took for a multi kill event to happen in results #977
- feat(doc): introduce SQL recipes
- fix: selected date range filter not highlighted when interacting with date picker
v3.10.1
- feat(search): add
Round start
event to filter on rounds #964 - fix(playback): first action of highlight/lowlights ignored #963
v3.10.0
- feat: add maps from 13/11/2024 CS2 update
- feat: auto install updates on Linux
warning
While it should work on other distributions, It has been tested only on Ubuntu and Fedora!
- feat(match): show more economy stats in round details #937
- feat(demos): improved performance when scanning demos in a folder containing sub directories
- feat(playback): use WS connection to communicate with CS:GO, see this doc for details
- feat(playback): avoid initial demo playback blocked by the CS:GO legacy popup at startup
- feat(playback): the playback option to enable/disable players voices now works with CS:GO
- feat(video): add an option to enable/disable players voices per sequence
- feat: detect Steam Snap installation on Linux
- fix(video): detect when raw files are missing
- fix(video): "process not found" on Windows when recording CS:GO videos #951
- fix(ui): kill/death diff column sort not working #961
- fix(team): click on Details from the teams table context menu redirects to player's page instead of team's page
- fix: wrong players and teams k/d stat calculation (it was an average) #960
- fix(ui): missing translations
v3.9.1
- fix(video): audio is now recorded when generating videos
v3.9.0
- fix: support for the "Armory" CS2 update #939
- feat: support markdown in comments #916
- feat(analyze): improved performance when analyzing demos
- feat(video): generate video even if there is no audio file (see warning below)
- feat(video): detect CS process crash when launching it through HLAE #920
- feat(ui): add Deutch translation. You can help translating the application too!
- fix(analyze): possible error with some demos #12 and #567
- fix(match): update demo location not updated until app restart #925
- fix (2d): grenade effects not rendering
- fix(2d): playback speed a bit slower than realtime #924
- fix(dl): cs_office games shown as de_assembly #935
- fix(video): possible raw files not found error #920
Due to a CS2 bug since the "Armory" update, the audio when generating videos is not available!
v3.8.1
- fix(analyze): incorrect match's date #915
- fix(ui): ignore keyboard navigation shortcuts from comment inputs #913
v3.8.0
- feat(analyze): extract chat from CS2 demos
- feat(match): re-enable chat tab for CS2 Valve demos #731
- feat: allow editing players' name from scoreboards or the players list #897
- feat(match): add "Generate player's deaths" in scoreboard context-menu #903
- feat(video): allow CS2 video generation on linux
- feat(video): allow to choose player/enemy POV when generating player's sequences #902
- feat(video): enable death notices edition for CS2 (excepted the players name)
- feat(video): add button to retry when generation failed #901
- feat(xlsx): add teams equipment value in rounds sheet
- feat: ask to reset database when installing an older app version #891
- feat: increase psql connect max timeout to 10s #909
- fix(playback): CS2 demo UI may be visible #910
- fix(analyze): possible error when analyzing demos #904
- fix(video): preserve raw files / output folder path on retry
v3.7.1
- feat(video): add option to generate player's deaths sequences #892
- feat(video): add "Edit sequences settings" button to update all current sequences settings #893
- feat: support for Steam China Windows client #887
- feat(video): pass
-noConfig
argument to HLAE to not override launcher settings #886 - feat(video): highlight "Update software" and "Delete sequences" buttons
- feat(video): check for HLAE updates every 2 hours instead of 24 hours
- feat(player): show most played map first in the list
- fix: psql process not terminating on connection timeout #890
- fix: error when inserting a huge amount of steam accounts in a single query #890
v3.7.0
- feat: built-in support for the new maps added in the 26/06/2024 CS2 update #884
- feat(video): queue system to schedule multiple video generation tasks #826
- feat(players): allow to tag players and filter by tags from players page #865
- feat(playback): add option to include 40+ health damage action in highlights/lowlights #869
- feat(ui): scrollable filter panel
- fix(playback): focus camera not working with non Valve demos due to a CS2 bug #775
danger
Demos analyzed before v3.6.0 have to be re-analyzed otherwise the camera may not focus properly.
- fix(match): empty scoreboard when players didn't have kills
- fix(ui): hide context menu on navigation
v3.6.3
- feat(demos): allow to sort demos by status #867
- feat(matches): add 5K/4K/3K and HLTV 2.0 columns #866
- fix: database error on fresh installation since v3.6.2 #873
v3.6.2
- feat(heatmap): filter event points on Z coordinate based on current map radar level #868
- fix: support for the 31/05/2024 CS2 update (affecting playback, highlights, video...)
- fix: support voice extraction for demos after the 31/05/2024 CS2 update
v3.6.1
- fix(analyze): support for the 29/05/2024 CS2 update
v3.6.0
- feat: add teams page #832
- feat: add team's page similar to player's page #832
It allows to see stats and generate heatmaps for a given team identified by its name. - feat(matches): add team names edition from the right-click context menu #832
- feat(video): wait before recording to make sure the loading screen is not visible #834
- feat(search): add tazer in select option label #841
- feat(2d): speed and selected player are now persisted between navigation
- feat(playback): add option to listen player voices during playback (doesn't work with MM demos) #800
- feat(playback): automatically hide the CS2 demo playback UI (happens since the 23/05/2024 update)
- feat(json): add grenades destroyed events #850
- feat(video): remove
-pix_fmt
FFmpeg flag - feat(analyze): demos from the PGL major CS2 are now detected as coming from ChallengerMode (needs to clear demos cache from the settings)
- fix(video): generation not working with FFmpeg since 23/05/2024 CS2 update #849
- fix: incorrect taskbar title after navigation #831
- fix(analyze): possible negative values in player hurt events
- fix(analyze): missing hostage picked up events #839
- fix(2d): invert speed slider direction
- fix(match): full width labels
- fix(video): correct output container extension when concatenating sequences
- fix(table): moving columns not working when some are hidden #832
- fix(settings): allow to set 0 seconds before kill delay
v3.5.3
- feat(playback): allow focusing camera on other players after initial focus #813
- feat(2d): add elapsed timer next to remaining timer #830
- feat(match): add no scope kills in scoreboard + add icon in kills feed #819
- feat(match): added neck damages #824
- feat: add through smoke kill icon in kills feed
- feat: add airborne kill icon in kills feed
- fix: CS2 crash on game launch since the 01/05/2024 update #818
- fix(demo): previous/next buttons not working when using the context menu to see demo's details
- fix(analyze): demos network protocol not updated in database
v3.5.2
- feat(match): add dropdown to hide/show scoreboard columns
- fix(playback): camera not focusing on player since the 25/04/2024 CS2 update #812
- fix: support voice extraction for demos after the 25/04/2024 CS2 update
- fix: demos possibly ignored when importing from a V2 backup file
v3.5.1
- fix(analyze): 25/04/2024 CS2 update support
- fix: error
relation "tags" does not exist
on fresh installation #811
v3.5.0
- feat(match): add players duels matrix accessible from the
Duels
tab #803 - feat(settings): add playback option to start CS through HLAE #746
- feat: import CS:DM V2 data (comment/status) from a V2 JSON backup file (accessible from the database settings) #804
- feat(video): add
-afxDisableSteamStorage
launch option to HLAE added in v2.157.0 - feat(download): update FACEIT warning message #793
- feat(playback): notification when trying to watch highlights/lowlights of a player that didn't have kills/deaths
- feat(playback): detect and warn about unsupported Steam installation through Flatpak on Linux #798
- feat(video): do not try to concatenate sequences when there is a single sequence
- feat(video): set all
cl_hud_telemetry_x_show
commands to0
when recording - fix(player): wrong win percentage calculation per side #799
- fix(2d): use CS2 map images instead of CSGO ones #801
- fix(playback): camera may not focus on player with non Valve demos #808
v3.4.0
- feat: tags can now be added to rounds
- feat(analyze): demos with an incomplete last round are now analyzable. The data of the last round are not available. #786
- feat(players): add date range filter #764
- feat(search): add team kill search event #779
- feat(search): pressing CTRL (CMD on macOS)+Enter now triggers the search
- feat(video): you can now generate player's sequences from kills and rounds #788.
- feat(xlsx): add score/mvp in players sheet #790
- feat(xlsx): add weapons and players flashbang matrix sheet #790
- feat(xlsx): add clutches sheet #790
- feat(video): add input to select video container (
avi
,mp4
,mkv
) #783 - feat(video): sort players by nickname in focus camera input
- feat(playback): add options to control the timing before and after rounds delay in seconds when watching player's rounds #776
- fix(video): option to not delete raw files not working
- fix(match): show message when trying to access a non existing round #786
- fix(match): weapons tables not properly filtering stats #791
- fix(xlsx): use single match export when only 1 match is selected
v3.3.2
- feat: an
AppImage
package is now available for Linux users #640 - feat(2d): remove sounds #669
- fix(analyze): possible error #774
- fix: players' voice extraction not working with players that have non ASCII characters in their name #777
v3.3.1
- feat: player's voice extraction is now possible for demos created after the Arms Race update
- feat(ban): add option to ignore bans that happened before players were first seen in a match (enabled by default) #760
- feat(ban): add a context menu item on the scoreboard to add/remove a player from ignored Steam accounts #760
- feat: detect and warn about possible anti-cheat software that prevent starting the game #684
- feat(match): add context menu item on scoreboard to generate player rounds video #759
- fix(analyze): support for recent Esportal demos
- fix(analyze): force UTF8 encoding when inserting demos into the database #765
- fix(download): tied game shown as victory or defeat in sidebar #768
- fix(download): possible reversed teams scores and players teams in scoreboard
v3.3.0
- feat(analyze): add support for Esportal demos
- feat: the camera focus will now always be on the correct player when watching highlights/lowlights or generating
a video.
It internally uses thespec_lock_to_accountid
command added in the 14/02/2024 CS2 update.warningIt also means the camera focus will not work when using an old CS2 branch with CS:DM v3.3.0 or later.
- fix: reduce possible risk of game crash when demo playback starts
v3.2.3
- feat(analyze): demos from Blast events are now detected as FACEIT demos
- feat(cli): add a
json
command to export demos to a JSON file - fix(cli):
--force-analyze
not working with thexlsx
command - fix: crash when launching CS2 since the 13/02/2024 update
v3.2.2
- feat(analyze): support for demos created after the last CS2 major update
- fix(cli): re-enable the
download
command
v3.2.1
- feat: Analyzing demos created after the last CS2 major update is temporarily turned off until the demo parser supports
the demo format changes
warning
The current status of the support is tracked on this GitHub issue.
Please understand that it's not an easy task and it may take time. - fix(dl): the last CS2 major update broke the MM demo download feature, it's now fixed
- fix: CS2 executable may not be found on Linux since the last CS2 major update
- feat: the configuration folder location now follows the XDG Base Directory Specification on Linux
warning
There is no backward compatibility, you will have to reconfigure your settings.
You can also safely remove the old configuration folder at~/csdm
. - fix(analyze): possible missing players
- fix(settings): database connection window ignoring mouse/keyboard inputs after disconnection
- feat(ui): more Portuguese (Brazil) translations
v3.2.0
- feat: add support for 5EPlay demos #727
- feat: allow to change players' spectate keyboard key #685
- feat(video): add an option to show/hide X-Ray per sequence #715
- feat(db): deleting positions from the database now forces the database to free up disk space
- feat(match): hide chat tab for CS2 demos as chat messages are currently not present in CS2 demos
- feat: show message when trying to play a demo that contains chars unsupported by CS in its path #728
- feat: add partial Portuguese (Brazil) translation. Thanks to @tiagotriques.
You can help translating the application too! - fix: auto start not working on Windows when username contains spaces #726
- fix(video): wrong sequence's ticks comparison resulting in a "End tick must be greater than start tick" error #730
- fix(ui): error codes documentation link not opening in the browser
- fix(analyze): possible error when analyzing demos that contain bots
- fix(analyze): possible incorrect weapon in kill events due to a weird CS2 string encoding issue
- fix(analyze): handle possible invalid UTF8 hex byte sequences in strings #735 and maybe #657
v3.1.0
- feat(match): add a "Duels" tab with opening duels stats and an interactive map to find out where opening kills happened
- feat: add support for FASTCUP demos
- feat: add support for exporting players' voices from CS2 demos (it was possible only for CSGO demos).
Thanks to DandrewsDev for his open-source project.
danger
Valve Matchmaking demos (CS2 and CSGO) do not contain voice audio data hence there is nothing to extract from MM demos.
You can extract voices only from demos recorded from a server that includes voice data. - feat: add "Export players voice" in the matches table context menu (it was possible only from the demos table).
It requires the.dem
file on your filesystem otherwise you will have a "Demo not found" warning. - feat: the application should now receive fewer rate limit errors from the Steam API, but using your own Steam API key is still recommended.
- feat(demos): add a checkbox to include subfolders for the current folder from the demos table
- feat(demo): avoid doing calls to the Steam API if possible when going to a demo page
- feat(video): turn off spellcheck in CFG input
- feat(ui): improve filtering menu layout
- fix(video): generating more than 9 sequences resulting in a "Raw files not found" error
- fix(analyze): possible errors with CS2 demos
- fix(analyze): possible missing bomb defused events with CSGO demos
v3.0.7
- fix(demos): challenger mode demos not recognized as analyzable
- fix(cli): missing possible demo source values in help output
v3.0.6
- feat: add Perfect World demo source
- feat: detect more game modes
- feat: allow to search by server/client name in demos/matches tables
- feat(demos): improve loading performance when scanning demos in a folder containing many sub directories
- feat(settings): add clear demos cache option
- fix(dl): possible crash when loading last FACEIT matches when there is only 1 team
- fix: stop background tasks on database disconnection
- fix: missing Chinese translations in date picker
v3.0.5
- feat(analyze): an error code and a link to the error documentation are now displayed when an error occurs during an analysis
- fix(video): raw files may be deleted too early, resulting in an encoder software error
v3.0.4
- feat(demos): add a link to the documentation when a demo's source is not supported
- fix(heatmap): drawing not working since last update
- fix(dl): corrupted demos are now deleted automatically
v3.0.3
- feat(analyze): add support for demos from Challengermode
- feat: improve Counter-Strike folder installation location detection
- feat(playback): skip to next round when player died
- feat(video): do not try to run encoder software if raw files are missing (probably because CS2 crashed)
- feat(dl): add a "Corrupted demo" warning when a downloaded demo file is incomplete (same as the game)
- fix(analyze): more accurate suicide detection
- fix(analyze): possible incorrect round start tick
- fix(match): wrong wallbang kills column values
- fix(dl): possible downloading error due to redirection
v3.0.2
- fix: settings removed when updating the application
warning
The issue is fixed but you will have to reconfigure your settings one last time when updating to this version.
- feat(match): add watch player rounds
- feat(playback): show notification with doc link when game crashes
- feat(ui): add Chinese Simplified. You can help translating the application too!
- fix(video): error when demo path contains spaces
- fix(demos): fetch unique demos by file path to avoid duplicates
- fix(analyze): incorrect team names in first round
v3.0.1
- feat(playback): preserve user CS2 cfg when starting the game
- feat(match): add teams economy type in round panel
- feat(match): add bombsite letter in round panel
- feat(dl): add copy demo link button
- feat(xlsx): add team_name column in players sheet
- fix: match insertion error when the db password contains special chars
- fix: bomb exploded round end reason may not be detected
- fix(demos): allow refreshing the table on error
v3.0.0
See blog post