Skip to content

Latest commit

 

History

History
416 lines (264 loc) · 14.8 KB

RELEASE_NOTES.md

File metadata and controls

416 lines (264 loc) · 14.8 KB

Release Notes

2.10.0 (2022-12-22)

  • ✨ #373: Added support for streaming GOTV broadcasts over HTTP
  • Upgrade packages

2.9.2 (2022-04-15)

  • 🐛 #364: Fixed incorrect C4/kevlar/assault suit equipment ID in DemoFile#itemPurchase event

2.9.1 (2022-04-06)

  • 🐛 #361: Fixed stream ending mid-parse when reading from a Gunzip stream

2.9.0 (2022-04-04)

  • ✨ Added DemoFile#warning event
    • Emitted when a non-fatal error occurs during parsing, e.g. when an encrypted message cannot be read
  • ✨ The dumpfile example now tries to read the decryption key from a .dem.info file that lives alongside the .dem file
  • 🐛 15-byte encryption keys are now correctly padded to 16 bytes

2.8.0 (2022-03-27)

  • ✨ Added DemoFile#molotovDetonate event
  • ✨ Added DemoFile#grenadeTrajectory event
  • ✨ Added DemoFile#itemPurchase event
  • 🐛 Fixed some entities not having the right class (e.g. incendiary grenades).
    This could manifest as Player#weapons not containing all items owned by the player.
  • DemoFile#currentTick is now -1 before parsing begins

2.7.1 (2022-03-23)

  • 🐛 Fixed EntityHandle#isValid always returning true

2.7.0 (2022-02-27)

  • ✨ Added paintKit annotation to player_death game event
  • 🐛 Entities#getByUserId et al returning invalid data when passed IDs of disconnected players
  • 🐛 Entities#players sometimes returning players that are not fully connected
  • 🐛 Player#position returning the incorrect position for non-local players in POV demos
  • ✨ Added Player#isRecordingDemo - true if this player is recording the demo from their POV
  • ✨ Added oldUserData to the string table update event
  • ⚡ Deprecated DemoFile#playerSlot - splitscreen slot is unused for PC games

2.6.0 (2022-02-27)

  • 🐛 Fixed reliable temporary entities not triggering the tempents event

2.5.0 (2022-02-13)

  • ✨ #19: Support streaming demos

2.4.0 (2022-01-09)

  • ✨ Added Entities#getByAccountId to get player entities by Steam account ID
  • ✨ Added Entities#getBySteam64Id to get player entities by 64-bit Steam ID
  • ✨ Added more annotations to game events:
    • item_equip: added itemDefinition: IItemDefinition
    • item_pickup: added itemDefinition: IItemDefinition
    • item_remove: added itemDefinition: IItemDefinition
    • items_gifted: added entity: Player
    • other_death: added itemDefinition: IItemDefinition | null, originalOwner: Player | null
    • player_death: added itemDefinition: IItemDefinition | null, originalOwner: Player | null
    • tournament_reward: added itemDefinition: IItemDefinition, entity: Player
  • ⚡ Added Networkable#toJSON that serialises the entity as a string. Example: #123(CCSPlayer)
    Prior to this change, serialising Networkable objects would result in a TypeError due to a circular reference.

