Skip to content

Commit 3245820

Browse files
chore: version packages (rc)
1 parent df54254 commit 3245820

153 files changed

Lines changed: 16261 additions & 77 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/pre.json

Lines changed: 183 additions & 0 deletions
Large diffs are not rendered by default.

examples/app-crm/CHANGELOG.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,73 @@
11
# @objectstack/example-crm
22

3+
## 4.0.92-rc.3
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [28ad90e]
8+
- Updated dependencies [cdfbee2]
9+
- Updated dependencies [29c6c9d]
10+
- Updated dependencies [d21c001]
11+
- Updated dependencies [f1cc3a3]
12+
- Updated dependencies [553a47f]
13+
- Updated dependencies [2e284b2]
14+
- Updated dependencies [0161c7f]
15+
- Updated dependencies [a019e52]
16+
- Updated dependencies [64fc6d5]
17+
- Updated dependencies [eaaf03c]
18+
- Updated dependencies [d17df80]
19+
- Updated dependencies [7d0e7b5]
20+
- Updated dependencies [c142ced]
21+
- Updated dependencies [fd8521f]
22+
- Updated dependencies [18b8eaa]
23+
- Updated dependencies [37e38d1]
24+
- Updated dependencies [78adc2e]
25+
- Updated dependencies [81e2744]
26+
- Updated dependencies [277eb36]
27+
- Updated dependencies [41e605e]
28+
- Updated dependencies [2649ccb]
29+
- Updated dependencies [a70cd0a]
30+
- Updated dependencies [c52e608]
31+
- Updated dependencies [77be690]
32+
- Updated dependencies [b49ccfd]
33+
- Updated dependencies [546ab3c]
34+
- Updated dependencies [0b51bb6]
35+
- Updated dependencies [d9971d3]
36+
- Updated dependencies [175d789]
37+
- Updated dependencies [55dbbba]
38+
- Updated dependencies [471839d]
39+
- Updated dependencies [71f205d]
40+
- Updated dependencies [26e1029]
41+
- Updated dependencies [108ba8d]
42+
- Updated dependencies [b4ad984]
43+
- Updated dependencies [1203bb2]
44+
- Updated dependencies [2ddba89]
45+
- Updated dependencies [1c3da1f]
46+
- Updated dependencies [4845f85]
47+
- Updated dependencies [94f7b6a]
48+
- Updated dependencies [c5a5996]
49+
- Updated dependencies [f61c8cf]
50+
- Updated dependencies [04fab5e]
51+
- Updated dependencies [5278e11]
52+
- Updated dependencies [ba98e26]
53+
- Updated dependencies [f8cfbb4]
54+
- Updated dependencies [c89d18c]
55+
- Updated dependencies [1e6ab15]
56+
- Updated dependencies [c87ef70]
57+
- Updated dependencies [3cb0618]
58+
- Updated dependencies [32a0874]
59+
- Updated dependencies [7055c22]
60+
- Updated dependencies [785a748]
61+
- Updated dependencies [3af0354]
62+
- Updated dependencies [866ff16]
63+
- Updated dependencies [5a85e67]
64+
- Updated dependencies [c183a12]
65+
- Updated dependencies [8064b07]
66+
- Updated dependencies [4a56dbd]
67+
- Updated dependencies [06df4fa]
68+
- @objectstack/spec@17.0.0-rc.3
69+
- @objectstack/runtime@17.0.0-rc.3
70+
371
## 4.0.92-rc.2
472

573
### Patch Changes

examples/app-crm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-crm",
3-
"version": "4.0.92-rc.2",
3+
"version": "4.0.92-rc.3",
44
"description": "Minimal CRM example — a smoke-test workspace that exercises the metadata loading pipeline (objects → views → app → dashboard → hook → flow → seed). For a full-featured enterprise CRM see https://github.com/objectstack-ai/hotcrm.",
55
"license": "Apache-2.0",
66
"private": true,

examples/app-showcase/CHANGELOG.md

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,174 @@
11
# @objectstack/example-showcase
22

