payload

The best way to build a modern backend + admin UI. No black magic, all TypeScript, and fully open-source, Payload is both an app framework and a headless CMS.

MIT License

Downloads
1.5M
Stars
19.2K
Committers
263

Bot releases are hidden (Show)

payload - v3.0.0-beta.77

Published by denolfe 2 months ago

v3.0.0-beta.77 (2024-08-08)

Bug Fixes

Contributors

  • Elliot DeNolf (@denolfe)
  • Jessica Chowdhury (@JessChowdhury)
payload - v3.0.0-beta.76

Published by denolfe 2 months ago

v3.0.0-beta.76 (2024-08-07)

Bug Fixes

  • richtext-lexical: next.js multiple refs of same fix (#7572) (b5d65dd)

Contributors

  • Elliot DeNolf (@denolfe)
payload - v3.0.0-beta.75

Published by denolfe 2 months ago

v3.0.0-beta.75 (2024-08-07)

Features

  • db-*: allows for running migrations in production automatically (#7563) (1cb1e5e)
  • bump next canary to 104 and update withPayload for new config (#7541) (8d1fc6e)
  • richtext-lexical: export serialized inline blocks and table node types (ffd8ea5)

Bug Fixes

  • db-postgres: #7492 migrate snapshots (#7540) (46f70d9)
  • plugin-seo: issue with generating image from a function (#7566) (b7e2c59)
  • hydrate permissions on dashboard, fix active menu item logic (0cc7184)
  • ui: fixes issue when filtering by checkbox value in a different language (#7547) (4a20a63)
  • next, payload: enable relationship & upload version tracking when localization enabled (#7508) (62744e7)
  • richtext-lexical: html converters not respecting overrideAccess property when populating values, in local API (c15d679)
  • scopes preferences queries and mutations by user (#7534) (a422a0d)
  • ensure pw confirmation when creating users in admin panel (#7535) (edaeb1e)
  • custom meta icons getting overwritten by default icon (#7466) (6f35c35)

BREAKING CHANGES

  • adjusts auth hydration from server (#7545) (e905675)

    Fixes https://github.com/payloadcms/payload/issues/6823

    Allows the server to initialize the AuthProvider via props. Renames
    HydrateClientUser to HydrateAuthProvider. It now only hydrates the
    permissions as the user can be set from props. Permissions can be
    initialized from props, but still need to be hydrated for some pages as
    access control can be specific to docs/lists etc.

    • Renames exported HydrateClientUser to HydrateAuthProvider
  • ⚠️ bump next canary to 104 and update withPayload for new config (#7541) (8d1fc6e)

    We are now bumping up the Next canary version to 15.0.0-canary.104 and
    react and react-dom to ^19.0.0-rc-06d0b89e-20240801.

    Your new dependencies should look like this:

    "next": "15.0.0-canary.104",
    "react": "^19.0.0-rc-06d0b89e-20240801",
    "react-dom": "^19.0.0-rc-06d0b89e-20240801",
    
  • richtext-lexical: html converters not respecting overrideAccess property when populating values, in local API (c15d679)

Contributors

  • James Mikrut (@jmikrut)
  • Paul (@paulpopus)
  • Dan Ribbens (@DanRibbens)
  • Jarrod Flesch (@JarrodMFlesch)
  • Patrik (@PatrikKozak)
  • Alessio Gravili (@AlessioGr)
  • Jessica Chowdhury (@JessChowdhury)
payload - v3.0.0-beta.74

Published by denolfe 2 months ago

v3.0.0-beta.74 (2024-08-06)

Features

  • richtext-lexical: add HTML converter to table feature (9bccdfd)
  • richtext-lexical: accessible editor placeholders (c348081)
  • richtext-lexical: add table hover actions to quickly add rows or columns (12ba820)
  • allows loginWithUsername to not require username (#7480) (1ebd54b)
  • updated admin UI (#7424) (68553ff)
  • expose useTableColumns hook (#7448) (9a3bce1)
  • richtext-lexical: upgrade lexical from 0.16.1 to 0.17.0 (e65b647)

Bug Fixes

  • email and username fields rendering in drawers (#7520) (442189e)
  • richtext-lexical: various table and icon style issues (#7522) (5d1cc76)
  • ui: prevents hasMany text going outside of input boundaries (#7455) (3f5403a)
  • ui: properly handles ID field component type based on payload.db.defaultIDType (#7416) (62666a9)
  • db-*: drizzle enums, bump drizzle-kit (#7514) (95fcd13)
  • cpa: adjust template file location detection (#7507) (0040e17)
  • error thrown in version view when localization is false (#7502) (cdb2072)
  • #7488, cant deploy SQLite to Vercel (#7490) (005befc)

BREAKING CHANGES

  • updated admin UI (#7424) (68553ff)

    • Custom components and styling that don't utilize Payload's CSS/SCSS
      variables may need adjustments to match the updated styling.
    • If you are using the Merriweather font, you will need to manually
      configure next/font in your own project.
  • richtext-lexical: upgrade lexical from 0.16.1 to 0.17.0 (e65b647)

    • This upgrades lexical from 0.16.1 to 0.17.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.17.0

Contributors

  • Jarrod Flesch (@JarrodMFlesch)
  • Alessio Gravili (@AlessioGr)
  • Patrik (@PatrikKozak)
  • Elliot DeNolf (@denolfe)
  • Jessica Chowdhury (@JessChowdhury)
  • Tylan Davis (@tylandavis)
  • Willy Brauner (@willybrauner)
  • James Mikrut (@jmikrut)
payload - v3.0.0-beta.73

Published by denolfe 3 months ago

v3.0.0-beta.73 (2024-08-02)

Features

Bug Fixes

  • too many RSC props were being passed, inflating initial HTML size (#7474) (995f51d)
  • set active nav item (#7467) (f752804)
payload - v3.0.0-beta.72

Published by denolfe 3 months ago

v3.0.0-beta.72 (2024-08-01)

Features

Bug Fixes

  • db-postgres: incorrect schema type on adapter (#7459) (449c16d)
  • db-postgres, db-sqlite: enum schema (#7453) (0758199)
  • db-postgres: localized array inside blocks field (#7457) (1ec78a1)
  • validates password and confirm password on the server (#7410) (290ffd3)
  • ui: reincorporate basePath into logout component link (#7451) (3d89508)
  • db-postgres: proper migrations table detection query (#7436) (b5b2bb1)
  • formats locales for version comparison view (#7433) (5ef2951)
  • hide force unlock button if the user has no permissions to interact with it (#7418) (a943487)
  • page param not getting reset when applying filters (#7243) (ada9978)
  • next: infinite loop when logging into root admin (#7412) (874279c)
  • types for the 'validate' property across fields so internal validation functions can be reused (#7394) (7ed6634)
  • export default was not found in graphql (#6975) (09a0ee3)
  • plugin-search: ensure search updates are unique to collection (#6363) (67acab2)
  • layout preferences for array/blocks were being saved twice in dev mode (#7396) (5cd0c7e)

Contributors

  • Dan Ribbens (@DanRibbens)
  • Jessica Chowdhury (@JessChowdhury)
  • Jarrod Flesch (@JarrodMFlesch)
  • Patrik (@PatrikKozak)
  • Elliot DeNolf (@denolfe)
  • Paul (@paulpopus)
  • Alessio Gravili (@AlessioGr)
  • Jacob Fletcher (@jacobsfletch)
  • Michel v. Varendorff (@mvarendorff)
  • Lynn Dylan Hurley (@lynndylanhurley)
payload - v3.0.0-beta.71

Published by denolfe 3 months ago

v3.0.0-beta.71 (2024-07-29)

Features

  • ui: passes field props to custom components (#7360) (97837f0)
  • adds keepAfterRead to plugin-relationship-objectid (#7388) (f9e5573)

Bug Fixes

  • db-sqlite: migration template errors (#7404) (6d066c2)
  • db-postgres: migration template type error (#7403) (1dc4288)
  • merges headers safely in nextjs route handlers (#7399) (c8da9b1)
  • ui: stacking drawers (#7397) (2021028)
  • docs: update import path for validation functions for fields (#7392) (2ea56fe)
  • ui: handle abort() call signal error (#7390) (5655266)
  • ui: spacing in row fields by using gap instead of inner margins (#7387) (e823051)

BREAKING CHANGES

  • ui: passes field props to custom components (#7360) (97837f0)

    Currently, there is no way to read field props from within a custom
    field component, i.e. admin.components.Description. For example, if
    you set maxLength: 100 on your field, your custom description
    component cannot read it from props.maxLength or any other methods.
    Because these components are rendered on the server, there is also no
    way of using admin.component.Field to inject custom props yourself,
    either. To support this, we can simply pass the base component props
    into these components on the server, as expected. This has also led to
    custom field component props becoming more strictly typed within the
    config.

    This change is considered breaking only because the types have changed.
    This only affects you if you were previously importing the following
    types into your own custom components. To migrate, simply change the
    import paths for that type.

    Old:

    import type {
      ArrayFieldProps,
      ReducedBlock,
      BlocksFieldProps,
      CheckboxFieldProps,
      CodeFieldProps,
      CollapsibleFieldProps,
      DateFieldProps,
      EmailFieldProps,
      GroupFieldProps,
      HiddenFieldProps,
      JSONFieldProps,
      NumberFieldProps,
      PointFieldProps,
      RadioFieldProps,
      RelationshipFieldProps,
      RichTextComponentProps,
      RowFieldProps,
      SelectFieldProps,
      TabsFieldProps,
      TextFieldProps,
      TextareaFieldProps,
      UploadFieldProps,
      ErrorProps,
      FormFieldBase, 
      FieldComponentProps,
      FieldMap,
      MappedField,
      MappedTab,
      ReducedBlock,
    } from '@payloadcms/ui'
    

    New:

    import type {
      FormFieldBase, 
      // etc.
    } from 'payload'
    

    Custom field components are now much more strongly typed. To make this
    happen, an explicit type for every custom component has been generated
    for every field type. The convention is to append
    DescriptionComponent, LabelComponent, and ErrorComponent onto the
    end of the field name, i.e. TextFieldDescriptionComponent. Here's an
    example:

    import type { TextFieldDescriptionComponent } from 'payload'
    
    import React from 'react'
    
    export const CustomDescription: TextFieldDescriptionComponent = (props) => {
      return (
        <div id="custom-field-description">{`The max length of this field is: ${props?.maxLength}`}</div>
      )
    }
    

    Here's the full list of all new types:

    Label Components:

    import type {
      ArrayFieldLabelComponent,
      BlocksFieldLabelComponent,
      CheckboxFieldLabelComponent,
      CodeFieldLabelComponent,
      CollapsibleFieldLabelComponent,
      DateFieldLabelComponent,
      EmailFieldLabelComponent,
      GroupFieldLabelComponent,
      HiddenFieldLabelComponent,
      JSONFieldLabelComponent,
      NumberFieldLabelComponent,
      PointFieldLabelComponent,
      RadioFieldLabelComponent,
      RelationshipFieldLabelComponent,
      RichTextFieldLabelComponent,
      RowFieldLabelComponent,
      SelectFieldLabelComponent,
      TabsFieldLabelComponent,
      TextFieldLabelComponent,
      TextareaFieldLabelComponent,
      UploadFieldLabelComponent
    } from 'payload'
    

    Error Components:

    import type {
      ArrayFieldErrorComponent,
      BlocksFieldErrorComponent,
      CheckboxFieldErrorComponent,
      CodeFieldErrorComponent,
      CollapsibleFieldErrorComponent,
      DateFieldErrorComponent,
      EmailFieldErrorComponent,
      GroupFieldErrorComponent,
      HiddenFieldErrorComponent,
      JSONFieldErrorComponent,
      NumberFieldErrorComponent,
      PointFieldErrorComponent,
      RadioFieldErrorComponent,
      RelationshipFieldErrorComponent,
      RichTextFieldErrorComponent,
      RowFieldErrorComponent,
      SelectFieldErrorComponent,
      TabsFieldErrorComponent,
      TextFieldErrorComponent,
      TextareaFieldErrorComponent,
      UploadFieldErrorComponent
    } from 'payload'
    

    Description Components:

    import type {
      ArrayFieldDescriptionComponent,
      BlocksFieldDescriptionComponent,
      CheckboxFieldDescriptionComponent,
      CodeFieldDescriptionComponent,
      CollapsibleFieldDescriptionComponent,
      DateFieldDescriptionComponent,
      EmailFieldDescriptionComponent,
      GroupFieldDescriptionComponent,
      HiddenFieldDescriptionComponent,
      JSONFieldDescriptionComponent,
      NumberFieldDescriptionComponent,
      PointFieldDescriptionComponent,
      RadioFieldDescriptionComponent,
      RelationshipFieldDescriptionComponent,
      RichTextFieldDescriptionComponent,
      RowFieldDescriptionComponent,
      SelectFieldDescriptionComponent,
      TabsFieldDescriptionComponent,
      TextFieldDescriptionComponent,
      TextareaFieldDescriptionComponent,
      UploadFieldDescriptionComponent
    } from 'payload'
    

    This PR also:

    • Standardizes the FieldBase['label'] type with a new LabelStatic
      type. This makes type usage much more consistent across components.
    • Simplifies some of the typings in the field component map, removes
      unneeded <Omit>, etc.
    • Fixes misc. linting issues around voiding promises
  • ui: update the names of internal components so that they respect eslint rules (#7362) (e734d51)

So _Upload becomes UploadComponent which doesnt break the naming
convention of react components and we no longer export these internal
components

Contributors

  • Dan Ribbens (@DanRibbens)
  • James Mikrut (@jmikrut)
  • Jacob Fletcher (@jacobsfletch)
  • Paul (@paulpopus)
  • Patrik (@PatrikKozak)
payload -

Published by denolfe 3 months ago

2.25.0 (2024-07-26)

Features

  • allows metadata to be appended to the file of the output media (#7295) (3c5cce4)
  • db-mongodb: adds new optional collation feature flag behind mongodb collation option (#7359) (9750bc2), closes #7349

Bug Fixes

  • properly handles 0 value number fields in list view (#7364) (5321098), closes #5510
  • preserves objectids in deepCopyObject (#7385) (1348483)
  • relaxes equality check for relationship options in filter (#7344) (468e544)
  • supports null values in query strings (#5241) (c57591b)
payload - v3.0.0-beta.70

Published by denolfe 3 months ago

v3.0.0-beta.70 (2024-07-26)

Features

  • templates: add live preview breakpoints for mobile, tablet and desktop to website template (#7384) (4704c8d)
  • cpa: support next.config.ts (#7367) (a64f37e)

Bug Fixes

  • db-postgres: properly reference drizzle createTableName function (#7383) (55c6ce9)

Contributors

  • Paul (@paulpopus)
  • Elliot DeNolf (@denolfe)
payload - v3.0.0-beta.69

Published by denolfe 3 months ago

v3.0.0-beta.69 (2024-07-26)

Features

  • payload: allows metadata to be appended to the file of the output media (#7293) (b5afc62)
  • drizzle: abstract shared sql code to new package (#7320) (09ad6e4)
  • adds @payloadcms/live-preview-vue to release pipeline (#7328) (904ec01)
  • next: root admin (#7276) (863abc0)

Bug Fixes

  • filterOptions for upload fields (#7347) (70f2e16)
  • db-mongodb: adds new optional collation feature flag behind mongodb collation option (#7361) (8ba39aa)
  • ui: hide 'Create new' button entirely if user has no access to create a media item (#7348) (128d721)
  • attempts to use query.locale when present in createLocalReq (#7345) (2796d21)
  • relaxes equality check for relationship options in filter (#7343) (cbac62a)
  • db-postgres: localized groups/tabs and nested fields (#6158) (51f1c8e)
  • some email adapters not working if they're promises due to config sanitisation (#7326) (c129c10)
  • misc issues with loginWithUsername (#7311) (b2814eb)
  • ui: email field now correctly renders autocomplete attribute (#7322) (c405e59)
  • plugin-stripe: properly types async webhooks (#7317) (a35979f)
  • ui: Where query selectors for checkboxes are now translated (#7309) (b9cf6c7)
  • first version doc throws error (#7314) (f2b3305)
  • db-mongodb: removes precedence of regular chars over international chars in sort (#7294) (b3e8ddf)
  • cpa: check cmd exists after first checking flag and lock file (#7297) (83ad453)

Contributors

  • James Mikrut (@jmikrut)
  • Patrik (@PatrikKozak)
  • Elliot DeNolf (@denolfe)
  • Paul (@paulpopus)
  • Jarrod Flesch (@JarrodMFlesch)
  • Ritsu (@r1tsuu)
  • Dan Ribbens (@DanRibbens)
  • Jacob Fletcher (@jacobsfletch)
  • Jessica Chowdhury (@JessChowdhury)
payload -

Published by denolfe 3 months ago

2.24.2 (2024-07-24)

Features

  • db-mongodb: add jsonParse flag to mongooseAdapter that preserves existing, untracked MongoDB data types (#7338) (f96cf59)

Bug Fixes

  • allow autosave relationship drawers to function properly (#7325) (69e7b7a)
  • db-mongodb: removes precedence of regular chars over international chars in sort (#6923) (0058660), closes #6719
  • fetches and sets permissions before setting user (#7337) (8259611)
  • plugin-stripe: properly types async webhooks (#7316) (c6da99b)
payload - v3.0.0-beta.68

Published by denolfe 3 months ago

v3.0.0-beta.68 (2024-07-22)

Features

  • upgrade pino and pino-pretty, clean up hacky esm imports (#7291) (4584478)
  • remove joi schema validation (#7226) (e83eb99)
  • 700% faster deepCopyObject, refactor deep merging and deep copying, type improvements (#7272) (c45fbb9)
  • new server-only, faster and immediate autoLogin (#7224) (a7b0f8b)
  • ui: change autosave logic to send updates as soon as possible, improving live preview speed (#7201) (014ee1a)
  • update reserved fields name check to be more comprehensive and only check top level fields (#7235) (76b3075)

Bug Fixes

  • search plugin localized fields (#7292) (5aa3283)
  • templates: website template building error with postgres number IDs (#7281) (bba7cf3)
  • ui: not updating permissions when locale changes (#7245) (1ae71a3)
  • payload: resizes images first before applying focal point (#7277) (2c16c60)
  • api errors not populating in prod (#7232) (3d63ce9)

BREAKING CHANGES

  • 700% faster deepCopyObject, refactor deep merging and deep copying, type improvements (#7272) (c45fbb9)

    • The deepMerge exported from payload now handles more complex data and
      is slower. The old, simple deepMerge is now exported as deepMergeSimple
    • combineMerge is no longer exported. You can use
      deepMergeWithCombinedArrays instead
    • The behavior of the exported deepCopyObject and isPlainObject may
      be different and more reliable, as the underlying algorithm has changed
  • new server-only, faster and immediate autoLogin (#7224) (a7b0f8b)

    • autoLogin without prefillOnly set now also affects graphQL/Rest
      operations. Only the user specified in autoLogin will be returned.
      Within the graphQL/Rest/Local API, this should still allow you to
      authenticate with a different user, as the autoLogin user is only used
      if no token is set.

Contributors

  • Jarrod Flesch (@JarrodMFlesch)
  • Alessio Gravili (@AlessioGr)
  • Paul (@paulpopus)
  • Dan Ribbens (@DanRibbens)
  • Patrik (@PatrikKozak)
  • Jacob Fletcher (@jacobsfletch)
  • Elliot DeNolf (@denolfe)
payload -

Published by denolfe 3 months ago

2.24.1 (2024-07-22)

Bug Fixes

  • aliases AfterMe, AfterLogout, and AfterRefresh hook types (#7146) (20377bb)
  • exports fallback hook types to ensure backwards compatibility (#7217) (1864577)
  • resizes images first before applying focal point (#7278) (1b208c7)
  • uploads from drawer and focal point positioning (#7244) (0841d5a)
payload - v3.0.0-beta.67

Published by denolfe 3 months ago

v3.0.0-beta.67 (2024-07-18)

Bug Fixes

  • ui: uploading from drawer & focal point positioning (#7117) (00771b1)

Contributors

  • Alessio Gravili (@AlessioGr)
  • Patrik (@PatrikKozak)
  • Jarrod Flesch (@JarrodMFlesch)
payload - v3.0.0-beta.66

Published by denolfe 3 months ago

v3.0.0-beta.66 (2024-07-18)

Features

Bug Fixes

  • cherry picks lockUntil fix from #6052 (#7213) (478fb8d)
  • aliases AfterMe, AfterLogout, and AfterRefresh hook types (#7216) (700baf1)
  • templates: bad import in website seed script (#7198) (a3af360)
  • maxListenersExceeded warning due to atomically, which is a peerdep of conf (#7182) (1fe6761)
  • ui: search queries remain between navigation (#7169) (f909f06)
  • richtext-lexical: slash menu keyboard navigation not triggering auto-scroll (#7185) (fe23ca5)
  • webpack error if dbName or enumName was set (#7184) (8fdd88b)
  • ui: date field background color specificity (#7181) (1ea2e32)
  • version comparison view showing empty localized fields (#7180) (8fb17c2)
  • localised relationship fields (#7178) (2f0aa83)

BREAKING CHANGES

  • aliases AfterMe, AfterLogout, and AfterRefresh hook types (#7216) (700baf1)

Duplicate of #7146 but for beta. If you were using the AfterMeHook, AfterLogoutHook, or AfterRefreshHook, these types have been renamed and are now prefixed with Collection to match all other hook naming conventions, just as the documentation already indicates.

Old:

import type { AfterMeHook, AfterLogoutHook, AfterRefreshHook } from 'payload'

New:

import type { CollectionAfterMeHook, CollectionAfterLogoutHook, CollectionAfterRefreshHook } from 'payload'

Contributors

  • Jarrod Flesch (@JarrodMFlesch)
  • Jacob Fletcher (@jacobsfletch)
  • Paul (@paulpopus)
  • Alessio Gravili (@AlessioGr)
  • Jessica Chowdhury (@JessChowdhury)
payload - v2.24.0

Published by denolfe 3 months ago

2.24.0 (2024-07-16)

Features

  • adds ability to upload files from a remote url (#7087) (84d214f)
  • db-mongodb: allows mongoose schemaOptions to be configured (#7099) (51474fa)

Bug Fixes

  • ensures access query runs with locale when present (#6981) (a5492af)
payload - v3.0.0-beta.65

Published by denolfe 3 months ago

v3.0.0-beta.65 (2024-07-15)

Features

Bug Fixes

  • richtext-lexical: newly created upload nodes with extra fields do not display fields when opening extra fields drawer (#7155) (35f7a9e)
  • richtext-*: nested field recursion for named tabs did not work (8c5a1f0)
  • richtext-lexical: one-line migrators not detecting richText migrations in nested fields (6d68a4a)
  • email-nodemailer: skipVerify behavior being reversed (#6790) (f494eba)
  • custom tabs not working in globals (#7148) (24f55c9)

Contributors

  • Alessio Gravili (@AlessioGr)
  • Jacob Fletcher (@jacobsfletch)
  • Hulpoi George-Valentin (@GeorgeHulpoi)
  • Jasper Beaurain (@JasperBeaurain)
  • Jarrod Flesch (@JarrodMFlesch)
  • Paul (@paulpopus)
payload - v3.0.0-beta.63

Published by denolfe 3 months ago

v3.0.0-beta.63 (2024-07-12)

Fixes publishing issue

payload - v3.0.0-beta.62

Published by denolfe 3 months ago

v3.0.0-beta.62 (2024-07-12)

Features

  • validate field names for reserved names (#7130) (03d854e)
  • ui: various admin panel styling improvements (#7121) (c359c34)
  • suppress email adapter warning on build (#7129) (b750ebf)
  • ui: updates version status UI to be more informative (#6661) (c019969)
  • richtext-lexical: add missing SerializedLineBreakNode to default node types, remove SerializedBlockNode from default node types (1c8bed5)
  • richtext-lexical: allow SerializedBlockNode fields to be typed via generic (10336ba)

Contributors

  • Paul (@paulpopus)
  • Tylan Davis (@tylandavis)
  • Jacob Fletcher (@jacobsfletch)
  • Elliot DeNolf (@denolfe)
  • Alessio Gravili (@AlessioGr)
  • Jessica Chowdhury (@JessChowdhury)
payload - v3.0.0-beta.61

Published by denolfe 3 months ago

v3.0.0-beta.61 (2024-07-12)

Features

  • upgrade minimum react, react-dom, @types/react and @types/react-dom versions to match exactly what Next.js is using, various dependency cleanup (#7106) (f86e0ed)
  • adds ability to upload files from a remote url (#7063) (d99bff9)

Bug Fixes

  • ui: ctrl+s not triggering a save if autosave is enabled (#7120) (840e075)
  • templates: website template gitignore issue for case sensitivity (#7118) (1baf775)
  • richtext-lexical: export types as type-only exports (#7097) (edf743e)

BREAKING CHANGES

  • upgrade minimum react, react-dom, @types/react and @types/react-dom versions to match exactly what Next.js is using, various dependency cleanup (#7106) (f86e0ed)

BREAKING:

Contributors

  • Jacob Fletcher (@jacobsfletch)
  • Paul (@paulpopus)
  • Elliot DeNolf (@denolfe)
  • Alessio Gravili (@AlessioGr)
  • Jarrod Flesch (@JarrodMFlesch)
  • Patrik (@PatrikKozak)