Releases: markus-wa/demoinfocs-golang
v3.0.0-beta.4
The primary purpose of v3 is to upgrade/replace dependencies, including some which are deprecated and/or dependencies with security vulnerabilities. While the parser itself has no known vulnerabilities and no known code paths to vulnerabilities in dependencies, it's 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
togo1.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 🥳)
- This will affect users that rely on raw net messages (i.e.
- Removed
/assets
and/pkg/demoinfocs/metadata
(was mostly used for examples)- The value proposition of this is superseded by https://github.com/saiko-tech/csgo-centrifuge
- Moved
internal/constants
topkg/demoinfocs/constants
- Deps: replaced
dustin/go-heatmap
withmarkus-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.
As this is a pre-release / beta, it is not covered by semver guarantees
Fixes since v3.0.0-beta.3
- Fixed compilation error for debug code (
-tags debugdemoinfocs
) - Fixed some linting issues
v3.0.0-beta.3
The primary purpose of v3 is to upgrade/replace dependencies, including some which are deprecated and/or dependencies with security vulnerabilities. While the parser itself has no known vulnerabilities and no known code paths to vulnerabilities in dependencies, it's 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
togo1.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 🥳)
- This will affect users that rely on raw net messages (i.e.
- Removed
/assets
and/pkg/demoinfocs/metadata
(was mostly used for examples)- The value proposition of this is superseded by https://github.com/saiko-tech/csgo-centrifuge
- Moved
internal/constants
topkg/demoinfocs/constants
- Deps: replaced
dustin/go-heatmap
withmarkus-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.
As this is a pre-release / beta, it is not covered by semver guarantees
v2.13.3
Changes
- Examples
heatmap
andnade-trajectories
are now usinghttps://radar-overviews.csgo.saiko.tech/...
to get the correct radar image and offset / coordinate translations for any historic map version of official maps. - see also https://github.com/saiko-tech/csgo-centrifuge
v2.13.2
v2.13.1
In Support of Ukraine
This release is dedicated to all Ukrainians affected by Putin's war.
Fixes
War in Ukraine
Some of my Ukrainian colleagues in the eSports and Tech scene have been directly affected by the crisis and I hope to be able to raise awareness about their situation.
If you enjoy this project, please consider supporting the Global Giving Ukraine Crisis Relief Fund or charity to help the humanitarian crisis happening in the Ukraine right now (a list of other top rated charities can be found here)
Further, please voice your support for more sanctions against Russia in your country (such as sanctions for Gas & Oil) - it's the most effective way to put pressure on Putin and the Russian regime.
To our Russian Friends:
Please read and share this article: https://www.theatlantic.com/ideas/archive/2022/03/schwarzenegger-russia-ukraine-war-message/627100/
v2.13.0
Support for encrypted net-messages 🥳
This means we can now read chat messages from Valve Matchmaking demos! (and more!)
Main PR: #323
New Features
- Added
MatchInfoDecryptionKey()
func to get the decryption key from the contents of amatch730_*.dem.info
file - Added
ParserConfig.NetMessageDecryptionKey
to set the decryption key to use for the parser
Example
package main
import (
"io/ioutil"
"log"
"os"
dem "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs"
"github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs/events"
)
func checkErr(err error) {
if err != nil {
panic(err)
}
}
func main() {
infoF, err := os.Open("test/cs-demos/match730_003528806449641685104_1453182610_271.dem.info")
checkErr(err)
b, err := ioutil.ReadAll(infoF)
checkErr(err)
k, err := dem.MatchInfoDecryptionKey(b)
checkErr(err)
f, err := os.Open("test/cs-demos/match730_003528806449641685104_1453182610_271.dem")
checkErr(err)
defer f.Close()
cfg := dem.DefaultParserConfig
cfg.NetMessageDecryptionKey = k
p := dem.NewParserWithConfig(f, cfg)
p.RegisterEventHandler(func(message events.ChatMessage) {
log.Println(message)
})
err = p.ParseToEnd()
checkErr(err)
}