Skip to content

Releases: VladislavRoss/aegis-ledger-sdk

v0.4.1

07 May 01:43

Choose a tag to compare

v0.3.5

18 Apr 05:33

Choose a tag to compare

Full Changelog: v0.3.4...v0.3.5

v0.3.4 — God-File Decomposition + MCP Fix

08 Apr 21:40

Choose a tag to compare

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.py now 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.4

Full Changelog

v0.3.3...v0.3.4

v0.3.3 — doctor --fix expand + multi-profile

05 Apr 01:58

Choose a tag to compare

What's New

doctor --fix auto-repair expansion (P47-B2)

  • Config auto-create: aegis doctor --fix now creates a minimal config.toml when 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: --fix merges orphan queues into mcp_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=staging to 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; --active prints 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.3

v0.3.2 — Critical bugfixes: MCP, multi-agent, rotate-key

04 Apr 11:20

Choose a tag to compare

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 fixedaegis rotate-key no 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-sdk

All fixes are backward-compatible. No config changes needed.

v0.3.1 — PyPI publish fix

01 Apr 22:27

Choose a tag to compare

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

01 Apr 20:30

Choose a tag to compare

What's New in v0.3.0

Breaking Changes

  • addLedgerEntryaddLedgerEntryV2 (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.0

v0.2.11 — KYA SDK Bindings

30 Mar 12:55

Choose a tag to compare

Added

  • KYA (Know Your Agent) SDK bindingsregister_agent, update_agent_profile, get_agent_facts via canister_ops mixin
  • canister_ops.py mixin — extracted canister operations from client.py for cleaner separation
  • 5 new KYA integration tests
  • test_live_frameworks test suite

Changed

  • client.py refactored to use CanisterOpsMixin (no API changes)

Full Changelog: v0.2.10...v0.2.11

v0.2.10

30 Mar 02:00

Choose a tag to compare

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

27 Mar 21:29

Choose a tag to compare

Added

  • aegis doctor — SDK health diagnostics: config, keys, canister, spill, API key status
  • aegis init --quickstart — non-interactive setup with Ed25519 defaults (no prompts)
  • aegis register-key — register a new API key with PoP from CLI
  • aegis revoke — revoke an API key with confirmation prompt
  • Error classesAegisAuthError, AegisConfigError, AegisTransportError with human-readable messages
  • translate_error() — maps canister error strings to actionable hints
  • 30 new tests

Changed

  • AegisError and CanisterError moved to errors.py (backward-compatible re-export from transport.py)