3+
## 0.3.14-rc.3
4+
5+
### Patch Changes
6+
7+
- 3905c00: feat(objectql)!: a predicate bulk write evaluates and fires after-hooks PER ROW (#5038)
8+
9+
The 2026-08-04 maintainer ruling on #4800 / #4862, recorded as ADR-0058's
10+
bulk-write addendum: **a bulk write is N record changes**, so every record-scoped
11+
declaration on it is evaluated per row — `record` = that row's state, `previous` =
12+
that row's pre-write state. Validation predicates have worked this way since
13+
#3106; hook `condition`s and the record-change flow triggers riding the same
14+
lifecycle hooks now join them.
15+
16+
**What was broken.** A `multi: true` update reaches `driver.updateMany`, which
17+
resolves an affected COUNT. The lifecycle hook fired **once**, `previous` was
18+
never assigned (only the single-id branch fetched a prior row), and `record`
19+
degraded to the write's bare payload. So the transition condition the docs, the
20+
formula skill and ten showcase flows all teach —
21+
`status == "done" && previous.status != "done"` — could not be evaluated on a
22+
bulk write. Hook conditions rejected the write (#4775/#5037); record-change flow
23+
triggers were **silent**, firing zero times or once for a record that did not
24+
exist. A missing audit row is the one failure nobody goes looking for.
25+
26+
**What changed.** The engine's bulk `update` / `delete` branches now read the
27+
matched row set **once** — the same `driver.find` #3106 already issues, with
28+
"this object has after-hooks" added to its demand test — and dispatch
29+
`afterUpdate` / `afterDelete` once per matched row, each on a context with the
30+
**single-record shape**: `input.id` = the row, `previous` = its pre-image,
31+
`result` = its state. That is #2922's batch-INSERT ruling restated, and it is why
32+
this fix has no code in the consumers: `hook-wrappers`' `record`/`previous`
33+
bindings, the record-change trigger's context builder and plugin-audit's diff all
34+
read those same fields and became correct at the producer.
35+
36+
- **Per-row dispatch is uniform across after-hooks.** It is deliberately NOT
37+
keyed on whether a condition mentions `previous` — the ruling rejected that as
38+
a hidden rule that would make a hook's firing count depend on its condition
39+
text.
40+
- **`ctx.result` per row is the ROW**, composed as `row ⊕ payload` from the
41+
pre-image already in hand, so the batch still costs one extra query, not one
42+
per row. A bulk DELETE has no post-state: its per-row context sets no `result`,
43+
and consumers fall back to `previous`.
44+
- **`onError` needed no new meaning** — it governs a handler on a record-scoped
45+
context, which is now what it always gets: `abort` fails the operation, `log`
46+
swallows that row and the batch continues.
47+
- **A ceiling, enforced as a refusal.** Past 10 000 matched rows a predicate
48+
write against an object with after-hooks is rejected _before_ the driver call
49+
(`ERR_BULK_PER_ROW_HOOK_LIMIT`), so nothing is written. It is never downgraded
50+
to one dispatch for the batch — that would skip the hook for N-1 rows silently.
51+
52+
**Breaking for hook authors, in the direction the contract declares.** An
53+
after-hook on an object that takes predicate writes now runs once per matched row
54+
instead of once per batch: a notification hook sends N messages, a
55+
cache-invalidation hook runs N times. Objects with no after-hooks are untouched
56+
and pay for no extra read. The write's own contract is unchanged — a predicate
57+
write still resolves the affected count and still publishes ONE aggregate
58+
`data.records.updated` (#4639).
59+
60+
**`before*` hooks stay batch-scoped, and that is not a gap.** `beforeUpdate` /
61+
`beforeDelete` fire once for the whole batch because they may still rewrite the
62+
payload, and one `updateMany` carries one payload. #5037's `HookConditionError`
63+
and its `limitation` discriminator therefore **survive, rescoped to that
64+
dispatch** — with a message that no longer promises an expiry that has already
65+
happened, names the phase as the reason, and points at the matching `after*`
66+
event where the same condition evaluates per row as authored. It also now names a
67+
record-change flow trigger as a real route: #5037 refused to, on measured
68+
evidence that the trigger shared the same unbound `previous`; that fact changed.
69+
70+
Docs (`data-modeling/formulas.mdx`) and `skills/objectstack-formula` §5 are
71+
updated to teach one transition shape for both write forms, with the `before*`
72+
exception called out.
73+
74+
- 9f41ee6: test(e2e,showcase): showcase 的 `apis:` 回迁,并由真实 boot 探针证明它真的在服务(#5040 E8)
75+
76+
#4936 把 showcase 的两条声明式端点注释掉,不是因为它们写错了,而是因为当时整条端点链零执行:没有任何路由为声明的 `path` 挂载,没有匹配器,每一个键 —— 包括 `authRequired` —— 解析通过而不生效。那时候留着它们就是在演示一个运行时不兑现的能力(Prime Directive #10)。
77+
78+
#5040 的 E1–E7 把执行器建起来、把整面硬拒收窄成逐端点 publish 门之后,那条理由不复存在。本单按**原意**恢复这两条 —— 同名、同 target、同 `authRequired`、同 `cacheTtl` —— 只做 ADR-0121 D1 要求的一处修改:路径迁进本应用的命名空间保留区。
79+
80+
```
81+
- path: '/api/v1/showcase/tasks'
82+
+ path: '/api/v1/apps/showcase/tasks'
83+
84+
- path: '/api/v1/showcase/inquiries/purge'
85+
+ path: '/api/v1/apps/showcase/inquiries/purge'
86+
```
87+
88+
这处修改不是装饰:`manifest.namespace: 'showcase'` 从此是发布的前置条件(声明了 `apis:` 却没有显式 namespace 会被 publish 拒绝),而 `apps/{namespace}/` 这一段让路由归属变成结构性的 —— 没有任何内建域住在 `apps/` 下,两个包也不可能因为 namespace 不同而撞车。
89+
90+
**匿名面没有增加**:两条历史声明本来就都是 `authRequired: true`,回迁后仍然是。一个例子不该长出它从来没有过的公开面。
91+
92+
coverage 清单里 `apis``waived` 翻回 `demonstrated`,理由重写为「由真实 boot 测量」而不是「声明即证明」—— 后者正是 #4936 抓到的那类假覆盖。支撑它的是两份新的真实 boot e2e:showcase 那份走真实 artifact 摄入路径,证明匹配命中执行(find 的 data 与内建 `/data` 路由逐字节相同)、匿名 401、`cacheTtl` 只随成功答案上线、挂载点下未声明路径与挂载点外的裸 404 完全一致、`/meta/api``/openapi.json` 描述的正是挂载的东西;fixture 那份补上 ADR-0121 D6 的匿名分支 —— 省略 `authRequired` 拒绝匿名、显式 `false` 服务匿名、已装配预算耗尽后 429 且 `Retry-After` 真的在线上。
93+
94+
- Updated dependencies [28ad90e]
95+
- Updated dependencies [cdfbee2]
96+
- Updated dependencies [29c6c9d]
97+
- Updated dependencies [d21c001]
98+
- Updated dependencies [f1cc3a3]
99+
- Updated dependencies [553a47f]
100+
- Updated dependencies [2e284b2]
101+
- Updated dependencies [0161c7f]
102+
- Updated dependencies [a019e52]
103+
- Updated dependencies [64fc6d5]
104+
- Updated dependencies [eaaf03c]
105+
- Updated dependencies [d17df80]
106+
- Updated dependencies [7d0e7b5]
107+
- Updated dependencies [c142ced]
108+
- Updated dependencies [fd8521f]
109+
- Updated dependencies [18b8eaa]
110+
- Updated dependencies [37e38d1]
111+
- Updated dependencies [78adc2e]
112+
- Updated dependencies [0f17114]
113+
- Updated dependencies [81e2744]
114+
- Updated dependencies [277eb36]
115+
- Updated dependencies [41e605e]
116+
- Updated dependencies [2649ccb]
117+
- Updated dependencies [a70cd0a]
118+
- Updated dependencies [c52e608]
119+
- Updated dependencies [77be690]
120+
- Updated dependencies [b49ccfd]
121+
- Updated dependencies [c7406b0]
122+
- Updated dependencies [546ab3c]
123+
- Updated dependencies [0b51bb6]
124+
- Updated dependencies [d9971d3]
125+
- Updated dependencies [175d789]
126+
- Updated dependencies [55dbbba]
127+
- Updated dependencies [471839d]
128+
- Updated dependencies [71f205d]
129+
- Updated dependencies [26e1029]
130+
- Updated dependencies [4addd9d]
131+
- Updated dependencies [108ba8d]
132+
- Updated dependencies [b4ad984]
133+
- Updated dependencies [1203bb2]
134+
- Updated dependencies [2ddba89]
135+
- Updated dependencies [1c3da1f]
136+
- Updated dependencies [9c5abf4]
137+
- Updated dependencies [4845f85]
138+
- Updated dependencies [94f7b6a]
139+
- Updated dependencies [f98fa65]
140+
- Updated dependencies [c5a5996]
141+
- Updated dependencies [f61c8cf]
142+
- Updated dependencies [04fab5e]
143+
- Updated dependencies [193cd5c]
144+
- Updated dependencies [5aae790]
145+
- Updated dependencies [5278e11]
146+
- Updated dependencies [ba98e26]
147+
- Updated dependencies [f8cfbb4]
148+
- Updated dependencies [c89d18c]
149+
- Updated dependencies [1e6ab15]
150+
- Updated dependencies [c87ef70]
151+
- Updated dependencies [3cb0618]
152+
- Updated dependencies [32a0874]
153+
- Updated dependencies [7055c22]
154+
- Updated dependencies [785a748]
155+
- Updated dependencies [3af0354]
156+
- Updated dependencies [866ff16]
157+
- Updated dependencies [5a85e67]
158+
- Updated dependencies [c183a12]
159+
- Updated dependencies [8064b07]
160+
- Updated dependencies [4a56dbd]
161+
- Updated dependencies [06df4fa]
162+
- @objectstack/cloud-connection@17.0.0-rc.3
163+
- @objectstack/spec@17.0.0-rc.3
164+
- @objectstack/driver-sql@17.0.0-rc.3
165+
- @objectstack/runtime@17.0.0-rc.3
166+
- @objectstack/service-datasource@17.0.0-rc.3
167+
- @objectstack/connector-mcp@17.0.0-rc.3
168+
- @objectstack/connector-openapi@17.0.0-rc.3
169+
- @objectstack/connector-rest@17.0.0-rc.3
170+
- @objectstack/connector-slack@17.0.0-rc.3
171+
3172
## 0.3.14-rc.2
4173

5174
### Patch Changes

examples/app-showcase/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-showcase",
3-
"version": "0.3.14-rc.2",
3+
"version": "0.3.14-rc.3",
44
"description": "Kitchen-sink showcase workspace — exercises every metadata type, every view type, every chart type, and the major end-to-end capability chains (security, automation, analytics). Built for demonstration, debugging, and coverage-driven verification.",
55
"license": "Apache-2.0",
66
"private": true,

examples/app-todo/CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,99 @@
11
# @objectstack/example-todo
22

3+
## 4.0.92-rc.3
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [28ad90e]
8+
- Updated dependencies [cdfbee2]
9+
- Updated dependencies [29c6c9d]
10+
- Updated dependencies [d21c001]
11+
- Updated dependencies [f1cc3a3]
12+
- Updated dependencies [553a47f]
13+
- Updated dependencies [2e284b2]
14+
- Updated dependencies [3905c00]
15+
- Updated dependencies [4335497]
16+
- Updated dependencies [0161c7f]
17+
- Updated dependencies [533a0a4]
18+
- Updated dependencies [a019e52]
19+
- Updated dependencies [64fc6d5]
20+
- Updated dependencies [eaaf03c]
21+
- Updated dependencies [d17df80]
22+
- Updated dependencies [7d0e7b5]
23+
- Updated dependencies [3133cda]
24+
- Updated dependencies [c142ced]
25+
- Updated dependencies [c794f78]
26+
- Updated dependencies [fd8521f]
27+
- Updated dependencies [2b63a00]
28+
- Updated dependencies [18b8eaa]
29+
- Updated dependencies [37e38d1]
30+
- Updated dependencies [78adc2e]
31+
- Updated dependencies [81e2744]
32+
- Updated dependencies [277eb36]
33+
- Updated dependencies [41e605e]
34+
- Updated dependencies [ecc61ab]
35+
- Updated dependencies [2649ccb]
36+
- Updated dependencies [a70cd0a]
37+
- Updated dependencies [c52e608]
38+
- Updated dependencies [afa6aa5]
39+
- Updated dependencies [77be690]
40+
- Updated dependencies [b49ccfd]
41+
- Updated dependencies [c7406b0]
42+
- Updated dependencies [546ab3c]
43+
- Updated dependencies [729a43a]
44+
- Updated dependencies [0b51bb6]
45+
- Updated dependencies [d9971d3]
46+
- Updated dependencies [175d789]
47+
- Updated dependencies [55dbbba]
48+
- Updated dependencies [5d3ced9]
49+
- Updated dependencies [7c2f7dd]
50+
- Updated dependencies [95b4f0d]
51+
- Updated dependencies [471839d]
52+
- Updated dependencies [71f205d]
53+
- Updated dependencies [26e1029]
54+
- Updated dependencies [1cae606]
55+
- Updated dependencies [108ba8d]
56+
- Updated dependencies [b4ad984]
57+
- Updated dependencies [1203bb2]
58+
- Updated dependencies [5b8f95b]
59+
- Updated dependencies [2ddba89]
60+
- Updated dependencies [1c3da1f]
61+
- Updated dependencies [37a8f2b]
62+
- Updated dependencies [4845f85]
63+
- Updated dependencies [94f7b6a]
64+
- Updated dependencies [c5a5996]
65+
- Updated dependencies [db2ea82]
66+
- Updated dependencies [f61c8cf]
67+
- Updated dependencies [04fab5e]
68+
- Updated dependencies [5278e11]
69+
- Updated dependencies [ba98e26]
70+
- Updated dependencies [dca25e1]
71+
- Updated dependencies [f8cfbb4]
72+
- Updated dependencies [c89d18c]
73+
- Updated dependencies [1e6ab15]
74+
- Updated dependencies [c87ef70]
75+
- Updated dependencies [3cb0618]
76+
- Updated dependencies [32a0874]
77+
- Updated dependencies [7055c22]
78+
- Updated dependencies [785a748]
79+
- Updated dependencies [3af0354]
80+
- Updated dependencies [866ff16]
81+
- Updated dependencies [5a85e67]
82+
- Updated dependencies [e92e2c3]
83+
- Updated dependencies [c183a12]
84+
- Updated dependencies [8064b07]
85+
- Updated dependencies [4a56dbd]
86+
- Updated dependencies [06df4fa]
87+
- @objectstack/spec@17.0.0-rc.3
88+
- @objectstack/runtime@17.0.0-rc.3
89+
- @objectstack/metadata@17.0.0-rc.3
90+
- @objectstack/objectql@17.0.0-rc.3
91+
- @objectstack/mcp@17.0.0-rc.3
92+
- @objectstack/client@17.0.0-rc.3
93+
- @objectstack/driver-sqlite-wasm@17.0.0-rc.3
94+
- @objectstack/knowledge-memory@17.0.0-rc.3
95+
- @objectstack/service-knowledge@17.0.0-rc.3
96+
397
## 4.0.92-rc.2
498

599
### Patch Changes

examples/app-todo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-todo",
3-
"version": "4.0.92-rc.2",
3+
"version": "4.0.92-rc.3",
44
"description": "Example Todo App using ObjectStack Protocol",
55
"license": "Apache-2.0",
66
"private": true,

0 commit comments

Comments
 (0)