Skip to content

Versioning and migrations

@bison-lab/payload-blocks releases in step with @bison-lab/ui, @bison-lab/tokens, @bison-lab/tailwind-preset and @bison-lab/create-theme: a release that touches one bumps the others that changed to the same version, and leaves untouched packages alone. @bison-lab/payload-core releases on its own line.

@bison-lab/payload-blocks names @bison-lab/ui as a peer on a caret range of the current major. A minor of ui does not force a major of payload-blocks; only a major does.

Every block field is a column in every consuming site. When a release changes one, its changelog says run payload migrate:create. Treat that line as part of the upgrade:

Terminal window
pnpm add @bison-lab/payload-blocks@latest
pnpm payload generate:types
pnpm payload generate:importmap
pnpm payload migrate:create

The same holds for noIndexField and the SEO plugin’s own fields in @bison-lab/payload-core.

  • A row saved against a block that has since left the config is dropped by RenderBlocks, not rendered broken.
  • A site that forgets generate:importmap gets a logged miss and an empty field where the custom one should be (the array field, and since the link picker every link row), not a crash; the stock field does not come back until the entry exists.
  • Row types are structural and optional-and-nullable, so a site’s regenerated types keep assigning to them.