Skip to main content
CESDK/Web/Release Notes & Changelog


Explore the recent changes made to CreativeEditor SDK.

Our release notes contain more details on features and changes.

v1.7.0 - August 2nd, 2022#

See the announcement post for details on features.

Breaking Changes#

  • CESDK: Change export options provided to the onExport callback
    • options['image/jpeg'].quality -> options.jpegQuality
    • options['image/png'].compressionLevel -> options.pngCompressionLevel
  • UBQ: Update zoom APIs to be more user-friendly
    • editor.getZoomLevel -> scene.getZoomLevel
    • editor.setZoomLevel -> scene.setZoomLevel
    • get/setZoomLevel is in relation to pixel dimensions instead of design units of the scene, which requires an update of the values if the scene is in design unit inch or millimeter
  • CESDK: Changed translation keys in the settings panel
  • UBQ: Replace backgroundColor properties (backgroundColor/color, backgroundColor/enabled) of the page block with fill properties (fill/enabled, fill/gradient/type, fill/solid/color, fill/type).
  • CESDK: UI (Default or Advanced) is now independent of Role (Creator or Adopter).
    • Configuration key has been removed.
    • Configuration key is used to configure the view for all roles.
  • UBQ: Asset Source findAssets does not have a 'type' argument anymore. All user-configured asset source have to remove the type as well
  • CESDK: Removed the following configuration entries. It is replaced by configuration of ui.elements.libraries.insert.entries and ui.elements.libraries.replace.entries
    • ui.elements.libraries.upload has been removed.
    • ui.elements.libraries.template has been removed.
    • ui.elements.libraries.image has been removed.
    • ui.elements.libraries.text has been removed.
    • ui.elements.libraries.element has been removed.
  • CESDK: Deprecate libraries.panel.insert and libraries.panel.replace and move their entries to libraries.insert and libraries.replace
  • UBQ: Rename drop shadow related function and properties:
    • [get/set]DropShadow[X/Y]Offset -> [get/set]DropShadowOffset[X/Y]
    • [get/set]DropShadow[X/Y]BlurRadius -> [get/set]DropShadowBlurRadius[X/Y]
    • dropShadow/x/offset -> dropShadow/offset/x
    • dropShadow/y/offset -> dropShadow/offset/y
    • dropShadow/x/blurRadius -> dropShadow/blurRadius/x
    • dropShadow/y/blurRadius -> dropShadow/blurRadius/y
  • UBQ: hasPlaceholderContent has been renamed to showsPlaceholderContent
  • CESDK: Changed i18n key input.document to input.canvas
  • CESDK: default stroke position is centered rather than outside

Non Breaking Changes#

  • CESDK: Add option to auto close asset library after insert or replace
  • UBQ: new API functionality to add and edit a block's drop shadow
  • CESDK: Update border radius values
  • UBQ: Add export options to export API
  • UBQ: Introduce asset API
  • CESDK: Add Stroke controls to Default UI for Images
  • UBQ: Add setting to control double-click behavior
  • UBQ: Add gradient option to page fill
  • UBQ: Add block metadata API
  • CESDK: Add labels to Shape Options sliders.
  • CESDK: Improved UI usability on small screens
  • CESDK: Fix Unsplash library displaying the same image multiple times
  • CESDK: Fix filter card labels not readable in dark theme
  • CESDK: Can rotate and flip groups
  • CESDK: Fix template library cards displaying templates wrong
  • CESDK: Add configurable icons for custom libraries
  • UBQ: Add scopes API
  • CESDK: Add Shadows controls to Advanced UI
  • CESDK: Fixed line shape handles not moveable in some conditions
  • CESDK: Add possibility to pass function to dock group configuration
  • CESDK: Add stroke to pages.
  • UBQ: Always clip content to pages on export
  • CESDK: Add effect & blur APIs.
  • CESDK: Fix to properly ignore mouse events over UI elements
  • CESDK: Remove text background color from the UI
  • CESDK: Fix word wrapping of text for keyboard input in Safari
  • CESDK: The entry point for the Creative Engine at @cesdk/cesdk-js/creative-engine.umd.js has been removed. Use the @cesdk/engine package instead.
  • CESDK: Fix translation issues in the asset library
  • CESDK: Change default template card backgroundType to contain
  • CESDK: Added support for changing cursors depending on the action performed in the @cesdk/engine package.
  • CESDK: Fix lost keyboard focus after clicking canvas

v1.6.0 - May 16, 2022#

See the announcement post for details on features.

