v4.0.530

remotion-dev/remotionv4.0.530Sep 29, 2026by JonnyBurger

Upgrading?

AI Summary

This release focuses on significant Studio UI improvements, including new timeline trimming features, caption editor enhancements, and interactive component updates, alongside a notable breaking change regarding duration and playback rate interaction.

Key Highlights

  • `durationInFrames` now applies before `playbackRate`
  • New timeline trimming features including left-only trims and custom cursors
  • Studio enhancements like caption import (SRT) and composition tabs
  • New interactive features: `loop` for Sequences and `wrapInSequence` option

Breaking Changes

  • `remotion`: `durationInFrames` applies before `playbackRate`

New Features

  • Studio: Composition tabs, Pre-compose action, Import SRT/captions, Motion blur/HTML-in-canvas quick actions, `premountFor` for inserted elements
  • Remotion: `loop` prop for Sequences, `wrapInSequence` for `Interactive.withSchema()`
  • Renderer: Row-based multithreading for VP9
  • Media: Added `maxCanvasSinkFrameSize` to `<Video>`

Full Release Notes

## What's Changed

- **⚠️ Small breaking change - `remotion`: `durationInFrames` applies before `playbackRate`** by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11685
- `remotion`: **Add `loop` to `<Sequence>` to most components** by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11645
- `@remotion/studio`: **Add tabs for compositions in Studio** by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11699
- `@remotion/studio`: **Add Pre-compose action** by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11674
- `@remotion/studio`: **Add left-only timeline trims** by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11703
- `@remotion/studio`: Show right sidebar by default by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11783
- `@remotion/studio`: Import SRT and other formats in caption editor by @samohovets in https://github.com/remotion-dev/remotion/pull/11665
- `@remotion/studio`: Add preview toolbar view options menu by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11695
- `@remotion/studio`: Add start actions to empty canvas by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11719
- `@remotion/studio`: Add third-party Element discovery to Browse Elements by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11743
- `@remotion/studio`: Add Motion blur and HTML-in-canvas quick actions by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11727
- `@remotion/studio`: Keep Wrap action visible with agent fallback by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11690
- `@remotion/studio`: Add hold keyframes for boolean fields by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11697
- `@remotion/studio`: Visualize volume keyframes in the timeline by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11707
- `@remotion/studio`: Add custom trim cursors and edge highlights by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11682
- `@remotion/studio`: Make trim delta tooltip follow timeline frames by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11696
- `@remotion/studio`: Add `premountFor` to inserted elements by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11736
- `@remotion/studio`: Show caption model download sizes before installation by @samohovets in https://github.com/remotion-dev/remotion/pull/11769
- `@remotion/studio`: Restrict caption import picker to transcript files by @samohovets in https://github.com/remotion-dev/remotion/pull/11766
- `@remotion/studio`: Move Captions above Transform in the Inspector by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11792
- `@remotion/studio`: Add chevrons to collapsible Inspector sections by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11791
- `@remotion/studio`: Hide unavailable actions in read-only Studio by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11773
- `@remotion/studio`: Restore empty read-only Studio prompt by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11780
- `@remotion/studio`: Add missing tooltips to Studio controls by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11723
- `@remotion/studio`: Show Shift icon in keyboard shortcuts by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11740
- `@remotion/studio`: Prevent selecting error action labels and line numbers by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11726
- `@remotion/studio`: Remove preselection from dropdowns without checkmarks by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11649
- `@remotion/studio`: Disable scroll anchoring in Studio scroll areas by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11644
- `@remotion/studio`: Fix keyframe timing when changing playback rate by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11653
- `@remotion/studio`: Fix first keyframe edits in concise-arrow components by @samohovets in https://github.com/remotion-dev/remotion/pull/11646
- `@remotion/studio`: Fix undo and redo shortcuts and tooltips by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11655
- `@remotion/studio`: Fix Ask AI when cross-site isolation is enabled by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11656
- `@remotion/studio`: Fix File menu rerenders on composition change by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11693
- `@remotion/studio`: Fix split position for clips inside offset sequences by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11735
- `@remotion/studio`: Fix visual editing flicker during Fast Refresh by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11747
- `@remotion/studio`: Fix video filmstrip flicker while trimming by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11753
- `@remotion/studio`: Fix timeline media flicker while trimming by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11763
- `@remotion/studio`: Fix trim timing tooltip in Canvas Capture by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11765
- `@remotion/studio`: Fix Visual Editing after splitting multiple items by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11801
- `remotion`: Add a `wrapInSequence` option to `Interactive.withSchema()` by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11744
- `remotion`: Deprecate `outlineRef` in favor of automatic outlines by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11666
- `remotion`: Fix WebGL contexts of canvas effects not being released on unmount and size change by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11650
- `remotion`: Distinguish disabled HTML-in-canvas from unsupported browsers by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11758
- `@remotion/cli`: Normalize terminology to "Composition ID" by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11694
- `@remotion/cli`: Pin `@mediabunny/server` version in `remotion add` by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11781
- `@remotion/codemods`: Set canvas capture `<AbsoluteFill>` duration by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11654
- `@remotion/codemods`: Fix Canvas Capture with multiple custom cursors by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11710
- `@remotion/codemods`: Fix Basic Captions insertion formatting by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11772
- `@remotion/compositor`: Fix full-range video with non-J pixel formats (10/12-bit) being range-expanded twice by @wkasekende in https://github.com/remotion-dev/remotion/pull/11712
- `@remotion/media`: Add a `maxCanvasSinkFrameSize` prop to `<Video>` for smaller preview frames by @DonCarignan in https://github.com/remotion-dev/remotion/pull/11730
- `@remotion/media`: Fix preview audio gaps with premounting by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11761
- `@remotion/motion-blur`: Fix duplicate timeline layers in `<HtmlInCanvasMotionBlur>` by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11691
- `@remotion/renderer`: Enable row-based multithreading for VP9 by @developerjillur in https://github.com/remotion-dev/remotion/pull/11677
- `@remotion/renderer`: Fix a crash after a page function throws by @developerjillur in https://github.com/remotion-dev/remotion/pull/11680
- `@remotion/renderer`: Use each frame's render time for `slowestFrames` by @developerjillur in https://github.com/remotion-dev/remotion/pull/11722
- `@remotion/renderer`: Take the output extension from the last path segment only by @developerjillur in https://github.com/remotion-dev/remotion/pull/11738
- `@remotion/studio-protocol`: Deprecate contextual composition ID by @samohovets in https://github.com/remotion-dev/remotion/pull/11752
- `@remotion/studio-protocol`: Remove 5 minute focused Studio timeout by @samohovets in https://github.com/remotion-dev/remotion/pull/11749
- `@remotion/studio-server`: Print URL when Studio is already running by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11785
- `@remotion/transitions`: Fix `TransitionSeries` presentations rendering outside transition ranges by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11720
- `@remotion/web-renderer`: Crop scaled video dimensions to even values by @alec-watts in https://github.com/remotion-dev/remotion/pull/11587
- `@remotion/web-renderer`: Fix positioned SVG elements rendering blank by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11742
- `create-video`: Fix npm audit warnings in generated projects by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11796

