Version v1.61.0 Changelog October 8, 2025
Breaking Changes
- Engine: Added playback speed control for videos, GIFs and audio blocks via
UBQ::setPlaybackSpeedandUBQ::getPlaybackSpeed. For non-looping blocks, durations are recalculated to reflect trim and speed changes. - Engine: breaking change calling
setDurationadjusts the trim as well for non looping blocks.
Non Breaking Changes
- Editor/Web: Deprecated
ui.elements.panels.settingsconfiguration option. Usecesdk.feature.enable('ly.img.settings')instead. - Editor/Web: Deprecated
ui.elements.panels.inspectorconfiguration option. Usecesdk.feature.enable('ly.img.inspector'),cesdk.ui.setPanelPosition(), andcesdk.ui.setPanelFloating()instead. - Editor/Web: Deprecated
ui.elements.panels.assetLibraryconfiguration option. Usecesdk.feature.enable('ly.img.assetLibrary')andcesdk.ui.setPanelFloating()instead. - Editor/Web: Deprecated
ui.elements.dock.showconfiguration option. Usecesdk.feature.enable('ly.img.dock')instead. - Editor/Web: Deprecated
ui.elements.libraries.insert.floatingconfiguration option. Usecesdk.ui.setPanelFloating('ly.img.assetLibrary')instead. - Editor/Web: Deprecated
ui.elements.libraries.replace.floatingconfiguration option. Usecesdk.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
setTextFontSizeandgetTextFontSizesmethods, 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.blocksconfiguration to Feature API patterns for improved maintainability and reactivity. - Editor/Web: Deprecated
ui.elements.blocks.opacityconfiguration option. Usecesdk.feature.enable('ly.img.opacity')instead. - Editor/Web: Deprecated
ui.elements.blocks.transformconfiguration option. Usecesdk.feature.enable('ly.img.transform.position'),cesdk.feature.enable('ly.img.transform.size'),cesdk.feature.enable('ly.img.transform.rotation'), andcesdk.feature.enable('ly.img.transform.flip')instead. - Editor/Web: Deprecated
ui.elements.blocks['//ly.img.ubq/text'].advancedconfiguration option. Usecesdk.feature.enable('ly.img.text.advanced')instead. - Editor/Web: Deprecated
ui.elements.blocks['//ly.img.ubq/text'].colorconfiguration option. Usecesdk.feature.enable('ly.img.fill')instead. - Editor/Web: Deprecated
ui.elements.blocks.adjustmentsconfiguration option. Usecesdk.feature.enable('ly.img.adjustment')instead. - Editor/Web: Deprecated
ui.elements.blocks.filtersconfiguration option. Usecesdk.feature.enable('ly.img.filter')instead. - Editor/Web: Deprecated
ui.elements.blocks.effectsconfiguration option. Usecesdk.feature.enable('ly.img.effect')instead. - Editor/Web: Deprecated
ui.elements.blocks.blurconfiguration option. Usecesdk.feature.enable('ly.img.blur')instead. - Editor/Web: Deprecated
ui.elements.blocks.cropconfiguration option. Usecesdk.feature.enable('ly.img.crop')instead. - Editor/Web: Deprecated
ui.elements.blocks['//ly.img.ubq/page'].formatconfiguration option. Usecesdk.feature.enable('ly.img.page.resize')instead. - Editor/Web: Deprecated
ui.elements.blocks['//ly.img.ubq/page'].manageconfiguration option. Usecesdk.feature.enable('ly.img.page.add'),cesdk.feature.enable('ly.img.page.move'), andcesdk.feature.enable('ly.img.duplicate')instead. - Engine/Web: Add new stable
getView()andsetView()APIs for runtime view mode switching - Engine/Web: Deprecate experimental
unstable_getView()API in favor of stablegetView() - Engine/Web: Deprecate
configuration.ui.elements.viewconfiguration property in favor ofsetView() - 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
startAudioOutputDeviceeditor 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
startAudioOutputDeviceeditor 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
setAppIsPausedAPI is called, the audio output device will now be released. It will start again once a block is playing or if the newstartAudioOutputDeviceeditor 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.zoomToBlockAPI would incorrectly animate whenanimate: falsewas 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