packages/docs/docs/5-0-migration.mdx
:::note Remotion 5.0 is not yet released. This is an incomplete list of breaking changes that are planned for the release. :::
See the changelog to find the latest version.
Upgrade remotion and all packages starting with @remotion to the latest version, e.g. 5.0.0:
- "remotion": "4.0.141"
- "@remotion/bundler": "4.0.141"
- "@remotion/eslint-config": "4.0.141"
- "@remotion/eslint-plugin": "4.0.141"
- "@remotion/cli": "4.0.141"
- "@remotion/renderer": "4.0.141"
+ "remotion": "5.0.0"
+ "@remotion/bundler": "5.0.0"
+ "@remotion/eslint-config": "5.0.0"
+ "@remotion/eslint-plugin": "5.0.0"
+ "@remotion/cli": "5.0.0"
+ "@remotion/renderer": "5.0.0"
Run npm i , yarn, pnpm i or bun i respectively afterwards.
The minimum Node version is now 18.0.0. The minimum Bun version is 1.1.3.
selectComposition() and getCompositions() now require inputPropsinputProps is now required in selectComposition() and getCompositions().
A common footgun was the render was not working as intended because the input props were not passed.
Required action: Pass an empty object {} if you don't have any input props.
visualizeAudio() yields different resultoptimizeFor: "speed" is now the default. This will yield slightly different results.
Required action: Review the visualization of your audio. If unsatisfactory, revert to the old behavior by setting optimizeFor: "accuracy".
layout="none" anymoreHaving a TransitionSeries with layout="none" is not supported anymore.
It never made sense to have this prop as transitioned elements need to be positioned absolutely.
Required action: Remove the layout prop.
measureSpring() does not accept from and to options anymoreThe values passed in there did not influence the calculation at all. Therefore we removed those options.
Required action: Remove the from and to options from your code.
overwrite is now true by default in renderMediaOnLambda()The default value of overwrite has been changed to true in renderMediaOnLambda(). This skips a check that the file already exists in the S3 bucket, which makes the render start faster.
Required action: If you want to keep the old behavior, set overwrite: false, explicitly.
openBrowser() now takes a logLevel instead of shouldDumpIoThe shouldDumpIo option has been be removed in 5.0.
Use logLevel: "verbose" instead.
diskSizeInMb is now 10240 by defaultFor Remotion Lambda, the default disk size is now 10240 MB.
This will add a miniscule cost to your renders technically, but will lead to more reliable and faster renders, since Chrome is less likely to run out of disk cache.
Required actions:
diskSizeInMb: 2048, explicitly.disk2048mb, unhardcode it and use speculateFunctionName() to get the correct name.@remotion/lambda/clientrenderMediaOnLambda(), getRenderProgress(), renderStillOnLambda(), presignUrl(), getSites() have been removed from @remotion/lambda.
They are now available in @remotion/lambda/client.
bt709 is now the default color spaceThe default colorSpace is now "bt709" instead of "default" (which was equivalent to "bt601").
The "default" option has been removed.
Required action: If you want to keep the old behavior, set colorSpace: "bt601" explicitly.
@remotion/google-fonts requires specifying weights and subsetsWhen using loadFonts() from @remotion/google-fonts, you must now specify which font weights and subsets you want to load. Loading all weights and subsets by default is no longer supported as it can lead to timeouts.
Required action: Explicitly specify the weights and subsets you need:
import {loadFont} from '@remotion/google-fonts/Roboto';
loadFont('normal', {
weights: ['400', '700'],
subsets: ['latin'],
});
<Sequence>, <Series.Sequence> and <TransitionSeries.Sequence> components now automatically premount for 1 second (fps frames) before they appear.
This prevents black frames that were commonly seen when a <Sequence> containing heavy content (e.g. videos, images) appeared.
Required action: If you don't want this behavior for a specific Sequence, opt out by passing premountFor={0}.
Remotion 5.0 has an updated license. View the license here or compare the changes.
There are two effective changes in this license: