Release History

Changelog

Track every update across React Video Editor Pro and the SDK package.

v5.14.2

patchLatest

Changes

  • •Hide the Arrange menu in the item toolbar on mobile
  • •Make browser exports smaller by default, add `exportOptions.quality`/bitrate options, and show the estimated file size. Browser exports now use the `'high'` preset (6 Mbps at 1080p) instead of `'very-high'` (12 Mbps). To keep the old size, set `exportOptions={{ quality: 'very-high' }}`. New public helpers: `estimateExportSize`, `resolveExportBitrates`, and `getEncodedExportDimensions` (from `/types`). `onExportStart` now reports `estimatedSizeInBytes` for browser exports.
  • •Show the estimated export size once, in the export dialog footer, for the selected resolution.
  • •Add an Arrange menu to the item toolbar to bring items to the front or send them to the back
  • •Rotate items by dragging just outside a corner, and keep the opposite side fixed when you resize a rotated item
2026-10-10

v5.14.1

patch

Changes

  • •Each sound effect in a built-in template is a normal audio item, built with `sfx()` from the timing and loudness of a Lots of Sounds sound, so applying a template makes no API call. A template that changes the aspect ratio now keeps its own tracks. Sound items now premount 30 frames (1 s at 30 fps) before their start frame, the same as visual items. Before, a sound started to download only at its start frame, so a short sound could play late or not at all on the first play. This fixes all short sounds, not only template sounds. A premounted sound uses one of the 20 shared audio tags of the editor Player.
  • •Make browser exports wait for fonts, Lottie and video before they draw a frame
  • •Speed up edits in large projects: compare only changed tracks and keep unchanged ones
  • •Place new text items in the centre of the player
  • •Add shape shadows, arc and line shapes, and a draw keyframe property
  • •Add a closed option to line shapes. Rework the item panels (text, shape, video, image, Lottie, caption, camera, sound and zoom), the media, sound, zoom, captions, background, templates and settings panels as compact cards with Position at the bottom, merge the video, image and Lottie Settings tabs into Style and Animate, move text keys into the Keyframes card, and let all item panels scroll
  • •Add a brightness keyframe for images and videos, drawn as a shade layer that the browser export also draws. Add editorial text roles and a backdrop helper to the template builders
  • •Add a keyframe engine for item position, size, rotation, opacity and scale. Items get an optional `keyframes` field, and the new `remotion/layer-box` export renders the item box for the player, the browser export and Lambda. Text enter and exit animations now apply on top of the text opacity and transform. If you render items with your own Layer (for example a custom Lambda composition), render the content inside LayerBox from remotion/layer-box, as apps/with-nextjs-lambda does. Otherwise keyframed items do not move in those renders.
  • •Add keyframe editing. Each timeline item bar shows a small triangle at each keyframe: click selects it and moves the playhead, Shift-click adds to the selection, and a drag moves the selected keyframes. A triangle click selects its item first. The Settings panel has a Keyframe Markers toggle that hides the triangles; keyframes still work. A triangle click also opens the new Animate tab of the item panel. The Animate tab holds the enter and exit animations (moved from Settings) and a Keyframes section with "Add keyframe", the keyframe times, an ease and Delete for the selection, and a row for each property under Advanced. Shortcuts: K adds a keyframe for the whole item at the playhead, Delete removes the selected keyframes (or the item if no keyframe is selected), Alt + Left and Alt + Right go to the previous or next keyframe, and Escape clears the keyframe selection. Selection outlines and handles now follow keyframed items. After an item has keyframes, a canvas drag, resize or rotate, a nudge, a position preset, Fill Canvas or an opacity slider writes a keyframe at the playhead instead of the resting value.
  • •Export `layerZIndex` from `./remotion/layer-z-index` for custom compositions such as Lambda
  • •Export `LottieLayerContent` and the `LottieItem` type, so Lambda renders draw Lottie items
  • •New built-in templates: 16 lightweight, editable templates replace the old templates (Sport, Intro Example and Hand Template). Each template has 30 items or fewer, 300 keyframes or fewer and 25 KB of data or less (Explainers: 40 items, 400 keyframes and 40 KB). The template test checks these budgets for every template. Every number and label is a normal text item or counter, so a user can edit it. - Charts: Rings (a radial data poster: three years of monthly output on rings of 12 wedges, a degree scale and a sweep hand, after the camera pulls back from one record wedge), Bar Race (a calm data-journalism race on warm paper), Iso Bars (isometric bars that grow from a gridded plate while their values count up) and Peak (a product film on a cobalt field: the camera rides a glowing point along its trend line, and a large figure counts up). - Explainers: Route Map Vertical (a 9:16 night flight up the coast for phones, with giant place names, a counting km figure and content that stays out of the areas that app controls cover), Timeline (paper cards on newsprint, highlighted key words and a red marker circle), World Dots (an edge network: routes burst out from a hub to cities in waves over a dot-matrix world, and a giant figure counts the requests), Orbit (a keynote title on a deep red field: chart photos circle a stage in perspective, and each photo that crosses a light meridian puts its metric on the stage), Select (a cursor picks a plan card in a dark app UI, and the price counts down when it switches to yearly billing) and Iso Steps (a vertical 9:16 explainer: colour blocks climb as stairs and a cube hops up them). - Logo stings: Bloom, Tumble, Linework (an isometric line drawing on a gridded plate) and Pour (a glass fills with a crimson stream, and the product name fills as the level passes it). - Showcase, with real Pexels photos that push in slowly inside their cards: Lineup (portrait cards deal from a deck into a row, and the camera moves in on one person) and Slider (a film title sequence of mountain and extreme-sport photos between letterbox bars, with wipes and counting figures). The Templates panel shows the categories in the order Charts, Explainers, Logo stings and Showcase (`TEMPLATE_CATEGORY_ORDER`). It has category tabs: All, then one tab for each category that has templates. The tabs filter after the source tabs, and the tab row scrolls in a narrow sidebar. A template with a preview frame shows that frame on its card, not the first image in it. New keyframe features: stretch (`scaleX`, `scaleY`), a transform origin (`originX`, `originY`), blur for text and shapes, a cubic `bezier` curve on a keyframe, and inset masks down to -50 %. The browser export does not draw blur on images and videos, so blur does not apply to them. New particles shape: it draws many dots on one canvas (`progress` and `shimmer` keyframes), with a grid mode that reveals still dots from a compact land mask in a sweep. New paper shape (`shape: 'paper'`, `styles.paper`): a procedural paper texture on one canvas, with a colour, grain, fibres, crumples, folds, speckles, a scale and a seed. The same seed gives the same paper in the player and in the browser export. The canvas makes the texture one time for each size and set of settings, and copies it on each frame. Set `boil` to change the paper every few frames for a stop-motion look. The Paper section in the Style tab starts with 8 presets (Newsprint, Cotton, Kraft, Recycled, Parchment, Crumpled, Card stock and Black), then the main settings, and the other settings are under Advanced. The presets are data in `PAPER_PRESETS`, exported with `applyPaperPreset()` and `findPaperPreset()`. Smooth line shapes now draw fully in the browser export. A smooth curve can bulge past its box, and the export cuts an SVG at its box, so the shape SVG now grows by the overflow (`getLineOverflow()`). Playback is faster with many items: selection outlines are hidden during playback, the keyframe evaluator only evaluates keyed properties, and a value change on a keyframe keeps its curve. New template builders: `camera()` films a group of items with one camera (centre and zoom keys, with parallax); `pexels()`, `image()` and `photoWindow()` add photos that push in inside a card with round corners; `paper()` adds a paper shape (with a `preset` option); and `iso()`, `prism()`, `cylinder()`, `LINEWORK`, `lineworkSolid()` and `isoGrid()` draw isometric drawings. Keyframe ids in the built-in templates are the frame only, so the template data is smaller. The built-in templates may use Lottie items.
  • •Stop the Lottie panel from requesting example files that do not exist
  • •Add `path()` and `popIn()` to the template builders
  • •Add circle and inset masks as keyframe properties, and radial gradients and soft edges for shapes. - Masks: eight new `KEYFRAME_PROPERTIES` entries (`maskCircleRadius`, `maskCircleX`, `maskCircleY`, `maskInsetTop`, `maskInsetRight`, `maskInsetBottom`, `maskInsetLeft`, `maskInsetRadius`), in % of the item size. The layer box applies them as a `clip-path` on its inner box. An item with no mask keyframes gets no clip-path, so it renders as before. The Animate tab shows the masks under Advanced. K and "Add keyframe" do not key the masks (new `keyWithItem` option). - Shapes: `styles.gradient` can now be a radial gradient (`{ type: 'radial', centreX, centreY, radius, stops }`, new `ShapeRadialGradient` and `ShapeGradient` types). The new optional `styles.softEdge` blurs the shape edge, in px. Both are drawn in the shape SVG, so they look the same in the player and in the browser export. The shape Style tab has a Solid / Linear / Radial choice and a Soft edge slider. - `resolveItemAtFrame` also returns the mask values. `resolveShapeGradient` can return a radial gradient.
  • •Add duration, delay and ease controls to enter and exit animations
  • •Fix text font loader that ran on every frame and slowed playback
  • •Add sound timing and loudness from Lots of Sounds, and an `sfx()` helper that puts the peak of a sound on a hit frame, stops it at the tail, and sets its volume from the loudness. The editor Player now shares 20 audio tags, so a sound that starts mid-way can seek. The example stream route now passes the Range header through and caches the signed URL.
  • •Add a Shapes panel and draw shape items. A user can add a rectangle or an ellipse, change the fill, the linear gradient, the stroke and the corner radius, and resize the shape on the canvas. Shapes look the same in the player and in the browser export. `ShapeItem` gets an optional `shape` field (`'rectangle'` or `'ellipse'`), and `styles.gradient` can now hold gradient data. Old items stay valid. The new `./remotion/components/shape-layer-content` export lets a custom composition draw shapes.
  • •Remove the Stickers feature. Shapes, Lottie and templates now do this work. Migration notes: - The `StickerAdaptor` and `StickerOverlayAdaptor` types and the `adaptors.stickers` option are removed. Delete `stickers` from your `adaptors` object. - The `./remotion/components/sticker-layer-content` export is removed. If a custom composition (for example a Lambda one) imports `StickerLayerContent`, delete that import and its `case`. Import `ShapeLayerContent` from `./remotion/components/shape-layer-content` to draw shapes. - `ItemType.STICKER`, `OverlayType.STICKER`, `StickerItem`, `StickerOverlay` and `StickerCategory` are removed. - The `--rve-sticker-overlay` and `--rve-sticker-overlay-foreground` theme colours are removed. Delete them from custom themes. - Saved projects still open. On load, the editor removes sticker items and each track that becomes empty.
  • •Fix timeline row handles and ruler moving out of place during vertical scroll
  • •Put the Style tab first in the item panels (text, video, image, Lottie and shapes), so a panel opens on Style. On the timeline, shape items are now purple and video items use the new `--rve-video-item` and `--rve-video-item-foreground` theme colours: dark grey in the dark themes and near white in the light theme.
  • •Keep every layer visible and selectable in projects with more than 100 tracks
  • •Add a `--rve-highlight` theme colour, used by the zoom target handle and the selected animation
  • •The Templates panel now shows the templates in the adaptor order, under category headings in a fixed order. The order no longer changes on each load. The default template adaptor returns all templates when the caller sets no `perPage` (before, the limit was 50). A template with no thumbnail image shows a still frame of itself. The frame is the new optional `previewFrame` field of `TemplateOverlay`, or the middle frame. The preview mounts only when the card comes on screen. After a template apply, the player goes to frame 0 and no item is selected. The timeline zooms so the full template fits the visible width. One Undo still removes the template. The timeline now opens with at most 4 track rows, for every density and on mobile. More tracks scroll inside the panel. You can drag the panel taller, up to 17 rows (compact), 12 rows (default), 7 rows (comfortable) or 5 rows (mobile). Before, the timeline opened at these caps and you could not drag it taller.
  • •Add counting numbers to text items. A text item with the new optional `counter` field shows a number in place of its text. The number is the new `count` keyframe property, so it can count up, count down, or rise and fall, with the named eases. The counter has decimals, a prefix, a suffix, a thousands separator and a clock format (mm:ss). The text item Animate tab has a "Count number" switch for it. Keyframe properties can now apply to some items only (`appliesTo` in `KEYFRAME_PROPERTIES`). `resolveItemAtFrame` also returns `count`, which is 0 for items with no counter.
  • •Add Source Text keys, a text outline and skew keyframes. - Source Text keys: a new `text` keyframe property for a text item with no counter. A text keyframe holds `Keyframe.text` until the next keyframe; it never blends. Its number `value` is a dummy 0, and the number tools skip it: `resolveItemAtFrame`, `writeItemValues`, `setKeyframeRefsEase` and the Advanced rows. The keys show as markers and in the Animate tab keyframe list. The new "Text keys" section adds a key with the current text ("Change text at playhead"), and the text field edits the key that holds at the playhead. The text layer measures its box with the longest key text, so the box does not change size during playback. New `getTextKeyframeValue`, `getItemTextAtFrame`, `getWidestKeyframeText` and `writeItemText`. - Text outline: new optional `styles.textStrokeWidth` (px) and `styles.textStrokeColor` on text items, painted under the fill with `-webkit-text-stroke` and `paint-order: stroke fill`. Text with no outline renders as before. The text Style tab has an Outline colour and width control. - Skew: new `skewX` and `skewY` keyframe properties, in degrees, with the resting value 0. The layer box adds `skew()` to its inner transform only for an item with skew keyframes. K and "Add keyframe" do not key the skew. The selection outline does not skew. - Type change: `ResolvedItemValues` and the `writeItemValues` values now use the new `NumberKeyframeProperty` type (all properties except `text`). - New `textKeys` template builder.
