Skip to content

chore: get canary up to date with main#2500

Closed
Michael Pineiro (michaelpineirocontentful) wants to merge 9 commits into
mainfrom
canary
Closed

chore: get canary up to date with main#2500
Michael Pineiro (michaelpineirocontentful) wants to merge 9 commits into
mainfrom
canary

Conversation

@michaelpineirocontentful
Copy link
Copy Markdown
Contributor

Purpose of PR

Canary was behind with alpha changes that we want to fork for the foreseeable future ( see feat-exo-feat-branch).

# [4.52.0-alpha.1](v4.51.5...v4.52.0-alpha.1) (2026-03-09)

### Features

* [EXT-7181] experience-toolbar-location-constant ([#2477](#2477)) ([6f5dc4a](6f5dc4a))
* [EXT-7182] sdk.exo namespace and shared exo types ([#2478](#2478)) ([5f5dc5a](5f5dc5a))
…odes, selection, Data Assembly) (#2479)

* feat: [EXT-7185] ExperienceEditorToolbarAppSDK surface (experience, nodes, selection, Data Assembly)

Extends the sdk.exo namespace introduced in EXT-7182 with the full
experience-toolbar SDK surface: ExperienceAPI, ExoNodeAPI, ExoSelectionAPI,
and DataAssemblySDK wiring, along with their exported TypeScript types.

Made-with: Cursor

* test: [EXT-7185] add unit tests for createExo experience surface

Covers getUiMode/onUiModeChanged, experience get/onChange/save/publish,
getNode property APIs, selection get/onChange/set/highlight, and full
DataAssemblySDK channel wiring (54 tests).

Made-with: Cursor

* fix: [EXT-7185] address PR review — remove @see annotations and apply generics to ExoNodeAPI

ExoNodeAPI property methods now use type parameters matching the RFC:
getContentProperty<T>/setContentProperty<T> for content,
getDesignProperty<D extends DesignValue>/setDesignProperty<D> for design.

Made-with: Cursor

* fix: [EXT-7185] align ExoNodeAPI and ExoSelectionAPI with RFC semantics

Updates types and runtime to match the RFC spec:
- ExoNodeAPI: fix getter return types (Promise<T> not Promise<Descriptor|null>),
  add id/nodeType props, get/onChange, onContentPropertyChanged,
  onDesignPropertyChanged, getProperties, updateProperty, binding
  read/write methods, and getSlotDescriptor
- ExoSelectionAPI: fix return shape to { nodeId: string | null; nodeType? },
  set() accepts null to clear, highlight() accepts opts
- ExperienceAPI: add getRootNodes()
- ExperienceSnapshot: add sys.template link (RFC/DX-499 contract)
- New types: ExoNodeType, ExoNodeSnapshot, SlotDescriptor

Made-with: Cursor

* style: [EXT-7185] remove comments and JSDoc from exo types and runtime

Made-with: Cursor

* style: [EXT-7185] remove comments from api.types ExperienceToolbarAppSDK additions

Made-with: Cursor

* style: [EXT-7185] restore select comments and JSDoc

Made-with: Cursor
# [4.52.0-alpha.2](v4.52.0-alpha.1...v4.52.0-alpha.2) (2026-03-10)

### Features

* [EXT-7185] ExperienceEditorToolbarAppSDK surface (experience, nodes, selection, Data Assembly) ([#2479](#2479)) ([fdc7b28](fdc7b28))
…ience, nodes, selection, Data Assembly) (#2479)"

This reverts commit fdc7b28.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants