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