v2.0.0
Breaking Changes
deadem: Interceptor hooks are no longer blocking when async — the parser no longerawaits async interceptor callbacks, improving overall parsing performance.deadem: Minimum required Node.js version is nowv18.
New Features
deadem: AddedPlayer— a new class for replay playback with seek-to-tick support.deadem: Added selective packet filtering forParserandPlayer.deadem: AddedParser.pause()method.deadem: Added newMessagePacketTypevalue:366-CITADEL_USER_MESSAGE_BANNED_HEROES
deadem:Parseris now disposable — callingdispose()cleans up internal resources.deadem:BroadcastAgentnow accepts match ID asstring | number.
Bug Fixes
deadem: Fixed error handling in transform stream — top-level promise now correctly rejects on stream errors.deadem: FixedStringTableEntryExtractorbug with incorrect history keys.examples-common: FixedGameObservertimer calculation —m_nTotalPausedTicksdelta is now used instead of the cumulative value.
Improvements
deadem: Improved parser performance.deadem: Removedaxiosdependency.deadem: Removedbufferdependency.proto: Updated proto files to game build6448.
Assets
DemoFile: added replay75438101from game build6448.DemoFile: added replay75439032from game build6448.
Examples
examples-node: Renamed scripts to 3-digit numbering scheme grouped by category (1xx— Parsing,2xx— Player,3xx— Broadcast).examples-node: Added example script:102_parse_selective.js.examples-node: Added example script:200_play.js.examples-node: Added example script:201_play_game_time.js.examples-node: Added example script:202_play_top_damage_dealer.js.examples-node: Added example script:203_play_scoreboard.js.
UI
examples-ui: Deadem Explorer has been updated from aParser-based demo to aPlayer-based one. The explorer now supports interactive replay playback with controls for play/pause, seek, variable speed (1x–128x), and per-tick navigation. Tab content updates live as the player advances through the replay.