2026-10-08

v5.14.0

minorpatch

Changes

  • •Add new caption and text templates, four caption animations, and a tabbed template picker - New caption animation modes: `word-bounce`, `word-spotlight`, `word-rise`, and `word-emphasis`. They are frame-driven, so exports match the preview. - 12 new caption templates, and the template picker has tabs: Popular, Subtle, Bold, Playful, Elegant, and Creative. Hover a card to play it. - New captions use the quiet "Clean" template. Captions that have no saved styles now render as Clean, not Classic. - The "Minimal" caption template is removed. Captions that use it keep their saved styles. - New optional `CaptionStyles` fields: `paintOrder`, `filter`, `wordColors`, `wordTilt`, `emphasisScale`, and `emphasisLayout`. - The caption Colors panel shows only the controls that the animation mode uses, supports word color sets, and reads `em` stroke widths. - The text panel has 18 new text templates in three groups: Titles, Social, and Labels. The old text templates are replaced. - The animation panel plays each enter and exit animation on hover, and shows the selected animation in the section header. - Fix: resize handles are no longer cut off at the edge of the canvas. - Fix: the Space key no longer opens a focused menu (for example the aspect ratio menu) when it plays or pauses the video.
  • •Add a Freeze Frame action that holds the video frame at the playhead for 3 seconds
  • •When you hover over or select an enter or exit animation, the player now plays that part of the item on the item, and then pauses. After an exit preview, the playhead goes back to the start of the preview. When the pointer leaves the tile, the item shows its saved animation again.
  • •Make play and pause respond at once, and keep the selection toolbar on screen - Play and pause no longer miss a press: the toggle reads the player, not React state that can be one render late. - A play press no longer blocks on a full editor re-render, and caption clips on the timeline re-render only when the active word changes, not on every frame. - The play button acts on press, not on release. - Split (S) uses the live playhead frame, so it is correct during playback and right after a pause. - The selection toolbar moves inside the item when the item fills the canvas height, so the player no longer cuts it off.