Breaking Changes

  • UBQ: Fix "Cross Cut" effect output differences.
  • CESDK: Some of the exported types of the @cesdk/cesdk-js package have changed:
    • The DesignElementId type alias has been renamed to DesignBlockId
    • The PositionMode, SizeMode, and PropertyType enums for use with the BlockAPI are gone. Instead you can use literal string values that map 1:1 to the previous enum value names. PositionMode.Absolute becomes "Absolute", etc.
    • The DesignUnit enum has been changed to a string unit
  • CESDK: Some of the exported types from @cesdk/cesdk-js and @cesdk/cesdk-js/cesdk-engine.umd.js/@cesdk/engine have been renamed or restructured. All types that were used internally so far, are now exported.
  • CESDK: Add template library
    • Template configuration now needs to include a label for each template
  • JNI: Use long instead of int for IDs because Java does not offer unsigned ints.
  • CESDK: Deprecate imports of the CreativeEngine module from @cesdk/cesdk-js/cesdk-engine.umd.js. To use the CreativeEngine module, import it as its own package from the @cesdk/engine npm module.

Non Breaking Changes

  • UBQ: Add findAllPlaceholders API
  • CESDK: Fix snapping guides not always covering the entire screen
  • CESDK: Split cesdk_engine from cesdk_web
  • UBQ: Add scale API for proportional scaling of blocks, groups and hierarchies
  • CESDK: Add API options setContentFillMode and getContentFillMode
  • UBQ: Fix blur bleeding with CPU backend
  • UBQ: Fix Tiltshift effect alpha handling
  • CESDK: Improved Stroke options for Shapes and Text
  • CESDK: Add Gradient Fills.
  • CESDK: Fix unselectable elements being selectable by keyboard interaction for Adopter.
  • CESDK: Fix uploaded images being added immediately.
  • CESDK: Add placeholder options for Pages.
  • UBQ: Add applyTemplate APIs
  • UBQ: more properties can be set through the set of set/get functions which take a single parameter.
  • CESDK: Update line and stroke width of handles, selection frames, and gizmos.
  • UBQ: Fix text blocks changing position during design unit changes.

v1.5.0 - Apr 04, 2022#

See the announcement post for details on features.

  • CESDK: 'Replace Asset' library panel now automatically opens for Adopters when selecting a replaceable image, and stays open after selection.
  • CESDK: Add dock configuration option to show/hide labels and choose between icon sizes
  • CESDK: Allow usage of inline text editing in cesdk_engine headless mode
  • UBQ: Allow exporting scenes as an archive
  • UBQ: Add showsPlaceholderOverlay property to Image
  • UBQ: Add options for page clipping and out-of-page dimming
  • CESDK: Update supported browser versions
  • UBQ: Move pending and error state rendering from the frontend into UBQ
  • UBQ: Add PDF export
  • CESDK: Added new vector shapes.
  • CESDK: Introduce grouping of elements. A group can be moved and has its own opacity.
  • CESDK: Disabled color inputs inside colorselection popover can be enabled via click anywhere inside the popover
  • UBQ: Limit image render resolution to 4096x4096
  • UBQ: Switch to fixed Stack spacing during export
  • UBQ: Add Opacity component to CompositedText
  • CESDK: Fix bug when no sources for a type are configured
  • UBQ: Selection and placeholder highlighting for children of hidden elements are disabled.
  • UBQ: export now always unhides the element that's being exported.
  • CESDK: Introduce event API and editor API.

v1.4.7 - May 03, 2022#

Breaking Changes

  • JNI: Use long instead of int for IDs because Java does not offer unsigned ints.

Non Breaking Changes

  • CESDK: Fixed spinners showing on hidden pages, e.g. in single-page mode.
  • CESDK: Preserve font externalReference in textRuns when loading scenes.

v1.4.6 - Apr 14, 2022#

  • Add auto close feature

v1.4.5 - Apr 01, 2022#

  • Fixes Canvas Actions / Actionbar not correctly updating its position when text box height changes during typing
  • Fixes externalReference not being updated when an image was replaced
  • Fixes multiple issues in single page mode
    • Elements created by an adopter are no longer highlighted, which also fixes occasional highlighting of the entire scene
    • Non-visible elements are no longer selectable via tab
  • Loading spinners no longer show for elements on hidden pages
  • Fixes wrong pointer offsets for adopters, noticeable in embedded deployments leading to wild element jumps during drag
  • Fixes empty library for image replacement, if only uploads are in there
  • Allows disabling the image placeholder overlay via a new showsPlaceholderOverlay property
  • Adds an activePageCallback that allows registering for undo/redo induced page change

