Download Latest Version v3.79.0 source code.tar.gz (23.1 MB)
Email in envelope

Get an email when there's a new version of Payload

Home / v3.79.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-03-04 7.2 kB
v3.79.0 source code.tar.gz 2026-03-04 23.1 MB
v3.79.0 source code.zip 2026-03-04 27.1 MB
Totals: 3 Items   50.2 MB 4

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

:::ts
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](https://github.com/facebook/lexical/issues/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

  • Patrik (@PatrikKozak)
  • Jens Becker (@jhb-dev)
  • Paul (@paulpopus)
  • German Jablonski (@GermanJablo)
  • Elliot DeNolf (@denolfe)
  • Luiz ClΓ‘udio (@lcnogueira)
  • Palamar Roman (@VeiaG)
  • Sebastian Blank (@blankse)
  • Alessio Gravili (@AlessioGr)
  • Mahmoud Hassan (@Mhmod-Hsn)
Source: README.md, updated 2026-03-04