2026-09-30

v5.13.14

patch

Changes

  • •Keep cursor zoom on for the full zoom item, and follow the cursor smoothly
2026-09-29

v5.13.13

patch

Changes

  • •Add a zoom speed control to the screen recording cursor settings
  • •Fix auto zoom slide, pumping, and off-center cursor follow
2026-09-29

v5.13.12

patch

Changes

  • •Improve automatic screen-recording zoom timing and cursor-follow camera movement.
2026-09-28

v5.13.9

patch

Changes

  • •Add camera zoom and framing controls, and keep recording borders off by default.
2026-09-25

v5.13.8

patch

Changes

  • •Disable recording borders by default and move their controls into a collapsed General panel section.
2026-09-25

v5.13.7

patch

Changes

  • •Add quick border presets and shared border controls for screen and camera recordings.
  • •Refine the screen-recording panel spacing, controls, and layout corner radius.
  • •Keep stock video, image, and sound adaptors enabled when a host supplies a partial adaptor configuration.
2026-09-25

v5.13.6

patch

Changes

  • •Keep cursor size stable during video zooms, add cursor size to the screen-recording controls, set automatic cursor zoom timing from recorded clicks, and make screen-recording layout corners consistent.
2026-09-25

v5.13.5

patch

Changes

  • •Improve cursor zoom camera tracking and set the default cursor size to 150%.