v1.4.4 - Mar 09, 2022#

  • Fixed mouse offsets during dragging

v1.4.3 - Mar 07, 2022#

  • CESDK: Fix bug when no sources for a type are configured
  • UBQ: export now always unhides the element that's being exported.
  • UBQ: Selection and placeholder highlighting for children of hidden elements is disabled.

v1.4.2 - Feb 23, 2022#

  • Fixes an error in the public TS type declarations.

v1.4.1 - Feb 22, 2022#

  • Placeholder overlay not getting removed when replacing image as adopter
  • Missing bindings for getGlobalXYZ & referencesAnyVariables endpoints
  • Various guide fixes (broken links, broken buttons & wrong examples)
  • Delay lookup of legacy vector path blocks
  • CESDK: Moved property API functions into the block API namespace. .property.findAll and .property.getType have been renamed to .block.findAllProperties and .block.findPropertyType resp.

v1.4.0 - Feb 18, 2022#

See the announcement post for details on features. Breaking Changes

  • CESDK: Add new elevation color theming token
  • CESDK: Add design tokens for danger button variant
  • CESDK: //ly.img.ubq/adjustableImage was renamed to //ly.img.ubq/image (serialized scenes are automatically converted)
  • CESDK: Changes made in preview mode are discarded when leaving the mode
  • CESDK: Shapes may now be resized non aspect-aware via the edge handles
  • CESDK: presets.variables was moved to the top level of the Configuration object
  • CESDK: Renamed configuration key for the view style from classic to advanced and from minimal to default
  • CESDK: Changed default image fill mode from none to cover
  • CESDK: I18n files have been restructured (flat keys).
  • CESDK: Extended layout functions of the block API for more control
  • CESDK: Introduce --ubq-margin-xl theming api token
  • CESDK: Introduce --ubq-interactive-selected theming api token

Non Breaking Changes

  • CESDK: Changes made in 'Preview' mode don't affect the current scene anymore
  • CreativeEngine: Introduces headless CreativeEngine via cesdk-engine package and makes the editors underlying engine available via cesdk.engine
  • CESDK: Add manual number input for slider elements via Enter key
  • CESDK: Add ability to remove variables
  • UBQ: Store & handle relative paths by resolving them relative to the ubq://basePath setting
  • CESDK: Add "Always on top" toggle for design elements
  • CESDK: Add ability to remove variables
  • CESDK: Remove ubq://waitForAssets setting
  • CESDK: image.uri was replaced with image.imageFileURI. The property now holds a file URI, the previously stored asset ID is now stored in image.externalReference. Same applies to image.lutFilter/uri and sticker.uri.
  • CESDK: Add block-based saveToString & loadFromString to block API
  • CESDK: VectorPath blocks now only receive paths & size instead of an asset key.
  • CESDK: Snapping behaviour extended to multi-selected elements
  • CESDK: Add getGlobalBoundingBox… & referencesAnyVariables to block API
  • CESDK: Replace image.duotoneFilter/assetUri with individual colors and introduce image.duotoneFilter/externalReference
  • CESDK: Hide inspector bar inputs without necessary placeholder settings in classic UI

v1.3.0 - Jan 06, 2022#

See the announcement post for details on features.

Breaking Changes

  • CESDK: Theming API endpoints for typographic settings has changed

Non Breaking Changes

  • CESDK: Fix scrollbar pixel scaling
  • CESDK: Add initialImageURL configuration option
  • CESDK: Make Editor unloading clean up more resources
  • CESDK: Add Page related configuration options ( & title.font)
  • CESDK: Add Multi Selection capabilities

v1.2.1 - Nov 30, 2021#

Breaking Changes

  • CESDK: Deprecated load method of CreativeEditorSDK in favour of loadFromString and loadFromURL
  • CESDK: Rename config.initialScene to config.initialSceneString

Non Breaking Changes

  • CESDK: Fix SVG without height and width attribute not being displayed
  • CESDK: Add Layout switch to Canvas Inspector
  • CESDK: Add initialSceneURL configuration option
  • CESDK: Add saner default for constraints in templates

v1.2.0 - Nov 22, 2021#

Non Breaking Changes

  • CESDK: Replace Storybook with hand-rolled styleguide
  • UBQ: Add support for POST requests, HTTP body & headers
  • CESDK: Add UI for renaming design elements
  • CESDK: Replace constraints section with placeholder UI
  • CESDK: New content library
  • CESDK: Inspector Panel content is reduced or hidden entirely for Adopter Role.

