github payloadcms/payload v3.0.0-beta.123

pre-release5 hours ago

v3.0.0-beta.123 (2024-10-31)

🚀 Features

  • plugin-seo: support overriding default fields via a function instead and fixes bugs regarding localized labels (#8958) (b417c1f)

🐛 Bug Fixes

  • select with unnamed tabs (#8966) (3175541)
  • locked documents with read access for users (#8950) (55ce8e6)
  • return type of findByID with strict: true (#8953) (08251ec)
  • next: overly large width on document locked modal content (#8967) (090831c)
  • templates: website template error inside the populateAuthors hook (#8972) (9eb79c1)
  • ui: increase z-index of ReactSelect (#8735) (c0397c3)

⚠️ BREAKING CHANGES

  • plugin-seo: support overriding default fields via a function instead and fixes bugs regarding localized labels (#8958) (b417c1f)

    The SEO plugin now takes in a function to override or add in new

    fields

    • fieldOverrides has been removed
    • fields is now a function that takes in defaultFields and expects
      an array of fields in return

    This makes it a lot easier for end users to override and extend existing
    fields and add new ones. This change also brings this plugin inline with
    the pattern that we use in our other plugins.

    // before
    seoPlugin({
      fieldOverrides: {
        title: {
          required: true,
        },
      },
      fields: [
        {
          name: 'customField',
          type: 'text',
        }
      ]
    })
    
    // after
    seoPlugin({
      fields: ({ defaultFields }) => {
        const modifiedFields = defaultFields.map((field) => {
         // Override existing fields
          if ('name' in field && field.name === 'title') {
            return {
              ...field,
              required: true,
            }
          }
          return field
        })
    
        return [
          ...modifiedFields,
    
         // Add a new field
          {
            name: 'ogTitle',
            type: 'text',
            label: 'og:title',
          },
        ]
      },
    })

🤝 Contributors

Don't miss a new payload release

NewReleases is sending notifications on new releases.