2026-09-25

v5.13.11

patch

Changes

  • •Preserve camera framing and borders while the camera shrinks during cursor zoom.
2026-09-25

v5.13.10

patch

Changes

  • •Make cursor zoom stable across split clips, shrink a floating camera during cursor zoom, and permit valid left trims on recorder camera clips.
  • •Keep timeline item positions and durations on whole frames when snapping is off.
2026-09-25

v5.13.4

patch

Changes

  • •Add editable cursor playback, cursor controls, item-level cursor zoom, and global scene zoom composition.
  • •Show a cached wallpaper thumbnail at once, and then load a smaller image for the editor preview.
  • •Let timeline items move smoothly and snap only near the playhead or item edges. Hide Stock tabs for media types that an explicit adaptor configuration omits.
  • •Add a setting that turns timeline snapping on or off during drag and drop.
2026-09-24

v5.13.3

patch

Changes

  • •Let media adaptors and `mediaLibrary` control media tabs when screen-recording tools are enabled.
2026-09-24

v5.13.2

patch

Changes

  • •Improve the screen-recorder Home panel, add timeline-header control settings, show three wallpaper rows, and fix filter previews for videos without thumbnails.
2026-09-24

v5.13.1

patch

Changes

  • •Fix Screen Recording Tools layouts, undo, background scrolling, sidebar behavior, and badge placement.
