Skip to content

Releases: markus-wa/demoinfocs-golang

v4.0.0-beta.1

10 Sep 21:18
161565a
Compare
Choose a tag to compare

v4.0.0-beta.1

  • added RoundFreezetimeChanged & GameState.IsFreezetimePeriod() - see #413
  • fixed #407 , #410, #411 - see #412

Thanks @akiver for the contributions to this release ❤️

v4.0.0-beta.0

01 Sep 14:35
663d133
Compare
Choose a tag to compare

v4 / Counter-Strike 2 (CS:GO Source 2)

This beta release marks significant support for CS2 demos and brings a major version bump with it.

⚠️ As long as releases are tagged beta, the v4 API may change in backwards incompatible ways without warning.

Please report and bugs & bad data via GitHub issues.

Installation

go get github.com/markus-wa/[email protected]

Migration

change all imports of v3 to v4 - so github.com/markus-wa/demoinfocs-golang/v3/pkg/demoinfocs -> github.com/markus-wa/demoinfocs-golang/v4/pkg/demoinfocs

SED command

sed -i 's#github.com/markus-wa/demoinfocs-golang/v3#github.com/markus-wa/demoinfocs-golang/v4#g' **/*.go

Changes

  • Counter-Strike 2 support
  • Requires Go 1.21
  • Various breaking API changes

Acknowledgements

  • Thanks to @akiver for the various contributions to this release - this would not have been possible without your help ❤️
  • Thanks to dotabuff/manta for the DotA 2 parser which forms the basis of much of the CS2 demo format parsing
  • Thanks to @LaihoE for collaborating on finding out how to parse some CS2 specific data

v3.4.0-alpha.3

09 Jul 17:04
6954733
Compare
Choose a tag to compare
v3.4.0-alpha.3 Pre-release
Pre-release

v3.4.0-alpha.3 - Counter-Strike 2 Fixes

Fixes

  • Fixed protobuf namespace conflict that was reintroduced with v3.4.0-alpha.1
  • Fixed GOTV demo processing for CS2
  • Fixed Entity Props after recent updates
  • Updated protobufs

v3.4.0-alpha.1

09 Jul 16:17
4ce2670
Compare
Choose a tag to compare
v3.4.0-alpha.1 Pre-release
Pre-release

v3.4.0-alpha.1 - Counter-Strike 2 Fixes

Fixes

  • Fixed GOTV demo processing for CS2
  • Fixed Entity Props after recent updates
  • Updated protobufs

v3.4.0-alpha.0

05 Jun 07:30
ec0bf57
Compare
Choose a tag to compare
v3.4.0-alpha.0 Pre-release
Pre-release

Preliminary Counter Strike 2 (CS:GO Source 2) Support

This alpha release adds initial support for CS2.

go get github.com/markus-wa/[email protected]

Expect bugs and significant changes as we figure out the details.

A lot of events aren't working yet, but events.Kill should mostly work.

Watch out for bad data, there are still a bunch of bugs.

v3.3.0

26 Jan 00:53
71f5b83
Compare
Choose a tag to compare

Special thanks to @akiver for the contributions to this release - see also #374

Changes

  • Improved POV Demo support
    • Re-use existing entities when they enter PVS if possible based on their serial number
    • Add int64 props decoder (got some with Danger mode demos)
    • Use the proper prop in player.Position() (cslocaldata.m_vecOrigin vs csnonlocaldata.m_vecOrigin)
    • Added event POVRecordingPlayerDetected
  • Make player.isAlive() more accurate by checking the value of the prop m_lifeState
  • Add more known game events
  • Add a doc about game events

v3.2.0

04 Jan 12:08
90b1034
Compare
Choose a tag to compare

Changes

  • Added Player.TotalDamage() & Player.UtilityDamage() - thanks @DandrewsDev
  • Added HitGroupNeck constant - thanks @akiver
  • Upgraded deps go-unassert and quickhull-go to latest versions

v3.1.0

23 Nov 15:57
81e862b
Compare
Choose a tag to compare

Changes

  • Added Equipment.UniqueID2() - thanks @David-Durst
  • Added Equipment.RecoilIndex() - thanks @David-Durst
  • Upgraded dependencies to fix security issues in the supply chain
  • Updated protobufs

Fixes

  • Fixed -debugdemoinfocs not printing game events properly after protobuf upgrade

v3.0.1

05 Sep 16:13
869a520
Compare
Choose a tag to compare

Changes

  • Added Player.ColorOrErr() (see #359)
  • Deprecated Player.Color() (see #359)

Fixes

  • Fixed panic in Player.Color() for old demos (see #359)

v3.0.0

15 Jul 22:03
23b6816
Compare
Choose a tag to compare

v3 is out 🥳

The primary purpose of v3 is to upgrade/replace dependencies, including some which are deprecated and/or dependencies with security vulnerabilities. The parser itself has no known vulnerabilities and no known code paths to vulnerabilities in dependencies, but it's still important to keep on top of this nonetheless.
As secondary objectives we want to modernise some of the API and enable usage of generics for the project (go1.18).

Installation

go get github.com/markus-wa/demoinfocs-golang/[email protected]

Migration

change all imports of v2 to v3 - so github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs -> github.com/markus-wa/demoinfocs-golang/v3/pkg/demoinfocs

SED command
sed -i 's#github.com/markus-wa/demoinfocs-golang/v2#github.com/markus-wa/demoinfocs-golang/v3#g' **/*.go

Breaking Changes

  • Removed code marked as deprecated from codebase
  • Increased minimum Go requirement from go1.11 to go1.18
  • Upgraded from the protobuf v1 API to v2 (https://go.dev/blog/protobuf-apiv2)
    • This will affect users that rely on raw net messages (i.e. import github.com/markus-wa/demoinfocs-golang/v2/demoinfocs/msg)
    • Stopped using gogo-protobuf (this has no negative performance impact 🥳)
  • Removed /assets and /pkg/demoinfocs/metadata (was mostly used for examples)
  • Moved internal/constants to pkg/demoinfocs/constants
  • Deps: replaced dustin/go-heatmap with markus-wa/go-heatmap to avoid replace directive (examples only)

Changes

  • Upgraded all dependencies to latest version (including security fixes)

Please let me know if you encounter any issues.