v5.0 Migration
Remotion 5.0 is not yet released. This is an incomplete list of breaking changes that are planned for the release.
How to upgrade
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
:
diff
- "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"
diff
- "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.
Runtime requirements
The minimum Node version is now 18.0.0. The minimum Bun version is 1.1.3.
selectComposition()
and getCompositions()
now require inputProps
inputProps
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 result
optimizeFor: "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"
.
TransitionSeries does not support layout="none"
anymore
Having 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.
Zod should be upgraded to 3.23.8
Remotion previously used the types of Zod 3.22.3. With Remotion 5.0, the types of 3.23.8 are used.
Required action: If you use Zod, Upgrade Zod to 3.23.8.
measureSpring()
does not accept from
and to
options anymore
The 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 shouldDumpIo
The shouldDumpIo
option has been be removed in 5.0.
Use logLevel
instead.
diskSizeInMb
is now 10240 by default
For 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:
- If you want to keep the old behavior, set
diskSizeInMb: 2048
, explicitly. - If your Lambda function name is hardcoded to include
disk2048mb
, unhardcode it and usespeculateFunctionName()
to get the correct name.
License changes
Remotion 5.0 has an updated license. View the license here or compare the changes.
Besides wording changes, there are two effective changes in this license:
- Contractors also count towards team size. Previously, a company could only work with contractors and never have to get a company license.
- The company license is bound to our terms and conditions that will be introduced with Remotion 5.0.
Previously, our terms were generated by a Terms and conditions generator and did not make sense. We wrote the terms and conditions to properly define how we currently handle our licensing business and policies.