Search
Loading...
Skip to content

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:) with AssetSource.fetchAsset(id:options:) by adding FetchAssetOptions argument. The replaced function AssetSource.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:) with AssetSource.fetchAsset(id:options:) by adding FetchAssetOptions argument. The replaced function AssetSource.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.addSystemGalleryAssetSources to register device gallery sources (all, image, video) and wire them into the default configuration.
  • Editor/Android: Introduced SystemGalleryAssetSource and SystemGalleryAssetSourceType to 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 keeping Dock.Button.rememberSystemGallery() as the default system gallery entry.
  • Engine/Web: Add optional clipType context parameter to engine.asset.apply() API for explicit placement control
  • Engine/Web: Stabilize middleware APIs by renaming unstable_registerApplyAssetMiddleware to registerApplyMiddleware and unstable_registerApplyAssetToBlockMiddleware to registerApplyToBlockMiddleware
  • 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 clipType context parameter
  • Editor/Web: Add clipType option to AssetLibraryPanelPayload for panel-level placement configuration
  • Editor/Web: Update addClip action to use clipType: 'overlay' for correct background track placement
  • Engine/Web: Deprecate ui.colorLibraries, ui.typefaceLibraries, ui.pagePresetsLibraries, and ui.cropPresetsLibraries configuration properties in favor of the new API-driven approach using cesdk.ui.updateAssetLibraryEntry(). The deprecated properties will be automatically migrated with console warnings. See migration guide in the deprecation warnings for details.
  • Engine/Web: Add @deprecated JSDoc marker to ui.pageFormats configuration property. This property is now deprecated in favor of using cesdk.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.iconSize in favor of cesdk.engine.editor.setSetting('dock/iconSize', 'normal' | 'large').
  • Editor/Web: Deprecated configuration.ui.elements.dock.hideLabelsin favor of cesdk.engine.editor.setSetting('dock/hideLabels', boolean).
  • Engine/Swift: Added a parameter onDisallowedResourceScheme to SceneAPI.saveToString and BlockAPI.saveToString to 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 locale parameter to cesdk.asset.fetchAsset to support fetching assets in different locales. The locale parameter 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/fetchCredentials setting that accepts "omit", "same-origin" (default), or "include" to control cookie behavior for cross-origin asset fetches
  • Editor/Web: Add currentIds parameter to updateAssetLibraryEntry sourceIds callback for easier extension of existing source IDs without manual getAssetLibraryEntry calls
  • Engine: Fixed getAVResourceTotalDuration on a video fill from an imported archive not returning the correct value.