Version v1.62.0 Changelog October 22, 2025
Breaking Changes
- Editor/Web: Modernized editor theme with refined color palette, unified elevation surfaces, and improved visual hierarchy.
- Engine/Android: Fixed crash on calling
AssetApi.fetchAsset. - Engine/Android: Replaced
AssetSource.fetchAsset(id:)withAssetSource.fetchAsset(id:options:)by addingFetchAssetOptionsargument. The replaced functionAssetSource.fetchAsset(id:)won’t be called anymore. Asset sources that implemented this old optional method need to be updated. - Engine/iOS: Replaced
AssetSource.fetchAsset(id:)withAssetSource.fetchAsset(id:options:)by addingFetchAssetOptionsargument. The replaced functionAssetSource.fetchAsset(id:)won’t be called anymore. Asset sources that implemented this old optional method need to be updated. - Editor/Web: Clips added from the asset library will now no longer be automatically added to the background track when the timeline is still empty
- Engine: The ‘unstable_exportAudio’ API was renamed to ‘exportAudio’ and is now able to export audio from scenes, pages, tracks, audio blocks and blocks with video fills.
- Audio can be exported to either ‘audio/wav’ and ‘audio/mp4’:
- When exporting audio from either an audio block or a block with a video fill, if the underlying resource is not compatible with the requested mime type, the audio is first transcoded. Otherwise, the audio data is returned immediately.
- Added the flag ‘skipEncoding’ to the AudioExportOptions (disabled by default). Enabling it will allow getting the audio data from buffers directly while bypassing encoding (even if it is needed).
Non Breaking Changes
- Editor/Web: Added
cesdk.i18n.listLocales()method to retrieve available locales with optional wildcard pattern matching. - Editor/Web: Added
cesdk.actions.list()method to retrieve registered actions with optional wildcard pattern matching. - Editor/Web: Fixed an issue in
cesdk.i18n.getTranslations()that was causing the method to not return all available locales when no locale was passed as an input. - Editor/Android: Added
Engine.addSystemGalleryAssetSourcesto register device gallery sources (all, image, video) and wire them into the default configuration. - Editor/Android: Introduced
SystemGalleryAssetSourceandSystemGalleryAssetSourceTypeto expose MediaStore content, including permission-aware paging and limited-access support on Android 13+. - Editor/Android: Updated the default asset library and timeline flows to surface the system gallery with runtime permission handling and quick add options.
- Editor/Android: Documented how to keep the legacy uploads flow by overriding the default
AssetLibrary/timeline configuration, while keepingDock.Button.rememberSystemGallery()as the default system gallery entry. - Engine/Web: Add optional
clipTypecontext parameter toengine.asset.apply()API for explicit placement control - Engine/Web: Stabilize middleware APIs by renaming
unstable_registerApplyAssetMiddlewaretoregisterApplyMiddlewareandunstable_registerApplyAssetToBlockMiddlewaretoregisterApplyToBlockMiddleware - Editor/Web: Move middleware registration from VideoTimeline component to engine facade for global initialization
- Editor/Web: Update middleware to support conditional clip placement based on
clipTypecontext parameter - Editor/Web: Add
clipTypeoption toAssetLibraryPanelPayloadfor panel-level placement configuration - Editor/Web: Update
addClipaction to useclipType: 'overlay'for correct background track placement - Engine/Web: Deprecate
ui.colorLibraries,ui.typefaceLibraries,ui.pagePresetsLibraries, andui.cropPresetsLibrariesconfiguration properties in favor of the new API-driven approach usingcesdk.ui.updateAssetLibraryEntry(). The deprecated properties will be automatically migrated with console warnings. See migration guide in the deprecation warnings for details. - Engine/Web: Add
@deprecatedJSDoc marker toui.pageFormatsconfiguration property. This property is now deprecated in favor of usingcesdk.ui.updateAssetLibraryEntry('ly.img.pagePresets', { sourceIds: [...] }). - Engine: Now supports evaluation mode without providing a license
- Editor/Web: Remove loading indicator text from editor
- Editor/Web: Deprecated
configuration.ui.elements.dock.iconSizein favor ofcesdk.engine.editor.setSetting('dock/iconSize', 'normal' | 'large'). - Editor/Web: Deprecated
configuration.ui.elements.dock.hideLabelsin favor ofcesdk.engine.editor.setSetting('dock/hideLabels', boolean). - Engine/Swift: Added a parameter
onDisallowedResourceSchemetoSceneAPI.saveToStringandBlockAPI.saveToStringto allow the opportunity to persist transient or temporary resources. - Editor/Web: Added rectangle selection for timeline clips by dragging. Click the timeline background to deselect all clips.
- Editor/Web: Added middle mouse button drag scrolling for timeline navigation.
- Engine/Web: Added
localeparameter tocesdk.asset.fetchAssetto support fetching assets in different locales. Thelocaleparameter is optional. - Editor/Web: Fixed an issue on the page resize panel that was causing the input values to not reflect properly.
- Editor/Web: Fixed an issue on the page resize panel that was causing wrong updates to the scene values.
- Engine: Fixed and issue where fonts for a given typeface were being wrongly evicted, causing archives to not have the necessary fonts files.
- Editor/iOS: Fix potential localization lookup performance issue for large app bundles.
- Editor/iOS: Fixed asset library navigation reset when using search button in nested navigation screens on iOS 26.
- Editor/iOS: Fixed opening the crop sheet via double tap when another sheet is already open.
- Editor/iOS: Fixed opening the replace sheet when tapping on placeholders while another sheet is open.
- Engine/Web: Added
web/fetchCredentialssetting that accepts"omit","same-origin"(default), or"include"to control cookie behavior for cross-origin asset fetches - Editor/Web: Add
currentIdsparameter toupdateAssetLibraryEntrysourceIds callback for easier extension of existing source IDs without manualgetAssetLibraryEntrycalls - Engine: Fixed
getAVResourceTotalDurationon a video fill from an imported archive not returning the correct value.