Releases: VladislavRoss/aegis-ledger-sdk
Releases · VladislavRoss/aegis-ledger-sdk
v0.4.1
Full Changelog: v0.4.0...v0.4.1
v0.3.5
Full Changelog: v0.3.4...v0.3.5
v0.3.4 — God-File Decomposition + MCP Fix
What's New
- God-file decomposition:
client.py(995→772 LOC),report.py(824→437 LOC) - New modules:
trace.py(TraceMixin),entry_builder.py,report_builders.py - MCP pipeline fix:
mcp_queue.pynow included in package (was missing in v0.3.3) - BG-Worker: Reduced delays (5s→1s), added atexit handler
- ic-py: Now a required dependency (was optional, caused ImportError)
Install
pip install aegis-ledger-sdk==0.3.4Full Changelog
v0.3.3 — doctor --fix expand + multi-profile
What's New
doctor --fix auto-repair expansion (P47-B2)
- Config auto-create:
aegis doctor --fixnow creates a minimalconfig.tomlwhen missing (mainnet backend + new api_key_id + default key path) - Key auto-gen: Missing private key → Ed25519 keypair generated inline via
generate_keypair() - MCP Queue check: New diagnostic scans
~/.aegis/mcp_queue_*.jsonl, distinguishes live-PID (own) from dead-PID (orphan) queues - Orphan adoption:
--fixmerges orphan queues intomcp_queue_recovered.jsonl(0o600, O_APPEND), removes originals
Multi-Profile support (P47-B3)
- TOML overlay:
[profiles.<name>.client]+[profiles.<name>.signing]sections overlay on top-level config - Env var activation: Set
AEGIS_PROFILE=stagingto activate a profile - Kwarg priority:
load_config(profile="staging")takes precedence over env var - New CLI command:
aegis profiles [--active]lists profiles and marks active;--activeprints only the active name (CI-friendly) - Non-destructive overlay: unspecified profile keys inherit from top-level
Example config.toml with profiles
[client]
canister_id = "toqqq-lqaaa-aaaae-afc2a-cai"
api_key_id = "ak_main"
[profiles.staging.client]
canister_id = "uxrrr-q7777-77774-qaaaq-cai"
api_key_id = "ak_staging"
[profiles.staging.signing]
default_scheme = "ed25519"Then: AEGIS_PROFILE=staging aegis test
Tests
- 25 new tests (TestDoctorFix 4 + TestDoctorMcpQueue 3 + TestMultiProfile 12 + TestCliProfiles 6)
- 1200 collected total (1126 unit + 74 live E2E), all passing
Install
pip install aegis-ledger-sdk==0.3.3v0.3.2 — Critical bugfixes: MCP, multi-agent, rotate-key
Critical Fixes
- MCP AbortError resolved — Log tools (log_decision, log_tool_call, log_observation, log_error) no longer block on client initialization. Spill-first instant return (<1ms).
- Multi-agent safe — Per-PID queue files prevent race conditions when running multiple agents. Orphan adoption recovers entries from crashed processes.
- rotate-key crash fixed —
aegis rotate-keyno longer crashes with AttributeError at step 3/5. - Spill replay TypeError fixed — Corrupt v4 spill entries no longer cause infinite retry loops.
- Retry with spill — Failed retries after sequence-conflict now spill to disk instead of silently dropping data.
- Config load logging — Silent config failures now log warnings instead of using wrong signing scheme.
- Hash-map deduplication — Candid field mappings use single source of truth (integrity.py).
Upgrade
pip install --upgrade aegis-ledger-sdkAll fixes are backward-compatible. No config changes needed.
v0.3.1 — PyPI publish fix
Patch version bump required due to PyPI filename reuse restriction on v0.3.0. Functionally identical to v0.3.0 (OTel fields, OTelExporter, queryOnly keys, hash-chain integrity).
v0.3.0 — OTel, EU AI Act Compliance, KYA, Permission Keys
What's New in v0.3.0
Breaking Changes
addLedgerEntry→addLedgerEntryV2(Candid record format)
New Features
- OTel Integration:
otel_trace_id,otel_span_id,otel_parent_span_id,cost_usd,token_count— auto-extracted from OpenTelemetry context - 5 Post-Quantum Algorithms: Ed25519, ML-DSA-65, ML-DSA-87, SLH-DSA-128s, Hybrid
- CI/CD Permission Keys: query-only API keys for read access
- KYA (Know Your Agent): Agent registration + AgentFacts standard
- MCP Server: fire-and-forget logging via MCP protocol
- EU AI Act Art. 12: tamper-evident audit trail for high-risk AI systems
- 7 Framework Integrations: LangChain, CrewAI, OpenAI Agents, AutoGen, Anthropic Claude
Fixes
- EU AI Act compliance claims tightened
- PII auto-redaction improved
- Spill v4 format (offline queue)
Install
pip install aegis-ledger-sdk==0.3.0v0.2.11 — KYA SDK Bindings
Added
- KYA (Know Your Agent) SDK bindings —
register_agent,update_agent_profile,get_agent_factsvia canister_ops mixin canister_ops.pymixin — extracted canister operations from client.py for cleaner separation- 5 new KYA integration tests
test_live_frameworkstest suite
Changed
client.pyrefactored to useCanisterOpsMixin(no API changes)
Full Changelog: v0.2.10...v0.2.11
v0.2.10
Changes
- V1 to V2 Canister API: addLedgerEntryV2 (1 Candid Record)
- 5 OTel fields: otel_trace_id, otel_span_id, otel_parent_span_id, cost_usd, token_count
- OTel auto-extraction with soft opentelemetry dependency
- Spill v4: V2 Record format, backward-compatible drain
- EU AI Act compliance helpers
- CI/CD improvements
v0.2.6
Added
aegis doctor— SDK health diagnostics: config, keys, canister, spill, API key statusaegis init --quickstart— non-interactive setup with Ed25519 defaults (no prompts)aegis register-key— register a new API key with PoP from CLIaegis revoke— revoke an API key with confirmation prompt- Error classes —
AegisAuthError,AegisConfigError,AegisTransportErrorwith human-readable messages translate_error()— maps canister error strings to actionable hints- 30 new tests
Changed
AegisErrorandCanisterErrormoved toerrors.py(backward-compatible re-export fromtransport.py)