Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .changeset/6140-field-metadata-rows-option-description.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,21 @@ with" a `@objectstack/spec` schema member that does not exist. Re-measured on
the same payload minus the key. Same correction as `0e3b3be09` (PR #7510) made
to the published JSDoc; the package bumps and the declared behaviour are
unchanged.

⚠️ **Dated note, 2026-09-27 — the spec has since declared both keys, so neither
refusal above holds — objectui#10801.** `@objectstack/spec` 17.3.0 declared
`rows` and option `description` (the objectui#6140 / objectui#6153 ruling), and
this repository resolves 17.4.0 on this date. Measured on 17.2.0, 17.3.0 and
17.4.0, each probe beside a control that differs only by the key: 17.2.0 refuses
both by name, as above. From 17.3.0 `SelectOptionSchema` declares
`description`, so an option carrying it is accepted and a select field or an
object whose `options` carry it parses whole; `icon` is still refused by name
(`unrecognized_keys`). From 17.3.0 `FieldSchema` accepts `rows` on the four
multiline editor types (`textarea`, `markdown`, `html`, `richtext`); on 17.4.0
every other field type refuses it by a cross-field refinement (issue code
`custom` at `rows`), not by name. So the sentences above that call these keys
"NOT a spec key" and keep them out of an object document sent to the platform
no longer describe the contract: both may be authored there, `rows` on those
four types only. The rest of this entry, and the 17.2.0 correction above, are
kept as the reading of this change; `select-option-spec-extension-7014.test.ts`
in `@object-ui/types` re-derives both boundaries against the installed spec.
17 changes: 17 additions & 0 deletions .changeset/7014-q1-tier1-select-option-convergence.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,20 @@ the strict schema, so one of them fails the whole field.

`SelectOptionBase` is exported from `@object-ui/types` because it appears in the
`extends` clause of both published interfaces.

⚠️ **Dated note, 2026-09-27 — `description` has since moved inside the spec's option
vocabulary — objectui#10801.** `@objectstack/spec` 17.3.0 declared it (the
objectui#6140 / objectui#6153 ruling), and this repository resolves 17.4.0 on this date.
Measured on 17.2.0, 17.3.0 and 17.4.0, each probe beside a control that differs only by
the key: from 17.3.0 `SelectOptionSchema` is strict over six keys, `description` among
them, so an option carrying it is accepted and a field whose `options` carry it parses
whole, while `disabled` and `icon` are still refused by name (`unrecognized_keys`). So
the EXTENSION paragraph above no longer describes the contract for `description`: it may
reach an authored object document, and "must never reach" now holds for `disabled` and
`icon` only. The derivation this entry introduces did what it promises, and the spec's
new key reached both faces with no edit here; that also means "exactly one key, on one
face" and "`SelectOption` identically" undercount what ships, because the SDUI form face
`SelectOption` gains an optional `description` too (nothing narrowed). The text above is
kept as the reading of this change; `select-option-spec-extension-7014.test.ts` and
`select-option-tier1-convergence-7014.test.ts` in `@object-ui/types` re-derive the key
set, both refusals and the form face's gained key against the installed spec.
Loading