2.3.0 (2022-01-09)

  • ⚡ Incorporate latest CSGO protobufs
  • ⚡ Improved performance of Entities#getByUserId
  • ✨ Added various annotations to game events.
    This will reduce friction when converting user IDs/entity indexes to actual entities.
    • bomb_begindefuse: added player: Player
    • bomb_beginplant: added player: Player
    • bomb_defused: added player: Player
    • bomb_dropped: added player: Player, entity: BaseEntity<CC4>
    • bomb_exploded: added player: Player
    • bomb_pickup: added player: Player
    • bomb_planted: added player: Player
    • bot_takeover: added player: Player, bot: Player
    • cs_win_panel_round: added player: Player
    • decoy_detonate: added player: Player, entity: BaseEntity<CDecoyProjectile>
    • decoy_started: added player: Player, entity: BaseEntity<CDecoyProjectile>
    • defuser_dropped: added entity: BaseEntity
    • defuser_pickup: added entity: BaseEntity, player: Player
    • flashbang_detonate: added player: Player, entity: BaseEntity<CBaseCSGrenadeProjectile>
    • hostage_hurt: added player: Player, entity: BaseEntity<CHostage>
    • hostage_killed: added player: Player, entity: BaseEntity<CHostage>
    • hostage_rescued: added player: Player, entity: BaseEntity<CHostage>
    • inferno_expire: added entity: BaseEntity<CInferno>
    • inferno_startburn: added entity: BaseEntity<CInferno>
    • item_equip: added player: Player
    • item_pickup: added player: Player
    • item_remove: added player: Player
    • other_death: added victim: BaseEntity, attackerEntity: Player
    • player_blind: added player: Player, attackerEntity: Player, entity: BaseEntity<CBaseCSGrenadeProjectile>
    • player_changename: added player: Player
    • player_chat: added player: Player
    • player_connect_full: added player: Player
    • player_death: added player: Player, attackerEntity: Player, assisterEntity: BaseEntity
    • player_disconnect: added player: Player
    • player_falldamage: added player: Player
    • player_footstep: added player: Player
    • player_hurt: added player: Player, attackerEntity: Player
    • player_info: added player: Player
    • player_jump: added player: Player
    • player_spawn: added player: Player
    • player_team: added player: Player
    • round_mvp: added player: Player
    • smokegrenade_detonate: added player: Player, entity: BaseEntity<CSmokeGrenadeProjectile>
    • smokegrenade_expired: added player: Player, entity: BaseEntity<CSmokeGrenadeProjectile>
    • weapon_fire: added player: Player
    • weapon_fire_on_empty: added player: Player
    • weapon_outofammo: added player: Player
    • weapon_reload: added player: Player
    • weapon_zoom: added player: Player

2.2.0 (2021-09-28)

  • ✨ #322: Support encrypted data (e.g. chat from public matchmaking)
  • ⚡ Incorporate latest CSGO protobufs and item data

2.1.0 (2021-05-09)

  • ⚡ #295: Emit Entities#create and Entities#postcreate at the same time. (Entities#postcreate is now deprecated.)

2.0.0 (2021-04-05)

  • ⚡ Incorporate latest CSGO protobufs

2.0.0-beta.4 (2021-01-10)

  • ✨ Add Weapon#quality to represent an item's quality
  • ✨ Add cancel method to DemoFile#start event to cancel any further parsing.

2.0.0-beta.3 (2021-01-10)

  • ✨ #164: Add CUserCmd parsing on in-eye/perspective demos

2.0.0-beta.2 (2021-01-10)

  • ✨ Updated protobuf definitions
  • ⚡ Setup protobufs to automatically regenerate every week
  • ⚡ Migrated to use ts-proto

2.0.0-beta.1 (2021-01-09)

  • ✨ #72: Added full support for in-eye/perspective demos
  • ✨ Added Networkable#isDormant: true if entity is outside of PVS (and so is not updated)
  • 🐛 Fixed unnecessary entity deletion/recreation events
  • Entities#change now batches all changes for a given entity into a single event
  • Entities#entities is now a Map<entity index, Networkable> instead of a sparse array
  • Entities#instanceBaselines renamed to Entities#staticBaselines
  • ⚡ Removed dependency on lodash

1.9.0 (2021-01-02)

  • 🐛 #154: Fixed TypeScript compilation errors
  • ⚡ Updated type definitions

1.8.0 (2020-11-01)

  • ✨ #187: Add Player#crosshairInfo for grabbing player crosshair settings
  • ⚡ Only generate type definitions for events that are logged to GOTV demos

1.7.2 (2020-10-15)

  • ⚡ Upgrade to TypeScript 3.9.7
  • ⚡ Setup continuous delivery pipeline

1.6.0 (2020-10-13)

  • 🐛 #172: Don't report RangeError exceptions as errors when demo file has not been recorded completely

