diff --git a/.release-please-manifest.json b/.release-please-manifest.json index ecea89e0a..a9c5e76d1 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,4 +1,4 @@ { - ".": "3.17.2", - "plugin": "2.23.0" + ".": "3.18.0", + "plugin": "2.23.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index fe9eb8069..8d174f3b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,76 @@ Only the most recent releases are listed below. Every release, including those no longer shown here, is published with its full notes at [github.com/caura-ai/caura/releases](https://github.com/caura-ai/caura/releases). +## [3.18.0](https://github.com/caura-ai/caura/compare/backend-v3.17.2...backend-v3.18.0) (2026-09-23) + + +### Features + +* add dual-read service agent identities (step 1) ([#1676](https://github.com/caura-ai/caura/issues/1676)) ([1d8d55e](https://github.com/caura-ai/caura/commit/1d8d55e8a65e56e3538a1be3442a42d839263135)) +* **api:** resolve tenant_id from the credential when a body omits it ([#1634](https://github.com/caura-ai/caura/issues/1634)) ([f496b27](https://github.com/caura-ai/caura/commit/f496b2723b41a0be4c44f8a8a22c95bbb0a76d51)) +* **clients:** hold the memclaw-client name as a truthful redirect shell (0.5.1) ([#1646](https://github.com/caura-ai/caura/issues/1646)) ([5e2a3a9](https://github.com/caura-ai/caura/commit/5e2a3a90fbde6a779539ef4d7bb389b8baee080b)) +* **contradiction:** treat provenance and containment as single-valued ([#1678](https://github.com/caura-ai/caura/issues/1678)) ([352f616](https://github.com/caura-ai/caura/commit/352f616516624680b952a69d402550c8052695b4)) +* **documents:** record which agent wrote a document ([#1652](https://github.com/caura-ai/caura/issues/1652)) ([1989376](https://github.com/caura-ai/caura/commit/19893762ace6e5aecf7692697553f4b00f34a01e)) +* **enrichment:** make the atomic-fact fan-out switchable per tenant ([#1677](https://github.com/caura-ai/caura/issues/1677)) ([4ab590f](https://github.com/caura-ai/caura/commit/4ab590f933cd668de2d2f65a3cda2158cc042ff4)) +* **mcp:** bill the batch write, and count the verdicts nobody could determine ([#1675](https://github.com/caura-ai/caura/issues/1675)) ([0f3fd2b](https://github.com/caura-ai/caura/commit/0f3fd2b79ab056030be1f3b40032510bc6609183)) + + +### Bug Fixes + +* **agents:** confirm a lookup miss against the primary before creating ([#1647](https://github.com/caura-ai/caura/issues/1647)) ([88e8a1b](https://github.com/caura-ai/caura/commit/88e8a1b33f58c48121cc26a78d71964a64644719)) +* **agents:** read the agent back from the primary after writing it ([#1641](https://github.com/caura-ai/caura/issues/1641)) ([2334d19](https://github.com/caura-ai/caura/commit/2334d1916f63b6269e337cc00972398001bd94bb)) +* **api:** give an unmatched route the error envelope, and name the real ones ([#1636](https://github.com/caura-ai/caura/issues/1636)) ([c297e0e](https://github.com/caura-ai/caura/commit/c297e0edab82611dd654dbdf3d161be1496c9dad)) +* **api:** let an agent credential's own identity fill an omitted agent_id (ax-0917-m-16) ([#1696](https://github.com/caura-ai/caura/issues/1696)) ([9311e43](https://github.com/caura-ai/caura/commit/9311e43adc6624b882cd8a260ba4fbd90a3a75d2)) +* **api:** make the request-budget 504 readable instead of `{"detail":...}` ([#1633](https://github.com/caura-ai/caura/issues/1633)) ([fe096f7](https://github.com/caura-ai/caura/commit/fe096f7955bcae2db0b19358f4f0b069260ff7d4)) +* **api:** retire legacy service agent ids (step 3) ([#1694](https://github.com/caura-ai/caura/issues/1694)) ([c944bec](https://github.com/caura-ai/caura/commit/c944bece013ffd5f6aeaf0b0bd72ce549c32d491)) +* **api:** stop the plan quota from squatting on X-RateLimit-* ([#1679](https://github.com/caura-ai/caura/issues/1679)) ([6242aba](https://github.com/caura-ai/caura/commit/6242aba0c4fbddaeba6904685434b86c4c491c31)) +* **c-04:** make the worker-path test able to fail, and close the review's remainder ([#1682](https://github.com/caura-ai/caura/issues/1682)) ([4c0b3bb](https://github.com/caura-ai/caura/commit/4c0b3bbb65c5fabdda846d4b997bfffcbe95befc)) +* **extraction:** stop two surface forms clobbering each other's aliases (09/02 L-32) ([#1681](https://github.com/caura-ai/caura/issues/1681)) ([9e57349](https://github.com/caura-ai/caura/commit/9e57349c967ec62e9eed611de860432e2d8f4e4a)) +* **idempotency:** record the key even when the caller disconnects (ax-0917-h-09) ([#1629](https://github.com/caura-ai/caura/issues/1629)) ([33e9692](https://github.com/caura-ai/caura/commit/33e9692427045e70fbed4ffa62748e9af383a419)) +* **memories:** make the expiry sweep cover expires_at (09/02 M-60) ([#1692](https://github.com/caura-ai/caura/issues/1692)) ([6230230](https://github.com/caura-ai/caura/commit/62302301d618c81a9a488d13aeb9e6f589ef4b8b)) +* **sentinel:** point the memory-id stuffing check at the field Forge writes (09/02 L-35) ([#1541](https://github.com/caura-ai/caura/issues/1541)) ([3a5fccd](https://github.com/caura-ai/caura/commit/3a5fccdf6fd815f85e70b67b2fe8bcd9a8ff9a3d)) +* **storage:** migrate legacy service agent ids (step 2) ([#1683](https://github.com/caura-ai/caura/issues/1683)) ([f664d86](https://github.com/caura-ai/caura/commit/f664d86f73479f649441180bb79d7b43871c3f4b)) +* **storage:** report schema drift at startup ([#1655](https://github.com/caura-ai/caura/issues/1655)) ([8bf3012](https://github.com/caura-ai/caura/commit/8bf301241008b1b34d273e162996c72b90976d8b)) +* **storage:** stop 044's post-condition claiming harm it does not cause ([#1684](https://github.com/caura-ai/caura/issues/1684)) ([64b3f54](https://github.com/caura-ai/caura/commit/64b3f54d2aac5984a9546746380063af7a324faa)) + + +### Performance + +* **extraction:** upsert relations concurrently instead of one POST at a time (09/02 L-37) ([#1543](https://github.com/caura-ai/caura/issues/1543)) ([f99f7bf](https://github.com/caura-ai/caura/commit/f99f7bfaf672f1b953d0d17c198b3a544042f816)) +* **recall:** stop shipping the result set twice and the telemetry three times ([#1557](https://github.com/caura-ai/caura/issues/1557)) ([9e7c3bc](https://github.com/caura-ai/caura/commit/9e7c3bc49bc267a1d6eeae00d91754f04c10269b)) + + +### Dependencies + +* **actions:** bump the actions group with 6 updates ([#1663](https://github.com/caura-ai/caura/issues/1663)) ([c985da4](https://github.com/caura-ai/caura/commit/c985da430f286b8f6bbf69941f630543a9a3429b)) +* **clients:** bump @types/node from 26.5.1 to 26.6.1 in /clients/typescript in the clients-npm-minor-patch group across 1 directory ([#1664](https://github.com/caura-ai/caura/issues/1664)) ([58dc455](https://github.com/caura-ai/caura/commit/58dc455eefbcb7cb9c47e6dff7659da83e42b392)) +* **clients:** update ruff requirement from <0.16,>=0.15.4 to >=0.15.4,<0.17 in /clients/python ([#1576](https://github.com/caura-ai/caura/issues/1576)) ([e56ac7e](https://github.com/caura-ai/caura/commit/e56ac7eda0dc456b286ab6011102e8445923e8c3)) +* **docker:** bump datadog/serverless-init from `2f498f4` to `f494334` in /core-api ([#1563](https://github.com/caura-ai/caura/issues/1563)) ([ccbf60b](https://github.com/caura-ai/caura/commit/ccbf60b936148b44d29be6ad83084e9007192076)) +* **docker:** bump datadog/serverless-init from `2f498f4` to `f494334` in /core-operations ([#1564](https://github.com/caura-ai/caura/issues/1564)) ([5dbe7fb](https://github.com/caura-ai/caura/commit/5dbe7fb6971b38630a88f1e57079bd14ba4554ae)) +* **docker:** bump datadog/serverless-init from `2f498f4` to `f494334` in /core-worker ([#1565](https://github.com/caura-ai/caura/issues/1565)) ([04f6b7b](https://github.com/caura-ai/caura/commit/04f6b7b92621dd859abfdc3bfb597188f1d576f7)) +* **plugin:** bump @types/node from 26.5.1 to 26.6.1 in /plugin in the npm-minor-patch group ([#1658](https://github.com/caura-ai/caura/issues/1658)) ([b4c43f2](https://github.com/caura-ai/caura/commit/b4c43f2620ac9e275630fbe47f5e344e5c911f2d)) +* update cachetools requirement from >=7.1.8 to >=7.2.0 ([#1661](https://github.com/caura-ai/caura/issues/1661)) ([273ac33](https://github.com/caura-ai/caura/commit/273ac3397911b091a4553588a45886682990f47b)) +* update google-cloud-aiplatform requirement from <3,>=2.1.0 to >=2.1.3,<3 ([#1660](https://github.com/caura-ai/caura/issues/1660)) ([140a67a](https://github.com/caura-ai/caura/commit/140a67a2bf052e6d3c0f11ac8f2bc30104711b02)) +* update httpx requirement from <1,>=0.27 to >=0.28.1,<1 ([#1566](https://github.com/caura-ai/caura/issues/1566)) ([b3bd76d](https://github.com/caura-ai/caura/commit/b3bd76d2684b00d9962828afdc421385afc1f373)) +* update python-dateutil requirement from <3,>=2.8 to >=2.9.0.post0,<3 ([#1567](https://github.com/caura-ai/caura/issues/1567)) ([1871882](https://github.com/caura-ai/caura/commit/187188250fd38ae31f8a18e0a6974e8435840bc0)) +* update sentry-sdk requirement from <3,>=2.69.1 to >=2.69.2,<3 ([#1662](https://github.com/caura-ai/caura/issues/1662)) ([bd4135e](https://github.com/caura-ai/caura/commit/bd4135e42fc780c2952a733cbc6f3de573e1cfa5)) +* update uvicorn requirement from <1,>=0.52.4 to >=0.53.0,<1 ([#1659](https://github.com/caura-ai/caura/issues/1659)) ([71c48de](https://github.com/caura-ai/caura/commit/71c48dec967fbd76beda63268bdb9f35a19a4c5e)) + + +### Reverts + +* "fix(storage): apply the cross-link threshold outside the LIMIT" ([#1639](https://github.com/caura-ai/caura/issues/1639)) ([c06f215](https://github.com/caura-ai/caura/commit/c06f2151e0f3fd4b923952c60b28de1f236c9f84)) + + +### Documentation + +* align setup and agent guides with live contracts ([#1643](https://github.com/caura-ai/caura/issues/1643)) ([c52d517](https://github.com/caura-ai/caura/commit/c52d517f52db3a644f7308b5d40d1df60da10143)) +* **api:** correct the fleet-less recall claim and name all four scope axes (ax-0917-m-19/m-20) ([#1697](https://github.com/caura-ai/caura/issues/1697)) ([8b235f7](https://github.com/caura-ai/caura/commit/8b235f7459bcedfff81c466e33534ce1145b66ff)) +* **documents:** disclose that a doc write mints a memory (ax-0917-m-15) ([#1695](https://github.com/caura-ai/caura/issues/1695)) ([005e607](https://github.com/caura-ai/caura/commit/005e607a4c07ecd3dfe8a795354251c7f106498a)) +* **rebrand:** classify remaining legacy names ([#1674](https://github.com/caura-ai/caura/issues/1674)) ([0d2d077](https://github.com/caura-ai/caura/commit/0d2d07794475cbecb2201360091b84569725c54a)) +* **rebrand:** classify skill and migration legacy names ([#1671](https://github.com/caura-ai/caura/issues/1671)) ([87f9bde](https://github.com/caura-ai/caura/commit/87f9bdeba16a5df69b5095efa09e3c1e15cf773a)) +* **search:** six cosine renders were two evaluations per row, not six ([#1685](https://github.com/caura-ai/caura/issues/1685)) ([e31b18c](https://github.com/caura-ai/caura/commit/e31b18c0c06e8c482fe57a8838099eb63056a9f5)) + ## [3.17.2](https://github.com/caura-ai/caura/compare/backend-v3.17.1...backend-v3.17.2) (2026-09-19) diff --git a/core-api/pyproject.toml b/core-api/pyproject.toml index f8cf22d38..5e6c39656 100644 --- a/core-api/pyproject.toml +++ b/core-api/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "core-api" -version = "3.17.2" +version = "3.18.0" description = "Caura Core API service" license = "Apache-2.0" requires-python = ">=3.12" diff --git a/core-api/uv.lock b/core-api/uv.lock index 099903e98..2057e8aab 100644 --- a/core-api/uv.lock +++ b/core-api/uv.lock @@ -366,7 +366,7 @@ wheels = [ [[package]] name = "core-api" -version = "3.17.2" +version = "3.18.0" source = { editable = "." } dependencies = [ { name = "alembic" }, diff --git a/core-storage-api/pyproject.toml b/core-storage-api/pyproject.toml index 4cd3331b6..2b555df40 100644 --- a/core-storage-api/pyproject.toml +++ b/core-storage-api/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "core-storage-api" -version = "3.17.2" +version = "3.18.0" description = "Caura Core Storage API — PostgreSQL CRUD service" license = "Apache-2.0" requires-python = ">=3.12" diff --git a/core-storage-api/uv.lock b/core-storage-api/uv.lock index dab113f3d..98ad95d38 100644 --- a/core-storage-api/uv.lock +++ b/core-storage-api/uv.lock @@ -305,7 +305,7 @@ wheels = [ [[package]] name = "core-storage-api" -version = "3.17.2" +version = "3.18.0" source = { editable = "." } dependencies = [ { name = "alembic" }, diff --git a/core-worker/pyproject.toml b/core-worker/pyproject.toml index ced6451f5..52969a5f7 100644 --- a/core-worker/pyproject.toml +++ b/core-worker/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "core-worker" -version = "3.17.2" +version = "3.18.0" description = "Caura core async worker — consumes embedding requests and backfills embeddings" license = "Apache-2.0" requires-python = ">=3.12" diff --git a/core-worker/uv.lock b/core-worker/uv.lock index 6f85b73b6..e351e0641 100644 --- a/core-worker/uv.lock +++ b/core-worker/uv.lock @@ -257,7 +257,7 @@ wheels = [ [[package]] name = "core-worker" -version = "3.17.2" +version = "3.18.0" source = { editable = "." } dependencies = [ { name = "cachetools" }, diff --git a/plugin/CHANGELOG.md b/plugin/CHANGELOG.md index b4316e058..9c8285b12 100644 --- a/plugin/CHANGELOG.md +++ b/plugin/CHANGELOG.md @@ -4,6 +4,21 @@ Only the most recent releases are listed below. Every release, including those no longer shown here, is published with its full notes at [github.com/caura-ai/caura/releases](https://github.com/caura-ai/caura/releases). +## [2.23.1](https://github.com/caura-ai/caura/compare/plugin-v2.23.0...plugin-v2.23.1) (2026-09-23) + + +### Dependencies + +* **plugin:** bump @types/node from 26.5.1 to 26.6.1 in /plugin in the npm-minor-patch group ([#1658](https://github.com/caura-ai/caura/issues/1658)) ([b4c43f2](https://github.com/caura-ai/caura/commit/b4c43f2620ac9e275630fbe47f5e344e5c911f2d)) + + +### Documentation + +* align setup and agent guides with live contracts ([#1643](https://github.com/caura-ai/caura/issues/1643)) ([c52d517](https://github.com/caura-ai/caura/commit/c52d517f52db3a644f7308b5d40d1df60da10143)) +* **api:** correct the fleet-less recall claim and name all four scope axes (ax-0917-m-19/m-20) ([#1697](https://github.com/caura-ai/caura/issues/1697)) ([8b235f7](https://github.com/caura-ai/caura/commit/8b235f7459bcedfff81c466e33534ce1145b66ff)) +* **documents:** disclose that a doc write mints a memory (ax-0917-m-15) ([#1695](https://github.com/caura-ai/caura/issues/1695)) ([005e607](https://github.com/caura-ai/caura/commit/005e607a4c07ecd3dfe8a795354251c7f106498a)) +* **rebrand:** classify skill and migration legacy names ([#1671](https://github.com/caura-ai/caura/issues/1671)) ([87f9bde](https://github.com/caura-ai/caura/commit/87f9bdeba16a5df69b5095efa09e3c1e15cf773a)) + ## [2.23.0](https://github.com/caura-ai/caura/compare/plugin-v2.22.3...plugin-v2.23.0) (2026-09-19) diff --git a/plugin/openclaw.plugin.json b/plugin/openclaw.plugin.json index 62d4f329d..feea32716 100644 --- a/plugin/openclaw.plugin.json +++ b/plugin/openclaw.plugin.json @@ -2,7 +2,7 @@ "id": "memclaw", "name": "Caura", "kind": "memory", - "version": "2.23.0", + "version": "2.23.1", "description": "Central persistent memory for OpenClaw agents — write, search, and entity lookup tools.", "entry": "dist/index.js", "skills": [ diff --git a/plugin/package-lock.json b/plugin/package-lock.json index 97614a05a..bf1e27cd2 100644 --- a/plugin/package-lock.json +++ b/plugin/package-lock.json @@ -1,12 +1,12 @@ { "name": "@caura/plugin", - "version": "2.23.0", + "version": "2.23.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@caura/plugin", - "version": "2.23.0", + "version": "2.23.1", "license": "Apache-2.0", "devDependencies": { "@types/node": "^26.6.1", diff --git a/plugin/package.json b/plugin/package.json index ac0556e97..18062cf29 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "@caura/plugin", - "version": "2.23.0", + "version": "2.23.1", "description": "OpenClaw plugin for Caura central memory", "license": "Apache-2.0", "private": true, diff --git a/plugin/src/version.ts b/plugin/src/version.ts index 619b3a350..38cdf0d17 100644 --- a/plugin/src/version.ts +++ b/plugin/src/version.ts @@ -1,2 +1,2 @@ // Auto-generated from plugin/package.json by scripts/gen-version.sh — do not edit -export const PLUGIN_VERSION = "2.23.0"; // x-release-please-version +export const PLUGIN_VERSION = "2.23.1"; // x-release-please-version