From 4c3f693223665416318b77f1f4465414d4bca9b1 Mon Sep 17 00:00:00 2001 From: os-zhuang Date: Wed, 10 Jun 2026 10:36:30 +0500 Subject: [PATCH] chore(changeset): declare @objectstack/spec major for ADR-0021 single-form cutover MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The cutover (PR #1676) removed the inline analytics author surface — a breaking spec change — but merged without a changeset declaring the major bump. Without this, the fixed-group platform release would ship the breaking change as a non-major version, silently breaking `^8.x` consumers under their caret range. Co-Authored-By: Claude Opus 4.8 --- .changeset/adr-0021-single-form-cutover.md | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .changeset/adr-0021-single-form-cutover.md diff --git a/.changeset/adr-0021-single-form-cutover.md b/.changeset/adr-0021-single-form-cutover.md new file mode 100644 index 000000000..2781ab719 --- /dev/null +++ b/.changeset/adr-0021-single-form-cutover.md @@ -0,0 +1,25 @@ +--- +"@objectstack/spec": major +--- + +ADR-0021 single-form cutover (BREAKING): the inline analytics author surface is +removed — every dashboard widget, report, and list-chart must now bind a +semantic `dataset` and select dimensions/measures **by name**. + +Removed from the spec: + +- **DashboardWidget** — `object`, `categoryField`, `categoryGranularity`, + `valueField`, `aggregate`, `measures` (and the `WidgetMeasure` schema/type). + `dataset` + `values` are now required; `filter` is the presentation-scope + runtimeFilter; `dimensions` / `compareTo` are retained. +- **Report** — top-level (and joined-block) `objectName`, `columns`, + `groupingsDown`, `groupingsAcross`, `filter`. A non-joined report now requires + `dataset` + `values`; `rows` are the dimensions. +- **ListChart** — `xAxisField`, `yAxisFields`, `aggregation`, `groupByField`. + `dataset` + `values` are now required. + +Migration: replace the inline query with a `defineDataset(...)` and reference it +by name. A flat record listing (the former `tabular` report / inline list) is an +object-bound ListView (ADR-0017), not an analytics dataset. See +`docs/adr/0021-analytics-dataset-semantic-layer.md` and the +`content/docs/guides/analytics-datasets.mdx` guide.