What's Changed
@remotion/lambda-client: AddrenderMediaOnLambdaAndStream()andrenderFramesOnLambdaAndStream()by @JonnyBurger in #12851@remotion/lambda: AddchunkstorenderMediaOnLambda()and--chunkstonpx remotion lambda renderby @TimbuckTato in #12879@remotion/studio: Add OpenTimelineIO import by @JonnyBurger in #12580@remotion/studio: Add high contrast mode by @JonnyBurger in #12969@remotion/effects: Addmagnify()for enlarging image regions by @JonnyBurger in #12991@remotion/effects: Addlightning()for branching lightning bolts by @JonnyBurger in #13051@remotion/cli: Addremotion elements usecommand by @samohovets in #13000@remotion/studio-server: Reduce latency for edits by @JonnyBurger in #13087remotion: Fix missing images and videos inside<HtmlInCanvas>by @JonnyBurger in #12971remotion: Fix playback stuttering when resizing<HtmlInCanvas>by @JonnyBurger in #13079remotion: Fix<Sequence>inside<ThreeCanvas>crashing in Studio by @samohovets in #12979remotion: Clarify that unavailable HTML-in-canvas support refers to nested support by @amir-rezaei in #12981remotion: Skip image loading during audio-only rendering by @alec-watts in #12998remotion: ReturntruefromuseAudioEnabled()during server-side rendering by @DeryFerd in #13045remotion: Remove premount controls from default component schemas by @JonnyBurger in #13083@remotion/bundler: Fix EPERM when copying Windows directory junctions by @z22115554 in #13060@remotion/cloudrun: Update Google Cloud Storage to 7.21.0 by @JonnyBurger in #12938@remotion/codemods: Wrap added imports that exceed printWidth by @samohovets in #13008@remotion/codemods: Fix default import when inserting lazy compositions with named exports by @JonnyBurger in #13096create-video: Add--skillsflag for non-interactive skill installation by @DeryFerd in #12963@remotion/eslint-plugin: Flag absolute Windows paths with any drive letter or a UNC prefix by @DeryFerd in #13028@remotion/eslint-plugin: ChecksrcSetin theno-string-assetsrule by @DeryFerd in #13046@remotion/eslint-plugin: CheckstaticFile()template literal arguments by @DeryFerd in #13068@remotion/lambda: Reduce progress update overhead by @JonnyBurger in #13003@remotion/lambda-go: Surface Lambda function errors in render and progress invocations by @DeryFerd in #13064@remotion/lambda-php: Type the webhook option as an array instead of a string by @DeryFerd in #13065@remotion/lambda-ruby: Upload oversized input props to S3 like the other SDKs by @DeryFerd in #13066@remotion/layout-utils: Throw a clear error whenmaxLinesis below 1 by @DeryFerd in #12962@remotion/layout-utils: Throw a clear error whenmaxFontSizeis below 0.1 by @DeryFerd in #12994@remotion/layout-utils: Throw an error in v5 when the text infitText()measures 0 wide by @DeryFerd in #13027@remotion/layout-utils: Cap themeasureText()cache size by @DeryFerd in #13070@remotion/licensing: Throw a clear error for unexpected responses ingetUsage()by @DeryFerd in #13047@remotion/media: Show a placeholder for missing local videos in Studio by @JonnyBurger in #12986@remotion/media: Fix decoder buildup for videos with delayed fractional starts by @JonnyBurger in #13012@remotion/media: Respect the flip of mirrored videos when rendering by @nouredinateur in #13063@remotion/media-utils: FixgetWaveformPortion()crashing for largenumberOfSamplesby @DeryFerd in #12993@remotion/paths: FixreversePath()for commands afterZby @b84330808 in #12956@remotion/paths: Accept comma-separated viewBoxes inextendViewBox()by @DeryFerd in #13049@remotion/paths: Reject viewBoxes with a non-positive width or height inextendViewBox()by @DeryFerd in #13069@remotion/player: Fix playback timing after interruptions by @JonnyBurger in #12517@remotion/preload: Time outresolveRedirect()after 20 seconds by @DeryFerd in #13071@remotion/renderer: Re-download cached browsers when executable is missing by @JonnyBurger in #13073@remotion/renderer: MakevideoEnabledandaudioEnabledreactive during rendering by @JonnyBurger in #13077@remotion/shapes: Throw a clear error whenmakeStar()receives fewer than 3 points by @DeryFerd in #12961@remotion/studio: Move effect picker into inspector with live previews by @JonnyBurger in #12473@remotion/studio: Open inline ChatGPT composer for layer annotations by @JonnyBurger in #12950@remotion/studio: Label dimensions and snap frame rate controls to presets by @MehmetAdemi in #12959@remotion/studio: Give the icon-only menu trigger a discernible name by @gongfpp in #12960@remotion/studio: Fix editing props with literal divisions by @JonnyBurger in #12973@remotion/studio: Prevent arrow keys from seeking with computed layers selected by @JonnyBurger in #12974@remotion/studio: Fix nested controls and keyboard context menus by @MehmetAdemi in #12977@remotion/studio: Limit displayed frame rate precision by @MehmetAdemi in #12988@remotion/studio: Resize timeline from above playback controls by @MehmetAdemi in #12990@remotion/studio: Fix accessible names and high-contrast button text by @MehmetAdemi in #13026@remotion/studio: Fix inspector deselection by @JonnyBurger in #13056@remotion/studio: Fix moving compositions into folders defined in other files by @JonnyBurger in #13075@remotion/studio: Fix action flicker when switching compositions by @JonnyBurger in #13080@remotion/studio: Remove extra layer name padding with ellipsis by @JonnyBurger in #13084@remotion/studio: Apply chained effect edits optimistically by @JonnyBurger in #13088@remotion/studio: Apply composition moves and deletions optimistically by @JonnyBurger in #13094@remotion/studio: Fix misaligned italic composition metadata when set bycalculateMetadata()by @JonnyBurger in #13119@remotion/web-renderer: Support polygon fill rules by @alec-watts in #12928@remotion/web-renderer: Add sizing and repetition for raster URL masks by @alec-watts in #12964@remotion/web-renderer: Fix SVG files drawn through<Img>by @vamsi-venkatesh in #13024@remotion/web-renderer: Fixobject-positionin client image and canvas rendering by @alec-watts in #13031@remotion/web-renderer: Blend single-gradient backgrounds in an isolated group by @alec-watts in #13032@remotion/web-renderer: Order atomic 2D stacking-context siblings by @alec-watts in #13034@remotion/web-renderer: Supportbackground-image: url()by @alec-watts in #13036@remotion/web-renderer: Fix text opacity with multiple shadows by @JonnyBurger in #13059@remotion/web-renderer: Addbackground-repeat: roundfor raster URL backgrounds by @alec-watts in #13098@remotion/web-renderer: Addbackground-repeat: spacefor raster URL backgrounds by @alec-watts in #13101@remotion/web-renderer: Add pixel, percentage and keywordmask-positionfor raster URL masks by @alec-watts in #13104@remotion/web-renderer: Fiximage-rendering: pixelatedbeing ignored for raster backgrounds by @alec-watts in #13105@remotion/web-renderer: Add CSS mathmask-positionvalues for raster URL masks by @alec-watts in #13107@remotion/web-renderer: Fiximage-rendering: pixelatedbeing ignored for images and canvases by @alec-watts in #13110@remotion/web-renderer: Fix SVG data URLs with uppercase or spaced MIME types being drawn as raster images by @alec-watts in #13113
Elements
- Embed installable Element payloads in remotion.dev Element pages by @samohovets in #12995
- Add
npx remotion elements usecommand to Element Markdown and llms.txt by @samohovets in #13009
Templates
Docs
- Add video matting guide by @JonnyBurger in #12846
- Make animation examples editable in Studio by @JonnyBurger in #12975
- Document additional HTML-in-canvas rendering differences by @alec-watts in #13029
- Add Comment-to-DM box to resources by @commentkeyword in #12908
- Fix typos by @crispyaus in #13041
Internal and Experimental
@remotion/studio-protocol: AddserializeElementPayloadForHtml()for embedding Element payloads in HTML by @samohovets in #12996@remotion/studio-server: Move Element installation into sharedinstallElement()function by @samohovets in #12997@remotion/promo-pages: Fix transparent videos in iOS in-app browsers by @JonnyBurger in #12976@remotion/eslint-config-internal: Resolve__dirnamewithfileURLToPath()by @DeryFerd in #13048- Speed up monorepo builds with
tsrsby @JonnyBurger in #13053 @remotion/web-renderer: Add exact native-pixel comparison tests by @alec-watts in #13033- Tests: Consolidate audio format render workflows by @JonnyBurger in #13078
- Tests: Include CLI output when single-frame rendering fails by @alec-watts in #13115
New Contributors
- @amir-rezaei made their first contribution in #12981
Full Changelog: v4.0.541...v4.0.542