{"record":{"id":"f7434be867f628ca","repo":"remotion-dev/remotion","slug":"clipper-has-been-removed-as-of-remotion-v4-0-228","errorCode":null,"errorMessage":"<Clipper> has been removed as of Remotion v4.0.228. The native clipping APIs were experimental and subject to removal at any time. We removed them because they were sparingly used and made rendering often slower rather than faster.","messagePattern":"<Clipper> has been removed as of Remotion v4\\.0\\.228\\. The native clipping APIs were experimental and subject to removal at any time\\. We removed them because they were sparingly used and made rendering often slower rather than faster\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/Clipper.tsx","lineNumber":7,"sourceCode":"import type React from 'react';\n\n/**\n * @deprecated <Clipper> has been removed as of Remotion v4.0.228. The native clipping APIs were experimental and subject to removal at any time. We removed them because they were sparingly used and made rendering often slower rather than faster.\n */\nexport const Clipper: React.FC<{}> = () => {\n\tthrow new Error(\n\t\t'<Clipper> has been removed as of Remotion v4.0.228. The native clipping APIs were experimental and subject to removal at any time. We removed them because they were sparingly used and made rendering often slower rather than faster.',\n\t);\n};\n","sourceCodeStart":1,"sourceCodeEnd":11,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/core/src/Clipper.tsx#L1-L11","documentation":"Thrown by the <Clipper> component whenever it renders. Clipper was an experimental native-clipping API removed in Remotion v4.0.228 because it was rarely used and often slowed rendering. The component is kept only as a stub that throws to surface the removal to anyone still importing it.","triggerScenarios":"Importing and rendering <Clipper> in any composition after upgrading to v4.0.228+. The component body unconditionally throws on every render.","commonSituations":"Upgrading Remotion past v4.0.228 in a project that still references <Clipper>; copying old tutorial code that used Clipper; a dependency that transitively renders Clipper.","solutions":["Remove all <Clipper> usage from your compositions.","Replace clipping needs with CSS overflow/transform-based clipping or the Sequence/layout primitives that Remotion supports.","If you depended on a specific Clipper feature, file a feature request and use a workaround in the meantime."],"exampleFix":"// before\nimport {Clipper} from '@remotion/core';\n<Clipper />\n\n// after\n// remove the import and usage; use a div with overflow:hidden + transforms","handlingStrategy":"type-guard","validationCode":"// grep for stale usage before shipping an upgrade:\n// $ rg -- \"<Clipper\" src/\n// remove every match before bumping Remotion past v4.0.228","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Search the codebase for <Clipper> before upgrading Remotion.","Track removals in the Remotion changelog on major upgrades.","Prefer CSS-based clipping over native APIs."],"tags":["typescript","remotion","deprecated","removed-api","react","upgrade"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}