1.5.1 (2020-10-09)

  • ⚡ #170: Cache Player#steamId64 result (thanks @thecatontheflat)

1.5.0 (2020-06-18)

  • ⚡ #156: Added error event to demofile when parsing fails
  • ⚡ #156: Don't emit tickend on error

1.4.0 (2020-06-15)

  • ✨ #152: Updated event definitions
  • ✨ #148: Added Player#isControllingBot (thanks @akiver)
  • 🐛 #147: Fix Team#members returning null players (thanks @akiver)
  • 🐛 #154: Fix EventEmitter TypeScript compilation error

1.3.1 (2020-03-03)

  • ✨ Update item definitions

1.3.0 (2020-02-09)

  • ✨ #128: Add Weapon#clipAmmo, Weapon#reserveAmmo and Weapon#ownerAmmo

1.2.0 (2020-02-08)

  • 🐛 #65: Fixed tick/time calculations on demos with incomplete headers

1.1.1 (2019-11-06)

  • 🐛 Fix .js protobuf files not being compiled

1.1.0 (2019-11-06)

  • ✨ #115: TypeScript definitions are now available (thanks to @akiver)

1.0.7 (2019-10-23)

  • ✨ #122: Update item definitions

1.0.6 (2019-03-23)

  • ⚡ #112: Removed reference to ts-assert-exists

1.0.5 (2019-03-20)

  • ⚡ #112: Moved some package dependencies to be devDependencies (thanks @razor-x)

1.0.4 (2019-02-19)

  • 🐛 #106: Fixed Cannot read property 'm_iPrimaryAmmoType' of undefined

1.0.3 (2019-02-19)

  • ⚡ Add source maps to dist .js files

1.0.2 (2019-01-13)

  • 🐛 #101: Fixed player resource indexing one-off error

1.0.1 (2019-01-07)

  • 🐛 #98: Fixed Steam 64 IDs being invalid

1.0.0 (2019-01-06)

  • ⚡ Removed process.emitWarning on parsing error. Use IDemoEndEvent#error instead.
  • 🐛 #95: Fixed array decoding bug which made demos made after the Danger Zone update unparseable (thanks @JeffreyLimbacher)

1.0.0-beta.1 (2018-10-21)

  • ✨ #56: Ported to TypeScript!
  • ✨ Added Networkable type, which is the new base class of all entities
  • BaseEntity is now only the base class of renderable entities
  • ⚡ Removed BaseEntity#velocity
  • ⚡ User messages are now listened without the 'CS_UM_' prefix
  • ⚡ String tables are now no longer initialised to their maximum size, instead they grow as needed
  • 🐛 #86: Fixed Cannot read property 'messageToObject' of undefined on some game events
  • 🐛 Fixed error when trying to parse svc_EntityMsg messages

0.4.20 (2018-08-24)

  • 🐛 Fixed #80, #78: Resource properties returning undefined

0.4.19 (2018-08-24)

  • ✨ Added DemoFile#tickRate
  • ✨ Added support for MP5SD (thanks @thorebear)

0.4.18 (2018-05-14)

  • ✨ Added BaseEntity#handle
  • ✨ Added BaseEntity#modelName - Name of the model that should be rendered for this entity. (e.g. 'models/Weapons/w_eq_smokegrenade_thrown.mdl')

0.4.17 (2018-04-29)

  • ✨ Added BaseEntity#velocity, BaseEntity#speed.
  • ✨ Improved dumpfile.js example to be more through.
  • ⚡ #69: Player#allSpotters and Player#allSpotted now only returns alive players.

0.4.16 (2018-03-22)

  • ⚡ #62: Fix entity position calculation. Use cell coordinates to determine entity positions.

0.4.15 (2018-03-10)

  • ⚡ #58: Entities are now removed at tickend, after events are fired. This means the grenade entity can be accessed in flashbang_detonate and decoy_detonate.

0.4.14 (2018-02-26)

  • ✨ Added Entities#weapons (thanks @thorebear)