v1.1.1 - Oct 29, 2021#

  • CESDK: Fix vanilla js integration example not working

v1.1.0 - Oct 28, 2021#

Breaking Changes

  • CESDK: Fix line-breaking of words in text variables only having 1 character per-line for all but the last word

  • CESDK: Decrease default PNG compression level from 9 to 5.

  • CESDK: Alter export return from Promise<Blob[]> to Promise<{ blobs: Blob[], options: EncodeOptions }>.

  • CESDK: Shadow DOM UI encapsulation to prevent style bleeding Non Breaking Changes

  • CESDK: Display style of first character in selection when text is selected (instead of always style of the character before the cursor)

  • UBQ: Fix line resize handles being rendered wrong occasionally

  • UBQ: Add default Description component to all design blocks

  • CESDK/UBQ: Expose image encoding parameters for JPEG quality & PNG compression level

  • CESDK: Enable Doodle, Hands and Emoji sticker packs by default

  • CESDK: Update CanvasActions misaligned paddings

  • CESDK: Wire config.assets & config.presets.images

  • CESDK: Refactor initialization to untangle dependencies

  • CESDK: Add improved LineRenderer (better angled lines, no disappearing sub-pixel lines)

  • CESDK: Decrease minimal line-width

  • CESDK: Introduce RasterizedDesignBlocksRenderer and refactor CESDKImage to use it

  • CESDK: Add Copy/Paste functionality

  • CESDK: Add Stack design block

  • CESDK: Move from manual to automatic page layouting

  • CESDK: Wire config.presets.typefaces

  • CESDK: Add design token CSS custom property for disabled opacity value

  • CESDK: Remove unused design tokens regarding disabled input state

  • CESDK: Page Dimension Aspect Ratio Lock is now saved in Scene.

  • CESDK/UBQ: Implement frame flipping for all elements

  • UBQ: Add basic SVG support to the image element

v1.0.0 - Aug 18, 2021#

Breaking Changes

  • UBQ: Migrate to flexbox-based layouting
    • designElements are now serialized with base_props_version 6
    • block_position is now a struct with four values: json "block_position": { "version": 1, "left": { "version": 1, "unit": 1, "value": 18.0 }, "top": { "version": 1, "unit": 1, "value": 16.5 }, "right": { "version": 1, "unit": 0, "value": 0.0 }, "bottom": { "version": 1, "unit": 0, "value": 0.0 } }
      • Each value is a LayoutValue, where unit encodes whether it is an undefined, design unit, percent or auto
      • The example is therefore positioned 18 design units from the left & 16.5 design units from the top, right and bottom are undefined and therefore ignored
    • block_dimensions is now block_size: json "block_size": { "version": 1, "width": { "version": 1, "unit": 1, "value": 43.08553695678711 }, "height": { "version": 1, "unit": 1, "value": 64.61538696289063 } }
      • Consists of two LayoutValues encoding this elements size in either absolute design units, percent values relative to its parent or auto for auto sizing
    • The third dimensions, z-index & depth have moved into their own attributes block_z_index & block_depth along with has_block_z_index & has_block_depth. They just consist of float values.
  • CESDK: Made the initialization process more robust when dealing with large scenes. CESDK::load is now an async endpoint returning a Promise<void> that fulfills when the scene was loaded.
  • CESDK: Remove styled-components dependency
  • CESDK: Changed location of .wasm, .data, *.js files as well as the fonts and extension packs
  • CESDK: Added default font configuration (set defaultFont: '//ly.img.cesdk.fonts/roboto_regular' for the previous default. This needs the font extension pack installed)
  • CESDK: If fontPath is not specified it defaults to assetPath + 'fonts/' instead of just 'fonts/'
  • CESDK: Changed package name to @cesdk/cesdk-js
  • CESDK: Scale the text font proportionally when resizing a text element via its corner handles
  • CESDK: Create Text elements with auto height mode enabled
  • CESDK: Change 'Editor' role to 'Adopter'
  • CESDK: Element scopes are now false by default. Adopters therefore won't be able to interact with any element added by a 'Creator' user, unless the creator has manually enabled the corresponding scopes in the inspector.
  • CESDK: CESDK::save is now asynchronous.
  • CESDK/UBQ: CESDKScene is now part of UBQ, but old //ly.img.cesdk/scene IDs are mapped to //ly.img.ubq/scene block.
  • CESDK/UBQ: Changes scene format to //ly.img.ubq/scene, but still allows old format. Saving will create a scene file with the new format.
  • CESDK: Change token styling system and default themes
  • CESDK: Remove all old and unused CSS custom properties
  • CESDK: Add Text element option to hide lines outside of the frame
  • CESDK: Add Text layouting option for long word per-character line-break option
  • UBQ: Serializations are now base64 encoded
  • CESDK: Renamed effects and switched to only showing effects which were registered as an asset
  • CESDK: replace scene format selector
  • CESDK: Remove react as peer depedency for @cesdk/cesdk-js
  • CESDK: Changed public API surface
  • CESDK: draw fallback glyphs in text for codepoints that are not present in the font
  • CESDK: Removed the ly.img.cesdk.stickers.shapes extension pack
  • UBQ: Cleared default paths of CESDKVectorPath & VectorPath blocks
  • CESDK: Move Molle, Codystar & Lobster fonts into ly.img.cesdk.legacy-fonts pack

