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