v0.23.0

NVIDIA/NeMo-Speech.cppv0.23.0Aug 7, 2026by FedericoBonel

AI Summary

Puck 0.23.0 introduces significant improvements to the editor interface, focusing on smoother drag-and-drop functionality and a new draggable outline for component reordering. It also adds a Dictionary API to enable runtime translation of the entire UI.

Key Highlights

  • New canvas drag-and-drop with fluid movement and insertion line indicators
  • New draggable outline for reordering, duplicating, and deleting components
  • Dictionary API for translating UI strings and switching languages at runtime
  • Reduced layout shift during drag-and-drop operations

New Features

  • Canvas drag-and-drop behavior
  • Draggable outline
  • Dictionary API
  • Reduced layout shift

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))