v0.10.0
puckeditor/puckv0.10.0Oct 18, 2023by chrisvxd
AI Summary
Introduces powerful plugin APIs that expose Puck's internal state and dispatcher, and enables drag-and-drop reordering of array items.
Key Highlights
- New plugin APIs exposing state and dispatcher
- Draggable array items for reordering
- Undo/redo history with hotkey support
Breaking Changes
- The `data` prop on plugin render methods has been deprecated; use `state.data` instead
New Features
- Drag-and-drop for array items
- State dispatcher exposure to plugins
- State exposure to plugins (removing `data`)
- Undo/redo history recording
- Refreshed UI for array fields
Full Release Notes
This release introduces powerful new **plugin APIs** and **draggable array items**. The new plugin APIs enable plugin developers to fully control the Puck application UI and current data object by exposing Puck's internal state and dispatcher. Documentation available [in the README](https://github.com/measuredco/puck#developing-a-plugin). Draggable array items allows users to reorder items when using the `array` field type. We also introduces a refreshed UI for array items. ## Breaking changes * The `data` prop on plugin render methods has been deprecated. Use `state.data` instead. ## Features * align component list UI with refreshed array fields ([74cd3a7](https://github.com/measuredco/puck/commit/74cd3a7ba9100e5e7e1a5e626511906fbdf75b98)) * enable drag-and-drop of array items ([12800f8](https://github.com/measuredco/puck/commit/12800f816b872d614ed50c9fcf3179f41dbbbfb2)) * expose state dispatcher to plugins ([e94accb](https://github.com/measuredco/puck/commit/e94accb22bae2afbb30728e0d58f8c6a558b3e39)) * expose state to plugins, removing data ([89f9f2e](https://github.com/measuredco/puck/commit/89f9f2e3a526a1459d14bdd7301f2c761f7c340d)) * expose state to renderHeader, removing data ([29ddaaf](https://github.com/measuredco/puck/commit/29ddaaf376b57134be46a489e7686978d0465669)) * record application state in undo/redo history ([0f2d7c5](https://github.com/measuredco/puck/commit/0f2d7c55aebe898925084ff27d5af97e9a7b9090)) * refresh UI for array fields ([5ef8a96](https://github.com/measuredco/puck/commit/5ef8a96b6952d450927a499f1ec0f93610450864)) ## Bug Fixes * ensure layer tree consistently shows selected item ([6a9145c](https://github.com/measuredco/puck/commit/6a9145c23b1461e46f3568e9a107d3c429aa87d2)) * only render strings or numbers in external adaptors ([3c337be](https://github.com/measuredco/puck/commit/3c337be171c5fa6ad464f5a16fcb7f17e9b1a4f9)) * prevent style pollution for select fields ([fa7af7d](https://github.com/measuredco/puck/commit/fa7af7da9d770d5e790944d421dc0a30f0da84b1)) ## New Contributors * @JakeSidSmith made their first contribution in https://github.com/measuredco/puck/pull/140 * @FreddieRidell made their first contribution in https://github.com/measuredco/puck/pull/146 **Full Changelog**: https://github.com/measuredco/puck/compare/v0.9.0...v0.10.0