{"record":{"id":"1223fac610e9bd45","repo":"remotion-dev/remotion","slug":"the-config-format-has-changed-change-config-rend","errorCode":null,"errorMessage":"The config format has changed. Change `Config.Rendering.*()` calls to `Config.*()` in your config file.","messagePattern":"The config format has changed\\. Change `Config\\.Rendering\\.\\*\\(\\)` calls to `Config\\.\\*\\(\\)` in your config file\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/cli/src/config/index.ts","lineNumber":735,"sourceCode":"\t\t */\n\t\tOutput: void;\n\t};\n\nconst setAllowHtmlInCanvasEnabled = (_enabled: boolean) => {\n\tLog.warn(\n\t\t{indent: false, logLevel: 'info'},\n\t\t'Config.setAllowHtmlInCanvasEnabled() is now a no-op because HTML-in-canvas is enabled by default when supported. You can remove this option from your config file.',\n\t);\n};\n\nexport const Config: FlatConfig = {\n\tget Bundling() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Rendering() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Rendering.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Output() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Output.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Log() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Log.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},\n\tget Preview() {\n\t\tthrow new Error(\n\t\t\t'The config format has changed. Change `Config.Preview.*()` calls to `Config.*()` in your config file.',\n\t\t);\n\t},","sourceCodeStart":717,"sourceCodeEnd":753,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/cli/src/config/index.ts#L717-L753","documentation":"`Config.Rendering` was the pre-flat-config namespace for rendering-related setters. In the current flat `Config` object the `Rendering` getter throws immediately on access so stale config files fail loudly instead of silently no-op'ing.","triggerScenarios":"A remotion config file containing `Config.Rendering.setConcurrency(...)` (or any `Config.Rendering.*`) loaded against Remotion 4.x+/5.x.","commonSituations":"Post-upgrade config that was never migrated; vendored example config copied from an old Remotion version; IDE autocomplete suggesting the old namespace from cached type defs.","solutions":["Move the call to the flat surface: `Config.setConcurrency(...)`.","Re-check the v3→v4 migration notes for the full list of moved setters and apply them all at once."],"exampleFix":"// before\nConfig.Rendering.setConcurrency(2);\n// after\nConfig.setConcurrency(2);","handlingStrategy":"validation","validationCode":"const src = readFileSync('remotion.config.ts', 'utf8');\nif (/Config\\.Rendering\\./.test(src)) {\n  throw new Error('Remove Config.Rendering.* calls; use flat Config.* setters.');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["After every major upgrade, grep the config for any `Config.<Namespace>.` access.","Keep a single config file under test so removals surface in CI."],"tags":["config","migration","breaking-change","deprecation"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}