Migration checklist
next tightens contracts that were broader in v0.1. Check every existing form before publishing a new revision and digest.
- Compile each document with Schema Profile 1 and remove unsupported JSON Schema keywords.
- Review every
computedrule. Derived results now enter the controlled value, validation, and host actions. - Put remote options behind
resolveDataSource, declare field dependencies, and keep credentials in the host. - Put protected business checks behind
validateValue, returning stable error codes and concrete field paths. - Import scoped Form styles and remove dependencies on a host-wide CSS reset.
- Maintain host message overrides through
a3s.dev/form-locale-catalog/v1. - Replace JSON editors for object arrays with repeatable field groups without changing existing value shapes.
- Set
scope: "row"on row-level rules. The host no longer substitutes wildcards itself; it reads concrete dependency paths fromDataSourceRequest.scope. - Replace tab-based step flows with a
wizardcontainer and directpagechildren. Keep navigation state outside form values and restore only checkpoints matching the current plan digest and revision. - Add
layout: "data-grid"to object repeaters suited to compact table editing. Schema and controlled arrays remain unchanged. - Existing data grids remain inline by default without selection, sorting, or filtering. Set
dataGrid.editMode: "dialog"for row drafts.selection: "multiple",sorting: "single", andfiltering: "search"are independent and do not change the controlled value shape. - Check built-in field value types, especially multi-select and tag arrays, UTC times, numeric currency values, and read-only computed results. See Built-in fields.
Primitive repeaters remain compatible. Object repeaters do not add row metadata by default. Use identifyRepeaterItem when the host derives identity. Declare itemKey only when the business Schema already contains a required string identifier.
After migration, publish a new form revision explicitly and update the configuration mode's FormRef. Existing workflow nodes and in-progress interactions remain pinned to their original revision and digest.
Run the complete check before release:
