v3.25.0 (2025-02-27)
๐ Features
- storage-*: large file uploads on Vercel (#11382) (b540da5)
- allow to count related docs for join fields (#11395) (3436fb1)
- add support for not_like operation (#11326) (b014416)
- plugin-multi-tenant: allow customization of selector label (#11418) (958e195)
- plugin-multi-tenant: filter users list and tenants lists (#11417) (45cee23)
- plugin-multi-tenant: export useTenantSelection hook for public usage (#11364) (f477e0e)
- richtext-lexical: allows client features to access components added to the import map by the server feature (#11414) (7e713a4)
- richtext-lexical: support single-quoted jsx property values in mdx converter (#11290) (563c21b)
- ui: threads row data through list drawer onSelect callback (#11339) (d766b19)
- ui: adds support for block groups (#11239) (22f61ad)
๐ Bug Fixes
- ensure custom IDs are returned to the result when
select
query exists (#11400) (526e535) - ensure generated types for config.blocks are not undefined if no blocks defined (#11377) (820a6ec)
- safely access config.blocks during type generation (#11320) (3ffc268)
- working
bin
configuration for custom scripts (#11294) (f779e48) - db transaction errors caused by checkDocumentLockStatus (#11287) (9728d80)
- db-mongodb:
hasNextPage
with polymorphic joins (#11394) (6b6c289) - deps: ensure Next.js 15.2.0 compatibility, upgrade nextjs and @types/react versions in monorepo (#11419) (2a3682f)
- next: nested relationship filter options (#11375) (0a1af45)
- next: use correct hmr url if assetPrefix is set in next config (#10859) (1725af5)
- next: uses assetPrefix from next config in webpack-hmr URL (#11229) (26163a7)
- plugin-multi-tenant: user access, thread field names through (#11365) (3778180)
- plugin-nested-docs: fallback to empty string if
useAsTitle
field is undefined (#11338) (09ca514) - plugin-nested-docs: corrects data shape of breadcrumbs returned in hooks (#10866) (d92c000)
- richtext-lexical: incorrect UploadData types (#11288) (2612756)
- ui: skip bulk upload thumbnail generation on non-image files (#11378) (81fd42e)
- ui: allow json fields to be updated externally (#11371) (36e152d)
- ui: bulk upload
DiscardWithoutSaving
modal styles (#11381) (7bb1c9d) - ui: object type field labels not displaying in search filter (#11366) (f1b005c)
- ui: custom block labels stale when reordering blocks (#11367) (2477fc6)
- ui: link element triggering clicks twice (#11362) (f9121c1)
- ui: only show bulk select all when count is less than total (#11329) (a8bec9a)
- ui: confirmation modal should build off of drawerDepth, instead โฆ (#11305) (460d50b)
โก Performance
- remove deep copy of the entire sanitized entity config in
configToJSONSchema
(#11342) (a13d4fe) - add limit: 1 and pagination: false to various payload queries (#11319) (0058f82)
- ensure fetching and updating preferences doesn't cause transaction errors and is done correctly (#11311) (845c647)
- db-mongodb: remove
JSON.parse(JSON.stringify)
copying of results (#11293) (1dc748d) - drizzle: use faster, direct db query for getting id to update in updateOne (#11391) (e4712a8)
- next: reduce getNavPrefs calls from 3 to 1 per page load (#11318) (c7c5018)
- next: avoid unnecessary upsertPreferences call on page load (#11302) (76bd05c)
๐ Refactors
- simplify collection, global and auth operations (#11374) (4410a49)
- simplify running field hooks (#11372) (dc9e8fa)
- ui: moves bulk edit controls (#11332) (f31568c)
๐ Documentation
- adds Reserved Field Names section to migration guide (#11308) (bcc6857)
- improve lexical code block documentation (#11416) (67b7a73)
- add lexical docs for configuring jsx converters for internal links and overriding them (#11415) (88a2841)
- add info about changes in localized fields to v2 -> v3 migration guide (#11244) (d326086)
- fix links to react hooks (#11344) (4224c68)
- update outdated docs/rich-text/overview feature names (#11324) (6ff380c)
- fix formatting in field hooks table (#11300) (af92c15)
- removes outdated
rateLimit
option (#11291) (c517e7e) - fix invalid jsx in banner block (#11289) (b1e9aa5)
๐งช Tests
๐ Templates
โ๏ธ CI
๐ก Chores
- cleanup queues test suite (#11410) (c6ab312)
- add JSDoc for globals Local API operations (#11313) (0594701)
- cut down logging noise when file was not found on the disk (#11295) (f6f6a1d)
- add JSDoc for collection Local API operations properties (#11265) (ee5e96a)
- passes allowCreate into list drawer and adds test (#11284) (c05f10a)
- plugin-cloud: refresh session on ExpiredToken error code (#8904) (1e698c2)
- translations: adds missing client keys and removes translated validation errors (#10841) (6fad5d7)
๐ค Contributors
- Sasha (@r1tsuu)
- Patrik (@PatrikKozak)
- Jacob Fletcher (@jacobsfletch)
- Alessio Gravili (@AlessioGr)
- Jarrod Flesch (@JarrodMFlesch)
- Elliot DeNolf (@denolfe)
- Kendell Joseph (@kendelljoseph)
- Jessica Chowdhury (@JessChowdhury)
- Rafal Sypien (@inuue)
- Paul (@paulpopus)
- Tib (@T1l3)
- Said Akhrarov (@akhrarovsaid)
- Boyan Bratvanov (@bratvanov)