Repository navigation
0.8.0 - 2026-10-01
Release Notes
Support for Dakera server v0.12.0. Compatible with v0.11.108 and v0.12.0 servers;
the commands below that call v0.12 routes say so when run against v0.11.
Added
dk capabilities:GET /v1/capabilitiesas a table (active model, search
mode, scoring strategy, query languages, opt-in features on/off). Exits 3 with a
clear message on a server that predates v0.12.dk health ready/dk health live: the readiness and liveness probes.
dk healthanddk health --detailednow read the JSON directly: a starting
server (503+Retry-After) is reported as such (exit 6) instead of healthy,
and thedegraded,config_warningsandembed_migrationfields are shown.dk attachment upload|list|download|delete|transcribe|index|job: the v0.12
attachment, speech-to-text and image-index routes (opt-in on the server:
DAKERA_ATTACHMENTS,DAKERA_VISION), with--waitfor the background jobs.dk admin embed-migration:GET /admin/reembed/migration.dk admin encryption-status|encryption-rotate|encryption-reseal: the v0.12
keyring; rotation of one namespace (-n) or of everything, the new key read from
an environment variable (--new-key-env), never from the command line.dk admin backup-get|backup-download|backup-upload|backup-restore-status|backup-schedule,
and options onbackup-create(--name,--type,-n,--encrypt,
--compression,--wait) andbackup-restore(-n,--overwrite --yes,--wait).- Permission and error messages: every non-2xx answer keeps the server's JSON
error body. A403says whether the key is pinned to namespaces (v0.12:403on
node-wide routes) or lackssuper_admin(backup download, upload, restore); a
413,501and503say what to change or when to retry (Retry-After).
With--format jsonthe error gainshttp_status,server_code,details,
retry_after_secs. --langondk memory store|recall|search|update(server v0.12): the language
of the content or query (ISO 639-1 code or name, optionally with a region, e.g.
pt-BR); the server lists what it supports indk capabilities.--attachment-refondk memory store(server v0.12,DAKERA_ATTACHMENTS): link
the memory to an uploaded attachment (sha256:<hex>).dk memory batch-store:POST /v1/memories/store/batch, up to 1000 memories
in one request from repeated--contentand/or a--fileJSON array (-reads
stdin);--type,--importance,--tag,--session-idfill in what an item does
not set, and--langapplies to the whole batch.dk memory extract:POST /v1/memories/extract, entity extraction without
storing (--entity-types,--lang).- README: what is new, compatibility with v0.11.108 and v0.12.0, permissions, and
the server-sidedakera downgradeanddakera --check-configcommands.
Changed
- Exit codes follow the HTTP status of an error answer:
401/403exit 4;
400/409/413/415/422exit 5; every 5xx (including501and503) exits 6. - Shell completions list the new commands.
dakera-client0.11 -> 0.12.0.dk memory storeprints the agent instead ofnamespace: default(the store
answer carries no namespace; that value was a placeholder).dk memory recall|searchprint the server's total only when it reports one larger
than the page (recall reports none, so it showedtotal: 0).
Fixed
dk admin backup-createsent{"include_data": ...}and noname, which the
server requires, so it could not succeed; it now sendsname(default
dk-backup-<unix time>). The--no-dataflag, which the server never read, is gone.dk admin quotas-setcalledPUT /admin/quotas, a route that does not exist; it
now calls/admin/quotas/{namespace}(-n) or/admin/quotas/default.- Calls to routes the v0.12.0 server does not serve (found by diffing every route
dkcalls, directly
and throughdakera-client0.11, against the server router):dk memory updatecalledPUT /v1/agents/{agent}/memories/{id}; it now callsPUT /v1/memory/update/{id}?agent_id=.dk memory feedbackcalledPOST /v1/agents/{agent}/memories/feedbackwith free text; it now calls
POST /v1/memory/feedbackwith asignal(upvote,downvote,flag,positive,negative). The text and--scorearguments are gone.dk memory batch-forgetcalledPOST /v1/memories/forget/batchwith fields the server does not read; it now calls
DELETEwith{agent_id, filter}(--max-age-daysbecomescreated_before) and--dry-runcounts matches throughPOST /v1/memories/recall/batch.dk text searchcalledPOST /v1/fulltext/search; it now callsPOST /v1/namespaces/{ns}/fulltext/searchand needs--namespace.dk admin configure-ttlcalledPUT /admin/namespaces/{ns}/ttl, which does not exist, and is removed: usedk namespace policy set(TTL fields).
dk admincommands printed their success line before checking the answer, so a
refused call showed a green check and then the error.- The SDK-backed commands (
dk memory,dk session, ...) now get the same exit codes
by status as the others: a400exited 6 and a501exited 1. dk knowledge graph|full-graph|summarize|deduplicateanddk index fulltext-stats
failed on every call against v0.11.108 and v0.12.0 (dakera-clientdoes not match
these routes: "error decoding response body", or a 422). They now call the REST API
with the server's request and answer shapes:dk knowledge graphneeds--memory-id(the server builds the graph around a seed
memory) and prints the seed and its related memories.dk knowledge summarizeneeds--memory-idswith at least two ids, prints the new
summary memory, and--dry-runis removed: the server has no dry run and always
stores the summary, so the flag announced a preview while writing.dk knowledge full-graphprints clusters and the hub memory;deduplicateprints
each group's canonical id, duplicates and similarity.
The container tests for these commands accepted the failures ("response schema may
differ"); they now assert success against the real server.
- Commands that printed a result without calling the server now do the work:
dk namespace create <ns> --dimension <N> [--distance cosine|euclidean|dot]creates
the namespace (PUT /v1/namespaces/{ns}); it printed "will be created on first vector
upsert" and pointed to adk vector upsertcommand that does not exist.
--dimensionis now required (the server needs it).dk namespace deletedeletes (DELETE /v1/namespaces/{ns}); it said the server could
not delete namespaces.dk index rebuildrebuilds (POST /admin/indexes/rebuild, new--force); it said
"not yet available".--index-typeno longer defaults toall(not a server value):
the server picks flat or HNSW per namespace and rejects a different expected kind.
dk agent statsfailed to decode the server's integer timestamps.- Shell completions offered
vector,opsandanalytics, commands that were removed in
0.6;dk initpointed to vector upsertsdkcannot do.
Install dakera-cli 0.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dakera-ai/dakera-cli/releases/download/v0.8.0/dakera-cli-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/dakera-ai/dakera-cli/releases/download/v0.8.0/dakera-cli-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install dakera-ai/tap/dkDownload dakera-cli 0.8.0
| File | Platform | Checksum |
|---|---|---|
| dakera-cli-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| dakera-cli-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| dakera-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| dakera-cli-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |