Releases: payloadcms/payload
Releases · payloadcms/payload
v3.23.0
v3.23.0 (2025-02-11)
🚀 Features
- adds new jobs.shouldAutoRun property (#11092) (5dadcce)
- add timezone support on date fields (#10896) (430ebd4)
- richtext-lexical: expose client config to client features (#11054) (d7a7fbf)
- ui: add timezone support to scheduled publish (#11090) (c18c58e)
🐛 Bug Fixes
- set initialValues alongside values during onSuccess (#10825) (fde526e)
- unhelpful "cannot overwrite model once compiled" errors swallowing actual error (#11057) (6a99677)
- error when passing functions to array or block fields labels property (#11056) (6d48cf9)
- db-mongodb: ensures same level operators are respected (#11087) (d2fe9b0)
- db-postgres: incorrect pagination results when querying hasMany relationships multiple times (#11096) (98fec35)
- next: allows relative live preview urls (#11083) (91a0f90)
- payload-cloud: handle socket closures (#11113) (da77f99)
- richtext-lexical: improve keyboard navigation on DecoratorNodes (#11022) (fa18923)
- richtext-lexical: toggling between internal and custom links does not update fields (#11074) (9fb7160)
- richtext-lexical: fixed the positioning of the button to add columns or rows in tables (#11050) (886bd94)
- storage-s3: sockets not closing (#11015) (95ec575)
- ui: relationship filter renders stale values when changing fields (#11080) (da6511e)
- ui: incorrectly incrementing version counts if maxPerDoc is set to 0 (#11097) (3616818)
📚 Documentation
- update custom endpoints docs,
handler
does not accept array of functions anymore (#11110) (1f3ccb8) - adds options table to payload-wide upload options (#10904) (d6a03ee)
- fixing 3 dead internal links (#11100) (3f80c59)
- adds
usePayloadAPI
hook to React Hooks documentation (#11079) (d56de79) - fix typo in
BlockquoteFeature
name (#11078) (87ba7f7) - typo in jobs queue workflows (#11063) (dc56acb)
- plugin-multi-tenant: update tenantsArrayField config options (#11045) (ac6f4e2)
📝 Templates
🏡 Chores
- updates CODEOWNERS (#11088) (3415ba8)
- ensure jest respects PAYLOAD_DATABASE env variable (#11065) (c6c65ac)
- richtext-lexical: add test converage for internal links (#11075) (b15a7e3)
- richtext-lexical: fix unchecked indexed access (part 4) (#11048) (5a53854)
🤝 Contributors
- Elliot DeNolf (@denolfe)
- Paul (@paulpopus)
- Jacob Fletcher (@jacobsfletch)
- Sasha (@r1tsuu)
- Said Akhrarov (@akhrarovsaid)
- Jonathan Bredo (@Bredo)
- Jarrod Flesch (@JarrodMFlesch)
- James Mikrut (@jmikrut)
- Markus (@Ma-Kas)
- Germán Jabloñski (@GermanJablo)
- Alessio Gravili (@AlessioGr)
- Patrik (@PatrikKozak)
- Nathan Clevenger (@nathanclevenger)
- Boyan Bratvanov (@bratvanov)
v3.22.0
v3.22.0 (2025-02-07)
🚀 Features
- ui: adds filtering config option and implementation for filtering a… (#11007) (a63a3d0)
- ui: improve hasMany TextField UX (#10976) (d8cfdc7)
🐛 Bug Fixes
- db-postgres: ensure globals have
createdAt
,updatedAt
andglobalType
fields (#10938) (57143b3) - db-postgres: select
hasMany: true
with autosave doesn't work properly (#11012) (3ad56cd) - next: viewing modified-only diff view containing localized arrays throws error (#11006) (09721d4)
- plugin-multi-tenant: correctly set doc default value on load (#11018) (f25acb8)
- richtext-lexical: duplicative error paths in validation (#11025) (2b76a04)
- richtext-lexical: ensure sub-fields have access to full document data in form state (#9869) (ae32c55)
- ui: removing final condition closes where builder (#11032) (b820a75)
- ui: clearing value from relationship filter leaves stale query (#11023) (7a73265)
- ui: relationship filter clearing on blur (#11021) (8940726)
- ui: improve useIgnoredEffect hook (#10961) (8ed4104)
- ui: allow schedule publish to be accessed without changes (#10999) (bdbb999)
- ui: apply cacheTags upload config property to other admin panel image components (#10801) (e29ac52)
🛠 Refactors
🧪 Tests
🏡 Chores
pnpm dev
defaults to the _community test suite (#11044) (49d94d5)- find and use an available port in tests (#11043) (feea444)
- fix eslint wasn't running in test dir (#11036) (257cad7)
- fix flaky lexical test (#11035) (04dad9d)
- deflake joins e2e tests (#11034) (098fe10)
- fix lexical tests that are failing on main branch (#11024) (6631869)
- cpa: add ts strict mode (#10914) (824f9a7)
- plugin-multi-tenant: add better defaults for imported components (#11030) (ec593b4)
- richtext-lexical: fix unchecked indexed access (part 3) (#11014) (5f58daf)
- richtext-lexical: fix unchecked indexed acess in lexical blocks feature (#11013) (e413e1d)
🤝 Contributors
- Dan Ribbens (@DanRibbens)
- Jacob Fletcher (@jacobsfletch)
- Germán Jabloñski (@GermanJablo)
- Alessio Gravili (@AlessioGr)
- Jessica Chowdhury (@JessChowdhury)
- Jarrod Flesch (@JarrodMFlesch)
- Sasha (@r1tsuu)
- Simon Vreman (@SimonVreman)
- Tobias Odendahl (@tak-amboss)
v3.21.0
v3.21.0 (2025-02-05)
🚀 Features
- exposes helpful args to ts schema gen (#10984) (2118c6c)
- adds auto resize feature to textarea (#10786) (7d429f8)
- plugin-multi-tenant: allow opting out of tenant access control merge (#10888) (be790a9)
🐛 Bug Fixes
- allow public errors to thread through on response (#10419) (ea9abfd)
- db-postgres: select hasMany inside arrays and blocks with versions (#10829) (68a7de2)
- db-postgres: write operations on polymorphic joined collections throw error (#10854) (e1dcb95)
- plugin-multi-tenant: incorrect tenant selection with postgres (#10992) (2a1ddf1)
- plugin-multi-tenant: fixed hardcoded user tenants field (#10782) (9638dbe)
- plugin-search: deleting docs even when there's a published version (#10993) (42da87b)
- plugin-search: generates full docURL with basePath from next config (#10910) (0f85a6e)
- plugin-search: gets api route from useConfig (#10632) (6353cf8)
- richtext-lexical: removes css from jsx converter (#10997) (45913e4)
- richtext-lexical: link drawer has no fields if parent document
create
access control isfalse
(#10954) (136c90c) - ui: client should add back default values for valid and passesCondition form field properties (#10709) (35e5be8)
- ui: revert unrelated code (#10897) (3985893)
- ui: error in version view if document contains localized arrays or blocks (#10893) (85c0842)
- ui: create-first-user crashes when users collection has join field (#10871) (2f66bdc)
📚 Documentation
- fixes dynamic, fully qualified live preview url args (#10985) (a07fd9e)
- correct broken NPM badge images on plugin documentation (#10959) (1a68fa1)
- correct grammar and improve clarity on preventing-abuse.mdx (#10937) (8ace0ca)
- fix typo on overview.mdx (#10877) (8f27f85)
- admin preview and draft preview (#10875) (d7c3b4e)
🧪 Tests
📝 Templates
- set pnpm engines to version 9 (#10979) (b671fd5)
- use typed functions in website template seed endpoint (#10420) (0a1cc6a)
- add
@ts-ignore
in seed to allow initial build on vercel (#10889) (2043b4a) - remove unknown CSS values (#10891) (ebb5173)
📓 Examples
- multi-tenant seed script, readme and other improvements (#10702) (ae0736b)
- added missing sharp dependency to the remix website package (#10931) (58666fb)
⚙️ CI
- increase closed issue lock for inactivity to 7 days (8af8bef)
🏡 Chores
- deps: bump packages used to build payload (#10950) (109de8c)
- deps: bumps @faceless-ui/window-info to v3.0.1 and @faceless-ui/scroll-info to 2.0.0 (#10913) (2f787a9)
- deps: deprecates body-scroll-lock (c7ad46c)
- examples: misc improvements to the draft preview example (#10876) (2b9ee62)
- plugin-search: improves types (#10955) (1771271)
- plugin-search: deprecates apiBasePath from config (#10953) (4a4e90a)
- templates: improves and simplifies draft preview (#10895) (8a79e59)
🤝 Contributors
- Elliot DeNolf (@denolfe)
- James Mikrut (@jmikrut)
- Paul (@paulpopus)
- Jarrod Flesch (@JarrodMFlesch)
- Jacob Fletcher (@jacobsfletch)
- Boyan Bratvanov (@bratvanov)
- Tylan Davis (@tylandavis)
- Said Akhrarov (@akhrarovsaid)
- Jessica Chowdhury (@JessChowdhury)
- Steve Kuznetsov (@stevekuznetsov)
- Alessio Gravili (@AlessioGr)
- Suphon T. (@suphon-t)
- Alexander Cato (@alexander-cato)
- Marwin Hormiz (@marwinhormiz)
- Sasha (@r1tsuu)
- Franco D'Agostino (@francodgstn)
- David Murdoch (@dsm23)
- Pavel B. (@inlinecoder)
- Amelia (@LimChorngUan)
- Robert Clancy (Robbo) (@robclancy)
v3.20.0
v3.20.0 (2025-01-29)
🚀 Features
- allow publish and publish specific locale buttons to be swapped (#9438) (9b49741)
- allows fields to be collapsed in the version view diff (#8054) (828b3b7)
- ui: allows customizing version diff components, render versions ui on the server (#10815) (c562fbf)
- ui: toggle showing only modified fields in version diff view (#10807) (33ac13d)
🐛 Bug Fixes
- checks for localization to prevent publish button breaking (#10844) (9c31a52)
- field paths within hooks (#10638) (0acaf8a)
- next: remove toString coercion inside getDocumentPermissions (#10828) (9f9919d)
- plugin-form-builder: type of MessageField to object (#10792) (92e6beb)
- plugin-form-builder: type of MessageField to SerializedEditorState (#10789) (5603c1c)
- plugin-multi-tenant: issue #10740 - "The following field is invalid: Assigned Tenant" (#10764) (c1c64a0)
- plugin-multi-tenant: remove tenant cookie on logout (#10761) (22633a6)
- plugin-nested-docs: update draft and published child docs on resave (#10454) (7a39870)
- richtext-lexical: preserve selection in Firefox when using LexicalMenu (#10867) (0e5ff24)
- richtext-lexical: afterRead hooks were not awaited (#10747) (9f2bca1)
- translations: adds et to import file (#10823) (ffe8020)
- ui: adds title attribute to Logout button for tooltip (#10851) (989140b)
- ui: correctly reset blocksDrawer search state after close (#10847) (8a6d995)
- ui: adds prev value on form state validat functions (#10832) (a835518)
- ui: hide the restore button's empty submenu in a draft version (#10756) (0d81ff2)
- ui: include check for parent permissions in renderField (#10729) (8289588)
⚡ Performance
- skips field validations until the form is submitted (#10580) (82f1bb9)
- only validate filter options on submit (#10738) (a05240a)
📚 Documentation
- add missing full stop, fix SlateNodeConverter import (#10860) (a47139a)
- fix links and formatting (#10835) (8952662)
- fix typo (#10824) (95e81d8)
- improvements in rich text section (#9954) (6a39279)
- adds limit, page, sort, where, and joins to list of rest query params (#10751) (ec1a441)
📝 Templates
- fix compatibility with pnpm 10 (#10830) (3094c92)
- fix website template not building (#10858) (219a369)
- adds landing page to blank template (#10769) (e65a04a)
- ensure lexical link validation does not break for internal links (#10771) (59545b5)
⚙️ CI
- remove docker login, not functional for external contributors (eca4f47)
- update CODEOWNERS (d6ae07d)
- fix run e2e command (#10779) (344b231)
🏡 Chores
- improves routeError log safety (#10793) (ace7557)
- uncomment collectionSlugs array in fields test suite, for resetDB to work properly (#10778) (72a5c02)
- migrate outdated @payloadcms/next/utilities imports (#10777) (b9d3250)
- disable bun run test buttons if bun extension is installed (#10775) (03f7bdf)
- cpa: re-pin template versions (#10857) (c08f012)
- deps: upgrades react-diff-viewer-continued to v4.0.4 to suppress react 19 warnings and use ESM imports (#10834) (57f7218)
- templates: update missing changes in vercel website template (#10827) (c75c6ce)
- templates: fix eslint errors in vercel templates (#10768) (52f86c7)
- templates: fix: the contact page of the website template throws an error in live preview (#10785) (d6658b5)
- templates: fix eslint errors in plugin template (#10770) (b76401c)
🤝 Contributors
- Germán Jabloñski (@GermanJablo)
- Sasha (@r1tsuu)
- Elliot DeNolf (@denolfe)
- Seno (@s-en-o)
- Alessio Gravili (@AlessioGr)
- Tsemach Hadad (@tsemachh)
- Dan Ribbens (@DanRibbens)
- Patrik (@PatrikKozak)
- Said Akhrarov (@akhrarovsaid)
- Jacob Fletcher (@jacobsfletch)
- Jessica Chowdhury (@JessChowdhury)
- Jarrod Flesch (@JarrodMFlesch)
- Tib (@T1l3)
- felismargarita (@felismargarita)
- Wallerand Delevacq (@wallforfry)
- James Mikrut (@jmikrut)
- Francisco Lourenço (@franciscolourenco)
v3.19.0
v3.19.0 (2025-01-23)
🚀 Features
- richtext-lexical: make decoratorNodes and blocks selectable. Centralize selection and deletion logic (#10735) (4aaef5e)
- ui: adds edit many option for bulk uploads (#10646) (be2c482)
🐛 Bug Fixes
- next.js rewrites were not respected for rest api (#10759) (c0ae994)
- browser validation error when visiting account page (#10717) (c1b912d)
- custom blocks field label component missing from config (#10692) (a5695ba)
- apply CORS response headers without
headersWithCors
(#10597) (be98eda) - rest api with
?locale=*
doesn't return full localized data (#10619) (7f8f2f0) - join field with the target relationship inside localized array (#10621) (25a70ab)
- properly handle nullable
minDistance
andmaxDistance
innear
query (#10622) (46c1b37) - db-mongodb: v2-v3 migration versions docs of collections and globals without relationship fields (#10755) (2d8ff72)
- db-mongodb: querying polymorphic relationships with the
all
operator (#10704) (d601300) - db-mongodb: beginTransaction invalid type without replicaset (#10690) (90f88f8)
- next: admin panel UI not rendering custom upload components (#9925) (e4fa171)
- plugin-multi-tenant: selected tenant could become incorrect when navigating out of doc (#10723) (e6d0260)
- plugin-multi-tenant: corrects user type in userHasAccessToAllTenants fn (#10707) (2a98c84)
- plugin-multi-tenant: prevent throwing when no user exists (#10699) (a9c0832)
- plugin-nested-docs: cannot update more than 10 child docs (#10737) (3501d47)
- richtext-lexical: improved regex matchers for absolute and relative URLs to make autolinking more reliable (#10725) (9bb27af)
- richtext-lexical: incorrect table action menu placement (#10627) (9684d31)
- ui: filters out upload specific fields for bulk editing (#10726) (f181f97)
- ui: admin description not being respected on tabs and padding issues with tab descriptions (#10710) (67f7c95)
- ui: issue with thumbnail component crashing the UI if the image didnt exist (#10689) (ddeb29f)
📚 Documentation
- moves collection and globals admin docs to their respective config overviews (#10743) (e5b3da9)
- moves customizing fields doc to fields overview (#10742) (0ca3736)
- adds examples of typed custom field components (#10741) (8b3e2ff)
- adds info on useSelection and useStepNav hooks (#10683) (d8682f2)
- multi-tenant plugin - remove @beta and fix npm url (#10697) (6d43910)
📝 Templates
- update website readmes for additional information on jobs and revalidation (#10758) (61a2a9c)
- fix potential error in the initial form state caused by type mismatch (#10713) (5e4a1d4)
⚙️ CI
🏡 Chores
- temporarily revert 10597 (#10718) (0c5321e)
- adds plugin-multi-tenant scope for pr title (#10706) (3e0baf5)
- examples: change to useClickableCard to use AbortController (#10680) (b55342d)
- plugin-multi-tenant: test suite enhancements (#10732) (9a87699)
- templates: fix eslint errors in website template (#10752) (5689c65)
🤝 Contributors
- Sasha (@r1tsuu)
- Germán Jabloñski (@GermanJablo)
- Paul (@paulpopus)
- Jacob Fletcher (@jacobsfletch)
- Dan Ribbens (@DanRibbens)
- Patrik (@PatrikKozak)
- Alessio Gravili (@AlessioGr)
- Jarrod Flesch (@JarrodMFlesch)
- Elliot DeNolf (@denolfe)
- Said Akhrarov (@akhrarovsaid)
- Boyan Bratvanov (@bratvanov)
- David Murdoch (@dsm23)
- Riley Langbein (@rilrom)
v3.18.0
v3.18.0 (2025-01-20)
🚀 Features
- adds support for both client-side and server-side remote URL uploads fetching (#10004) (38a06e7)
- support JPEG XL image size calculation (#10624) (6ebcbe4)
- adds multi-tenant plugin (#10447) (813e70b)
- examples: add example with Remix + Payload Local API (#10171) (5a9cf89)
- richtext-lexical: add jsx and html converters for tab nodes (#10565) (2e09da8)
- ui: exposes context of the view being rendered on the server (#10620) (e80d679)
🐛 Bug Fixes
- updates field validation error messages to use labels if applicable (#10601) (ad553e9)
- delete scheduled publish jobs when deleting documents (#10584) (05b9d94)
- UpsertArgs is not exported in payload (#9347) (7a392dd)
- form state read access control args (#10576) (05b03b2)
- missing find collection versions REST endpoint (#10573) (120735c)
- basePath was not passed through if method was overriden (#10562) (90e1843)
- db-mongodb: incorrect errors logging due to invalid logic in
handleError
(#10575) (9043b10) - payload-cloud: add ts strict mode and fix a couple of wrong runtime behaviors (#10570) (16ad7a6)
- plugin-seo: loosen some types to restore compatibility between minor versions (#10670) (9c29541)
- plugin-stripe: hooks did not use api key from plugin config (#10671) (d2f63dc)
- richtext-lexical: setting hideInsertParagraphAtEnd to true did not hide insert paragraph button (#10581) (8ab05b0)
- richtext-lexical: inline blocks did not store nested fields correctly (#10578) (61117ee)
- richtext-lexical: ensure jsx and html converters do not output linebreak if editor is empty (#10563) (df4af70)
- richtext-slate: link and upload extra field drawers did not render fields if collection has unrelated access control set (#10583) (ecf0572)
- ui: renders custom block row labels (#10686) (6c19579)
- ui: fixed many bugs in the WhereBuilder relationship select menu (#10553) (56667cd)
- ui: replace hard coded path to API with
serverURL
androutes.api
(#10618) (5a95237) - ui: placement issue with sonner toasts (#10641) (f1cc8bd)
- ui: show outline on focus for sort column buttons (#9557) (818467d)
⚡ Performance
- list view table should not send duplicative client CollectionConfig to client (#10664) (823e223)
- ensure deepCopy in beforeValidate hook does not run unnecessarily for rest and graphQL API (#10666) (b69fe99)
- optimize getEntityConfig lookups (#10665) (c07c9e9)
- remove deepCopying in sanitizeJoinQuery, optimize flattenWhereToOperators (#10663) (91ed882)
- operations performance optimizations (#10609) (42382b6)
- reduce document data deepCopying in field hooks (#10610) (116fd99)
- do not send minRows and maxRows undefined values to client (#10600) (0a1cf7b)
- ensure unnecessary config translations are not sent to the client (#10524) (3fb6ac3)
- significantly reduce form state response size by up to 3x (#9388) (31ae27b)
- richtext-lexical: ensure internal link nodes do not store url field, and vice versa (#10564) (5d6c29f)
- ui: remove unnecessary deepCopy in reduceToSerializableFields (#10667) (a98a398)
- ui: speed up list view rendering, ensure root layout does not re-render when navigating to list view (#10607) (fafe37e)
📚 Documentation
- react hooks - update useForm import path (#10658) (ef44bdd)
- removes live preview image placeholder comment (#10643) (64fc2df)
- update wording for sentence (#10599) (22f3c79)
- add section on localized access control (#10567) (8217842)
🧪 Tests
📝 Templates
- form fields will now respect 'required' flag from config on website template (#10681) (2d70269)
- add cache tag to images so that they can be revalidated along with the page on website templates (#10647) (7d10e1b)
- bump for v3.17.1 (#10560) (592f02b)
📓 Examples
🔨 Build
⚙️ CI
v3.17.1
v3.17.1 (2025-01-14)
Important
This release upgrades the lexical dependency from 0.20.0
to 0.21.0
. If you installed lexical manually, update it to 0.21.0
. Installing lexical manually is not recommended, as it may break between updates, and our re-exported versions should be used. See the yellow banner box for details.
If you still encounter richtext-lexical errors, delete node_modules
and your lockfile (e.g. pnpm-lock.json
), then reinstall (e.g. pnpm install
). Some package managers do not update the lexical peerdep automatically, likely due to a bug on their end.
🐛 Bug Fixes
🤝 Contributors
- Alessio Gravili (@AlessioGr)
v3.17.0
v3.17.0 (2025-01-13)
Important
Please upgrade to 3.17.1. In 3.17.0, you may encounter richtext-lexical dependency checker errors during development.
🚀 Features
- delete scheduled published events (#10504) (f95d6ba)
- add ability to disable cache tags for admin thumbnails (#10319) (6b051bd)
- consolidates logic in update and updateByID operations (#9998) (690e99f)
- richtext-lexical: add new paragraph button below the editor (#10530) (6757f7d)
- richtext-lexical: respect imageURL for blocks and inline blocks (#10532) (ab564d3)
- richtext-lexical: upgrade lexical from 0.20.0 to 0.21.0. Fixes table selection & scrollable table bugs (#10501) (04733f0)
🐛 Bug Fixes
- respect res header immutability (#10554) (5cfb1da)
- better messaging when no arg passed to payload cli (#10550) (9278eec)
- aligns first render for hydration of dates in list view (#10541) (cc13ae7)
- rest api with Next.js
basePath
option (#10535) (04a8083) - localized tabs with empty data and an array field inside lead to crash in
afterChange
(#10410) (1af7d87) - cpa: proper debug logging (#10549) (9004205)
- next: ensures req.locale is populated before running access control (#10533) (afcc970)
- richtext-lexical: error when deleting links (#10557) (9631060)
- richtext-lexical: insert paragraph at end button overlaps floating link toolbar (#10552) (6ada450)
- richtext-lexical: remove alteration of lexical text format constant (#10415) (69fac59)
- richtext-lexical: combine 2 normalizeMarkdown implementations and fix code block regex (#10470) (0252681)
- richtext-lexical: editor placeholder had incorrect padding set for small viewports (#10531) (26711a7)
- richtext-lexical: adds support for localized placeholder (#10523) (dc6d79e)
- richtext-lexical: lexical editor behind a drawer was incorrectly registered as parent editor of lexical editor within drawer (#10502) (fd96a9a)
- translations: update etTranslations type to DefaultTranslationsObject (#10358) (2e0595b)
- ui: reset pagination when typing in WhereBuilder select menu (#10551) (a3ef5ee)
- ui: passes serverProps to custom label components within table columns (#10547) (6848cf4)
- ui: scheduled publish not showing related events in postgres (#10481) (c9584a9)
- ui: table custom label missing client field props (#10540) (415fbf1)
- ui: fixed issue with updatedAt timestamps not updating in the UI when drafts are updated (#10503) (082c4f0)
🛠 Refactors
- improve error logging during onInit and website template seed (#10528) (142c504)
- next: cleans up initPage through initReq overrides and consolidated return types (#10449) (c850bd4)
📚 Documentation
- improves grammar in vercel postgres usage note (#10365) (5043a8a)
- updates docs to reflect correct array hook usage (#10546) (43b40f0)
📝 Templates
- fix issue with shadcn utilities alias across website template and localization example (#10507) (d20dc58)
- bump for v3.16.0 (#10499) (a49f782)
⚙️ CI
🏡 Chores
🤝 Contributors
- Alessio Gravili (@AlessioGr)
- Elliot DeNolf (@denolfe)
- Germán Jabloñski (@GermanJablo)
- Dan Ribbens (@DanRibbens)
- Anthony Mifsud (@amifsud02)
- Ben Löffel (@benloeffel)
- Jacob Fletcher (@jacobsfletch)
- Tristan (@tristankrass)
- Jarrod Flesch (@JarrodMFlesch)
- Paul (@paulpopus)
- Simon Vreman (@SimonVreman)
- Amelia (@LimChorngUan)
- Sasha (@r1tsuu)
- Said Akhrarov (@akhrarovsaid)
v3.16.0
v3.16.0 (2025-01-10)
🚀 Features
- consolidates REST API handling, decouple from next.js (#10466) (686e48d)
- exports ListPreferences from payload (#10474) (ae1542b)
- export the default JWTAuthentication strategy (#10430) (81c1e47)
- autoRun jobs (#10401) (c0dc0cc)
- payload-cloud: set up cron jobs on init (#10106) (36e50dd)
🐛 Bug Fixes
- collection access endpoint optional ID and use 404 for not found response (#10487) (225c24d)
- do not autorun jobs during next build process (#10483) (d8f4f06)
- properly validates preferences json (#10465) (6a262ab)
- schedule publish allowed before saving draft (#10461) (3349a4c)
- next: properly instantiates locale context (#10451) (a78bc6c)
- payload-cloud: infinite recursion on init (#10467) (34a0d00)
- richtext-lexical: respect defaultValue config of link feature url and linkType fields (#10498) (4fc6956)
- richtext-lexical: properly handle error if blocks or inline blocks are not found (#10497) (e0df0d6)
- richtext-lexical: update Thai translations for blockquote and horizontal rule (#10469) (8d5d2d1)
- richtext-lexical: allow external state mutation of block node from outside the form (#10486) (4c96028)
- richtext-lexical: inline Block drawers opened when document mounts (#10480) (bdb96dd)
- ui: disables form during locale change (#8705) (f4596fc)
- ui: stale doc status when publishing, reverting and unpublishing (#10405) (17e7ee2)
- ui: removes edit drawer button from
uploads
collection edit view (#10426) (9701fc6)
📚 Documentation
- update beforeValidate documentation (#10367) (21eec87)
- update draft doc for formatting (#10393) (a8d6f3f)
- removed unnecessary visible
tag in fields/blocks (#10456) (83bd0e2)
📝 Templates
- adjusted the cron job schedule so its compatible with hobby tiers as well (#10457) (d9ff2e0)
- add support for scheduled publish to the website template [no lint] (#10455) (7321f9f)
🏡 Chores
- update year in licenses (#10463) (e46ad67)
- import copy icon from nested folder (#9223) (ac97bfd)
- templates: generate new migrations for vercel (#10458) (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)