v3.16.0

payloadcms/payloadv3.16.0Jan 10, 2025by denolfe

AI Summary

This release decouples REST API handling from Next.js and introduces new exports for `ListPreferences` and the default JWT strategy, along with support for auto-run jobs in Payload Cloud.

Key Highlights

  • Decoupled REST API handling from Next.js
  • Added exports for `ListPreferences` and default JWT strategy
  • Introduced autoRun jobs functionality
  • Improved localization handling and form stability during locale changes

New Features

  • Consolidates REST API handling, decouple from next.js
  • Exports ListPreferences from payload
  • Export the default JWTAuthentication strategy
  • AutoRun jobs
  • Payload Cloud cron jobs setup on init

Full Release Notes

## [v3.16.0](https://github.com/payloadcms/payload/compare/v3.15.1...v3.16.0) (2025-01-10)


### 🚀 Features

* consolidates REST API handling, decouple from next.js ([#10466](https://github.com/payloadcms/payload/issues/10466)) ([686e48d](https://github.com/payloadcms/payload/commit/686e48d))
* exports ListPreferences from payload ([#10474](https://github.com/payloadcms/payload/issues/10474)) ([ae1542b](https://github.com/payloadcms/payload/commit/ae1542b))
* export the default JWTAuthentication strategy ([#10430](https://github.com/payloadcms/payload/issues/10430)) ([81c1e47](https://github.com/payloadcms/payload/commit/81c1e47))
* autoRun jobs ([#10401](https://github.com/payloadcms/payload/issues/10401)) ([c0dc0cc](https://github.com/payloadcms/payload/commit/c0dc0cc))
* **payload-cloud:** set up cron jobs on init ([#10106](https://github.com/payloadcms/payload/issues/10106)) ([36e50dd](https://github.com/payloadcms/payload/commit/36e50dd))

### 🐛 Bug Fixes

* collection access endpoint optional ID and use 404 for not found response ([#10487](https://github.com/payloadcms/payload/issues/10487)) ([225c24d](https://github.com/payloadcms/payload/commit/225c24d))
* do not autorun jobs during next build process ([#10483](https://github.com/payloadcms/payload/issues/10483)) ([d8f4f06](https://github.com/payloadcms/payload/commit/d8f4f06))
* properly validates preferences json ([#10465](https://github.com/payloadcms/payload/issues/10465)) ([6a262ab](https://github.com/payloadcms/payload/commit/6a262ab))
* schedule publish allowed before saving draft ([#10461](https://github.com/payloadcms/payload/issues/10461)) ([3349a4c](https://github.com/payloadcms/payload/commit/3349a4c))
* **next:** properly instantiates locale context ([#10451](https://github.com/payloadcms/payload/issues/10451)) ([a78bc6c](https://github.com/payloadcms/payload/commit/a78bc6c))
* **payload-cloud:** infinite recursion on init ([#10467](https://github.com/payloadcms/payload/issues/10467)) ([34a0d00](https://github.com/payloadcms/payload/commit/34a0d00))
* **richtext-lexical:** respect defaultValue config of link feature url and linkType fields ([#10498](https://github.com/payloadcms/payload/issues/10498)) ([4fc6956](https://github.com/payloadcms/payload/commit/4fc6956))
* **richtext-lexical:** properly handle error if blocks or inline blocks are not found ([#10497](https://github.com/payloadcms/payload/issues/10497)) ([e0df0d6](https://github.com/payloadcms/payload/commit/e0df0d6))
* **richtext-lexical:** update Thai translations for blockquote and horizontal rule ([#10469](https://github.com/payloadcms/payload/issues/10469)) ([8d5d2d1](https://github.com/payloadcms/payload/commit/8d5d2d1))
* **richtext-lexical:** allow external state mutation of block node from outside the form ([#10486](https://github.com/payloadcms/payload/issues/10486)) ([4c96028](https://github.com/payloadcms/payload/commit/4c96028))
* **richtext-lexical:** inline Block drawers opened when document mounts ([#10480](https://github.com/payloadcms/payload/issues/10480)) ([bdb96dd](https://github.com/payloadcms/payload/commit/bdb96dd))
* **ui:** disables form during locale change ([#8705](https://github.com/payloadcms/payload/issues/8705)) ([f4596fc](https://github.com/payloadcms/payload/commit/f4596fc))
* **ui:** stale doc status when publishing, reverting and unpublishing ([#10405](https://github.com/payloadcms/payload/issues/10405)) ([17e7ee2](https://github.com/payloadcms/payload/commit/17e7ee2))
* **ui:** removes edit drawer button from `uploads` collection edit view ([#10426](https://github.com/payloadcms/payload/issues/10426)) ([9701fc6](https://github.com/payloadcms/payload/commit/9701fc6))

### 📚 Documentation

* update beforeValidate documentation ([#10367](https://github.com/payloadcms/payload/issues/10367)) ([21eec87](https://github.com/payloadcms/payload/commit/21eec87))
* update draft doc for formatting ([#10393](https://github.com/payloadcms/payload/issues/10393)) ([a8d6f3f](https://github.com/payloadcms/payload/commit/a8d6f3f))
* removed unnecessary visible <br/> tag in fields/blocks ([#10456](https://github.com/payloadcms/payload/issues/10456)) ([83bd0e2](https://github.com/payloadcms/payload/commit/83bd0e2))

### 📝 Templates

* adjusted the cron job schedule so its compatible with hobby tiers as well ([#10457](https://github.com/payloadcms/payload/issues/10457)) ([d9ff2e0](https://github.com/payloadcms/payload/commit/d9ff2e0))
* add support for scheduled publish to the website template [no lint] ([#10455](https://github.com/payloadcms/payload/issues/10455)) ([7321f9f](https://github.com/payloadcms/payload/commit/7321f9f))

### 🏡 Chores

* update year in licenses ([#10463](https://github.com/payloadcms/payload/issues/10463)) ([e46ad67](https://github.com/payloadcms/payload/commit/e46ad67))
* import copy icon from nested folder ([#9223](https://github.com/payloadcms/payload/issues/9223)) ([ac97bfd](https://github.com/payloadcms/payload/commit/ac97bfd))
* **templates:** generate new migrations for vercel ([#10458](https://github.com/payloadcms/payload/issues/10458)) ([5318d24](https://github.com/payloadcms/payload/commit/5318d24))

### 🤝 Contributors

- Sasha (@r1tsuu)
- Jacob Fletcher (@jacobsfletch)
- Alessio Gravili (@AlessioGr)
- Sepiolina (@TidalCare)
- Steve Kuznetsov (@stevekuznetsov)
- Adrian Maj (@AdrianMaj)
- Germán Jabloñski (@GermanJablo)
- Dan Ribbens (@DanRibbens)
- Paul (@paulpopus)
- Jarrod Flesch (@JarrodMFlesch)
- Patrik (@PatrikKozak)