Skip to main content

v5.0 Migration

note

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 use speculateFunctionName() 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.