Non Breaking Changes

  • CESDK/UBQ: Do not show element handles while dragging
  • CESDK: Made the initialization process more robust when dealing with large scenes
  • UBQ: Fix positioning of circular progress bar
  • CESDK: Add LayerList feature simple implementation with sorting and layer hide
  • CESDK: Add auto-sized text elements
  • CESDK: Fix bleed margin popover selected option styling
  • UIKIT: Add ListBox component entirley based on existing Select component with only the list and options encapsulated
  • UBQ: Fix localized punctuation in number inputs
  • UBQ: Fix number input up/down stepping
  • UBQ: Fix movement of text input cursor
  • UBQ: Fix stop propagation of Popover scroll events
  • CESDK: Use regular cursor when move is not permitted on element
  • UIKIT: Use ListBox inside LayerList
  • CESDK: Don't render text variable select if there are no placeholers
  • CESDK: Fix ghost image drag in elements library for emoticons
  • CESDK: Bump to react@17.02 and react-dom@17.0.2
  • CESDK: Move 'Add Page' button to the bottom of the canvas
  • CESDK: Support multiple file upload
  • UBQ: Add settings registry that allows registration per scheme & corresponding commands
  • CESDK: Fix active inspector library selection
  • CESDK: Added transform and text subinspectors
  • CESDK: Update Library style
  • CESDK: Move Effect- and Filter-Sliders into collapsible cards
  • CESDK: Group 'Load', 'Save', 'Export' and 'Download' buttons in navigation
  • CESDK: Add proper large ui mode
  • CESDK: Fix margins on Buttons in ButtonGroup / SegmentedGroup
  • CESDK: Add crop UI controls
  • UBQ: Add crop commands to control crop from UI
  • UBQ/CESDK: Add support for copy & paste of design elements
  • CESDK: Add value labels to image sub inspectors
  • CESDK: Add theme color CSS configurator to settings panel
  • CESDK: fix bug where moving page up/down required two clicks
  • CESDK: Fix Backend useScene hook not initializing properly
  • CESDK: Add Zoom levels dropdown
  • CESDK: Fix ListBox active selection state
  • CESDK: Add template presets
  • UBQ: Introduce various xyzEnabled props on designblocks to control properties without losing their state
  • CESDK: Add UI for xyzEnabled from sub inspector and a separate component
  • CESDK: Add data-ubq-theme and data-ubq-scale HTML attributes
  • CESDK: Add "Allow to select" scope to shape elments
  • CESDK: Fix for unhelpful error message when measureImage fails du to a large file size
  • CESDK: Fix number input not valid input to show last valid one
  • CESDK: init returns promise which resolved if the engine is ready
  • UBQ: Add TextShapeCacheService to substantially increase performance when there's text in a scene
  • CESDK: Add page move up and down to history
  • CESDK: Move color change event emit to parent component
  • CESDK: Build target is now ES2017 (supports async functions and object spreads natively)
  • CESDK: Add new fonts & styles to ly.img.cesdk.fonts
  • CESDK: Add Outline to active Card item
  • CESDK: Add asset settings
  • CESDK: New default values for blur and shape outlines
  • CESDK: Remvoe listbox overlay scrollbar
  • CESDK: Add public typings to release folder
  • CESDK: Disable crop area transform when arrange is disabled from constraints
  • CESDK: Fix empty snapshot from crop sub inspector
  • CESDK: Fix and adjust canvas scroll bars styles
  • CESDK: Fix to allow transform handles on pages