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)