Skip to content

Releases: payloadcms/payload

v2.30.3

18 Oct 19:38
218f2ea
Compare
Choose a tag to compare

2.30.3 (2024-10-18)

Bug Fixes

  • db-postgres: migrate:create errors with previous schemas (#8786) (e9c1222)
  • duplicate with select hasMany fields (#8734) (c8ed645)

v3.0.0-beta.116

17 Oct 13:11
7136515
Compare
Choose a tag to compare
v3.0.0-beta.116 Pre-release
Pre-release

v3.0.0-beta.116 (2024-10-17)

🐛 Bug Fixes

  • pg where filters not respected in policy generation (#8753) (99b4359)
  • disables document locking of payload-locked-documents, preferences, & migrations collections (#8744) (c63b7bc)
  • db-postgres: esm compatible import of pg (#8758) (f37e476)
  • drizzle: bump drizzle-orm in drizzle package to 0.35.1 (#8759) (73102e9)
  • drizzle: enforce uniqueness on index names (#8754) (90bca15)
  • drizzle: select hasMany nested to array + tab/group (#8737) (872b205)

🤝 Contributors

v2.30.2

17 Oct 13:19
6690c37
Compare
Choose a tag to compare

2.30.2 (2024-10-17)

Bug Fixes

  • applies resize after cropping if resizeOptions are defined (#8535) (f2284f3)
  • calculates correct aspect ratio dimensions on sharp based files (#8510) (9d05b82), closes #8317
  • db-postgres: build indexes for relationships (#8446) (d05e3b0)
  • db-postgres: port many various fixes from 3.0 (#8468) (1347b6c)
  • db-postgres: select hasMany nested to array + tab/group (#8739) (0efc610)
  • richtext-lexical: add target _blank for new-tab in linkFeature (#8571) (61e8ce1), closes #8569

v3.0.0-beta.115

16 Oct 18:23
429f1a1
Compare
Choose a tag to compare
v3.0.0-beta.115 Pre-release
Pre-release

v3.0.0-beta.115 (2024-10-16)

🐛 Bug Fixes

  • corrects schemaPath passing (#8726) (a19e8d3)
  • db-postgres, db-sqlite: bump drizzle-kit drizzle-orm @libsql/client (#8617) (93545f3)
  • templates: website template issue with previewing drafts (#8714) (303a224)
  • ui: restrict file picking via upload config mimetypes (#8710) (c4fa885)
  • ui: add missing styles under the payload-default css layer (#8723) (e6a1ca5)
  • ui: removes overflow: hidden style from actions wrapper (#8717) (8d10737)

⚠️ BREAKING CHANGES

  • db-postgres, db-sqlite: bump drizzle-kit drizzle-orm @libsql/client (#8617) (93545f3)

    Inheriting all the fixes from drizzle moving to latest versions

    BREAKING CHANGES

    If you have a prior version of @libsql/client installed in your project,
    you must upgrade to 0.14.0

🤝 Contributors

v3.0.0-beta.114

15 Oct 13:57
85e87c1
Compare
Choose a tag to compare
v3.0.0-beta.114 Pre-release
Pre-release

v3.0.0-beta.114 (2024-10-15)

🚀 Features

  • add disableTransaction to local api (#8697) (d781624)
  • add limit property to bulk update operation (#8656) (7a0b419)
  • db-postgres, db-vercel-postgres: createDatabase, auto database create if it does not exist (#8655) (256949e)

🐛 Bug Fixes

  • ensure beforeValidate hook runs for reset password (#8433) (a9e7d48)
  • local update limit (#8704) (3110c1b)
  • validate should not always equate valid to true (#8696) (8bbc833)
  • ensure dropzone respects canCreate permissions (#8689) (3f128c5)
  • ensure Component is not required in MappedComponent types (#8687) (793dfe8)
  • properly store timestamps in versions (#8646) (8daac4e)
  • db-mongodb: add validation to relationship ids (#8395) (21606de)
  • drizzle: indexes / unique with relationships (#8432) (1ffb6c3)
  • drizzle, ui: properly filters out number field values with the exists operator filter (#8706) (3f2b828)
  • next: returns proper document id type from init page result (#8700) (35a5199)
  • ui: react-datepicker in number fields and datepicker visual issues (#8694) (e3957d7)
  • ui: prevents react-select styles being injected into hasMany number fields (#8695) (08f8831)
  • ui: show configured description on active tabs (#8675) (65d4f37)
  • ui: export useListRelationships (#8658) (e4fd1e3)
  • ui: hasMany selecting single docs clicking through instead of selecting a document (#8624) (a4f1af4)

🤝 Contributors

v3.0.0-beta.113

10 Oct 20:51
067d353
Compare
Choose a tag to compare
v3.0.0-beta.113 Pre-release
Pre-release

v3.0.0-beta.113 (2024-10-10)

🚀 Features

🐛 Bug Fixes

  • commonjs exports missing for withPayload (#8643) (d0a5560)
  • sanitize virtual fields in admin.useAsTitle (#8620) (fdebc84)
  • corrects useAuth generics (#8627) (5e94d9b)
  • drizzle: hasMany joins - localized, limit and schema paths (#8633) (f6acfdb)
  • ui: react select fields not increasing height when items overflow (#8618) (f507530)

🤝 Contributors

v3.0.0-beta.112

09 Oct 14:02
39825df
Compare
Choose a tag to compare
v3.0.0-beta.112 Pre-release
Pre-release

v3.0.0-beta.112 (2024-10-09)

🚀 Features

  • join field works with hasMany relationships (#8493) (1bf580f)
  • plugin-seo: adds german translation (#8580) (bb3496d)
  • ui: scope all payload css to payload-default layer (#8545) (7c62e2a)

🐛 Bug Fixes

  • verify view is inaccessible (#8557) (1b63ad4)
  • duplicate with upload collections (#8552) (400293b)
  • db-vercel-postgres: add pg dep (#8598) (ca77944)
  • payload: calculates correct aspect ratio dimensions on sharp based files (#8537) (c14c429)
  • payload: applies resize after cropping if resizeOptions are defined (#8528) (9a0568c)
  • richtext-lexical: linkFeature doesn't respect admin.routes from payload.config.ts (#8513) (6cb128a)
  • templates: await params/cookies properly (#8560) (463490f)
  • ui: add unstyled prop to react-select so that payload styles take priority (#8572) (2a1321c)

⚠️ BREAKING CHANGES

  • improve auth provider setting user and user cookie (#8600) (829996a)

    If you are using the setUser function exposed from the useAuth()
    provider, then you will need to make some adjustments.

    setUser now expects the response data from auth enabled endpoints, ie
    the /me route. This is so the cookie and expiration can be properly
    set in sync when a new user is set on the provider.

    // before
    setUser({
      id: 670524817048be0fa222fc01,
      email: dev@payloadcms.com,
      // ... other user properties
    })
    
    // new
    setUser({
      user: {
        id: 670524817048be0fa222fc01,
        email: dev@payloadcms.com,
        // ... other user properties
      },
      exp: 1728398351,
      token: "....eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVC...."
    })
  • ui: scope all payload css to payload-default layer (#8545) (7c62e2a)

    All payload css is now encapsulated inside CSS layers under @layer payload-default

    Any custom css will now have the highest possible specificity.
    We have also provided a new layer @layer payload if you want to use
    layers and ensure that your styles are applied after payload.

    To override existing styles in a way that the existing rules of
    specificity would be respected you can use the default layer like so

    @layer payload-default {
      // my styles within the payload specificity
    }

🤝 Contributors

v3.0.0-beta.111

04 Oct 18:37
e4a413e
Compare
Choose a tag to compare
v3.0.0-beta.111 Pre-release
Pre-release

v3.0.0-beta.111 (2024-10-04)

🚀 Features

🐛 Bug Fixes

  • db-postgres: missing types for db.pool by moving @types/pg from devDependencies to dependencies (#8556) (0d3416c)
  • drizzle: make radio and select column names to snake_case (#8439) (0128eed)
  • drizzle: row / collapsible inside of localized fields (#8539) (414030e)
  • ui: disableBulkEdit on ui fields, defaults to true (#8540) (cf8347f)
  • plugin-seo: now respects serverURL and api routes configuration (#8546) (157b1e1)
  • templates: dark and light mode not correctly working on website template's header (#8542) (dffdb22)
  • templates: add no search results text to website template search page (#8531) (eb4e371)
  • templates: static generation from incorrect params provided (#8530) (132131a)
  • ui crashes editing doc with deleted upload (#8526) (9ef4fab)
  • templates: add force-static to pages and posts (#8527) (65015aa)
  • next: safely checks user within useEffect (#8524) (0f7d444)
  • properly resolves cjs withPayload export (#8521) (ca90d2b)
  • templates: remove lock from website template (#8520) (ecfd90b)
  • templates: fixed drafts not being unpublished in the frontend of the website template (#8514) (8637144)
  • next: current published version label (#8505) (a8eceb0)
  • ui: admin.allowCreate in upload field (#8484) (d80410b)
  • db-postgres, db-sqlite: joins relation name (#8491) (27b1629)

⚠️ BREAKING CHANGES

  • drizzle: make radio and select column names to snake_case (#8439) (0128eed)

    Fixes #8402 and
    #8027

    Before DB column names were camelCase:

    image

    After this change, they are snake_case:
    Screenshot 2024-10-04 114226

    Breaking SQLite / Postgres ⚠️

    If you had any select (not hasMany: true) or radio fields with the
    name in camelCase, for example:

    {
      name: 'selectReadOnly',
      type: 'select',
      admin: {
        readOnly: true,
      },
      options: [
        {
          label: 'Value One',
          value: 'one',
        },
        {
          label: 'Value Two',
          value: 'two',
        },
      ],
    },

    This previously was mapped to the db column name "selectReadOnly". Now
    it's select_read_only.
    Generate a new migration to rename your columns.

    pnpm payload migrate:create

    Then select "rename column" for targeted columns and Drizzle will handle
    the migration.

  • update [email protected], [email protected] (#8489) (fa59d4c)

    Updates the minimal supported versions of next.js to
    15.0.0-canary.173
    and react to 19.0.0-rc-3edc000d-20240926.

    Adds neccessary awaits according to this breaking change
    vercel/next.js#68812

    The params and searchParams types in
    app/(payload)/admin/[[...segments]]/page.tsx and
    app/(payload)/admin/[[...segments]]/not-found.tsx must be changed to
    promises:

    - type Args = {
    -   params: {
    -     segments: string[]
    -   }
    -   searchParams: {
    -     [key: string]: string | string[]
    -   }
    - }
    
    + type Args = {
    +   params: Promise<{
    +     segments: string[]
    +   }>
    +   searchParams: Promise<{
    +     [key: string]: string | string[]
    +   }>
    + }
    

🤝 Contributors

v2.30.1

02 Oct 03:22
4c1a5dc
Compare
Choose a tag to compare

2.30.1 (2024-10-02)

Bug Fixes

  • db-mongodb: properly filters out number field values with the exists operator filter (#8415) (0586f23), closes #8181
  • sorting by id incorrectly orders by version.id (#8450) (1d38e6d)

v3.0.0-beta.110

30 Sep 17:25
96d99cb
Compare
Choose a tag to compare
v3.0.0-beta.110 Pre-release
Pre-release

v3.0.0-beta.110 (2024-09-30)

🚀 Features

  • join field on upload fields (#8379) (3f375cc)
  • richtext-lexical: export $createInlineBlockNode, $isInlineBlockNode and InlineBlockNode (#8480) (163f3c0)
  • translations: add danish translations (#7809) (22f120d)
  • richtext-lexical: upgrade lexical from 0.17.0 to 0.18.0, make tables more reliable (#8444) (8b44676)
  • templates: add search functionality to the website template (#8454) (fb60344)
  • payload, ui: add admin.allowEdit relationship field (#8398) (17e0547)

🐛 Bug Fixes

  • db-*: make db.begintransactions required (#8419) (3847428)
  • db-mongodb: duplicate versions with parent string ids (#8487) (7b6a760)
  • draft status access control checks (#8486) (0c10045)
  • reset password link extra slash and thread admin.routes.reset property (#8448) (e765a5e)
  • sorting by id incorrectly orders by version.id (#8442) (4241811)
  • db-mongodb: properly filters out number field values with the exists operator filter (#8416) (8110cb9)
  • ui: RTL not applying for localised textarea fields (#8474) (e5ca476)
  • drizzle: hasMany / poly relationships nested to localized fields / nested blocks to localized fields (#8456) (613d3b0)
  • richtext-lexical: match the indentation spacing of paragraphs and lists (#8437) (f50174f)

⚠️ BREAKING CHANGES

  • richtext-lexical: upgrade lexical from 0.17.0 to 0.18.0, make tables more reliable (#8444) (8b44676)

    This upgrades lexical from 0.17.0 to 0.18.0. If you have
    any lexical packages installed in your project, please update them
    accordingly. Additionally, if you depend on the lexical APIs, please
    consult their changelog, as lexical may introduce breaking changes:
    https://github.com/facebook/lexical/releases/tag/v0.18.0

🤝 Contributors