0.4.13 (2018-02-26)

  • ✨ Added Player#matchStats to represent player performance on a per-round basis

0.4.12 (2018-02-02)

  • ✨ #11: Fixed malformed demos resulting in an exception. Added error property to the DemoFile#end event
  • ⚡ #52: GameRules#roundNumber has been renamed to GameRules#roundsPlayed - the old name is available for backwards compatibility

0.4.11 (2017-12-20)

  • 🐛 #43: Fixed parsing of string tables updates for tables with fixed userdata sizes

0.4.10 (2017-12-08)

  • ✨ Added Player#cashSpendTotal and Player#cashSpendThisRound

0.4.9 (2017-10-05)

  • 🐛 #31: Fixed DemoFile#currentTime returning the wrong game time

0.4.8 (2017-05-08)

  • 🐛 #11: Fixed parse error when a 'stop' command is missing from the demo file

0.4.7 (2017-05-08)

  • ✨ Added Weapon entity class to represent in-game items (thanks @pedrofornaza)

0.4.6 (2017-04-22)

  • ✨ Added Player#score, Player#mvps and Player#clanTag (thanks @derpalmer)

0.4.5 (2017-04-15)

  • 🐛 Fix exception when calling DemoFile#cancel (thanks @derpalmer)

0.4.4 (2017-03-21)

  • 🐛 Revert accidental bit-buffer upgrade

0.4.2 (2017-03-20)

  • ✨ Added Player#steam64Id for easy access to Steam64 ID (thanks @derpalmer)

0.4.1 (2017-02-23)

  • 🐛 Fixed exception in Player#isAlive

0.4.0 (2017-02-05)

Major update

  • Added new Player, Team and GameRules entities
  • Added DemoFile#conVars for accessing console variables and listening for changes
  • Updated dumpfile.js example to be more representative of real-world usage

0.3.1 (2017-01-30)

  • 🐛 Fixed Entity#getProp exception when a prop is updated that is not part of the entity baseline

0.3 (2016-11-16)

Major update

  • The library now support Browserify and the compiled bundle can be included in web browsers
  • Added DemoFile#progress event that indicates what percentage of the demo file has been parsed
  • Removed dependency on the pace library

0.2.11 (2016-10-16)

  • ✨ Added entities isHandleSet to determine if a networked entity handle is set (the game uses (1 << 21) - 1 to mean empty)

0.2.10 (2016-10-11)

  • ✨ Added entities getByHandle to find an entity from a given networked entity handle (e.g., from m_hMyWeapons)

0.2.9 (2016-09-12)

  • ✨ Added entities baselineupdate event which is fired whenever the instancebaseline string table is updated with new properties.

0.2.8 (2016-08-30)

  • ✨ The dem_StringTables command, which holds additional string table data on client-side recorded demos, is now parsed
  • ⚡ String table postcreate is now fired after svc_CreateStringTable and dem_StringTables are parsed

0.2.7 (2016-08-23)

  • ✨ Added entities datatablesready event which is fired when data tables have been parsed.

0.2.6 (2016-08-23)

  • ✨ Added entity postcreate event which is fired after an entity has been created and all of its properties parsed.

0.2.5 (2016-07-08)

  • ✨ Added string table postcreate event which is fired after a new stringtable's entries have been populated

0.2.4 (2016-07-08)

  • 🐛 Fixed retrieving properties on entities whose server class has no instance baseline

0.2.3 (2016-07-03)

  • ✨ Instance baselines are now parsed and used by Entity#getProp

0.2.2 (2016-07-03)

  • 🐛 Fixed stringtable updates affecting all entries in the table

0.2.1 (2016-03-25)

  • 📇 Removed node-protobuf un-used dependency

0.2.0 (2016-01-30)

  • ⚡ Each tick is now parsed on a separate process tick.
  • ⚡ Game event callbacks are now fired at the end of the tick.
  • 🐛 Fixed Vector props decoding to undefined.

0.1.0 (2016-01-18)

  • 🎉 Initial release.