Version v1.60.0 Changelog September 19, 2025
Breaking Changes
- Editor/iOS: Renamed
DefaultAssetLibrary.uploadsLabeltoDefaultAssetLibrary.photoRollLabelfor the newPhotoRollAssetSource. - Editor/iOS: Removed
DefaultAssetLibrary.Tab.uploadsand replaced it withDefaultAssetLibrary.Tab.photoRollthat uses the newPhotoRollAssetSource. Create a customAssetLibraryto revert to the previous behavior based onEngine.DemoAssetSource.imageUpload/videoUpload. - Editor/iOS: Deprecated
Dock.Buttons.photoRollin favor ofDock.Buttons.imglyPhotoRollthat uses the newPhotoRollAssetSource. UseDock.Buttons.systemPhotoRollto use the previous behavior. - Editor/iOS: Deprecated
EditorEvent.addFromPhotoRollin favor ofEditorEvent.addFromIMGLYPhotoRollthat uses the newPhotoRollAssetSource. UseEditorEvent.addFromSystemPhotoRollto use the previous behavior. - Editor/iOS: Added
PhotoRollAssetSourceintegration with Photo Library, and added it to the defaultonCreatecallback. If you use theDefaultAssetLibrarywith the newDefaultAssetLibrary.Tab.photoRoll, the newDock.Buttons.imglyPhotoRoll, or the newEditorEvent.addFromIMGLYPhotoRoll, you also need to add it to youronCreatecallback implementation. - Editor/iOS: Add
NSPhotoLibraryUsageDescriptionto yourInfo.plistif you are using the newPhotoRollAssetSource, theDefaultAssetLibrarywith the newDefaultAssetLibrary.Tab.photoRoll, the newDock.Buttons.imglyPhotoRoll, or the newEditorEvent.addFromIMGLYPhotoRoll. - Editor/iOS: Added a generic constraint to
AssetPreviewfor 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
disableTooltipsconfiguration 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
themeconfiguration 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.scaleconfiguration 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
setSettingandgetSettingmethods 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, andSettingValuefor 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
SettingsColortype 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
setSettingandgetSettingAPI. - 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
ColorMaskingSettingsandGlobalScopescomplex 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
createAudioFromVideoorcreateAudiosFromVideoAPIs 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
splitblock 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.actionsAPI for centralized actions management withregister(),get(), andrun()methods to handle export, save, load, and other user interaction actions - Editor/Web: Add new
cesdk.utilsAPI 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.callbacksAPI with automatic migration support. The deprecated callbacks and their new API equivalents are:callbacks.onBack→ Use Order API withly.img.back.navigationBarcomponentcallbacks.onClose→ Use Order API withly.img.close.navigationBarcomponentcallbacks.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.supportedMimeTypessetting 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
addClipaction to enable customization of clip addition behavior in video timeline. Developers can now override the default behavior by registering their ownaddClipaction. - Editor/Web: Deprecate
setBackgroundTrackAssetLibraryEntries(),getBackgroundTrackAssetLibraryEntries()methods andbackgroundTrackLibraryEntriesconfiguration option in favor of the newaddClipaction approach. - Editor/iOS: Prepared the
NavigationBarto 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.