Releases: WLF-Studios/payload-nested-docs-page-tree
Release list
v1.5.0
What’s changed
- Added optional live and preview links to page-tree status badges with the new badgesLinks configuration.
- Published badges open the live page, while draft badges open the configured Payload preview.
- Changed pages can open live, preview, or provide separate actions for both destinations.
- Improved badge sizing and hover states, and increased the homepage indicator icon weight.
- Refreshed the README with clearer feature documentation and updated media.
No breaking changes.
Full changelog: v1.4.5...v1.5.0
v1.4.5
v1.4.4
What’s changed
- Updated table style to v4 design language.
- changed dragging handle icon by making it bigger with bigger dots
No breaking changes.
Full changelog: v1.4.3...v1.4.4
v1.4.3
What’s changed
- Fixed the mobile placement of the Edit Hierarchy control.
- On small screens, the control now appears alongside the standard Columns and Filters actions.
- Desktop behavior remains unchanged.
- Improved local development and seed instructions in the README.
No breaking changes.
Full changelog: v1.4.2...v1.4.3
v1.4.2
What’s changed
- Fixed collection field discovery when fields are placed inside unnamed tabs, rows, collapsibles, or groups.
- admin.useAsTitle can now reference a title field inside a presentational tab.
- Parent and breadcrumb fields inside these wrappers are now handled correctly.
Full changelog: v1.4.1...v1.4.2
v1.4.1
What’s changed
- Added the opt-in publishOnMove option for immediately publishing clean hierarchy moves.
- Republishes affected descendants so their live URLs follow the moved parent.
- Triggers configured deployment hooks once per published subtree move.
- Prevents unpublished page edits from being accidentally published during a move.
No breaking changes. publishOnMove remains disabled by default.
Full changelog: v1.4.0...v1.4.1
v1.4.0
v1.4.0 - Page tree rewrite
This release skips 1.3.0 because the plugin has gone through a larger rewrite.
The main change is that parent moves and orderable reordering are now separate interactions. This makes page hierarchy changes more intentional while keeping normal ordering safer for editors.
New
- Added custom status badge labels and colors for
published,changed, anddraft - Added automatic light/dark theme adaptation for custom badge colors
- Added diagnostics mode with structured page-tree operation logs
- Added orderable-only reorder handle
- Added separate
Edit Hierarchymode for parent moves - Added
POST /:id/reorderendpoint for orderable sibling reordering - Added same-parent/root-level guard so reorder drags cannot change hierarchy
- Added local README assets for screenshots and demo videos
Improved
- Parent-move behavior is now hidden by default and only enabled intentionally
- Parent moves continue to use Payload’s local API and let
@payloadcms/plugin-nested-docsown parent/breadcrumb behavior - Reordering avoids normal document update side effects where possible
- README now documents the new drag modes, badges, diagnostics, and media examples
Fixed
- Fixed diagnostics integration test database isolation
- Removed package-level pnpm version pin to avoid CI/runtime confusion
Notes
This version is still intended as a companion admin UX layer for @payloadcms/plugin-nested-docs. It does not replace nested docs persistence, breadcrumbs generation, or routing.
v1.2.4
Fixed
- Temporarily disabled page-tree sibling reordering to prevent race conditions and published status drop.
Changed
- Page-tree drag-and-drop now supports parent nesting only.
- The page-tree UI no longer sends
/api/reorderrequests.
Note
- Manual reorder support will return in the upcoming refactored page-tree move implementation.
v1.2.3
Added
- Export
pageTreeMoveContextKeyso consumers can skip their own deploy/rebuild hooks on tree moves. Drag-and-drop moves and reorders now flag the request via req.context.pageTreeMove, so an existing
afterChange hook only needs one line to opt out:
if (req.context?.[pageTreeMoveContextKey]) return - New
x-payload-nested-docs-page-tree-moverequest header signals reorder requests (which go through Payload's shared /api/reorder endpoint) into the same hook context flag.
Changed
- The reorder header bridge now requires an authenticated request (req.user). Unauthenticated callers can no longer set the move-context flag.
Docs
- New "Drag-And-Drop Is Triggering A Deploy?" README section covering when the opt-out is needed (deploy webhooks, GitHub Actions dispatch, SSG rebuilds, publish notifications, heavy reindex jobs) and when
it isn't (default Payload website template on Vercel, or any setup limited to revalidatePath / revalidateTag).
v1.2.2
Fixed
- Children inside a parent now render in the same order the database
returns them. The tree builder used a numeric-aware string comparator
(localeComparewithnumeric: true) which mis-sorted fractional-
indexing_orderkeys — e.g.a53(numerically 53) was placed after
a5i, while lexicographicallya53 < a5i. As a result, dragging a row
between two siblings could appear to "do nothing" or land the row in
the wrong slot even though the underlying_orderwas updated
correctly.
The comparator now uses plain lexicographic comparison.