2026-09-24

v5.13.0

minorpatch

Changes

  • •Add optional beta screen-recording tools for backgrounds, screen framing, and camera layouts. Hide stock video, image, and sound tabs in screen-recording mode because these sources need consumer API keys.
  • •Add a wallpaper library to the background panel, with 147 CDN-hosted images grouped into 19 categories and favourites. Store backgrounds as composition-level state, validate custom image CORS access, and render image backgrounds through Remotion's `<Img>` during export.
  • •Improve play and pause response by keeping playback state out of Remotion composition props. Add enter and exit animation controls for camera recordings, animate video shadows with their media surface, and hide the camera recorder from mobile navigation.
2026-09-23

v5.12.0

minorpatch

Changes

  • •Add responsive two-item camera layout presets with adjustable spacing and camera shadow.
  • •Add a dedicated Camera panel with webcam recording, camera video roles, and Loom-style layout controls.
  • •Add an `enableCanvasZoom` prop to disable player canvas zoom and pan interactions.
  • •Update the RVE logo mark to the current gradient brand icon.
  • •Match searchable font family triggers to font weight selects in text and caption settings.
  • •Start a timeline mouse drag on the first pointer move. Show the ghost and remove the source item from rendering in the same frame. Keep the touch drag threshold.
  • •Move save history and keyboard shortcuts into dialogs opened by subtle icon actions.
  • •Make the Settings panel scrollable so all controls and keyboard shortcuts remain reachable.
