Skip to content

Releases: Dakera-AI/dakera-py

v0.12.5

18 Jun 02:47
89ccdca

Choose a tag to compare

What's Changed

Full Changelog: v0.12.4...v0.12.5

v0.12.4

16 Jun 12:40
eee0e4b

Choose a tag to compare

What's Changed

  • feat(session): ChatMemorySession helper — playground LLM comparison (DAK-6846) @ferhimedamine (#158)
  • fix(examples): playground quickstart session isolation (DAK-6806) @ferhimedamine (#156)

Full Changelog: v0.12.3...v0.12.4

v0.12.3

16 Jun 06:15
91b1c37

Choose a tag to compare

What's Changed

Added

  • admin_reembed_static_count() — new DakeraClient and AsyncDakeraClient method for GET /v1/admin/reembed/static-count (DAK-6781, #152). Returns a StaticCountResponse with the count of _embedding_kind=static vectors pending ONNX upgrade. A static_count of 0 means steady state.

  • Playground quickstartexamples/playground/quickstart.py demonstrates store, recall, search, and knowledge-graph link against the public sandbox. (DAK-6737, #145)

Fixed

  • memory_link() KeyError: 'edge' on forbidden endpoint — when the server returns an application-level error body ({"error": "forbidden_endpoint"}) in a 200 response, memory_link() now raises AuthorizationError instead of crashing in GraphLinkResponse.from_dict(). (DAK-6785, #154)

  • search_memories() content always empty — flattens the server's nested {"memory": {"content": "..."}, "score": N} envelope so callers receive populated content. Previously content was always "". (DAK-6780, #151)

  • Admin URL correctionsadmin_index_stats(), rebuild_indexes(), and restore_backup() used incorrect URL patterns causing 404s. (DAK-6775, #150)

  • Playground HTTPS endpoint — quickstart now uses https://5-75-177-31.sslip.io (valid TLS) instead of bare HTTP IP. (DAK-6743, #146)

  • Sandbox KG-link restriction — playground examples now handle the sandbox 403 on /v1/memories/{id}/links gracefully. (DAK-6749, #148)

  • Quickstart search step nested envelope — quickstart now correctly accesses result["memory"]["content"]. (DAK-6784, #153)

Testing

  • Remove xfail from admin endpoint tests — xfail markers removed after server v0.11.91 confirmed all admin routes live. (#147)
  • Playground integration teststests/test_playground_integration.py added; covers store, recall, search, and KG-link (graceful). Tests skip when DAKERA_TEST_URL absent. (#149)

Install

pip install dakera==0.12.3

v0.12.2

15 Jun 23:57

Choose a tag to compare

dakera v0.12.2

CI maintenance release — no API changes.

CI

  • actions/checkout 4 → 6 (Dependabot PR #142) — CI workflow dependency upgrade; no runtime changes.

Note on release ordering: This tag was cut on 2026-06-14 from a Dependabot PR. The feature releases v0.12.0 (TealTiger Governance Integration) and v0.12.1 (version attribute fix) were published on 2026-06-15. For new features, see v0.12.0.

Upgrade

pip install dakera==0.12.2

Full Changelog: v0.12.1...v0.12.2

v0.12.1 — Version attribute fix

15 Jun 04:53

Choose a tag to compare

Patch Release v0.12.1

Fixed

  • dakera.__version__ now correctly returns "0.12.1" (was "0.11.91" at runtime in 0.12.0 due to tag ordering)
  • CHANGELOG.md: corrected DakeraCostStorage method names to match actual API (store(), get(), get_by_agent_id(), etc.)

All TealTiger integration features from v0.12.0 are unchanged. This is a patch for version attribute consistency.

Full Changelog: https://github.com/Dakera-AI/dakera-py/blob/main/CHANGELOG.md

v0.12.0 — TealTiger Governance Integration

15 Jun 04:48

Choose a tag to compare

What's New in v0.12.0

TealTiger Governance Integration

First-class integration with the TealTiger governance framework. Three new adapter classes let you use Dakera as the persistent memory backend for TealTiger's cost tracking, governance decision receipts, and delegation chains.

Install:

pip install dakera[tealtiger]

New in dakera.integrations.tealtiger:

DakeraCostStorage

Implements TealTiger's CostStorage ABC with all 8 async methods. Persists cost records as Dakera memories, enabling LLM cost lifecycle tracking with importance-based retention.

from dakera import AsyncDakeraClient
from dakera.integrations.tealtiger import DakeraCostStorage

client = AsyncDakeraClient(api_key="...", base_url="...")
cost_storage = DakeraCostStorage(client, agent_id="my-agent")

DakeraDecisionStore

Receipt persistence for TealTiger governance decisions. Maps Decision objects to Dakera memories with action-type-derived importance. is_terminal() correctly distinguishes pending decisions (REQUIRE_APPROVAL) from resolved ones (ALLOW/DENY/TIMED_OUT).

from dakera.integrations.tealtiger import DakeraDecisionStore

decision_store = DakeraDecisionStore(client, agent_id="my-agent")
await decision_store.store_receipt(decision)
terminal = await decision_store.is_terminal(decision_id)

DakeraDelegationHelper

Knowledge-graph-backed delegation chain tracker. Stores delegation relationships as linked Dakera memories for full graph traversal of agent hierarchies.

from dakera.integrations.tealtiger import DakeraDelegationHelper

delegation = DakeraDelegationHelper(client, agent_id="my-agent")
await delegation.link_delegation(delegator_id, delegate_id, context)
chain = await delegation.get_delegation_chain(delegate_id)

See examples/tealtiger_governance.py for a complete end-to-end example.

Special thanks to @nagasatish007 (TealTiger maintainer) for reviewing this integration and providing valuable feedback that improved the is_terminal() semantics and error handling.


TifScore — Truth-Indeterminacy-Falsity Reliability Scoring

New TifScore dataclass in dakera.models for T-I-F reliability scoring of stored memories.

from dakera import DakeraClient
from dakera.models import TifScore

client = DakeraClient(api_key="...", base_url="...")
score = client.evaluate_tif(memory_id)
print(score.classification)  # "confident_reuse" | "ask_clarification" | ...

Coverage

  • 34 new tests for TealTiger adapters (with/without tealtiger installed)
  • 1 new exampleexamples/tealtiger_governance.py
  • All 429 tests pass on Python 3.10 and 3.12

Full Changelog: https://github.com/Dakera-AI/dakera-py/blob/main/CHANGELOG.md#0120---2026-06-15

v0.11.91

14 Jun 09:20
1b0097d

Choose a tag to compare

What's Changed

Full Changelog: v0.11.90...v0.11.91

v0.11.90

13 Jun 08:52
6572f5d

Choose a tag to compare

What's Changed

Full Changelog: v0.11.89...v0.11.90

v0.11.89

11 Jun 18:55
4a14614

Choose a tag to compare

What's Changed since v0.11.83

v0.11.85 (2026-06-05)

Server compatibility: tracks Dakera server v0.11.84–v0.11.85.

  • v0.11.84: Entity vector search for temporal queries (BM25 + entity-filtered HNSW, automatic routing — no client changes required); reranker queues under load instead of dropping to unranked results; background re-embed now upgrades all memories regardless of importance floor; build_sha added to /health response.
  • v0.11.85: compute_fetch_n extracted + DAKERA_HYBRID_FETCH_MULT / DAKERA_CROSS_SESSION_FETCH_MULT server-side env knobs — no client API changes.

v0.11.89 (2026-06-11)

Server compatibility: tracks Dakera server v0.11.86–v0.11.89.

  • v0.11.86: CE-OVERHAUL safe subset — RRF single-modality virtual ranking, temporal date-range inference, cross-session entity bridging. All engine-internal; no client API changes required.
  • v0.11.87: Honor cross-session fetch_n override in session-scoped recall path — inert for SDK consumers; server-side env knob only.
  • v0.11.88: Opt-in CE-31 sentence decomposition on batch ingest (DAKERA_BATCH_SENTENCE_DECOMP server env) — no client API changes.
  • v0.11.89: List-aware CE-31 decomposition + hardened supersession demotion, both inert-by-default server-side env flags — no client API changes.

Python SDK

  • SDK release now triggers automatic website SDK version sync (DAK-5974).
  • Fixed stale __version__ string (was pinned to v0.11.46; now tracks package version automatically).

CI & Dependencies

  • Sync PRs: #123 (v0.11.85 + build_sha), #124 (website sync trigger), #125 (v0.11.89 + version fix)

No breaking changes. Existing API calls work unchanged.

Full Changelog: https://github.com/dakera-ai/dakera-py/blob/main/CHANGELOG.md

v0.11.83

04 Jun 19:10
6257a2f

Choose a tag to compare

dakera-py v0.11.83

Sync release with dakera server v0.11.83 (8-version bump from v0.11.75).

Features

  • drain_reembed() — new admin method to trigger a full re-embedding pass on all stored memories. Useful after model swaps or embedding pipeline upgrades to ensure vector consistency without data loss. (DAK-6326)

Changes Since v0.11.75

  • sync: bump to v0.11.83, add drain_reembed() (DAK-6326) (#122) (6257a2f)

Upgrade

pip install --upgrade dakera==0.11.83

Full Changelog

v0.11.75...v0.11.83