Releases: Dakera-AI/dakera-py
v0.12.5
What's Changed
- chore(DAK-6911): bump to v0.12.5 — AsyncChatMemorySession + CI drift gate @ferhimedamine (#162)
- test(DAK-6911): AsyncChatMemorySession live-server integration tests @ferhimedamine (#161)
- feat(DAK-6895): add AsyncChatMemorySession helper @ferhimedamine (#160)
- ci: add __version__/pyproject.toml drift check (DAK-6850) @ferhimedamine (#159)
Full Changelog: v0.12.4...v0.12.5
v0.12.4
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
What's Changed
Added
-
admin_reembed_static_count()— newDakeraClientandAsyncDakeraClientmethod forGET /v1/admin/reembed/static-count(DAK-6781, #152). Returns aStaticCountResponsewith the count of_embedding_kind=staticvectors pending ONNX upgrade. Astatic_countof 0 means steady state. -
Playground quickstart —
examples/playground/quickstart.pydemonstrates 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 raisesAuthorizationErrorinstead of crashing inGraphLinkResponse.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 corrections —
admin_index_stats(),rebuild_indexes(), andrestore_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}/linksgracefully. (DAK-6749, #148) -
Quickstart search step nested envelope — quickstart now correctly accesses
result["memory"]["content"]. (DAK-6784, #153)
Testing
- Remove
xfailfrom admin endpoint tests — xfail markers removed after server v0.11.91 confirmed all admin routes live. (#147) - Playground integration tests —
tests/test_playground_integration.pyadded; covers store, recall, search, and KG-link (graceful). Tests skip whenDAKERA_TEST_URLabsent. (#149)
Install
pip install dakera==0.12.3v0.12.2
dakera v0.12.2
CI maintenance release — no API changes.
CI
actions/checkout4 → 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.2Full Changelog: v0.12.1...v0.12.2
v0.12.1 — Version attribute fix
Patch Release v0.12.1
Fixed
dakera.__version__now correctly returns"0.12.1"(was"0.11.91"at runtime in0.12.0due to tag ordering)CHANGELOG.md: correctedDakeraCostStoragemethod 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
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 example —
examples/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
What's Changed
- sync: bump to v0.11.91 — async methods, fix, examples parity @ferhimedamine (#133)
- feat(DAK-6627): add advanced/fulltext_search/memory examples for SDK parity @ferhimedamine (#132)
- docs(DAK-6620): add 3-line minimal quickstart to README @ferhimedamine (#131)
- feat(DAK-6588): add 7 missing async methods to AsyncDakeraClient @ferhimedamine (#130)
- fix: handle plain-text Prometheus response in _handle_response (DAK-6584) @ferhimedamine (#129)
Full Changelog: v0.11.90...v0.11.91
v0.11.90
What's Changed
- sync: bump to v0.11.90 (DAK-6570) @ferhimedamine (#128)
- chore: embed founder ORCID in LICENSE + SECURITY.md + license-integrity workflow @ferhimedamine (#127)
- feat: add T-I-F reliability helpers (TifScore, evaluate_tif) @ferhimedamine (#126)
Full Changelog: v0.11.89...v0.11.90
v0.11.89
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_shaadded to/healthresponse. - v0.11.85:
compute_fetch_nextracted +DAKERA_HYBRID_FETCH_MULT/DAKERA_CROSS_SESSION_FETCH_MULTserver-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_noverride 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_DECOMPserver 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
No breaking changes. Existing API calls work unchanged.
Full Changelog: https://github.com/dakera-ai/dakera-py/blob/main/CHANGELOG.md
v0.11.83
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
Upgrade
pip install --upgrade dakera==0.11.83