## Elements

- Add hover install button to library cards by @samohovets in https://github.com/remotion-dev/remotion/pull/11659
- Fix Studio installation without a selected composition by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11717
- Install into the sole unfocused Studio tab by @samohovets in https://github.com/remotion-dev/remotion/pull/11793
- Keep Studio library open when canceling installation by @samohovets in https://github.com/remotion-dev/remotion/pull/11794
- Restore inline Studio install guidance on detail pages by @samohovets in https://github.com/remotion-dev/remotion/pull/11790
- Hide docs navigation in Studio library iframe by @samohovets in https://github.com/remotion-dev/remotion/pull/11762
- Remove height prop from caption elements by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11775
- Remove obsolete ref forwarding by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11724

## Skills
- Skills: Make timeline better editable by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11788

## Docs

- [Restructure motion blur guide and API URLs](https://remotion.dev/docs/motion-blur/api) by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11678
- Fix asset 404s during deployments by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11672
- Add BrewReel to resources (Tooling) by @Finderchangchang in https://github.com/remotion-dev/remotion/pull/11733

## Internal and Experimental

- `@remotion/studio`: Rename the Studio operations to `deleteNodes()`, `duplicateNodes()`, `wrapNode()`, `splitSequences()` and `insertCompositionElement()` by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11671
- [`@remotion/codemods`: Replace `addSolid()`, `addMedia()` and `addComponent()` with `createElement()` and `addElement()`](https://remotion.dev/docs/codemods/add-element) by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11667
- `@remotion/canvas`: Add `onSequencePropsChange` to `<Canvas>` for moving elements by dragging outlines by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11700
- `@remotion/canvas`: Add automatic outlines for `<Sequence layout="none">` by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11642
- `@remotion/canvas`: Fix timeline crash after ThreeCanvas unmounts by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11692
- [`@remotion/canvas`: Add `getCanvasKeyframeToggle()` and `startCanvasKeyframeDrag()` for editing keyframes outside the Studio](https://remotion.dev/docs/canvas/get-canvas-keyframe-toggle) by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11716
- [`@remotion/canvas`: Add `getCanvasKeyframeEasingChange()` and `getCanvasKeyframeSettingsChange()` for editing easings and interpolation settings outside the Studio](https://remotion.dev/docs/canvas/get-canvas-keyframe-easing-change) by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11728
- [`@remotion/canvas`: Add `controller.overrides` and `controller.setSequenceNodePaths()` for editing mounted sequences outside the Studio](https://remotion.dev/docs/canvas/get-canvas-sequence-source-location) by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11641
- Skills: Fix examples that import missing exports by @developerjillur in https://github.com/remotion-dev/remotion/pull/11670
- Skills: Fix npm token handling in release skill by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11662
- Internal: Add local create-video scaffold script by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11774
- Internal: Use local Remotion packages in `./new` by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11786
- Internal tests: Consolidate embedded video frame accuracy renders by @JonnyBurger in https://github.com/remotion-dev/remotion/pull/11718

**Full Changelog**: https://github.com/remotion-dev/remotion/compare/v4.0.529...v4.0.530

Related Repositories