Version v1.60.0 Changelog September 19, 2025
Breaking Changes
- Editor/iOS: Renamed
DefaultAssetLibrary.uploadsLabel
toDefaultAssetLibrary.photoRollLabel
for the newPhotoRollAssetSource
. - Editor/iOS: Removed
DefaultAssetLibrary.Tab.uploads
and replaced it withDefaultAssetLibrary.Tab.photoRoll
that uses the newPhotoRollAssetSource
. Create a customAssetLibrary
to revert to the previous behavior based onEngine.DemoAssetSource.imageUpload/videoUpload
. - Editor/iOS: Deprecated
Dock.Buttons.photoRoll
in favor ofDock.Buttons.imglyPhotoRoll
that uses the newPhotoRollAssetSource
. UseDock.Buttons.systemPhotoRoll
to use the previous behavior. - Editor/iOS: Deprecated
EditorEvent.addFromPhotoRoll
in favor ofEditorEvent.addFromIMGLYPhotoRoll
that uses the newPhotoRollAssetSource
. UseEditorEvent.addFromSystemPhotoRoll
to use the previous behavior. - Editor/iOS: Added
PhotoRollAssetSource
integration with Photo Library, and added it to the defaultonCreate
callback. If you use theDefaultAssetLibrary
with the newDefaultAssetLibrary.Tab.photoRoll
, the newDock.Buttons.imglyPhotoRoll
, or the newEditorEvent.addFromIMGLYPhotoRoll
, you also need to add it to youronCreate
callback implementation. - Editor/iOS: Add
NSPhotoLibraryUsageDescription
to yourInfo.plist
if you are using the newPhotoRollAssetSource
, theDefaultAssetLibrary
with the newDefaultAssetLibrary.Tab.photoRoll
, the newDock.Buttons.imglyPhotoRoll
, or the newEditorEvent.addFromIMGLYPhotoRoll
. - Editor/iOS: Added a generic constraint to
AssetPreview
for the empty view. - Editor/RN: Fixed Android compatibility issues with Expo 54.
- Camera/RN: Fixed Android compatibility issues with Expo 54.
Non Breaking Changes
- Editor/Web: Add support for P3 color space and OKLCH color format to theming API.
- Editor/Web: Added
disableTooltips
configuration option to asset library entries, allowing tooltips to be disabled for asset cards when set totrue
- Engine: Add support for Lottie animations on video fills.
- Engine/Web: Added MKV (Matroska) video format support with extended codec compatibility including H.264, H.265/HEVC, AAC, MP3 audio codecs in addition to the existing VP8, VP9, AV1, and Opus support.
- Editor/Web: Extended the page placeholder settings to support resizing. Similar to changing page size, the placeholder setting will reflect on all pages in the scene.
- Editor/Web: Added ‘system’ theme option that automatically adapts to the user’s OS theme preference
- Editor/Web: Enhanced theme API to support function-based themes for dynamic theme selection.
cesdk.ui.setTheme()
now accepts ‘light’, ‘dark’, ‘system’, or a function that returns a theme - Editor/Web: Updated
cesdk.ui.getTheme()
to always return the resolved theme value (‘light’ or ‘dark’), evaluating functions and system preferences as needed - Editor/Web: Deprecated
theme
configuration property. Usecesdk.ui.setTheme()
andcesdk.ui.getTheme()
methods instead for runtime theme management - Editor/Web: Fixed icon functions to always receive resolved theme values (‘light’ or ‘dark’), never ‘system’
- Editor/Web: Enhanced scale API to match theme API pattern.
cesdk.ui.setScale()
now accepts ‘normal’, ‘large’, or a function that returns a scale based on viewport properties - Editor/Web: Updated
cesdk.ui.getScale()
to always return the resolved scale value (‘normal’ or ‘large’), evaluating functions as needed - Editor/Web: Deprecated
ui.scale
configuration property. Usecesdk.ui.setScale()
andcesdk.ui.getScale()
methods instead for runtime scale management - Engine/Web: Refactored Settings interface architecture by moving settings interface to separate Settings.ts file for better code organization and maintainability.
- Engine/Web: Consolidated internal setting types into main Settings interface using @internal JSDoc tags for improved API clarity.
- Engine/Web: Improved type safety by deriving all setting types directly from the Settings interface, ensuring consistency across the API.
- Engine/Web: Added unified
setSetting
andgetSetting
methods that automatically infer types based on the setting key, providing better TypeScript support and a simpler API. - Engine/Web: Added new TypeScript types
SettingsMap
,SettingKey
, andSettingValue
for type-safe settings access. - Engine/Web: Simplified deprecated type-specific settings methods (
setSettingBool
,getSettingBool
,setSettingInt
,getSettingInt
,setSettingFloat
,getSettingFloat
,setSettingString
,getSettingString
,setSettingColor
,getSettingColor
,setSettingEnum
,getSettingEnum
) to use single function signatures while maintaining backward compatibility. - Engine/Web: Deprecated
SettingsColor
type export. Use the Color type directly instead. - Engine/Web: Updated all internal code to use the new unified settings API.
- Engine/Web: Video captions are now enabled by default without requiring explicit feature flag configuration.
- Documentation: Replaced C++ internal function references (
createRGBColor
,createClear
,createWhite
) with JavaScript object literals. - Documentation: Updated all code examples to use the new unified
setSetting
andgetSetting
API. - Documentation: Fixed license placeholder to use ‘YOUR_CESDK_LICENSE_KEY’ consistently.
- Documentation: Cleaned up complex types in Settings tables to show just type names with parameters in dedicated sections.
- Documentation: Added missing sections for
ColorMaskingSettings
andGlobalScopes
complex types. - Editor/Web: Fix an issue where the navigation bar actions dropdown appeared empty after or broken updating the CE.SDK.
- Editor/Web: Add comprehensive tooltips to all placeholder settings options to clarify what each permission allows users to do
- Engine/Android: Fixed that the audio stream on a video export could have no proper end-of-stream signal.
- Editor/Android: Fixed ClassCastException when opening FillStroke sheet for a block referencing CMYK color(s).
- Engine: The
createAudioFromVideo
orcreateAudiosFromVideo
APIs now use the correct sample rate and channel configuration from the track being extracted. - Engine/Web: Fixed crash when loading audio with empty chunks.
- Engine: Added support of MP4 videos that do not report the duration for audio tracks.
- Engine/Android: Fixed an issue where certain videos or audio files that could not be decoded were not always assigned an error state.
- Engine: Added a new
split
block API that allows splitting a block into two based on a specified time and additional options:attachToParent
(to choose if the new block will be attached to the same parent as the original),createParentTrackIfNeeded
(to choose if the parent should be a track block) andselectNewBlock
(to choose if the new block will be selected). - Editor/Web: Add new
cesdk.actions
API for centralized actions management withregister()
,get()
, andrun()
methods to handle export, save, load, and other user interaction actions - Editor/Web: Add new
cesdk.utils
API providing default implementations for common operations including loading dialogs, export operations, file handling, and scene management - Editor/Web: Extend navigation bar order manipulation APIs to accept index-based matching for more flexible component positioning
- Editor/Web: Deprecate navigation bar action configuration options (
ui.elements.navigation.action.save
,ui.elements.navigation.action.export
,ui.elements.navigation.action.share
,ui.elements.navigation.action.download
,ui.elements.navigation.action.load
,ui.elements.navigation.action.back
,ui.elements.navigation.action.close
) in favor of the Order API with automatic migration support - Editor/Web: Deprecate individual callback configurations in favor of the new centralized
cesdk.callbacks
API with automatic migration support. The deprecated callbacks and their new API equivalents are:callbacks.onBack
→ Use Order API withly.img.back.navigationBar
componentcallbacks.onClose
→ Use Order API withly.img.close.navigationBar
componentcallbacks.onSave
→cesdk.callbacks.register('saveScene', callback)
callbacks.onShare
→cesdk.callbacks.register('shareScene', callback)
callbacks.onExport
→cesdk.callbacks.register('exportDesign', callback)
callbacks.onDownload
→cesdk.callbacks.register('exportScene', callback)
callbacks.onLoad
→cesdk.callbacks.register('importScene', callback)
callbacks.onLoadArchive
→cesdk.callbacks.register('importScene', callback)
withformat: 'archive'
callbacks.onUpload
→cesdk.callbacks.register('uploadFile', callback)
callbacks.onUnsupportedBrowser
→cesdk.callbacks.register('onUnsupportedBrowser', callback)
- Engine/Web: Add
upload.supportedMimeTypes
setting to configure supported file types for upload operations - Editor/Web: Add Angular integration wrapper for Creative Editor SDK, available as
@cesdk/cesdk-js/angular
- Editor/Web: Add
addClip
action to enable customization of clip addition behavior in video timeline. Developers can now override the default behavior by registering their ownaddClip
action. - Editor/Web: Deprecate
setBackgroundTrackAssetLibraryEntries()
,getBackgroundTrackAssetLibraryEntries()
methods andbackgroundTrackLibraryEntries
configuration option in favor of the newaddClip
action approach. - Editor/iOS: Prepared the
NavigationBar
to correctly present items for Apple’s new design system on iOS 26. - Editor/iOS: Hide the navigation bar while searching to avoid seeing it underneath through the search’s glass background on iOS 26.
- Editor/iOS: Fixed truncated “Cancel” button on Voiceover sheet for iOS 26.
- Editor/Web: Fix custom locale translations not being applied when using setTranslations() with non-default locales.
- Engine: During drag operations, blocks are no longer reparented to hidden pages.
- Editor/Web: Fixed text asset labels not being translated properly.
- Engine: Archive file size reduced by removing unnecessary font files from it.
- Editor/iOS: Fixed audio playback after using system camera to record videos.
- Engine/Web: Fix HDR HEVC video support.