2026-09-23

v5.11.2

patch

Changes

  • •Send permanent media URLs to custom cloud renderers and reject unresolved browser-only media.
2026-09-16

v5.8.2

patch

Changes

  • •Reduce text side resize bars and their touch targets when the text box is short. This prevents overlap with the corner resize controls on mobile screens.
2026-09-02

v5.6.1

patch

Changes

  • •Fit external VTT thumbnail sprites to timeline cells and ignore cues outside the sprite image.
2026-08-27

v5.6.0

minor

Changes

  • •Use supplied sprite and WebVTT files for video timeline thumbnails without downloading the video.
2026-08-14

v5.4.13

patch

Changes

  • •Fix web renders crashing when a fractional export scale produces odd frame dimensions
2026-08-13

v5.4.11

patch

Changes

  • •Add `defaultExportScale` prop so the Render button can export at native scale
2026-07-24

v5.4.10

patch

Changes

  • •Media library tabs (Stock / My Library) now adapt to what has content and are configurable via a new `mediaLibrary` prop. - Tabs derive from available sources: Stock shows only when the panel has stock adaptors; My Library always shows (uploads work locally). The default active tab is the first visible tab. - New optional `mediaLibrary` prop: `tabs` sets which tabs show and their order (authoritative when provided), and `labels` renames tabs (defaults: `"Stock"`, `"My Library"`). - The internal `hideUploads` prop is deprecated in favour of `mediaLibrary`. ```tsx // My Library only, no config — just pass no stock adaptors <ReactVideoEditor adaptors={{ video: [], images: [], audio: [], localMedia }} /> // Or force it explicitly and rename <ReactVideoEditor mediaLibrary={{ tabs: ['uploads'], labels: { uploads: 'Brand Assets' } }} /> ```
  • •Add an "Upload file" button to the My Library empty state, so users can upload their first file directly from the empty panel (previously only a non-clickable prompt when the standalone upload button was hidden).
2026-07-23

v5.4.8

patch

Changes

  • •Simplify Save History and scope it to the current project. IndexedDB autosaves are shared per browser origin, so the panel previously listed every project's saves and let a user load another project's state into the current editor. Save History now shows only the current project's autosaves and keeps the newest 3 versions per project (oldest dropped on save). Each save records a single entry — an autosave identical to the newest stored version is skipped, so the same snapshot never lands twice. Click a row's "Restore" button to reload that version. `projectId` and a `restoreVersion` helper are now exposed on the editor context. Note: this bumps the local IndexedDB schema, so any single autosave stored by a previous version is cleared once on first load. It self-heals on the next autosave (within a few seconds of editing); only unsaved local recovery from before the upgrade is affected.
2026-07-22

v5.4.5

patch

Changes

  • •Support arbitrary composition sizes via `editorState.dimensions` (`{ width, height }`), respected in both preview and export at any ratio (e.g. 593×4395, 16:15). Size is now the single source of truth — the aspect-ratio label is derived from it, and the dropdown shows a matching preset (16:9, …) or the raw dimensions when none matches. Adds a `disableExportModal` prop to render immediately at the composition size, and fixes custom-ratio preview scaling. Migration: `EditorState.aspectRatio` is now optional and deprecated — prefer `dimensions`. Existing state that sets only `aspectRatio` still works (it seeds the size from the preset), so no changes are required.
2026-07-14

v5.4.4

patch

