npm @payloadcms/plugin-search 3.79.0
v3.79.0

8 hours ago

v3.79.0 (2026-03-04)

πŸš€ Features

  • richtext-lexical: separate configuration for lexical block icons (#15632) (f0498f2)
  • richtext-lexical: upgrade lexical from 0.35.0 to 0.41.0 (#15760) (ba3bd74)
  • translations: add i18n translations for modular dashboards (#15004) (cef2838)

Separate Block Icon Configuration (richtext-lexical) β€” Configure different images for Lexical block icons and block drawer thumbnails independently. Previously, imageURL served both contexts, forcing a compromise between a good 20x20px icon and a good drawer thumbnail. The new images property supports separate icon and thumbnail values with automatic fallback. Fully backwards compatible β€” imageURL still works but is deprecated. #15632

image
const QuoteBlock: Block = {
  slug: 'quote',
  images: {
    icon: 'https://example.com/icons/quote-20x20.svg',
    thumbnail: { url: 'https://example.com/thumbnails/quote-480x320.jpg', alt: 'Quote block' },
  },
  fields: [...],
}

Lexical Upgrade 0.35.0 β†’ 0.41.0 (richtext-lexical) β€” Upgrades the Lexical rich text editor dependency from v0.35.0 to v0.41.0. Includes upstream fixes like normalizeMarkdown (facebook/lexical#7812). All Lexical breaking changes are handled internally by Payload β€” no action required for standard usage. If you installed lexical manually, update it to 0.41.0 (though using the re-exported versions from @payloadcms/richtext-lexical/lexical/* is recommended). #15760

Modular Dashboard Translations (translations) β€” Adds i18n translation support for the Modular Dashboards feature, covering all dashboard widget buttons and error messages. Previously, dashboard UI elements lacked translation keys, making them inaccessible for non-English users. Also updates the automatic translation script to use GPT-4.1 for improved cost efficiency. #15004

image

πŸ› Bug Fixes

  • restoreVersion validation for localized required fields (#15821) (e899182)
  • draft doc validation when duplicating docs (#15816) (f470699)
  • plugin-ecommerce: pass req to Payload API calls in Stripe adapter (#15839) (74799ea)
  • plugin-import-export: automatically inherit locale and limit from URL queries (#15812) (ee083f0)
  • plugin-import-export: fix imports with locales in a different column order than exported (#15808) (410912c)
  • plugin-import-export: fix exports in other non-latin scripts being broken when opened in excel (#15813) (d931894)
  • ui: drag and drop not working for sortable hasMany fields (#15845) (2c7ef3f)
  • ui: prevent false positive stale data modal on autosave-enabled documents (#15817) (6aff717)
  • ui: typo in CodeEditor export statement (#15795) (c5b2a91)

πŸ›  Refactors

  • rename widget ComponentPath to Component for consistency (#15780) (f7d0d04)

πŸ“š Documentation

πŸ§ͺ Tests

  • update suites selected by default in runTestsWithSummary (#15789) (07f2f05)

🏑 Chores

  • prevent dev server from dirtying tracked files (#15826) (cb6f426)
  • plugin-search: clean up .DS_Store file and resulting empty images directory (#14506) (f6f73dd)

⚠️ BREAKING CHANGES

  • rename widget ComponentPath to Component for consistency (#15780) (f7d0d04)

    • Renames Widget.ComponentPath to Widget.Component and types it as PayloadComponentinstead ofstring`
    • This aligns dashboard widgets with every other component reference in (collections, globals, fields, admin components) - none of them path in the property name, and all of them are typed as PayloadComponent
    • Enables new typescript plugin to work for widget paths (the plugin uses PayloadComponent contextual type detection - string-typed properties were invisible to it)
  • ui: typo in CodeEditor export statement (#15795) (c5b2a91)

🀝 Contributors

Don't miss a new plugin-search release

NewReleases is sending notifications on new releases.