Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bugs noticed during prep:
Puck v0.17.0 - React 19 support and field improvements
Puck v0.17.0 introduces adds support for React 19, improves various field APIs and squashes some bugs.
This is our final feature release of the year! We're delaying the new drag-and-drop engine release until January while we iron out the last few kinks. Happy holidays, and thanks for being a wonderful community 🎄
TLDR
resolveFields
API, enabling you to customize the fields based on the container's type or props.Highlights
React 19 support
We've made React 19 support official by adding it to the supported list of peer dependencies. It turns out that earlier versions of Puck already play well with React 19, you don't need to upgrade Puck to use React 19 if you don't want to.
Next 15
The official next recipe now uses Next 15.1 and React 19 by default. If you're using the recipe and want to upgrade, make sure you also upgrade to React 19 as required by Next 15 when using the App Router. See the official Next.js upgrade guide for more info.
New external field APIs
The
mapRow
API now supports react elements, making it possible to add richer content to your external field table:And the new
renderFooter
API enables you to customise the footer of your external field modal.Duplicate array items
A new action in the array field allows you to easily duplicate array items.
Access parent data in resolveFields
The new
parent
param on theresolveFields
API enables you to configure your fields based on the props of the parent item when using DropZones.Here's an example that shows a field called
flex
when the parent component has adisplay
prop of"flex"
:Full changelog
Features
Bug Fixes
Contributors