Search Docs
Loading...
Skip to content

Version v1.81.0 Changelog August 24, 2026

Breaking Changes

  • Engine/Android: Removed TransitionType.None. To remove a transition, destroy the transition block returned by engine.block.getTransition(...).

Non Breaking Changes

  • Engine/Android, Editor/Android: Added portable CE.SDK Android agent skills for documentation, explanations, and project scaffolding with Kotlin and Jetpack Compose.
  • Editor/Android: Added UI support for transitions, including the SheetType.Transition sheet type, InspectorBar.Button.rememberTransition, and buttons in the Timeline.
  • Editor/Android: Added animation and transition previews for a better editing experience.
  • Engine/Web/Android/iOS: scene.saveToArchive accepts a compression option for the scene inside the archive.
  • Plugins/iOS: Add the IMGLYPluginAutoCaptions plugin for automatic caption generation in the video editor. Registering AutoCaptionsPlugin adds a primary “Generate Automatically” action to the Add Captions sheet that transcribes the scene’s audible content and creates styled, time-synced captions. The built-in GatewayTranscriptionProvider runs the ElevenLabs Scribe v2 speech-to-text model through the IMG.LY AI Gateway using an IMG.LY API key; any other speech-to-text service can be integrated by implementing TranscriptionProvider.
  • Editor/iOS: Add EditorConfiguration.Builder.captionsGeneration(_:) to back the Add Captions sheet’s “Generate Automatically” action with a custom caption generation callback.
  • Editor/iOS: Add caption editing to the video editor. Register the Dock.Buttons.captions() dock button to let users create captions manually, import SRT/VTT files, edit caption text and timing on a dedicated timeline lane, apply style presets, and fine-tune a selected caption from the caption inspector (Edit Captions, Style, Split, Format, Fill & Stroke, Text Background, Delete). While editing, an action bar above the keyboard merges, splits, adds, and deletes captions, and steps to the caption above or below; merging, adding, and deleting are also available by swiping a row. Return splits a caption at the cursor — or starts the next one at the end of the text — and Backspace at the start merges into the caption above, or deletes it when empty. Style presets and core styling — font, size, alignment, colors, and background — apply to every caption on the track. Captions are burned into the exported video by the engine.
  • Engine/Swift, Editor/iOS: Added portable CE.SDK Swift agent skills for documentation, explanations, and project scaffolding across iOS, macOS, and Mac Catalyst.
  • Editor/Web: Transitions can now be opened from the inspector bar and the inspector panel.
  • Engine: Scenes and archives are now compressed with Zstd by default, making saved scenes far smaller and both saving and loading faster. Saved scene strings change shape: they carry a UBQ2 prefix instead of UBQ1. Loading accepts either, so existing scenes keep working.
  • Editor/Android: Fixed the background removal plugin decoding the source image on the main thread, which blocked the UI and triggered a StrictMode DiskReadViolation.
  • Editor/Android: Fixed the editor reading file modification times on the main thread when loading file-based images, which triggered a StrictMode DiskReadViolation.
  • Camera/Android: Fixed the photo preview reading the captured file’s modification time on the main thread, which triggered a StrictMode DiskReadViolation.
  • Engine/Android: HDR videos (HDR10/PQ and HLG) are now tone-mapped to SDR during decoding, fixing severely incorrect colors in preview and export. This uses the HDR-to-SDR tone-mapping request introduced in Android 12, and only takes effect where the device’s video decoder supports it — in practice recent Qualcomm/Snapdragon hardware decoders.
  • Engine/Android: Fixed a StrictMode LeakedClosableViolation caused by the internal OkHttp cache when a network fetch returned an error response (e.g. HTTP 404).
  • Editor/Android: the Resize sheet no longer shows the Crop/Cover/Fit content fill mode picker, honoring SheetType.Crop.Mode.ResizeAll.hasContentFillMode = false and matching iOS
  • Editor/Android: Fixed shareFile resolving the file’s content uri on the main thread, which triggered a StrictMode DiskReadViolation when sharing an exported file. The uri is now resolved on a background thread and any failure is surfaced via the error state instead of being thrown.
  • Engine: Fixed saveToArchive leaving remote URLs in the saved scene instead of bundling the referenced bytes.
  • Engine: Fixed variable-font handling in scene and block archives.
  • Engine: Fixed a crash in audio waveform thumbnail generation. The crash could happen once the last requested sample was delivered or when the audio block was destroyed from within the chunk callback.
  • Engine: Scene files no longer store the basePath setting. A basePath stored by an older version is ignored on load.
  • Editor/Flutter: Fixed an issue where effects applied to paused videos were not immediately visible when using TextureView.
  • Engine/Web: Fixed scene.getMode() throwing a TypeError instead of returning null when no scene exists.
  • Engine: A text or caption style preset no longer replaces the text of a block that already exists. A preset writes its own text only when it makes a new block.
  • Engine: PDF export with exportPdfWithHighCompatibility: false now embeds photos as their original JPEG data if possible, drastically reducing export time and file size of image-heavy documents such as photo books.
  • Engine: Added the pdfImageQuality export option. Values below the default of 1.0 encode rasterized images (e.g. with effects applied) as lossy JPEG instead of lossless. Rasterized content that keeps transparency stays lossless, because JPEG has no alpha channel.
  • Engine/Swift: Fixed cancelling a video export leaving the device encoding the whole video. BlockApi.exportVideo suspended on the engine callback and ignored task cancellation, so dropping the returned stream reported the export as cancelled while the background export engine kept rendering and encoding every remaining frame, holding CPU, GPU and battery until it finished. Cancelling now stops the export and releases the background engine.
  • Camera/Android: Fixed the photo/video mode toggle ignoring taps in mixed capture mode. The selection indicator briefly moved to the tapped icon and then snapped back without switching the capture mode.
  • Engine/Linux: Improved compatibility with H.265 video files in the licensed codec pipeline.