Changes

  • •Keep sidebar content at full width when the sidebar is collapsed so icons and controls don't shrink
2026-07-14

v5.4.3

patch

Changes

  • •Fix Cmd+/- timeline zoom shortcut and add Cmd+S save shortcut
2026-06-30

v5.4.1

patch

Changes

  • •Honor sidebarLogo prop in the mobile editor header
2026-06-18

v5.3.9

patch

Changes

  • •Add `t` keyboard shortcut to drop a centered "Heading 1" text item at the playhead, and reset rotation when aligning items via the selection toolbar so alignment behaves predictably on rotated items.
2026-06-16

v5.3.6

patch

Changes

  • •Add optional watermark support for editor preview and rendered output
2026-06-05

v5.3.5

patch

Changes

  • •Fix mobile nav bar opening empty panel by preserving timeline selection
2026-06-05

v5.3.4

patch

Changes

  • •Fix useRender web render hanging at 100% by skipping redundant metadata extraction
2026-06-03

v5.3.3

patch

Changes

  • •Add standalone useRender hook for rendering without the editor
2026-06-03

v5.3.2

patch

Changes

  • •Add onExportStart, onExportComplete, and onExportFail callback props
2026-06-01

v5.3.1

patch

Changes

  • •Fix media adapter dehydration leak, add retry upload and adapter delete
2026-06-01

v5.3.0

minor

Changes

  • •Add local media adapter for upload and library loading
2026-06-01

v5.2.7

patch

Changes

  • •Fix video objectFit not applying during web render, fill canvas now scales cropped regions correctly, and alignment guides now snap to crop-adjusted bounds
2026-05-29

v5.2.5

patch

Changes

  • •Fix local state not restoring on refresh when editorState prop is provided
2026-05-19

v5.2.0

minor

Changes

  • •Replace `defaultTracks`, `defaultAspectRatio`, and `defaultBackgroundColor` props with a single `editorState` prop. The `onSave` callback now emits the same `EditorState` type that `editorState` accepts, enabling clean round-trip persistence. **New API:** ```tsx <ReactVideoEditor editorState={{ tracks, aspectRatio: "16:9", backgroundColor: "white", playbackRate: 1, }} onSave={(state) => saveToBackend(state)} // same EditorState shape /> ``` **Also exports `getCanvasDimensions`** — a utility to get pixel dimensions for a given aspect ratio, useful for sizing items to fill the canvas: ```tsx import { getCanvasDimensions } from "@reactvideoeditor/react-video-editor/types"; const { width, height } = getCanvasDimensions("16:9"); // { width: 1280, height: 720 } ``` **Migration:** Replace `defaultTracks={t} defaultAspectRatio={a} defaultBackgroundColor={c}` with `editorState={{ tracks: t, aspectRatio: a, backgroundColor: c, playbackRate: 1 }}`.
2026-05-16

v5.0.3

patch

Changes

  • •Scope global CSS selectors to editor container to prevent style leaking into host apps
2026-05-15

v5.0.1

patch

Changes

  • •Remove cloud rendering toggle from settings panel and fix recording saved text color
2026-05-15

v4.0.0

major

Changes

  • •Remove disableMobileLayout prop and mobile fallback overlay
2026-05-15

v3.6.1

patch

Changes

  • •Add text background color picker and apply paddingBackgroundColor to container
2026-05-07

v3.4.1

patch

Changes

  • •Fix mobile timeline scrubbing and improve touch targets for resize handles
2026-05-02

v3.4.0

minor

Changes

  • •Add background panel with solid color and gradient presets, move background controls from settings to dedicated sidebar panel
2026-05-02

v3.1.4

patch

Changes

  • •Fix visual layout grid causing squashed and overlapping items
2026-04-29

v3.1.3

patch

Changes

  • •Add browser compatibility check before attempting video export, showing a user-friendly warning for unsupported browsers (Safari, Firefox). Add diagnostic logging to the web render pipeline.
2026-04-28