Migrations
Most minor releases do not require stored content migrations. When a release changes stored data or Payload schema fields, a guide is provided here.
Current Deprecations
The preferred public configuration shape is:
1payloadMarkdown({2 code: {},3 themes: {},4 config: {},5 collections: {6 posts: {7 code: {},8 themes: {},9 config: {},10 },11 },12})
Legacy aliases still work but should be migrated when convenient.
Code Config
Deprecated:
1payloadMarkdown({2 config: {3 fullBleedCode: true,4 options: {5 enhancedCodeBlocks: true,6 langs: ['ts', 'tsx'],7 lineNumbers: true,8 theme: 'github-dark',9 },10 },11})
Preferred:
1payloadMarkdown({2 code: {3 enhanced: true,4 fullBleed: true,5 langs: ['ts', 'tsx'],6 lineNumbers: true,7 shikiTheme: 'github-dark',8 },9})
Mapping:
config.options.langs→code.langsconfig.options.lineNumbers→code.lineNumbersconfig.options.theme→code.shikiThemeconfig.options.enhancedCodeBlocks→code.enhancedconfig.fullBleedCode→code.fullBleed
New code values win over legacy values.
Layout Class Aliases
Deprecated:
1payloadMarkdown({2 config: {3 columnClassName: 'gap-8',4 sectionClassName: 'rounded-2xl border p-6',5 },6})
Preferred:
1payloadMarkdown({2 themes: {3 columns: {4 items: [{ name: 'panel', classes: 'grid grid-cols-1 gap-8' }],5 },6 section: {7 items: [{ name: 'panel', classes: 'rounded-2xl border p-6' }],8 },9 },10})
Available Migration Guides
General Guidance
- Back up production databases before schema migrations.
- Test migrations locally or against staging first.
- If no schema warnings appear during development, no action is required.
