Skip to content

v2.0.0

Choose a tag to compare

@Igor-Losev Igor-Losev released this 15 Apr 19:55
· 168 commits to main since this release
v2.0.0
cedd8a4

Breaking Changes

  • deadem: Interceptor hooks are no longer blocking when async — the parser no longer awaits async interceptor callbacks, improving overall parsing performance.
  • deadem: Minimum required Node.js version is now v18.

New Features

  • deadem: Added Player — a new class for replay playback with seek-to-tick support.
  • deadem: Added selective packet filtering for Parser and Player.
  • deadem: Added Parser.pause() method.
  • deadem: Added new MessagePacketType value:
    • 366 - CITADEL_USER_MESSAGE_BANNED_HEROES
  • deadem: Parser is now disposable — calling dispose() cleans up internal resources.
  • deadem: BroadcastAgent now accepts match ID as string | number.

Bug Fixes

  • deadem: Fixed error handling in transform stream — top-level promise now correctly rejects on stream errors.
  • deadem: Fixed StringTableEntryExtractor bug with incorrect history keys.
  • examples-common: Fixed GameObserver timer calculation — m_nTotalPausedTicks delta is now used instead of the cumulative value.

Improvements

  • deadem: Improved parser performance.
  • deadem: Removed axios dependency.
  • deadem: Removed buffer dependency.
  • proto: Updated proto files to game build 6448.

Assets

  • DemoFile: added replay 75438101 from game build 6448.
  • DemoFile: added replay 75439032 from game build 6448.

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 a Parser-based demo to a Player-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.