Repository navigation
v3.0.2
First tagged release: parity with guard-agent 3.0.2 and the /v3 module path (v3.0.2)
Breaking Changes
- Import paths now end in
/v3. The module path isgithub.com/rennf93/guard-agent-go/v3and the release tag isv3.0.2; Go modules reject av3+tag unless the module path carries the/v3suffix, so the migration is mandatory for this release to be fetchable. Update every import fromgithub.com/rennf93/guard-agent-gotogithub.com/rennf93/guard-agent-go/v3(package name staysguardagent). Installation is nowgo get github.com/rennf93/guard-agent-go/v3@v3.0.2.
Added
- First tagged release of the Go agent, at parity with the reference guard-agent 3.0.2 (Python). The port covers the full agent surface: event and metric buffering with at-least-once delivery, the overflow policies, Redis persistence, circuit breaking, and the batch transport.
- The payload-signature contract matches the server.
X-Payload-Signatureis an HMAC over the uncompressed body: the agent signs the body before any compression is applied, and the server verifies the signature after decompression. Compressed batches therefore verify correctly on both the encrypted and unencrypted POST paths. - An mkdocs documentation site under
docs/, covering configuration, the buffering and overflow model, the transport and signing contract, and Redis persistence. - A
basic_usagewiring example (examples/basic_usage) that wires the agent into a guard-core-go engine through the engine'sOnBlocktelemetry seam.
Changed
version.gois bumped to 3.0.2 so the reportedagent_versionand the User-Agent match the release tag, andmake bump-version(via.github/scripts/bump_version.py) now updates bothversion.goand this changelog.- Makefile harmonized with the guard family.
install,test(unit plus-tags integrationwithREDIS_HOSTin docker),lint(gofmtcheck plusgo vet),bump-versionandcleanmatch the conventions used across the Python guard repos.