v0.23.0
VectifyAI/PageIndexv0.23.0Aug 7, 2026by FedericoBonel
AI Summary
Puck 0.23 introduces significant improvements to the drag-and-drop experience with visual drop destinations and a new draggable outline for reordering components. Additionally, it adds a Dictionary API that allows users to translate the entire editor UI strings at runtime.
Key Highlights
- New canvas drag-and-drop with fluid movement or insertion line to visualize drop destinations.
- New draggable outline for reordering, duplicating, and deleting components directly.
- Dictionary API for translating or rewording every string in the editor UI.
- Static drag-and-drop feature to reduce layout shift during reordering.
New Features
- Dictionary API for UI translation.
- New draggable outline for component management.
- New canvas drag-and-drop with visual feedback.
- Static drag-and-drop to minimize layout shifts.
Full Release Notes
Puck 0.23 improves drag-and-drop to reduce layout shift, adds a draggable outline for reordering components, and introduces a Dictionary API for translating the editor UI. [Puck-023.webm](https://github.com/user-attachments/assets/a35a580f-62a2-4a47-9a49-c73b72e20964) This is a summary of the main new features and full changelog. **Read the [full release post](https://puckeditor.com/blog/puck-023) on our blog.** ## Summary - [**New canvas drag-and-drop**](https://puckeditor.com/docs/api-reference/components/puck#behavior): visualize the drop destination using fluid movement or an insertion line. - [**New outline**](https://puckeditor.com/blog/puck-023#new-outline): reorder, duplicate, and delete components directly from the outline. - [**Dictionary API**](https://puckeditor.com/docs/api-reference/dictionary): translate or reword every string in the editor UI and switch languages at runtime. ## Full changelog ### Features * add dictionary ([65790c8](https://github.com/puckeditor/puck/commit/65790c826cfdb51364da14ae9a7d96d43548edae])) * add draggable outline and streamline UI ([db035ce](https://github.com/puckeditor/puck/commit/db035ce57a94425da9d0e82d3f1c06ecabd4c350)) * allow the user to specify drag-and-drop behavior ([d204aa9](https://github.com/puckeditor/puck/commit/d204aa9f2049ec3d98393dba9f9bf6cf1c21c66c)) * introduce static drag-and-drop for reduced layout shift ([835ab3e](https://github.com/puckeditor/puck/commit/2facb6b589fbf3675a9433144f1d24d532cf0e61)) ### Bug Fixes * default page data in next recipes ([66de27c](https://github.com/puckeditor/puck/commit/66de27c13120f823b2cd05139a8d596ea4d8b6d7)) * don't call generate-id at module import time ([1ab086c](https://github.com/puckeditor/puck/commit/1ab086c1c0247daece6ddb757e2665fa7f29b435)) * don't drop last fields when updating config ([4bf6887](https://github.com/puckeditor/puck/commit/4bf6887d6ef08964c520a172a8db20da5329d1d5)) * don't drop transformed fields on updates ([9bf3e00](https://github.com/puckeditor/puck/commit/9bf3e00c13120f823b2cd05139a8d596ea4d8b6d7)) * don't mutate nested values in setDeep ([cd238ee](https://github.com/puckeditor/puck/commit/cd238eeae9e4edd3d66faab83a90c182ebff6834)) * don't prevent root prop title type changes ([666fb74](https://github.com/puckeditor/puck/commit/666fb747298ec90618e321944b19e7981f3a35c3)) * don't remount root slots when props change ([1960be2](https://github.com/puckeditor/puck/commit/1960be2ae934d2dde459e778ffd79341104e4341)) * don't reset caret position in custom and overriden fields ([c37bed9](https://github.com/puckeditor/puck/commit/c37bed930a66a2f0a0b2e2c3b1489594e37af804)) * type data as user data before sending it to action in react router ai recipe ([026f030](https://github.com/puckeditor/puck/commit/026f0300cca5ea8effc23cdcd6192bc3e1bf0cc1)) * use the latest component position in inline fields ([e83767b](https://github.com/puckeditor/puck/commit/e83767b13120f823b2cd05139a8d596ea4d8b6d7))