On this page
Migration guide for Root v3.0
Vite config updates
Applies to v3.0.0 and above
Vite has been updated to v8. See Vite's migration guide for more details.
A few items in particular to note:
`rollupOptions` is now `rolldownOptions`
Root will automatically rename the rollupOptions to rolldownOptions but in editors like VS Code you will see a deprecation warning. To migrate, rename:
⏪ Before:
ts
/** root.config.ts */
import {defineConfig} from '@blinkk/root';
export default defineConfig({
vite: {
build: {rollupOptions: {...}}
},
});
⏩ After:
/** root.config.ts */
import {defineConfig} from '@blinkk/root';
export default defineConfig({
vite: {
build: {rolldownOptions: {...}}
},
});
Root AI out of experimental
The Root AI configuration has graduated from "experimental". The new config format supports a greater range of LLM providers.
Update `experiments.ai` to the new top-level `ai` config
⏪ Before:
ts
cmsPlugin({
experiments: {ai: true},
})
⏩ After:
ts
cmsPlugin({
ai: {
defaultModel: 'gemini-3.5-flash',
models: [
{
id: 'claude-opus-4-7',
label: 'Claude Opus 4.7',
provider: 'anthropic',
apiKey: process.env.ANTHROPIC_API_KEY,
capabilities: {tools: true, reasoning: true, attachments: true},
},
{
id: 'gemini-3.5-flash',
label: 'Gemini 3.5 Flash',
provider: 'gemini',
apiKey: process.env.GEMINI_API_KEY,
capabilities: {tools: true, reasoning: true, attachments: true},
},
{
id: 'gpt-5.5',
label: 'GPT-5.5',
provider: 'openai',
apiKey: process.env.OPENAI_API_KEY,
capabilities: {tools: true, reasoning: true, attachments: true},
},
],
},
})