made with
payload
  • Showcases
  • Plugins
  • Creators
  • Tutorials
  • Templates
  • Videos

Not affiliated with PayloadCMS. Made by paul

  • Contact
  • Submit an entry
  • Releases
  • Stats
Back to Releases

v3.0.0-beta.12

Version v3.0.0-beta.12Major ReleasePre-release
Released:

April 23, 2024

Type:

Contains breaking changes

GitHub:View Release
Download TarballDownload ZIP

Release Notes

v3.0.0-beta.12

Features

  • feat: json field schemas by @kendelljoseph in https://github.com/payloadcms/payload/pull/5898
  • feat(live-preview-vue): new live-preview-vue package by @DanRibbens in https://github.com/payloadcms/payload/pull/5933
  • feat: adds count operation by @r1tsuu in https://github.com/payloadcms/payload/pull/5930
  • feat!: email adapter by @denolfe in https://github.com/payloadcms/payload/pull/5901
  • feat(plugin-cloud-storage): implement storage packages by @denolfe in https://github.com/payloadcms/payload/pull/5928
  • feat: Update Ukrainian ("uk") translations and date-fns key by @BohdanK-W32 in https://github.com/payloadcms/payload/pull/5836

Fixes

  • fix(db-postgres): validateExistingBlockIsIdentical for localized fields with the same name by @r1tsuu in https://github.com/payloadcms/payload/pull/5840
  • fix: ensure body limit is respected by @JarrodMFlesch in https://github.com/payloadcms/payload/pull/5807
  • fix(next): adds client-side field validations to login and forgot-password views by @PatrikKozak in https://github.com/payloadcms/payload/pull/5871
  • fix(next): issue with password and confirm password fields not being type of password by @paulpopus in https://github.com/payloadcms/payload/pull/5870
  • fix(next): check for matching passwords when creating the first user by @paulpopus in https://github.com/payloadcms/payload/pull/5869
  • fix: postgres query hasMany in by @DanRibbens in https://github.com/payloadcms/payload/pull/5884
  • fix(create-payload-app): uses baseUrl for payload config path in tsconfig by @JessChowdhury in https://github.com/payloadcms/payload/pull/5888
  • fix(next): admin access control by @jacobsfletch in https://github.com/payloadcms/payload/pull/5887
  • fix: accepts empty cell data by @kendelljoseph in https://github.com/payloadcms/payload/pull/5876
  • fix(next): pass a corrent content-type header in getFile route by @r1tsuu in https://github.com/payloadcms/payload/pull/5799
  • fix(next): do not require handlers, attempt to read filesystem or throw by @JarrodMFlesch in https://github.com/payloadcms/payload/pull/5896
  • fix: adds type error validations for email and password in login operation by @PatrikKozak in https://github.com/payloadcms/payload/pull/5899
  • fix(db-mongodb): ignore end session errors by @DanRibbens in https://github.com/payloadcms/payload/pull/5905
  • fix(payload): Passes correct path to import modules on Windows started with file:// by @r1tsuu in https://github.com/payloadcms/payload/pull/5919
  • fix: v3 update many with drafts by @DanRibbens in https://github.com/payloadcms/payload/pull/5900
  • fix(db-postgres): v3 #5938 extra version suffix table names by @DanRibbens in https://github.com/payloadcms/payload/pull/5940
  • fix(db-postgres): v3 nested groups in nested blocks by @DanRibbens in https://github.com/payloadcms/payload/pull/5941
  • fix(plugin-cloud-storage)!: Pass filename to utility function getting file prefix by @SimonVreman in https://github.com/payloadcms/payload/pull/5934
  • fix: add CORS headers to API Response by @jacobsfletch in https://github.com/payloadcms/payload/pull/5906
  • fix(db-postgres): row table names were not being built properly by @PatrikKozak in https://github.com/payloadcms/payload/pull/5960
  • fix: resave media using cloud storage plugin by @denolfe in https://github.com/payloadcms/payload/pull/5959

⚠ BREAKING CHANGES

  • feat!: email adapter by @denolfe in https://github.com/payloadcms/payload/pull/5901 Providing an email configuration is now optional. If using nodemailer before, you will need to install a new package @payloadcms/email-nodemailer and use it in your config. Email Configuration Before:
  • Providing any email configuration was completely optional and would configure nodemailer and ethereal.email with a test account by default.
    ```ts
    // via payload.init
    payload.init({
    email: {
    transport: someNodemailerTransport
    fromName: 'hello',
    fromAddress: '[email protected]',
    },
    })
    // or via email in payload.config.ts
    export default buildConfig({
    email: {
    transport: someNodemailerTransport
    fromName: 'hello',
    fromAddress: '[email protected]',
    },
    })
    ```

    Email Configuration After:
  • All existing nodemailer functionality was abstracted into the @payloadcms/email-nodemailer package
  • No longer configured with ethereal.email by default.
  • Ability to pass email into the init function has been removed.
  • Warning will be given on startup if email not configured. Any sendEmail call will simply log the To address and subject.

    ```ts
    // Using new nodemailer adapter package

    import { nodemailerAdapter } from '@payloadcms/email-nodemailer'

    export default buildConfig({
    email: nodemailerAdapter() // This will be the old ethereal.email functionality
    })

    // or pass in transport

    export default buildConfig({
    email: nodemailerAdapter({
    defaultFromAddress: '[email protected]',
    defaultFromName: 'Payload',
    transport: await nodemailer.createTransport({
    host: process.env.SMTP_HOST,
    port: 587,
    auth: {
    user: process.env.SMTP_USER,
    pass: process.env.SMTP_PASS,
    },
    })
    })
    })
    ```

    ```ts
    // Create custom email adapter

    // myAdapter.ts
    import type { EmailAdapter, SendMailOptions } from 'payload/types'

    export const myAdapter: EmailAdapter = ({ payload }) => ({
    defaultFromAddress: defaults.defaultFromAddress,
    defaultFromName: defaults.defaultFromName,
    sendEmail: async (message) => {
    // Perform any logic here
    console.log(To: '${message.to}', Subject: '${message.subject}')
    return Promise.resolve()
    },
    })

    // payload.config.ts
    export default buildConfig({
    email: myAdapter()
    })
    ```
Browse All ReleasesView on GitHub