v3.36.0

payloadcms/payloadv3.36.0Apr 29, 2025by denolfe

AI Summary

This release introduces UI slots for custom component injection and a new draft button option. It also focuses on performance optimizations for virtual fields and joins, along with fixes for Rich Text indentation.

Key Highlights

  • Add 'beforeDocumentControls' slot for custom components
  • Add 'showSaveDraftButton' option
  • Performance optimization for virtual fields referencing ID
  • Rich text indentation and outdent fixes

New Features

  • Add 'beforeDocumentControls' slot
  • Add 'showSaveDraftButton' option
  • Sort by distance when 'near' operator is used
  • Optimize virtual fields that reference ID
  • Skip count query for join field using simple pagination

Full Release Notes

## [v3.36.0](https://github.com/payloadcms/payload/compare/v3.35.1...v3.36.0) (2025-04-29)


### 🚀 Features

* add `beforeDocumentControls` slot to allow custom component injection next to document controls ([#12104](https://github.com/payloadcms/payload/issues/12104)) ([d553069](https://github.com/payloadcms/payload/commit/d553069))
* add `showSaveDraftButton` option to show draft button with autosave enabled ([#12150](https://github.com/payloadcms/payload/issues/12150)) ([34ea6ec](https://github.com/payloadcms/payload/commit/34ea6ec))

### 🐛 Bug Fixes

* user validation error inside the forgotPassword operation in the cases where user had localised fields ([#12034](https://github.com/payloadcms/payload/issues/12034)) ([c85fb80](https://github.com/payloadcms/payload/commit/c85fb80))
* **db-mongodb:** fallback `version` when not selected ([#12158](https://github.com/payloadcms/payload/issues/12158)) ([6dc61ae](https://github.com/payloadcms/payload/commit/6dc61ae))
* **db-postgres:** sort by distance when the `near` operator is used ([#12185](https://github.com/payloadcms/payload/issues/12185)) ([9955818](https://github.com/payloadcms/payload/commit/9955818))
* **examples:** incorrect documentation links for Live Preview example ([#12233](https://github.com/payloadcms/payload/issues/12233)) ([ab03f4f](https://github.com/payloadcms/payload/commit/ab03f4f))
* **next:** pg-cloudflare build issue ([#12242](https://github.com/payloadcms/payload/issues/12242)) ([2157450](https://github.com/payloadcms/payload/commit/2157450))
* **plugin-search:** delete does not also delete the search doc ([#12148](https://github.com/payloadcms/payload/issues/12148)) ([df7a369](https://github.com/payloadcms/payload/commit/df7a369))
* **richtext-lexical:** prevent extra paragraph when inserting blocks or uploadNodes. Add preemptive selection normalization ([#12077](https://github.com/payloadcms/payload/issues/12077)) ([5492542](https://github.com/payloadcms/payload/commit/5492542))
* **richtext-lexical:** allow to indent and outdent if at least one selected node allows it ([#12182](https://github.com/payloadcms/payload/issues/12182)) ([9b1dd2a](https://github.com/payloadcms/payload/commit/9b1dd2a))
* **richtext-lexical:** reset indent on node transforms ([#12183](https://github.com/payloadcms/payload/issues/12183)) ([2c20051](https://github.com/payloadcms/payload/commit/2c20051))
* **ui:** copyToLocale should not pass any id's to avoid duplicates ([#11887](https://github.com/payloadcms/payload/issues/11887)) ([34ead72](https://github.com/payloadcms/payload/commit/34ead72))
* **ui:** relationship using list drawer correctly updates when hasMany is true ([#12176](https://github.com/payloadcms/payload/issues/12176)) ([5bd852c](https://github.com/payloadcms/payload/commit/5bd852c))
* **ui:** reflect default sort in join tables ([#12084](https://github.com/payloadcms/payload/issues/12084)) ([b750ba4](https://github.com/payloadcms/payload/commit/b750ba4))

### ⚡ Performance

* optimize virtual fields that reference ID ([#12159](https://github.com/payloadcms/payload/issues/12159)) ([fdff587](https://github.com/payloadcms/payload/commit/fdff587))
* **graphql:** skip count query for join field using simple pagination ([#12223](https://github.com/payloadcms/payload/issues/12223)) ([6b83086](https://github.com/payloadcms/payload/commit/6b83086))
* **plugin-nested-docs:** remove extra find call ([#12224](https://github.com/payloadcms/payload/issues/12224)) ([2f21d46](https://github.com/payloadcms/payload/commit/2f21d46))
* **plugin-search:** reduce query depth in hooks ([#12225](https://github.com/payloadcms/payload/issues/12225)) ([caae598](https://github.com/payloadcms/payload/commit/caae598))
* **ui:** only select necessary data for relationship options ([#12251](https://github.com/payloadcms/payload/issues/12251)) ([9948040](https://github.com/payloadcms/payload/commit/9948040))

### 🛠 Refactors

* **translations:** improvements for german translations ([#11807](https://github.com/payloadcms/payload/issues/11807)) ([92380bf](https://github.com/payloadcms/payload/commit/92380bf))

### 📚 Documentation

* adds warning about handling different environments with migrations ([#12249](https://github.com/payloadcms/payload/issues/12249)) ([b7ae4ee](https://github.com/payloadcms/payload/commit/b7ae4ee))
* fix query preset config link ([#12156](https://github.com/payloadcms/payload/issues/12156)) ([034a267](https://github.com/payloadcms/payload/commit/034a267))
* virtual fields linking with relationship fields ([#12145](https://github.com/payloadcms/payload/issues/12145)) ([d91478c](https://github.com/payloadcms/payload/commit/d91478c))

### 🤝 Contributors

- Germán Jabloñski (@GermanJablo)
- Tobias Odendahl (@tak-amboss)
- Jessica Rynkar (@jessrynkar)
- Bjørn Nyborg (@Bjornnyborg)
- Dan Ribbens (@DanRibbens)
- Sam Wheeler (@swheeler7)
- Adrian Maj (@AdrianMaj)
- Tylan Davis (@tylandavis)
- Elliot DeNolf (@denolfe)
- Said Akhrarov (@akhrarovsaid)
- Silas Krause (@krsilas)
- Sasha (@r1tsuu)
- Corey Larson (@coreyleelarson)
- Patrik (@PatrikKozak)