Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .mike.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ version_selector: true
title_switch: true
versions_file: docs/versions/versions.json
versions:
- 3.1.0
- 3.0.2
- 3.0.0
- 2.10.0
Expand All @@ -28,4 +29,4 @@ versions:
- 0.0.1
- latest
aliases:
latest: 3.0.2
latest: 3.1.0
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,24 @@ Release Notes

___

The parity release: agent feature surface locked across all four language ports (v3.1.0)
------------------------------------------------------------------------------------------

### About this release

- **This is the parity release for the Guard agent family.** The 3.1.0 wave (Python, TypeScript, Go, PHP, Rust) ships the same feature surface in every port. Note: the earlier 4.1.0 family tags were a version-accuracy error and were yanked/unpublished; 3.1.0 is the correct version for this train.
- The conformance corpus (219 cases, spec 4.1.0) validates the shared surface across the ports.

### Added (3.0.2 -> 3.1.0 feature list)

- **AES-256-GCM encrypted ingest.** Event batches can be encrypted end to end with an AES-256-GCM key; the server decrypts after transport-level TLS, so batch contents are opaque to intermediaries even on the wire.
- **Sensitive-header redaction.** Authorization, Cookie, Set-Cookie, and other configured sensitive headers are redacted at ingest and again at egress, so secrets never leave the process in plaintext form.
- **Dynamic rules.** The agent polls the guard-core server for dynamic rate-limit and ban rules on a configurable interval and enforces them locally, emitting `dynamic_rule_applied`, `dynamic_rule_updated`, and `dynamic_rule_violation` events.
- **Local rate limiters.** Rule-driven local rate limiting with auto-ban support, usable without a Redis round trip on every event.
- **Helpers.** Shared helpers for event construction, batching, and redaction are exported for adapter authors building custom ingest paths.

___

v3.0.2 (2026-09-23)
-------------------

Expand Down
18 changes: 18 additions & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,24 @@ Release Notes

___

The parity release: agent feature surface locked across all four language ports (v3.1.0)
------------------------------------------------------------------------------------------

### About this release

- **This is the parity release for the Guard agent family.** The 3.1.0 wave (Python, TypeScript, Go, PHP, Rust) ships the same feature surface in every port. Note: the earlier 4.1.0 family tags were a version-accuracy error and were yanked/unpublished; 3.1.0 is the correct version for this train.
- The conformance corpus (219 cases, spec 4.1.0) validates the shared surface across the ports.

### Added (3.0.2 -> 3.1.0 feature list)

- **AES-256-GCM encrypted ingest.** Event batches can be encrypted end to end with an AES-256-GCM key; the server decrypts after transport-level TLS, so batch contents are opaque to intermediaries even on the wire.
- **Sensitive-header redaction.** Authorization, Cookie, Set-Cookie, and other configured sensitive headers are redacted at ingest and again at egress, so secrets never leave the process in plaintext form.
- **Dynamic rules.** The agent polls the guard-core server for dynamic rate-limit and ban rules on a configurable interval and enforces them locally, emitting `dynamic_rule_applied`, `dynamic_rule_updated`, and `dynamic_rule_violation` events.
- **Local rate limiters.** Rule-driven local rate limiting with auto-ban support, usable without a Redis round trip on every event.
- **Helpers.** Shared helpers for event construction, batching, and redaction are exported for adapter authors building custom ingest paths.

___

v3.0.2 (2026-09-23)
-------------------

Expand Down
3 changes: 2 additions & 1 deletion docs/versions/versions.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"3.1.0": "3.1.0",
"3.0.2": "3.0.2",
"3.0.0": "3.0.0",
"2.10.0": "2.10.0",
Expand All @@ -23,5 +24,5 @@
"0.1.1": "0.1.1",
"0.1.0": "0.1.0",
"0.0.1": "0.0.1",
"latest": "3.0.2"
"latest": "3.1.0"
}
2 changes: 1 addition & 1 deletion guard_agent/_version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""Single source of truth for the package version, importable without side-effects."""

__version__ = "3.0.2"
__version__ = "3.1.0"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "guard-agent"
version = "3.0.2"
version = "3.1.0"
description = "Framework-agnostic telemetry and monitoring agent for the Guard security ecosystem (fastapi-guard, flaskapi-guard, djangoapi-guard, tornadoapi-guard)"
authors = [
{name = "Renzo Franceschini", email = "rennf93@users.noreply.github.com"}
Expand Down
Loading