Search Docs
Loading...
Skip to content

Version v1.73.0 Changelog April 20, 2026

Breaking Changes

  • Editor/Android: BREAKING: Introduced Starter Kits - pre-configured editor templates that replace the previous built-in editor composables. The editor now initializes with a blank canvas by default.

    Key changes:

    • The editor initializes a blank canvas with minimal configuration. Use one of our Starter Kits to get started quickly based on your use case.

    Migration: See the Starter Kits Migration Guide for step-by-step instructions.

  • Editor/iOS: OnCreate.default and OnCreate.loadScene no longer load the default and demo asset sources.

  • Editor/iOS: Removed SceneMode dependency from UI logic. Editor behavior is now configured explicitly per solution rather than derived from the scene mode.

  • Editor/iOS: Added OnExport.static() and OnExport.video() replacing the removed OnExport.default.

  • Editor/iOS: Removed AssetLibrarySceneModeReader, OnExport.default, and OnCreate.loadAssetSources.

  • Editor/iOS: Added photoRollTab requirement to the AssetLibrary protocol. Custom conformances must implement this property.

  • Engine/Swift: Removed sceneMode parameter from addDemoAssetSources. The exclude parameter now defaults to excluding video and audio sources; pass exclude: [] to include all.

Non Breaking Changes

  • Engine/Android: Bumped compileSdk and targetSdk versions to 36.
  • Editor/Android: Bumped compileSdk and targetSdk versions to 36.
  • Engine/Editor: Added controlGizmo/dynamicMoveHandleVisibility setting (default: true). Set to false to keep the move handle always visible regardless of block size. Default behavior is unchanged.
  • Engine/Node: Added native Node.js bindings for CE.SDK with 1:1 API compatibility, static linking, and cross-engine shared tests.
  • Editor/Web: Improved keyboard accessibility by returning focus to the trigger button when closing a panel
  • Editor/Web: Add builder.Select() support to navigation bar, inspector bar and canvas bar with searchable and searchPlaceholder options.
  • Engine: Added SVG export support using the image/svg+xml MIME type. Text is exported as vector paths for consistent rendering across environments. Drop shadows, blur, effects, and raster images are rasterized and embedded as images.
  • Engine: Fixed importing some camera-recorded MP4/3GP videos whose audio track uses AMR sample entries.
  • Engine: Fixed animation duration slider not allowing the full clip length due to rounding.
  • Engine: Local asset sources now resolve labels and tags using a fallback chain (requested locale → “en” → first available) instead of returning empty values when the exact locale is not found.
  • Editor/Web: Fixed the “Match Language Direction” control incorrectly showing RTL mode when LTR text is right-aligned.
  • Editor/Android: Fixed the “Match Language Direction” control incorrectly showing RTL mode when LTR text is right-aligned.
  • Editor/iOS: Fixed the “Match Language Direction” control incorrectly showing RTL mode when LTR text is right-aligned.
  • Engine: Fixed multiline text rendering for fonts with non-standard line gap metrics (e.g., Coiny). The font’s line gap is now correctly incorporated into line height calculations, fixing incorrect line spacing and cursor height.
  • Engine: Fixed document colors missing colors and incorrect active states for text with mixed run colors.
  • Editor/Web: Fixed document colors not refreshing when changing partial text colors.
  • Engine: Fixed fade animation jumping when combined with element opacity on groups
  • Editor/Web: Fixed archive import and cesdk.utils.loadFile opening file picker twice on Windows when OPFS is not available
  • Editor/Flutter: Fixed an issue where effects applied to paused videos were not immediately visible when using TextureView.
  • Engine: Fixed an issue where pages in free layout mode would jump to align with neighboring pages after flipping their orientation.
  • Engine: findAllSettings() no longer returns internal or legacy settings such as debug/* and features/*.
  • Engine/Web: Fixed hover frame remaining visible when moving the mouse from a selected block to the canvas menu.
  • Engine/Swift: Fixed certain HEVC videos not playing correctly on iOS.
  • Engine/Swift: Improved export time for videos.
  • Engine: Fixed console errors when mixing RTL and LTR text in a text block with word wrapping enabled.
  • Engine: Fixed opacity not being applied correctly to nested groups.
  • Engine/Node: Fixed null engine reference on dispose, respect forceCPU on Linux, GPU flush on destruction, and JSON validation for scene deserialization.
  • Editor/Web: Fixed a memory leak where switching fill types (solid/gradient) orphaned the previous fill entity
  • Editor/Web: Fixed page titles being styleable (font, color, size) during editing.
  • Engine: Fixed pinch-to-zoom deselecting the selected element, causing canvas jumps from single-touch scroll, and accidentally triggering handle drags during two-finger gestures.
  • Engine: Reduced jittery behavior when starting a pinch-to-zoom gesture by increasing the single-touch pan distance threshold and adding a time delay before single-touch panning activates.
  • Engine: Fixed placeholder settings not being adjustable for blocks loaded from older scenes.
  • Engine: Fixed a bug where clicking on empty areas within a non-rectangular shape’s bounding box caused the selection to flicker.
  • Engine: Fixed system font fallback rendering producing incorrect results in thumbnails.
  • Engine: Fixed applying a template overwriting the scene layout mode, causing inconsistent state when the previous layout differed from the template’s layout.
  • Engine: Fixed text variables being duplicated when entering text edit mode after applying a text color range that intersected a variable placeholder. Variables are now treated as a single grapheme unit in all text formatting APIs (consistent with inline text editing), so formatting ranges are always snapped to variable boundaries rather than splitting inside them.
  • Engine: Fixed an issue where payload.sourceSet was not applied to video fills when using defaultApplyAsset
  • Engine/Android: Fixed audio playing back at ~2x speed for videos with HE-AAC (SBR) or HE-AACv2 (PS) audio tracks.
  • Engine: Fixed audio duration being reported as half the actual value for HE-AAC/HE-AACv2 audio.
  • Editor/Web: Fixed incorrect translations.
  • Editor/iOS: Added new Editor struct providing a unified core editor.
  • Editor/iOS: Added OnChanged callback to be notified when state changes occur in the editor.
  • Editor/Web: Added 10 new floral stickers to the StickerAssetSource plugin, available under the ly.img.sticker.florals category.
  • Editor/Web: Added new PremiumTemplatesAssetSource plugin for premium template assets (ly.img.templates.premium).
  • Engine: Fixed a crash when loading scene files saved with engine versions prior to 1.72.0 that contain text blocks.
  • Engine/Android: Fixed a crash in pan gesture handling during multi-touch interactions.
  • Editor/Android: Fixed a crash where zooming to a selected block could fail if the block was deleted during the zoom debounce window.
  • Editor/Android: Fixed a rare crash in the canvas menu when the selected block was deleted.
  • Editor/Web: Fixed double-click page title renaming not working on direct load. Page title editing is now enabled by default in every editor config.
  • Engine: Fixed audio waveform thumbnail generation for 24-bit WAV files.
  • Editor/Web: Fixed shape controls incorrectly appearing for sticker blocks in the inspector.