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
7 changes: 6 additions & 1 deletion .changeset/6172-markdown-kanban-one-authority.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ extended, so it was always inherited rather than added by the plugin.
one.** `KanbanImpl.tsx` and `KanbanEnhanced.tsx` each redeclared both names. A
TypeScript-AST comparison found them strict-SUBSET copies of `./types` with
nothing typed differently, so their extra members moved onto the one
declaration and both files now re-point at it.
declaration and, at this change, both files re-pointed at it.

⚠️ **Dated note, 2026-09-25 — `KanbanEnhanced.tsx` has since been deleted —
objectui#8932.** Later in this same release that module left the package, so
`KanbanImpl.tsx` is the one file of the two that remains. The convergence above
is unaffected; the objectui#8932 entry states what ships.

Additive for consumers: `KanbanCard` gains `cardSubtitle`, `cardFieldCells` and
`coverImage`; `KanbanColumn` gains `collapsed`. All four are optional, so every
Expand Down
15 changes: 11 additions & 4 deletions .changeset/8802-8257-8008-kanban-gantt-family-retirement.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,17 @@ is a different case, and the earlier draft of this note stated it wrongly: this
package's `exports` map has exactly two entries — `.` and `./style.css` — and
the barrel never re-exported the component, so
`@object-ui/plugin-kanban/KanbanEnhanced` has never been a resolvable specifier
for a consumer. With `kanban-enhanced` unregistered, `KanbanEnhanced.tsx` has
zero non-test importers. ⛔ The file is deliberately left in place: deleting
published-but-unreachable source is a further narrowing and needs its own
maintainer ruling, which this change does not have.
for a consumer. At this change, with `kanban-enhanced` unregistered,
`KanbanEnhanced.tsx` had zero non-test importers, and the file was deliberately
left in place: deleting published-but-unreachable source is a further narrowing
and needed its own maintainer ruling, which this change did not have.

⚠️ **Dated note, 2026-09-25 — that ruling came, and the file has since been
deleted — objectui#8932.** Later in this same release
`packages/plugin-kanban/src/KanbanEnhanced.tsx` was deleted, and with it the
`dist/KanbanEnhanced.d.ts` typings this package shipped for it. The rest of this
entry is kept as the reading of this change; the objectui#8932 entry states what
ships.

**⚠️ `@object-ui/sdui-parser`: `QUICK_ADD_HOST_TYPES` loses `kanban` with the
registration.** The `inert-quick-add` diagnostic (objectui#8285) named the two
Expand Down
15 changes: 10 additions & 5 deletions .changeset/8913-object-kanban-columns-declared.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,21 @@ strings**. Both arms are admitted whole — `columns` is `string[] | Lane[]`, a
union of two ARRAY shapes rather than an array of a per-element union — and on the
lane arm **`cards` is optional**. The alternative — reusing `KanbanColumn`, whose
`cards` is required — was measured and rejected: it is the RUNTIME lane
(`bucketCardsIntoColumns` fills `cards` before either board implementation sees
one), and as the authoring element it would have refused the protocol's own
(at this change, `bucketCardsIntoColumns` filled `cards` before either board
implementation saw one), and as the authoring element it would have refused the protocol's own
gate-validated `{ id, title }` example, the lanes the renderer materializes from a
picklist, and this repository's own typed board fixtures.

**What is judged again.** A lane has `id` (**string**) and `title`, optionally
carrying `cards`, `limit`, `className` and `collapsed` — exactly the members the
two board implementations read. When a lane carries `cards`, each card is judged
by the one card authority (`KanbanCardSchema`), which is what restores
objectui#6939's finding: **a card with no `title` is refused again**.
two board implementations read at this change. When a lane carries `cards`, each
card is judged by the one card authority (`KanbanCardSchema`), which is what
restores objectui#6939's finding: **a card with no `title` is refused again**.

⚠️ **Dated note, 2026-09-25 — one board implementation remains —
objectui#8932.** Later in this same release `KanbanEnhanced`, the second of the
two, was deleted. `KanbanImpl` alone reads all six lane members, so the judged set
above is unchanged. The objectui#8932 entry states what ships.

**Two shapes the protocol's literal `z.unknown()` would take are refused, because
the renderer mishandles them.** A declaration that admits a shape nothing can
Expand Down
5 changes: 5 additions & 0 deletions .changeset/8932-kanban-enhanced-types-jsdoc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@object-ui/types': patch
---

The JSDoc on `KanbanCard`, `KanbanColumn.cards` and `ObjectKanbanSchema.columns` no longer names `KanbanEnhanced` as a board that reads these members. `KanbanImpl` has been the one kanban board since objectui#8932 deleted that module, and the older counts that included it now carry a date. Only comments change; no type moves.
44 changes: 44 additions & 0 deletions .changeset/8932-retire-kanban-enhanced.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
'@object-ui/plugin-kanban': patch
---

Delete `packages/plugin-kanban/src/KanbanEnhanced.tsx` (objectui#8932, ruling of
2026-09-11, ratified by the maintainer 2026-09-24).

**How the component left the bundle.** Through 17.6.0 the `KanbanEnhanced`
component shipped inlined in `dist/index.js` and `dist/index.umd.cjs`, reachable
through the `kanban-enhanced` registry key and the `kanbanComponents` map. It
leaves the bundle in this release together with that key (objectui#8257 /
objectui#8802, the kanban and gantt family retirement entry). After that
retirement, only two test files still referred to the source file.

**What this change removes:**

- the source file;
- `dist/KanbanEnhanced.d.ts` and `dist/KanbanEnhanced.d.ts.map`, the typings the
build still emitted for it;
- the `@tanstack/react-virtual` dependency, whose only consumer in this package
was that file.

**No supported import changes.** Neither the 17.6.0 `exports` map (`.` only) nor
this release's (`.` and `./style.css`) has a `./KanbanEnhanced` entry. Neither
entry point exports the component by name. `@object-ui/plugin-kanban/KanbanEnhanced`
is not a resolvable specifier.

**If you deep-imported it** through a path into
`node_modules/@object-ui/plugin-kanban/dist/` that the `exports` map does not
allow, that path reached `dist/KanbanEnhanced.d.ts` in 17.6.0. Those typings had
no `dist/KanbanEnhanced.js` beside them, and now the path reaches nothing. Render
the one registered board, `object-kanban`, instead. `KanbanCard` and
`KanbanColumn`, which the module re-exported, are still exported from
`@object-ui/plugin-kanban`. The card-formatting rule type it aliased is
`KanbanConditionalFormattingRule` in `@object-ui/types`. `KanbanEnhancedProps` is
gone along with the component.

**If you import `@tanstack/react-virtual` yourself** and got it only through
`@object-ui/plugin-kanban`, declare it in your own `package.json`.

**`style.css`.** This package's stylesheet, `@object-ui/plugin-kanban/style.css`,
first ships in this release (objectui#4929). It is built after this deletion, so
it does not carry the three utility rules only that module used:
`border-border/50`, `text-yellow-500` and `shadow-xl`.
1 change: 0 additions & 1 deletion packages/plugin-kanban/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
"@object-ui/plugin-detail": "workspace:*",
"@object-ui/react": "workspace:*",
"@object-ui/types": "workspace:*",
"@tanstack/react-virtual": "^3.14.9",
"lucide-react": "^1.31.0"
},
"peerDependencies": {
Expand Down
Loading
Loading