Changelog
Explore the recent changes made to CreativeEditor SDK.
Our release notes contain more details on features and changes.
Recent Releases
Version v1.59.2 Changelog September 12, 2025
Breaking Changes
Non Breaking Changes
- Editor/Web: Fix custom locale translations not being applied when using setTranslations() with non-default locales.
Version v1.59.1 Changelog September 8, 2025
Breaking Changes
Non Breaking Changes
- Editor/Web: Fix an issue where the navigation bar actions dropdown appeared empty after or broken updating the CE.SDK.
Version v1.59.0 Changelog September 2, 2025
Breaking Changes
- Editor/Web: Deprecated
locale
configuration option in favor ofcesdk.i18n.setLocale()
API. Set locale after instance creation instead of in config. - Editor/Web: Deprecated
i18n
configuration option in favor ofcesdk.i18n.setTranslations()
API. Set translations after instance creation instead of in config. - Editor/Web: Deprecated
cesdk.setTranslations()
in favor ofcesdk.i18n.setTranslations()
. The old method will be removed in a future version. - Editor/Android: Fixed
touch/pinchAction
value was not being restored correctly after exiting crop mode when it had been custom set.
Non Breaking Changes
- Engine/Web: Added support for async plugin initialization. The
addPlugin
method is now async and theEnginePlugin.initialize
function can return a Promise. - Editor/Web: Added support for async plugin initialization. The
addPlugin
method is now async and theEditorPlugin.initialize
function can return a Promise. - Editor/Web: Updated all plugin examples and documentation to use
await
withaddPlugin
calls. - Editor/Web: Enhanced
cesdk.i18n.setTranslations()
with type-safe translation keys - Editor/Web: Added
cesdk.i18n.getTranslations()
method to retrieve current translations for specified locales - Editor/Web: Pass CE.SDK instance through builder context. The
cesdk
parameter inBuilderRenderFunctionContext
is now required (previously optional). Custom components and panels can now directly access the full CE.SDK API via thecesdk
parameter. - Engine: In the default implementation for applying an asset to the scene, if the block fill is a raster image, we now ensure that it does not exceed it’s maximum size. This prevents images from being scaled beyond their native resolution.
- Engine/Web: Added WebM video format support for VP8, VP9, and AV1 video codecs and Opus audio codec (Vorbis is currently not supported).
- Editor/Web: Add offical React and Vue wrappers for CE.SDK Web
- Editor/Flutter: Fixed error in the photo editor on Android where the image could not be found.
- Editor/Web: Added
cesdk.i18n.translate()
method for retrieving translations by key or array of keys - Engine: Fixed
loadFromArchiveURL
loading of scene archives with empty font files. - Engine: Added new APIs to extract audio from videos.
getAudioTrackCountFromVideo
retrieves the number of available audio tracks from a video,getAudioInfoFromVideo
retrieves information from all the audio tracks in a video (such as language, track name, codec),createAudioFromVideo
extracts a specific audio track from a video and creates an audio block with it andcreateAudiosFromVideo
does the same ascreateAudioFromVideo
but for all existing audio tracks in the video. - Editor/iOS: Fixed iOS crash during camera/mic permission prompt due to Swift 6 update.
Version v1.58.0 Changelog August 19, 2025
Breaking Changes
- Engine: The
createFromImage
API now adds a fill directly to the page instead of creating a graphic block with the image fill. To replicate the previous behavior:- Get the page’s fill after calling
createFromImage
- Create a graphic block with a rectangular shape
- Set the fill of the graphic block to that of the page
- Set the graphic block dimensions to match those of the page
- Add the graphic block as a child of the page
- Replace the page’s fill with a solid color fill (white)
- Get the page’s fill after calling
Non Breaking Changes
- Engine: Added
addLocalAssetSourceFromJSONURI
method to load asset sources from JSON URIs. Returns the asset source ID of the newly created source. - Engine: The setEditMode API now has an additional optional parameter that allows using another edit mode as a base.
- Engine/Web: Added a parameter to
Scene.saveToString
andBlock.saveToString
to allow the opportunity to persist transient or temporary resources. - Engine: Introduced “page/selectWhenNoBlocksSelected” setting that automatically selects the current page when nothing else is currently selected.
- Engine: Added support for self-contained scenes and archives by serializing additional scene state components including settings, variables, and spot colors. This ensures that exported scenes maintain their complete configuration when shared or loaded in different environments.
- Engine: Added a
overrideEditorConfig
boolean flag toloadSceneFromString
,loadSceneFromURL
andloadSceneFromArchiveURL
which controls whether to override the editor settings from the loaded scene. - Engine: Reject Infinity values in all setters.
- Engine: Reject NaN values in
block.scale
andblock.setRotation
. - Engine/Web: Fixed issue when export produced a corrupted file.
- Editor/Web: Fix filter library only loading if
ly.img.filter.duotone
andly.img.filter.lut
asset sources are being available. - Engine/iOS: Fix crash when typing characters with a diacritic mark.
- Engine/Android: Fixed an issue where content with the
text/html
MIME type could not be pasted. - Editor/Web: Fix tooltip and keyboard issues on iOS Safari/WebKit
- Editor/iOS: Fix crash when starting VoiceOver after Swift 6 update
- Engine: Fix crash when generating thumbnails larger than the platform’s maximum texture size by clamping to the supported limit.
- Engine: Added
clampThumbnailTextureSizes
setting to control this clamping behavior (default:true
). - Editor/Web: Fix an issue where the editor is zoomed in on iOS devices when the input field is focused.
- Editor/Web: Fix an issue where the AI plugin quick action button is disabled.
Version v1.57.1 Changelog August 15, 2025
Breaking Changes
Non Breaking Changes
- Editor/Web: Fix an issue where the AI plugin quick action button is disabled.
- Engine: Fix crash when generating thumbnails larger than the platform’s maximum texture size by clamping to the supported limit.
- Engine: Added
clampThumbnailTextureSizes
setting to control this clamping behavior (default:true
).
Version v1.57.0 Changelog August 6, 2025
Breaking Changes
- Engine/Swift: Updated the default value of
Engine.assetBaseURL
forEngine.addDefaultAssetSources
tohttps://cdn.img.ly/assets/v4
. - Editor/iOS: Updated
DefaultAssetLibrary.shapes
andDefaultAssetLibrary.stickers
with new sections from v4 assets. - Engine/Android: Updated the default value of
baseUri
inEngine.addDefaultAssetSources
tohttps://cdn.img.ly/assets/v4
. - Editor/Android: Updated
LibraryContent.Shapes
andLibraryContent.Stickers
with new sections from v4 assets.
Non Breaking Changes
- Editor/iOS: Allow Kingfisher 7 and 8 dependency.
- Engine: From now on
addAssetToSource
does not allow adding multiple assets with the same ID in case of local asset sources. - Engine/Android: Improved memory usage when saving scene to archive.
- Engine/Swift: Improved memory usage when saving scene to archive.
- Editor/Web: Fix caption dock button visible after disabling caption feature via feature API
- Engine/Swift: Fixed invalid blend mode values and added new blend modes (linearBurn, darkenColor, linearDodge, lightenColor, vividLight, linearLight, pinLight, hardMix, subtract, divide).
- Camera/iOS: Close the camera if there is an issue loading the reaction video.
- Engine: Fixed that min and max automatic font size were not scaled the same way as the font size. Could lead to auto-sized text being too small or too large after a change in design unit or DPI, e.g., during
applyTemplateFromString
if the current scene has a different design unit or DPI setting. - Engine: Add
asset.addFromJSONString
endpoint to streamline asset source creation. - Editor/Web: Introduced a new
builder.Component
component that allows rendering custom components that were registered using thecesdk.ui.registerComponent
. - Editor/Web: Order UI APIs now support nested orders, allowing for the customization of nested components within the order. This pattern is currently only supported by
ly.img.actions.navigationBar
component with other components to follow soon. - Editor/Web: Added new order manipulation APIs for all UI areas:
- Dock:
updateDockOrderComponent
,removeDockOrderComponent
,insertDockOrderComponent
- Inspector Bar:
updateInspectorBarOrderComponent
,removeInspectorBarOrderComponent
,insertInspectorBarOrderComponent
- Canvas Menu:
updateCanvasMenuOrderComponent
,removeCanvasMenuOrderComponent
,insertCanvasMenuOrderComponent
- Navigation Bar:
updateNavigationBarOrderComponent
,removeNavigationBarOrderComponent
,insertNavigationBarOrderComponent
- Canvas Bar:
updateCanvasBarOrderComponent
,removeCanvasBarOrderComponent
,insertCanvasBarOrderComponent
- Dock:
Version v1.56.0 Changelog July 24, 2025
Breaking Changes
- Editor/Web: Updated the
ly.img.vectorpath
asset library with new shapes. Those can be accessed by callingcesdk.addDefaultAssetSources()
. - Engine: Added
fetchAsset
method to theAssetSource
interface, allowing fetching of specific assets by ID. This is a breaking change for custom asset source implementations, which must now implement or handle the newfetchAsset
method. - Engine: Added
findAssetSourceAssets
to theUBQ
interface, allowing fetching of specific assets by ID. - Engine/Android: added
fetchAsset
method to theAssetAPI
interface. AssetSource now includes an optionalfetchAsset
method. - Engine/Swift: added
fetchAsset
method to theAssetAPI
interface.AssetSource
protocol now includes an optionalfetchAsset
method. ThegetAsset
method is removed. - Engine/Web: added
fetchAsset
method to theAssetAPI
interface.AssetSource
protocol now includes an optionalfetchAsset
method. - Editor/Android: Changed localization keys to a common structure prefixed with
ly_img_editor_
for easy customizations and added German translations. - Camera/Android: Changed localization keys to a common structure prefixed with
ly_img_camera_
for easy customizations and added German translations. - Editor/iOS: Changed
AssetLibrarySource
,AssetLibraryGroup
,AssetLibraryTab
,AssetLibraryTabView
,NavigationLabel
,SheetType.libraryAdd
, and.libraryReplace
initializers to accept aLocalizedStringResource
as title instead of aString
. - Editor/iOS: Changed localization keys to a common structure prefixed with
ly_img_editor_
for easy customizations and added German translations. - Camera/iOS: Changed localization keys to a common structure prefixed with
ly_img_camera_
for easy customizations and added German translations. - Editor/Web: Introduce a new set of sticker assets that can be added by calling
addDefaultAssetSources
- Editor/Web: Moved the default assets path from
https://cdn.img.ly/assets/v3
tohttps://cdn.img.ly/assets/v4
- Editor/Swift: Packages for Apple platforms are now built with Xcode 16.4, which is the new minimum requirement for using them.
- Engine/Swift: Packages for Apple platforms are now built with Xcode 16.4, which is the new minimum requirement for using them.
Non Breaking Changes
- Editor/Web: Introduced a new scale slider for captions, allowing users to adjust the size of the captions directly from the preset panel.
- Editor/Web: Add feature API ids for crop related inputs
- Editor/Android: Added new
onLoaded
callback toEngineConfiguration
that is invoked when the editor is loaded and ready to be used. It is best to register callbacks, collect flows returned by the engine and apply editor settings in this callback. - Editor/Web: Adding force crop feature via
applyForceCrop
API - Editor/iOS: Added configurable onClose and onError callbacks.
- Editor/iOS: Added a default confirmation alert when closing the editor.
- Editor/React Native: Fixed unexpected behavior when opening camera inside the editor that caused the editor to close.
- Editor/Flutter: Fixed unexpected behavior when opening camera inside the editor that caused the editor to close.
- Editor/Web: Adjustments, effects, filters and blurs are now only enabled for images and videos by default. This can be easily changed by using the
cesdk.feature.enable
API. - Editor: When selecting a child with all arrangement scopes disabled, the group’s rotation and resize gizmos now appear instead — allowing to move, resize, and rotate the group directly (provided the group itself has the necessary arrangement scopes).
- Editor/Web: The canvas menu will now be hidden by default during playback. If you wish to show it, you can use the feature predicate
ly.img.canvasMenu
to control its visibility. - Engine: Fixed potential crash during export if the device runs out of memory.
- Editor/Web: Fixed an issue where the AnimationSubInspector was not positioned correctly.
- Engine: Removed crop component from blocks when switching to a non-croppable fill.
- Editor/Web: Fixed an issue where certain panels did not respond correctly to API calls.
- Editor/RN: Fixed compatibility issues with RN 0.77.0+/Expo 53+ during compilation due to signature mismatch.
- Engine/Android: Fixed not released GPU memory on repeated export, which could result in the device running out of memory.
- Editor/iOS: Fixed incorrect scope check when determining if a block can be moved. Previously, the “editor/add” scope was checked instead of the correct “layer/move” scope when evaluating whether a block can be moved forward or backward.
- Editor/Android: Fixed incorrect scope check when determining if a block can be moved. Previously, the “editor/add” scope was checked instead of the correct “layer/move” scope when evaluating whether a block can be moved forward or backward.
- Engine: Enable all scopes for the current user role when loading blocks from serialized resources in defaultApplyAsset.
- Engine/iOS: Fixed crashes during text editing.
- Engine: fixed an issue where toggling mute while in “Playback” mode would set the edit mode to “Transform”.
Version v1.55.2 Changelog July 18, 2025
Breaking Changes
Non Breaking Changes
- Engine/iOS: Fixed crashes during text editing.
Version v1.55.1 Changelog July 11, 2025
Breaking Changes
Non Breaking Changes
- Engine/Android: Fix native crash due to incorrect Proguard configuration.
Version v1.55.0 Changelog July 8, 2025
Breaking Changes
- Engine/Android: Fixed
DesignUnit
raw values are not aligned with the C++ enum, resulting in incorrect mapping forengine.scene.getDesignUnit()
andengine.scene.setDesignUnit()
.
Non Breaking Changes
- Engine: Added ten new blend modes: Linear Burn, Linear Dodge, Lighten Color, Darken Color, Vivid Light, Linear Light, Pin Light, Hard Mix, Subtract and Divide.
- Editor/Web: Updated
FeatureAPI.enable()
to automatically use default guards when no predicate is provided. - Editor/Web: Introduce a new
ly.img.dock
feature key to allow controlling the dock. - Editor/Web: Introduce a new
ly.img.inspectorBar
feature key to allow controlling the inspector bar. - Editor/Web: Introduce a new
ly.img.videoTimeline
feature key to allow controlling the video timeline. - Editor/Web: Introduce a new
ly.img.navigationBar
feature key to allow controlling the navigation bar. - Editor/Web: Introduce a new
ly.img.navigate.undoRedo
feature key to allow controlling the navigation bar undo and redo. - Editor/Web: Introduce a new
ly.img.navigate.zoom
feature key to allow controlling the navigation bar zoom. - Editor/Web: Introduce a new
ly.img.navigate.actions
feature key to allow controlling the navigation bar actions. - Editor: Added improved loading animations
- Engine: Added new editor APIs to enable/disable and check the state of a block’s highlight:
setHighlightingEnabled
andhasHighlightingEnabled
- Editor/iOS: Fixed incorrect icon order for content fill mode in the crop sheet.
- Engine: Fixed legacy handling in the
loadFromString
API which could cause a legacy scene to be corrupted, e.g., vector paths getting deleted. Only occurs if a legacy scene is a loaded whileloadFromString
is called. - Engine: Trim length and trim offset now have the expected behavior when using GIFs.
- Engine: Fixed crash when using compositing keyboards.
- Editor/Web: Improved the video playback performance.
- Engine: Improved the video playback performance.
- Editor/Web: Adding documentation on how to update and manage video caption presets
- Engine: Added video captions support, see documentation. Introduced two new block types: caption and captionTrack. Introduced a new API for creating captions from a file: createCaptionsFromURI.
- Editor/Web: Added support for video captions in the editor, enabling the creation and management of captions for video projects. This feature includes functionalities for manually adding, editing, and removing captions, as well as importing captions from SRT and VTT files. Additionally, it supports managing various caption style assets.
- Editor/Android: Added predefined crop presets to the crop sheet.
- Editor/Android: Introduced multiple
SheetType.Crop.Mode
options that enable a combined crop and page resize sheet, supporting both manual adjustments and predefined size presets. Custom modes are configurable to define custom behavior. - Editor/Web: Fix editor crash when OPFS is not available in certain browser environments e.g. Firefox private mode.
- Engine: Fixed that events on edit state changes were not being delivered if and only if they were issued within an event callback, e.g., by setting the playing state to false within a callback from another event.
- Engine/Swift: Fixed crash when closing the editor while a text block is being edited.
- Editor/iOS: Fixed zoom insets being wrong in the crop and resize sheet when resizing the page.
- Engine/Swift: Fixed tone-mapping for certain HDR videos.
- Editor/Web: Introduce a new
ly.img.canvasBar
feature key to allow controlling the canvas bar. - Editor/Web: Introduce a new
ly.img.canvasMenu
feature key to allow controlling the canvas menu. - Editor/Web: Introduce a new
ly.img.inspector
feature key to allow controlling the advanced inspector. - Engine: Add background gradient for text blocks when the block is in pending state.
- Engine: Fix issue where the loading indicator overlay wasn’t clipped to the outline of the block in case of rounded corners.
- Engine: Allow thumbnail generation during playback to fix issue with voiceover graph not displaying.
- Engine: Added automatic switching to transform mode when users modify components during video playback to improve UI reactivity.
All Releases
v1.59.2 Changelog September 12, 2025
v1.59.1 Changelog September 8, 2025
v1.59.0 Changelog September 2, 2025
v1.58.0 Changelog August 19, 2025
v1.57.1 Changelog August 15, 2025
v1.57.0 Changelog August 6, 2025
v1.56.0 Changelog July 24, 2025
v1.55.2 Changelog July 18, 2025
v1.55.1 Changelog July 11, 2025
v1.55.0 Changelog July 8, 2025
v1.54.1 Changelog July 2, 2025
v1.54.0 Changelog June 26, 2025
v1.53.0 Changelog June 12, 2025
v1.52.0 Changelog May 29, 2025
v1.51.0 Changelog May 19, 2025
v1.50.2 Changelog May 15, 2025
v1.50.1 Changelog May 9, 2025
v1.50.0 Changelog April 29, 2025
v1.49.1 Changelog April 21, 2025
v1.49.0 Changelog April 16, 2025
v1.48.1 Changelog April 11, 2025
v1.48.0 Changelog April 1, 2025
v1.47.0 Changelog March 20, 2025
v1.46.1 Changelog March 5, 2025
v1.46.0 Changelog March 4, 2025
v1.10.6 Changelog February 19, 2025
v1.45.0 Changelog February 19, 2025
v1.44.0 Changelog February 6, 2025
v1.43.0 Changelog January 21, 2025
v1.42.0 Changelog January 9, 2025
v1.41.1 Changelog December 16, 2024
v1.41.0 Changelog December 11, 2024
v1.40.1 Changelog December 6, 2024
v1.40.0 Changelog November 28, 2024
v1.39.0 Changelog November 12, 2024
v1.38.0 Changelog October 29, 2024
v1.37.0 Changelog October 14, 2024
v1.36.1 Changelog October 4, 2024
v1.36.0 Changelog September 30, 2024
v1.35.1 Changelog September 20, 2024
v1.35.0 Changelog September 16, 2024
v1.34.0 Changelog August 31, 2024
v1.10.5 Changelog August 30, 2024
v1.33.0 Changelog August 23, 2024
v1.10.4 Changelog August 21, 2024
v1.32.0 Changelog August 6, 2024
v1.31.0 Changelog July 18, 2024
v1.30.0 Changelog July 3, 2024
v1.29.0 Changelog June 20, 2024
v1.28.0 Changelog June 6, 2024
v1.27.1 Changelog May 23, 2024
v1.26.1 Changelog May 22, 2024
v1.27.0 Changelog May 21, 2024
v1.26.0 Changelog May 7, 2024
v1.25.0 Changelog April 23, 2024
v1.24.0 Changelog April 5, 2024
v1.23.0 Changelog March 26, 2024
v1.22.0 Changelog March 12, 2024
v1.21.1 Changelog February 27, 2024
v1.21.0 Changelog February 22, 2024
v1.20.0 Changelog January 25, 2024
v1.19.0 Changelog December 13, 2023
v1.18.1 Changelog November 29, 2023
v1.18.0 Changelog November 6, 2023
v1.10.2 Changelog October 26, 2023
v1.10.3 Changelog October 26, 2023
v1.17.0 Changelog October 9, 2023
v1.16.1 Changelog September 14, 2023
v1.16.0 Changelog September 8, 2023
v1.15.0 Changelog September 1, 2023
v1.14.0 Changelog July 21, 2023
v1.13.1 Changelog July 10, 2023
v1.13.0 Changelog July 3, 2023
v1.12.2 Changelog June 30, 2023
v1.12.1 Changelog June 12, 2023
v1.12.0 Changelog June 2, 2023
v1.11.1 Changelog May 17, 2023
v1.11.0 Changelog May 10, 2023
v1.10.1 Changelog March 29, 2023
v1.10.0 Changelog March 14, 2023
v1.9.2 Changelog January 18, 2023
v1.9.1 Changelog December 15, 2022
v1.9.0 Changelog December 12, 2022
v1.8.0 Changelog October 21, 2022
v1.7.0 Changelog August 11, 2022
v1.6.3 Changelog June 13, 2022
v1.6.2 Changelog May 24, 2022
v1.6.1 Changelog May 23, 2022
v1.6.0 Changelog May 16, 2022
v1.5.1 Changelog May 9, 2022
v1.4.7 Changelog May 3, 2022
v1.4.6 Changelog April 14, 2022
v1.5.0 Changelog April 4, 2022
v1.4.5 Changelog April 1, 2022
v1.4.4 Changelog March 9, 2022
v1.4.3 Changelog March 7, 2022
v1.4.2 Changelog February 23, 2022
v1.4.1 Changelog February 22, 2022
v1.4.0 Changelog February 18, 2022
v1.3.0 Changelog January 6, 2022
v1.2.1 Changelog November 30, 2021
v1.2.0 Changelog November 22, 2021
v1.1.1 Changelog October 29, 2021
v1.1.0 Changelog October 28, 2021
v1.0.0 Changelog August 18, 2021