payload

The best way to build a modern backend + admin UI. No black magic, all TypeScript, and fully open-source, Payload is both an app framework and a headless CMS.

MIT License

Downloads
1.5M
Stars
19.2K
Committers
263

Bot releases are visible (Hide)

payload - Release v2.4.0

Published by denolfe 11 months ago

2.4.0 (2023-12-06)

Features

  • add Chinese Traditional translation (#4372) (50253f6)
  • async live preview urls (#4339) (5f17324)
  • pass path to FieldDescription (#4364) (3b8a27d)
  • richtext-lexical: lazy import React components to prevent client-only code from leaking into the server (#4290) (5de347f)
  • richtext-lexical: Link & Relationship Feature: field-level configurable allowed relationships (#4182) (7af8f29)

Bug Fixes

  • db-postgres: sorting on a not-configured field throws error (#4382) (dbaecda)
  • defaultValues computed on new globals (#4380) (b6cffce)
  • handles null upload field values (#4397) (cf9a370)
  • live-preview: populates rte uploads and relationships (#4379) (4090aeb)
  • live-preview: sends raw js objects through window.postMessage instead of json (#4354) (03a3872)
  • simplifies query validation and fixes nested relationship fields (#4391) (4b5453e)
  • upload editing error with plugin-cloud (#4170) (fcbe574)
  • uploads files after validation (#4218) (65adfd2)

BREAKING CHANGES

  • richtext-lexical: lazy import React components to prevent client-only code from leaking into the server (#4290)

⚠️ @payloadcms/richtext-lexical

Most important: If you are updating @payloadcms/richtext-lexical to v0.4.0 or higher, you will HAVE to update payload to the latest version as well. If you don't update it, payload likely won't start up due to validation errors. It's generally good practice to upgrade packages prefixed with @payloadcms/ together with payload and keep the versions in sync.

@payloadcms/richtext-slate is not affected by this.

Every single property in the Feature interface which accepts a React component now no longer accepts a React component, but a function which imports a React component instead. This is done to ensure no unnecessary client-only code is leaked to the server when importing Features on a server.
Here's an example migration:

Old:

import { BlockIcon } from '../../lexical/ui/icons/Block'
...
Icon: BlockIcon,

New:

// import { BlockIcon } from '../../lexical/ui/icons/Block' // <= Remove this import
...
Icon: () =>
  // @ts-expect-error
  import('../../lexical/ui/icons/Block').then((module) => module.BlockIcon),

Or alternatively, if you're using default exports instead of named exports:

// import BlockIcon from '../../lexical/ui/icons/Block' // <= Remove this import
...
Icon: () =>
  // @ts-expect-error
  import('../../lexical/ui/icons/Block'),

The types for SanitizedEditorConfig and EditorConfig have changed. Their respective lexical property no longer expects the LexicalEditorConfig. It now expects a function returning the LexicalEditorConfig. You will have to adjust this if you adjusted that property anywhere, e.g. when initializing the lexical field editor property, or when initializing a new headless editor.

The following exports are now exported from the @payloadcms/richtext-lexical/components subpath exports instead of @payloadcms/richtext-lexical:

  • ToolbarButton
  • ToolbarDropdown
  • RichTextCell
  • RichTextField
  • defaultEditorLexicalConfig

You will have to adjust your imports, only if you import any of those properties in your project.

payload - Release v2.3.1

Published by denolfe 11 months ago

2.3.1 (2023-12-01)

Bug Fixes

  • ensure doc controls are not hidden behind lexical field (#4345) (bea79fe)
  • query validation on relationship fields (#4353) (fe888b5)
  • richtext-lexical: blocks content may be hidden behind components outside of the editor (#4325) (3e745e9)
  • richtext-lexical: Blocks node: incorrect conversion from v1 node to v2 node (ef84a2c)
payload - Release v2.3.0

Published by denolfe 11 months ago

2.3.0 (2023-11-30)

Features

  • add serbian (latin and cyrillic) translations (#4268) (40c8909)
  • db-mongodb: search for migrations dir intelligently (530c825)
  • db-postgres: search for migrations dir intelligently (308979f)
  • live-preview: batches api requests (#4315) (d49bb43)
  • relationship sortOptions property (#4301) (224cddd)
  • support migrations with js files (2122242)
  • support OAuth 2.0 format Authorization: Bearer tokens in headers (c1eb9d1)
  • useDocumentEvents (#4284) (9bb7a88)

Bug Fixes

  • db-postgres: allow for nested block fields to be queried (#4237) (cd07873)
  • db-postgres: error saving nested arrays with versions (#4302) (3514bfb)
  • duplicate documents with required localized fields (#4236) (9da9b1f)
  • incorrect key property in Tabs field component (#4311) (3502ce7), closes #4282
  • live-preview-react: removes payload from peer deps (7e1052f)
  • live-preview: compounds merge results (#4306) (381c158)
  • live-preview: property resets rte nodes (#4313) (66679fb)
  • live-preview: re-populates externally updated relationships (#4287) (57fc211)
  • live-preview: removes payload from peer deps (b4af95f)
  • properly exports useDocumentsEvents hook (#4314) (5420963)
  • properly sets tabs key in fieldSchemaToJSON (#4317) (9cc88bb)
  • richtext-lexical: HTML Converter field not working inside of tabs (#4293) (5bf6493)
  • richtext-lexical: re-use payload population logic to fix population-related issues (#4291) (094d02c)
  • richtext-slate: add use client to top of tsx files importing from payload core (#4312) (d4f28b1)

BREAKING CHANGES

⚠️ @payloadcms/richtext-lexical

The SlashMenuGroup and SlashMenuOption classes have changed. If you have any custom lexical Features which are adding new slash menu entries, this will be a breaking change for you. If not, no action is required from your side.

Here are the breaking changes and how to migrate:

  1. The SlashMenuOption's first argument is now used as a key and not as a display name. Additionally, a new, optional displayName property is added which will serve as the display name. Make sure your key does not contain any spaces or special characters.
  2. The title property of SlashMenuGroup has been replaced by a new, mandatory key and an optional displayName property. To migrate, you will have to remove the title property and add a key property instead - make sure you do not use spaces or special characters in the key.
  3. Additionally, if you have custom styles targeting elements inside of slash or floating-select-toolbar menus, you will have to adjust those too, as the CSS classes changed

This is an example of performing these updates

payload - Release v2.2.2

Published by denolfe 11 months ago

2.2.2 (2023-11-27)

Features

Bug Fixes

  • number field validation (#4233) (19fcfc2)
  • passes date options to the react-datepicker in filter UI, removes duplicate options from operators select (#4225) (3d2b62b)
  • prevent json data getting reset when switching tabs (#4123) (1dcd3a2)
  • transactions broken within doc access (443847e)
  • typo in polish translations (#4234) (56a4692)
payload - Release v2.2.1

Published by denolfe 11 months ago

2.2.1 (2023-11-21)

Bug Fixes

  • make outputSchema optional on richtext config (#4230) (3a784a0)
payload - v2.2.0

Published by denolfe 11 months ago

2.2.0 (2023-11-20)

Features

  • allow richtext adapters to control type generation, improve generated lexical types (#4036) (989c10e)
  • hide publish button based on permissions (#4203) (de02490)
  • richtext-lexical: Add new position: 'top' property for plugins (eed4f43)

Bug Fixes

  • fully define the define property for esbuild string replacement (#4099) (e22b95b)
  • i18n: polish translations (#4134) (782e118)
  • improves live preview breakpoints and zoom options in dark mode (#4090) (b91711a)
  • plugin-nested-docs: await populate breadcrumbs on resaveChildren (#4226) (4e41dd1)
  • rename tab button classname to prevent unintentional styling (#4121) (967eff1)
  • richtext-lexical: add missing 'use client' to TestRecorder feature plugin (fc26275)
  • richtext-lexical: Blocks: Array row data is not removed (#4209) (0af9c4d)
  • richtext-lexical: Blocks: fields without fulfilled condition are now skipped for validation (50fab90)
  • richtext-lexical: Blocks: make sure fields are wrapped in a uniquely-named group, change block node data format, fix react key error (#3995) (c068a87)
  • richtext-lexical: Blocks: z-index issue, e.g. select field dropdown in blocks hidden behind blocks below, or slash menu inside nested editor hidden behind blocks below (09f17f4)
  • richtext-lexical: Floating Select Toolbar: Buttons and Dropdown Buttons not clickable in nested editors (615702b), closes #4025
  • richtext-lexical: HTMLConverter: cannot find nested lexical fields (#4103) (a6d5f2e), closes #4034
  • richtext-lexical: incorrect caret positioning when selecting second line of multi-line paragraph (#4165) (b210af4)
  • richtext-lexical: make lexicalHTML() function work for globals (dbfc835)
  • richtext-lexical: nested editor may lose focus when writing (#4139) (859c2f4)
  • richtext-lexical: remove optional chaining after this as transpilers are not handling it well (#4145) (2c8d34d)
  • richtext-lexical: visual bug after rearranging blocks (a6b4860)
  • simplifies block/array/hasMany-number field validations (#4052) (803a37e)
  • synchronous transaction errors (#4164) (1510baf)
  • thread locale through to access routes from admin panel (#4183) (05f3169)
  • transactionID isolation for GraphQL (#4095) (195a952)
  • upload fit not accounted for when editing focal point or crop (#4142) (45e9a55)
payload - Release v2.1.1

Published by denolfe 12 months ago

2.1.1 (2023-11-10)

Bug Fixes

  • conditionally hide dot menu in DocumentControls (#4075) (cef4cbb)
  • disable editing option for svg image types (#4071) (949e265)
  • fixes creation of related documents within a transaction if filterOptions is used (#4087) (acad288)
  • hide empty image sizes from the preview drawer (#3946) (687f485)
  • live-preview: ensures field schema exists before traversing fields (#4074) (7059a71)
  • live-preview: field recursion and relationship population (#4045) (2ad7340)
  • live-preview: properly handles apiRoute (#4076) (1f851f2)
  • possible issue with access control not using req (#4086) (348a70c)
  • richtext-lexical: Blocks: unnecessary saving node value when initially opening a document & new lexical tests (#4059) (fff377a)
  • richtext-lexical: floating select toolbar caret not positioned correctly if first line is selected (#4062) (c462df3)
payload - Release v2.1.0

Published by denolfe 12 months ago

2.1.0 (2023-11-08)

Features

  • add internationalization (i18n) to locales (#4005) (6a0a859)
  • Custom Error, Label, and before/after field components (#3747) (266c327)

Bug Fixes

  • error on graphql multiple queries (#3985) (57da3c9)
  • focal and cropping issues, adds test (#4039) (acba5e4)
  • handle invalid tokens in refresh token operation (#3647) (131d89c)
  • hasMany number and select fields unable to save within arrays (#4047) (182c57b)
  • injects array and block ids into fieldSchemaToJSON (#4043) (d068ef7)
  • parse predefined migrations via file arg or name prefix (#4001) (eb42c03)
  • polymorphic hasMany relationships missing in postgres admin (#4053) (7a9af44)
  • resets list filter row when the filter on field is changed (#3956) (8d14c21)
  • Update API Views (b008b6c)
  • vite not replacing env vars correctly when building (67b3baa)

New Contributors

payload - Release v2.0.15

Published by denolfe 12 months ago

2.0.15 (2023-11-03)

Bug Fixes

  • autosave updating data in unrelated docs (b722f20)
  • better error handling within parseCookies (#3720) (6b1b4ff)
  • block row removal w/ db-postgres adapter (#3951) (5ea88bb)
  • deeply merges view configs (#3954) (a5b2333)
  • do not display field if read permission is false - admin panel ui (#3949) (cdc10be)
  • ensures dataloader does not run requests in parallel (4607dbf)
  • exclude files from dev bundle if aliased (#3957) (7966692)
  • field paths being mutated if they ended with the req.locale (#3936) (36576f1)
  • findVersions pagination (#3906) (1f8f173)
  • global autosave and relevant e2e test (a9d96b1)
  • i18n: polish translations (#3934) (e4881bb)
  • passes correct data to buildStateFromSchema on account page (#3984) (c7a315a)
  • prevent sort from saving a new version in version list view (#3944) (900a9ea)
  • properly load temp files into buffer (#3996) (d1a0822)
  • sort document tabs by order (#3968) (06cd52b)
  • vertical alignment in step nav when using larger logos (#3955) (b6d9a20)

New Contributors

payload - Release v2.0.14

Published by denolfe 12 months ago

2.0.14 (2023-10-30)

Bug Fixes

  • adds null to non-required field unions (#3870) (7e919aa)
  • checks for user before accessing properties in preferences update operation(#3844) (24eab3a)
  • db-mongodb: improve find query performance (#3836) (56e58e9), closes #3904
  • db-mongodb: versions pagination (#3875) (4f2b080)
  • disable webpack hot reload on production (#3891) (422c803)
  • duplicate document copying to incorrect locale (#3874) (89f273b)
  • enables nested AND/OR queries (#3834) (237eebd)
  • ensure serverURL has string value for getBaseUploadFields function (#3900) (c564a83)
  • ensures compare-version select field cannot be cleared (#3901) (42d8d11)
  • error handling when duplicating documents fails (#3873) (435eb62)
  • generate new block ids on create (#3871) (3404bab)
  • global permissions for live preview (#3854) (3032e0b)
  • handles null & undefined relationship field values in versions view (#3609) (115e592)
  • incorrect duplication of data in admin ui (#3907) (46fc41c)
  • only apply focal manipulation when necessary (#3902) (a4f36aa)
  • graphql query errors transaction race condition (#3795) (dc13b10)
  • removes conditional return of formattedEmails in sendEmail hook #26 (#28) (e8458f8)
  • resize image if no aspect ratio change (#3859) (f53b713)
  • richtext-*: type issues with typescript strict mode enabled (dac9514)
  • richtext-lexical: Blocks node incorrectly marked as client module (35f00fa)
  • richtext-lexical: remove unnecessary dependencies (fixes #3889) (760565f)
  • set date to 12UTC for default, dayOnly and monthOnly fields (#3887) (d393225)
  • store resized image on req or tempFilePath (#3883) (6c5d525)
  • unique field error handling (#3888) (4d8d4c2)

New Contributors

payload - Release v2.0.13

Published by denolfe 12 months ago

2.0.13 (2023-10-24)

Bug Fixes

  • adjusts props to accept components for before and after fields instead of functions (#3820) (c476d01)
  • alignment of collapsible within row (#3822) (eaef0e7)
  • named tabs not appearing in the gql mutation input type (#3835) (a0019d0)
  • only parses live preview ready message when same origin (#3791) (e8f2377)
  • prevent storing duplicate user preferences (#3833) (7eee0ec)
  • prevents document sidebar from collapsing (71a3e5b)
  • renders live preview for globals (#3801) (a13ec2e)
  • reverting localized versions (#3831) (5a0d0db)
payload - Release v2.0.12

Published by denolfe 12 months ago

2.0.12 (2023-10-23)

Features

  • collection, global and field props for hooks, fix request context initialization, add context to global hooks (#3780)
  • richtext-lexical: HTML Serializer (#3685)

Bug Fixes

  • remove duplicate removal of temp upload file (#3818)
  • simplify how the search input and query params are connected (#3797)
  • standardizes layout of document fields (#3798)
  • issue where dragging unsortable item would crash the page (#3789)
  • richtext-lexical: defaultValue property didn't fit into field schema (b5c7bbed9)
  • richtext-*: hasMany relationships not populated correctly (e197e0316)
payload - Release v2.0.11

Published by denolfe about 1 year ago

2.0.11 (2023-10-19)

Features

  • add ability to opt out of type gen declare statement (#3765)

Bug Fixes

  • corrects versions collection casing (#3739)

  • updates req after file resize (#3754)

  • correctly renders focal point when crop is set to false (#3759)

  • account for many slug types in generate types (#3698)

  • handle graphQL: false on globals when building policy type (#3729)

  • renders id as fallback title in DeleteDocument (#3745)

  • properly handles hideAPIURL (#3721)

  • filesRequiredOnCreate typing, tests, linting (#3737)

  • webpack-bundler: corrects payload alias (#3769)

  • bundler-webpack: better node_modules resolution (#3744)

  • db-postgres: block and array inserts error (#3714)

  • live-preview: properly handles uploads and hasOne monomorphic relationships (#3719)

payload - Release v2.0.10

Published by denolfe about 1 year ago

2.0.10 (2023-10-17)

Features

Bug Fixes

  • Register first user verify update missing transaction id / req (#3665) (68c5a5751)
payload - Release 2.0.8

Published by denolfe about 1 year ago

2.0.8 (2023-10-17)

Features

  • allows filterOptions to return null (c4cac99)
  • live-preview: caches field schema (#3711) (dd0ac06)

Bug Fixes

  • autosave time shown minutes only (#3492) (e311e8f)
  • blocks within groups in postgres (45a62ba)
  • bug with seeding ecommerce (993568a)
  • corrects add block index (#3681) (3c50443)
  • misc upload crop/focal point updates (#3580) (d616772)
  • renders mobile document controls (#3695) (1625ff2)
  • some local operations missing req.transactionID (#3651) (150799e)
  • richtext-*: extra fields not being iterated correctly (#3693) (b8a5866)
  • richtext-*: link drawer form receiving incorrect field schema (#3696) (cb39354)
  • richtext-lexical: #3682 isolated editor container causing z-index issues (24918fe)
  • templates: user access control (#3712) (8b8ceab)
payload - Release v2.0.6

Published by denolfe about 1 year ago

2.0.6 (2023-10-14)

Bug Fixes

payload - Release 2.0.5

Published by denolfe about 1 year ago

2.0.5 (2023-10-12)

Bug Fixes

Documentation

payload - Release 2.0.4

Published by denolfe about 1 year ago

2.0.4 (2023-10-12)

Bug Fixes

Documentation

payload - Release 2.0.3

Published by denolfe about 1 year ago

2.0.3 (2023-10-09)

Bug Fixes

Documentation

  • move payload script mention to top of migrations (26967fb92)
  • payload script in package.json (2f86c196e)
  • updates required node version (70e068b18)
  • improves custom views (#3499) (6c17222a6)
payload - Release 2.0.2

Published by denolfe about 1 year ago

2.0.2 (2023-10-09)

Bug Fixes

  • beforeOperation hooks now correctly only run once (e5d6a75)