Search
Loading...
Skip to content

Version v1.61.0 Changelog October 8, 2025

Breaking Changes

  • Engine: Added playback speed control for videos, GIFs and audio blocks via UBQ::setPlaybackSpeed and UBQ::getPlaybackSpeed. For non-looping blocks, durations are recalculated to reflect trim and speed changes.
  • Engine: breaking change calling setDuration adjusts the trim as well for non looping blocks.

Non Breaking Changes

  • Editor/Web: Deprecated ui.elements.panels.settings configuration option. Use cesdk.feature.enable('ly.img.settings') instead.
  • Editor/Web: Deprecated ui.elements.panels.inspector configuration option. Use cesdk.feature.enable('ly.img.inspector'), cesdk.ui.setPanelPosition(), and cesdk.ui.setPanelFloating() instead.
  • Editor/Web: Deprecated ui.elements.panels.assetLibrary configuration option. Use cesdk.feature.enable('ly.img.assetLibrary') and cesdk.ui.setPanelFloating() instead.
  • Editor/Web: Deprecated ui.elements.dock.show configuration option. Use cesdk.feature.enable('ly.img.dock') instead.
  • Editor/Web: Deprecated ui.elements.libraries.insert.floating configuration option. Use cesdk.ui.setPanelFloating('ly.img.assetLibrary') instead.
  • Editor/Web: Deprecated ui.elements.libraries.replace.floating configuration option. Use cesdk.ui.setPanelFloating('ly.img.assetLibrary') instead.
  • Editor/Web: Add animation previews - adding or updating an animation will now play a preview of the animation.
  • Engine/Web: Add support for font size units in setTextFontSize and getTextFontSizes methods, allowing pixel and point units with automatic conversion
  • Editor/Web: Add cesdk.getBaseURL() API to retrieve the baseURL from configuration
  • Editor/Web: Migrated all UI components from deprecated ui.elements.blocks configuration to Feature API patterns for improved maintainability and reactivity.
  • Editor/Web: Deprecated ui.elements.blocks.opacity configuration option. Use cesdk.feature.enable('ly.img.opacity') instead.
  • Editor/Web: Deprecated ui.elements.blocks.transform configuration option. Use cesdk.feature.enable('ly.img.transform.position'), cesdk.feature.enable('ly.img.transform.size'), cesdk.feature.enable('ly.img.transform.rotation'), and cesdk.feature.enable('ly.img.transform.flip') instead.
  • Editor/Web: Deprecated ui.elements.blocks['//ly.img.ubq/text'].advanced configuration option. Use cesdk.feature.enable('ly.img.text.advanced') instead.
  • Editor/Web: Deprecated ui.elements.blocks['//ly.img.ubq/text'].color configuration option. Use cesdk.feature.enable('ly.img.fill') instead.
  • Editor/Web: Deprecated ui.elements.blocks.adjustments configuration option. Use cesdk.feature.enable('ly.img.adjustment') instead.
  • Editor/Web: Deprecated ui.elements.blocks.filters configuration option. Use cesdk.feature.enable('ly.img.filter') instead.
  • Editor/Web: Deprecated ui.elements.blocks.effects configuration option. Use cesdk.feature.enable('ly.img.effect') instead.
  • Editor/Web: Deprecated ui.elements.blocks.blur configuration option. Use cesdk.feature.enable('ly.img.blur') instead.
  • Editor/Web: Deprecated ui.elements.blocks.crop configuration option. Use cesdk.feature.enable('ly.img.crop') instead.
  • Editor/Web: Deprecated ui.elements.blocks['//ly.img.ubq/page'].format configuration option. Use cesdk.feature.enable('ly.img.page.resize') instead.
  • Editor/Web: Deprecated ui.elements.blocks['//ly.img.ubq/page'].manage configuration option. Use cesdk.feature.enable('ly.img.page.add'), cesdk.feature.enable('ly.img.page.move'), and cesdk.feature.enable('ly.img.duplicate') instead.
  • Engine/Web: Add new stable getView() and setView() APIs for runtime view mode switching
  • Engine/Web: Deprecate experimental unstable_getView() API in favor of stable getView()
  • Engine/Web: Deprecate configuration.ui.elements.view configuration property in favor of setView()
  • Editor/Web: Added wildcard pattern matching support to cesdk.ui.closePanel().
  • Engine/Android: Fixed a rare crash caused by a null pointer dereference during audio/video decoding.
  • Editor/Android: Fixed default settings not getting applied on restoration after process death.
  • Engine/iOS: The audio output device is now lazy initialized, i.e., only initialized when the first audio is played. The new startAudioOutputDevice editor API can be used to start the audio device if needed.
  • Engine/Android: The audio output device is now lazy initialized, i.e., only initialized when the first audio is played. The new startAudioOutputDevice editor API can be used to start the audio device if needed.
  • Editor/Android: Fixed unnecessary energy consumption while the app is paused with an open video scene due to the audio device not properly released. If the setAppIsPaused API is called, the audio output device will now be released. It will start again once a block is playing or if the new startAudioOutputDevice editor API is called to start it manually.
  • Engine: Added new editor API to manually start the audio device, which is useful for recording audio or video on iOS: startAudioOutputDevice.
  • Editor/Web: Add Command/Ctrl-click as redundancy for Shift-click to enable multi-selection of blocks.
  • Engine: fix invalid position when scaling a block with a width or height of zero.
  • Editor/Web: Placeholder permission labels and tooltips are now context-specific for text, audio, and graphic elements
  • Editor/Web: Text placeholders show “Allow to Replace Text” with tooltip explaining text content replacement
  • Editor/Web: Audio placeholders show “Allow to Replace Audio” with tooltip explaining audio track replacement
  • Editor/Web: Graphic placeholders show “Allow to Replace Fill Content” with tooltip explaining image/video/color replacement
  • Editor/Web: Added context-specific tooltips to “Act as Placeholder” checkboxes explaining visual appearance and click-to-replace behavior
  • Editor/Web: Enhanced TypeScript translation types to better support placeholder-specific tooltip translations
  • Editor/Web: Fixed TextInput component’s onRelease callback to use the controlled value prop instead of DOM value on blur
  • Editor/Web: Fixed an issue that was causing the video timeline to not properly react to state changes
  • Engine/Web: Fixed an issue where engine.scene.zoomToBlock API would incorrectly animate when animate: false was passed.
  • Engine: Undoing and redoing changes no longer affects the playback position.
  • Editor/Web: Proper dispose of engine resources when using nodejs.
  • Editor/Web: Fixed an issue where gaps were preserved after dropping an element onto the background track.
  • Editor/Web: Fix keyboard shortcuts for caption panel time controls not working