From a25ddc5448470369e95c20dc9889e570b271eb05 Mon Sep 17 00:00:00 2001 From: Dan Ribbens Date: Mon, 18 Nov 2024 17:35:36 -0500 Subject: [PATCH] docs: migration guide more info (#9305) --- docs/admin/customizing-css.mdx | 6 +- docs/admin/overview.mdx | 2 +- docs/configuration/i18n.mdx | 2 +- docs/fields/rich-text.mdx | 4 +- docs/getting-started/installation.mdx | 12 +- docs/getting-started/what-is-payload.mdx | 8 +- docs/graphql/graphql-schema.mdx | 2 +- docs/jobs-queue/overview.mdx | 16 +-- docs/jobs-queue/tasks.mdx | 4 +- docs/lexical/building-custom-features.mdx | 2 +- docs/lexical/overview.mdx | 6 - docs/migration-guide/overview.mdx | 138 +++++++++++++++++++--- docs/plugins/form-builder.mdx | 2 +- docs/plugins/nested-docs.mdx | 2 +- docs/plugins/redirects.mdx | 2 +- docs/plugins/search.mdx | 2 +- docs/plugins/sentry.mdx | 4 +- docs/plugins/seo.mdx | 2 +- docs/plugins/stripe.mdx | 2 +- docs/production/deployment.mdx | 10 +- docs/queries/select.mdx | 4 +- docs/rich-text/overview.mdx | 2 +- docs/upload/storage-adapters.mdx | 24 ++-- 23 files changed, 175 insertions(+), 83 deletions(-) diff --git a/docs/admin/customizing-css.mdx b/docs/admin/customizing-css.mdx index 4ed40e7070..ec8b7559c1 100644 --- a/docs/admin/customizing-css.mdx +++ b/docs/admin/customizing-css.mdx @@ -62,13 +62,13 @@ You can also override Payload's built-in [CSS Variables](https://developer.mozil The following variables are defined and can be overridden: -- [Breakpoints](https://github.com/payloadcms/payload/blob/beta/packages/ui/src/scss/queries.scss) -- [Colors](https://github.com/payloadcms/payload/blob/beta/packages/ui/src/scss/colors.scss) +- [Breakpoints](https://github.com/payloadcms/payload/blob/main/packages/ui/src/scss/queries.scss) +- [Colors](https://github.com/payloadcms/payload/blob/main/packages/ui/src/scss/colors.scss) - Base color shades (white to black by default) - Success / warning / error color shades - Theme-specific colors (background, input background, text color, etc.) - Elevation colors (used to determine how "bright" something should be when compared to the background) -- [Sizing](https://github.com/payloadcms/payload/blob/beta/packages/ui/src/scss/app.scss) +- [Sizing](https://github.com/payloadcms/payload/blob/main/packages/ui/src/scss/app.scss) - Horizontal gutter - Transition speeds - Font sizes diff --git a/docs/admin/overview.mdx b/docs/admin/overview.mdx index 4a5766ab41..dd3fd8a9ce 100644 --- a/docs/admin/overview.mdx +++ b/docs/admin/overview.mdx @@ -237,7 +237,7 @@ The following options are available: ## I18n -The Payload Admin Panel is translated in over [30 languages and counting](https://github.com/payloadcms/payload/tree/beta/packages/translations). Languages are automatically detected based on the user's browser and used by the Admin Panel to display all text in that language. If no language was detected, or if the user's language is not yet supported, English will be chosen. Users can easily specify their language by selecting one from their account page. See [I18n](../configuration/i18n) for more information. +The Payload Admin Panel is translated in over [30 languages and counting](https://github.com/payloadcms/payload/tree/main/packages/translations). Languages are automatically detected based on the user's browser and used by the Admin Panel to display all text in that language. If no language was detected, or if the user's language is not yet supported, English will be chosen. Users can easily specify their language by selecting one from their account page. See [I18n](../configuration/i18n) for more information. ## Light and Dark Modes diff --git a/docs/configuration/i18n.mdx b/docs/configuration/i18n.mdx index 85d41029df..a64faf3b5f 100644 --- a/docs/configuration/i18n.mdx +++ b/docs/configuration/i18n.mdx @@ -6,7 +6,7 @@ desc: Manage and customize internationalization support in your CMS editor exper keywords: internationalization, i18n, config, configuration, documentation, Content Management System, cms, headless, javascript, node, react, nextjs --- -The [Admin Panel](../admin/overview) is translated in over [30 languages and counting](https://github.com/payloadcms/payload/tree/beta/packages/translations). With I18n, editors can navigate the interface and read API error messages in their preferred language. This is similar to [Localization](./localization), but instead of managing translations for the data itself, you are managing translations for your application's interface. +The [Admin Panel](../admin/overview) is translated in over [30 languages and counting](https://github.com/payloadcms/payload/tree/main/packages/translations). With I18n, editors can navigate the interface and read API error messages in their preferred language. This is similar to [Localization](./localization), but instead of managing translations for the data itself, you are managing translations for your application's interface. By default, Payload comes with preinstalled with English, but you can easily load other languages into your own application. Languages are automatically detected based on the request. If no language was detected, or if the user's language is not yet supported by your application, English will be chosen. diff --git a/docs/fields/rich-text.mdx b/docs/fields/rich-text.mdx index d4982b4823..cd5f062144 100644 --- a/docs/fields/rich-text.mdx +++ b/docs/fields/rich-text.mdx @@ -19,8 +19,8 @@ Payload's rich text field is built on an "adapter pattern" which lets you specif Right now, Payload is officially supporting two rich text editors: -1. [SlateJS](/docs/rich-text/slate) - stable, backwards-compatible with 1.0 -2. [Lexical](/docs/lexical/overview) - beta, where things will be moving +1. [SlateJS](/docs/rich-text/slate) - legacy, backwards-compatible with 1.0 +2. [Lexical](/docs/lexical/overview) - recommended diff --git a/docs/getting-started/installation.mdx b/docs/getting-started/installation.mdx index f4721afe19..32ffae06f2 100644 --- a/docs/getting-started/installation.mdx +++ b/docs/getting-started/installation.mdx @@ -24,14 +24,14 @@ Payload requires the following software: To quickly scaffold a new Payload app in the fastest way possible, you can use [create-payload-app](https://npmjs.com/package/create-payload-app). To do so, run the following command: ``` -npx create-payload-app@beta +npx create-payload-app ``` Then just follow the prompts! You'll get set up with a new folder and a functioning Payload app inside. You can then start [configuring your application](../configuration/overview). ## Adding to an existing app -Adding Payload to an existing Next.js app is super straightforward. You can either run the `npx create-payload-app@beta` command inside your Next.js project's folder, or manually install Payload by following the steps below. +Adding Payload to an existing Next.js app is super straightforward. You can either run the `npx create-payload-app` command inside your Next.js project's folder, or manually install Payload by following the steps below. If you don't have a Next.js app already, but you still want to start a project from a blank Next.js app, you can create a new Next.js app using `npx create-next-app` - and then just follow the steps below to install Payload. @@ -44,7 +44,7 @@ If you don't have a Next.js app already, but you still want to start a project f First, you'll want to add the required Payload packages to your project and can do so by running the command below: ```bash -pnpm i payload@beta @payloadcms/next@beta @payloadcms/richtext-lexical@beta sharp graphql +pnpm i payload @payloadcms/next @payloadcms/richtext-lexical sharp graphql ``` @@ -58,12 +58,12 @@ To install a Database Adapter, you can run **one** of the following commands: - To install the [MongoDB Adapter](../database/mongodb), run: ```bash - pnpm i @payloadcms/db-mongodb@beta + pnpm i @payloadcms/db-mongodb ``` - To install the [Postgres Adapter](../database/postgres), run: ```bash - pnpm i @payloadcms/db-postgres@beta + pnpm i @payloadcms/db-postgres ``` @@ -73,7 +73,7 @@ To install a Database Adapter, you can run **one** of the following commands: #### 2. Copy Payload files into your Next.js app folder -Payload installs directly in your Next.js `/app` folder, and you'll need to place some files into that folder for Payload to run. You can copy these files from the [Blank Template](https://github.com/payloadcms/payload/tree/beta/templates/blank/src/app/(payload)) on GitHub. Once you have the required Payload files in place in your `/app` folder, you should have something like this: +Payload installs directly in your Next.js `/app` folder, and you'll need to place some files into that folder for Payload to run. You can copy these files from the [Blank Template](https://github.com/payloadcms/payload/tree/main/templates/blank/src/app/(payload)) on GitHub. Once you have the required Payload files in place in your `/app` folder, you should have something like this: ```plaintext app/ diff --git a/docs/getting-started/what-is-payload.mdx b/docs/getting-started/what-is-payload.mdx index 0c26b915aa..1d7c8e0a2b 100644 --- a/docs/getting-started/what-is-payload.mdx +++ b/docs/getting-started/what-is-payload.mdx @@ -3,7 +3,7 @@ title: What is Payload? label: What is Payload? order: 10 desc: Payload is a next-gen application framework that can be used as a Content Management System, enterprise tool framework, headless commerce platform, or digital asset management tool. -keywords: documentation, getting started, guide, Content Management System, cms, headless, javascript, node, react, express +keywords: documentation, getting started, guide, Content Management System, cms, headless, javascript, node, react --- "Task" is a function definition that performs business logic and whose input and output are both strongly typed. -You can register Tasks on the Payload config, and then create [Jobs](/docs/beta/jobs-queue/jobs) or [Workflows](/docs/beta/jobs-queue/workflows) that use them. Think of Tasks like tidy, isolated "functions that do one specific thing". +You can register Tasks on the Payload config, and then create [Jobs](/docs/jobs-queue/jobs) or [Workflows](/docs/jobs-queue/workflows) that use them. Think of Tasks like tidy, isolated "functions that do one specific thing". Payload Tasks can be configured to automatically retried if they fail, which makes them valuable for "durable" workflows like AI applications where LLMs can return non-deterministic results, and might need to be retried. diff --git a/docs/lexical/building-custom-features.mdx b/docs/lexical/building-custom-features.mdx index 25af7de7fd..276ad5d81a 100644 --- a/docs/lexical/building-custom-features.mdx +++ b/docs/lexical/building-custom-features.mdx @@ -836,4 +836,4 @@ The reason the client feature does not have the same props available as the serv ## More information -Have a look at the [features we've already built](https://github.com/payloadcms/payload/tree/beta/packages/richtext-lexical/src/features) - understanding how they work will help you understand how to create your own. There is no difference between the features included by default and the ones you create yourself - since those features are all isolated from the "core", you have access to the same APIs, whether the feature is part of Payload or not! +Have a look at the [features we've already built](https://github.com/payloadcms/payload/tree/main/packages/richtext-lexical/src/features) - understanding how they work will help you understand how to create your own. There is no difference between the features included by default and the ones you create yourself - since those features are all isolated from the "core", you have access to the same APIs, whether the feature is part of Payload or not! diff --git a/docs/lexical/overview.mdx b/docs/lexical/overview.mdx index ac011e7400..c11561fce6 100644 --- a/docs/lexical/overview.mdx +++ b/docs/lexical/overview.mdx @@ -10,12 +10,6 @@ One of Payload's goals is to build the best rich text editor experience that we Classically, we've used SlateJS to work toward this goal, but building custom elements into Slate has proven to be more difficult than we'd like, and we've been keeping our options open. - - Payload's Lexical rich text editor is currently in beta. It's stable enough to use as you build on - Payload, so if you're up for helping us fine-tune it, you should use it. But if you're looking for - stability, use Slate instead. - - Lexical is extremely impressive and trivializes a lot of the hard parts of building new elements into a rich text editor. It has a few distinct advantages over Slate, including the following: 1. A "/" menu, which allows editors to easily add new elements while never leaving their keyboard diff --git a/docs/migration-guide/overview.mdx b/docs/migration-guide/overview.mdx index 55247d833f..099760cdd0 100644 --- a/docs/migration-guide/overview.mdx +++ b/docs/migration-guide/overview.mdx @@ -1,3 +1,11 @@ +--- +title: 2.0 to 3.0 Migration Guide +label: 2.0 to 3.0 Migration Guide +order: 10 +desc: Upgrade guide for Payload 2.x projects migrating to 3.0. +keywords: local api, config, configuration, documentation, Content Management System, cms, headless, javascript, node, react +--- + # Payload 2.0 to 3.0 Migration Guide Payload 3.0 completely replatforms the Admin Panel from a React Router single-page application onto the Next.js App Router with full support for React Server Components. This change completely separates Payload "core" from its rendering and HTTP layers, making it truly Node-safe and portable. @@ -8,7 +16,7 @@ The core logic and principles of Payload remain the same from 2.0 to 3.0, with t ### Table of Contents -All breaking changes are listed below. If you encounter changes that are not expicitly listed here, please consider contributing to this documentation by submitting a PR. +All breaking changes are listed below. If you encounter changes that are not explicitly listed here, please consider contributing to this documentation by submitting a PR. - [Installation](#installation) - [Breaking Changes](#breaking-changes) @@ -21,14 +29,92 @@ All breaking changes are listed below. If you encounter changes that are not exp ## Installation -Payload 3.0 requires a set of auto-generated files that you will need to bring into your existing project. The easiest way of aquiring these is by initializing a new project via `create-payload-app`, then replace the provided Payload Config with your own. +Payload 3.0 requires a set of auto-generated files that you will need to bring into your existing project. The easiest way of acquiring these is by initializing a new project via `create-payload-app`, then replace the provided Payload Config with your own. ```bash - npx create-payload-app@beta + npx create-payload-app ``` For more details, see the [Documentation](https://payloadcms.com/docs/getting-started/installation). +1. **Install new dependencies of payload, next.js and react**: + + Refer to the package.json file made in the create-payload-app, including peerDependencies, devDependencies, and dependencies. The core package and plugins require all versions to be synced. Previously, on 2.x it was possible to be running the latest version of payload 2.x with an older version of db-mongodb for example. This is no longer the case. + + ```bash + pnpm i next react react-dom payload @payloadcms/ui @payloadcms/next + ``` + + Also install the other @payloadcms packages specific to the plugins and adapters you are using. Depending on your project, these may include: + - @payloadcms/db-mongodb + - @payloadcms/db-postgres + - @payloadcms/richtext-slate + - @payloadcms/richtext-lexical + - @payloadcms/plugin-form-builder + - @payloadcms/plugin-nested-docs + - @payloadcms/plugin-redirects + - @payloadcms/plugin-relationship + - @payloadcms/plugin-search + - @payloadcms/plugin-sentry + - @payloadcms/plugin-seo + - @payloadcms/plugin-stripe + - @payloadcms/plugin-cloud-storage - Read [More](#@payloadcms/plugin-cloud-storage). + +1. Uninstall deprecated packages: + + ```bash + pnpm remove express nodemon @payloadcms/bundler-webpack @payloadcms/bundler-vite + ``` + +1. For Payload Cloud users, the plugin has changed. + + Uninstall the old package: + + ```bash + pnpm remove @payloadcms/plugin-cloud + ``` + + Install the new package: + + ```bash + pnpm i @payloadcms/payload-cloud + ``` + + ```diff + // payload.config.ts + - import { payloadCloud } from '@payloadcms/plugin-cloud' + + import { payloadCloudPlugin } from '@payloadcms/payload-cloud' + + buildConfig({ + // ... + plugins: [ + - payloadCloud() + + payloadCloudPlugin() + ] + }) + ``` + +1. **Optional** sharp dependency + + If you have upload enabled collections that use `formatOptions`, `imageSizes`, or `resizeOptions`—payload expects to have `sharp` installed. In 2.0 this was a dependency was installed for you. Now it is only installed if needed. If you have any of these options set, you will need to install `sharp` and add it to your payload.config.ts: + + ```bash + pnpm i sharp + ``` + + ```diff + // payload.config.ts + import sharp from 'sharp' + buildConfig({ + // ... + + sharp, + }) + ``` + +1. Database Adapter Migrations + + If you have existing data and are using the MongoDB or Postgres adapters, you will need to run the database migrations to ensure your database schema is up-to-date. Follow the instructions from the release notes for [postgres](https://github.com/payloadcms/payload/releases/edit/v3.0.0-beta.39) or [mongodb](https://github.com/payloadcms/payload/releases/edit/v3.0.0-beta.131) depending on your chosen adapter. + ## Breaking Changes 1. Delete the `admin.bundler` property from your Payload Config. Payload no longer bundles the Admin Panel. Instead, we rely directly on Next.js for bundling. @@ -67,7 +153,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st + const var = process.env.NEXT_PUBLIC_MY_ENV_VAR ``` - For more details, see the [Documentation](https://payloadcms.com/docs/beta/configuration/environment-vars). + For more details, see the [Documentation](https://payloadcms.com/docs/configuration/environment-vars). 1. The `req` object used to extend the [Express Request](https://expressjs.com/), but now extends the [Web Request](https://developer.mozilla.org/en-US/docs/Web/API/Request). You may need to update your code accordingly to reflect this change. For example: @@ -224,7 +310,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st }) ``` - For more details, see the [Documentation](https://payloadcms.com/docs/beta/admin/metadata#icons). + For more details, see the [Documentation](https://payloadcms.com/docs/admin/metadata#icons). 1. The `admin.meta.ogImage` property has been replaced by `admin.meta.openGraph.images`: @@ -245,7 +331,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st }) ``` - For more details, see the [Documentation](https://payloadcms.com/docs/beta/admin/metadata#open-graph). + For more details, see the [Documentation](https://payloadcms.com/docs/admin/metadata#open-graph). 1. The args of the `admin.livePreview.url` function have changed. It no longer receives `documentInfo` as an arg, and instead, now has `collectionConfig` and `globalConfig`. @@ -303,6 +389,24 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st }) ``` +1. `hooks.afterError` is now an array of functions instead of a single function. The args have also been expanded. Read [More](https://payloadcms.com/docs/hooks/overview#root-hooks). + + ```diff + // payload.config.ts + import { buildConfig } from 'payload' + + export default buildConfig({ + hooks: { + - afterError: async ({ error }) => { + + afterError: [ + + async ({ error, req, res }) => { + + // ... + + } + + ] + } + }) + ``` + ## Custom Components 1. All Payload React components have been moved from the `payload` package to `@payloadcms/ui`. If you were previously importing components into your app from the `payload` package, for example to create Custom Components, you will need to change your import paths: @@ -332,7 +436,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st }) ``` - For more details, see the [Documentation](https://payloadcms.com/docs/beta/admin/components#component-paths). + For more details, see the [Documentation](https://payloadcms.com/docs/admin/components#component-paths). 1. All Custom Components are now server-rendered by default, and therefore, cannot use state or hooks directly. If you’re using Custom Components in your app that requires state or hooks, add the `'use client'` directive at the top of the file. @@ -352,7 +456,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st } ``` - For more details, see the [Documentation](https://payloadcms.com/docs/beta/admin/components#client-components). + For more details, see the [Documentation](https://payloadcms.com/docs/admin/components#client-components). 1. The `admin.description` property within Collection, Globals, and Fields no longer accepts a React Component. Instead, you must define it as a Custom Component. @@ -397,7 +501,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st ``` 3. For Fields, use the `admin.components.Description` key: - + ```diff // fields/MyField.ts import type { FieldConfig } from 'payload' @@ -501,7 +605,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st slug: 'my-collection', admin: { views: { - - Edit: MyCustomView + - Edit: MyCustomView + edit: { + Component: './components/MyCustomView.tsx' + } @@ -743,7 +847,7 @@ For more details, see the [Documentation](https://payloadcms.com/docs/getting-st } ``` - For more details, see the [Documentation](https://payloadcms.com/docs/beta/admin/components#accessing-the-payload-config). + For more details, see the [Documentation](https://payloadcms.com/docs/admin/components#accessing-the-payload-config). 1. The `useCollapsible` hook has had slight changes to its property names. `collapsed` is now `isCollapsed` and `withinCollapsible` is now `isWithinCollapsible`. @@ -875,11 +979,11 @@ export default buildConfig({ - If you have created a custom adapter, the type must now provide a `name` property. | Service | Package | -| -------------------- | ---------------------------------------------------------------------------- | -| Vercel Blob | https://github.com/payloadcms/payload/tree/beta/packages/storage-vercel-blob | -| AWS S3 | https://github.com/payloadcms/payload/tree/beta/packages/storage-s3 | -| Azure | https://github.com/payloadcms/payload/tree/beta/packages/storage-azure | -| Google Cloud Storage | https://github.com/payloadcms/payload/tree/beta/packages/storage-gcs | +| -------------------- |------------------------------------------------------------------------------| +| Vercel Blob | https://github.com/payloadcms/payload/tree/main/packages/storage-vercel-blob | +| AWS S3 | https://github.com/payloadcms/payload/tree/main/packages/storage-s3 | +| Azure | https://github.com/payloadcms/payload/tree/main/packages/storage-azure | +| Google Cloud Storage | https://github.com/payloadcms/payload/tree/main/packages/storage-gcs | ```tsx // ❌ Before (required peer dependencies depending on adapter) @@ -991,4 +1095,4 @@ plugins: [ ## `@payloadcms/richtext-lexical` -// TODO: Add migration guide for `@payloadcms/richtext-lexical` +If you have custom features for `@payloadcms/richtext-lexical` you will need to migrate your code to the new API. Read more about the new API in the [documentation](https://payloadcms.com/docs/lexical/building-custom-features). diff --git a/docs/plugins/form-builder.mdx b/docs/plugins/form-builder.mdx index 6031ad6174..59648459ea 100644 --- a/docs/plugins/form-builder.mdx +++ b/docs/plugins/form-builder.mdx @@ -36,7 +36,7 @@ Forms can be as simple or complex as you need, from a basic contact form, to a m Install the plugin using any JavaScript package manager like [Yarn](https://yarnpkg.com), [NPM](https://npmjs.com), or [PNPM](https://pnpm.io): ```bash -pnpm add @payloadcms/plugin-form-builder@beta +pnpm add @payloadcms/plugin-form-builder ``` ## Basic Usage diff --git a/docs/plugins/nested-docs.mdx b/docs/plugins/nested-docs.mdx index 363ea2cc07..a9c8662d72 100644 --- a/docs/plugins/nested-docs.mdx +++ b/docs/plugins/nested-docs.mdx @@ -48,7 +48,7 @@ Install the plugin using any JavaScript package manager like [Yarn](https://yarn or [PNPM](https://pnpm.io): ```bash - pnpm add @payloadcms/plugin-nested-docs@beta + pnpm add @payloadcms/plugin-nested-docs ``` ## Basic Usage diff --git a/docs/plugins/redirects.mdx b/docs/plugins/redirects.mdx index 79218c1c7c..92d4d340ac 100644 --- a/docs/plugins/redirects.mdx +++ b/docs/plugins/redirects.mdx @@ -32,7 +32,7 @@ For example, if you have a page at `/about` and you want to change it to `/about Install the plugin using any JavaScript package manager like [Yarn](https://yarnpkg.com), [NPM](https://npmjs.com), or [PNPM](https://pnpm.io): ```bash - pnpm add @payloadcms/plugin-redirects@beta + pnpm add @payloadcms/plugin-redirects ``` ## Basic Usage diff --git a/docs/plugins/search.mdx b/docs/plugins/search.mdx index f64fe3a632..c9c0bce96c 100644 --- a/docs/plugins/search.mdx +++ b/docs/plugins/search.mdx @@ -39,7 +39,7 @@ This plugin is a great way to implement a fast, immersive search experience such Install the plugin using any JavaScript package manager like [Yarn](https://yarnpkg.com), [NPM](https://npmjs.com), or [PNPM](https://pnpm.io): ```bash - pnpm add @payloadcms/plugin-search@beta + pnpm add @payloadcms/plugin-search ``` ## Basic Usage diff --git a/docs/plugins/sentry.mdx b/docs/plugins/sentry.mdx index 0f653cf75e..fa4d15643d 100644 --- a/docs/plugins/sentry.mdx +++ b/docs/plugins/sentry.mdx @@ -31,7 +31,7 @@ This multi-faceted software offers a range of features that will help you manage - **Integrations**: Connects with various tools and services for enhanced workflow and issue management - This plugin is completely open-source and the [source code can be found here](https://github.com/payloadcms/payload/tree/beta/packages/plugin-sentry). If you need help, check out our [Community Help](https://payloadcms.com/community-help). If you think you've found a bug, please [open a new issue](https://github.com/payloadcms/payload/issues/new?assignees=&labels=plugin%3A%20seo&template=bug_report.md&title=plugin-sentry%3A) with as much detail as possible. + This plugin is completely open-source and the [source code can be found here](https://github.com/payloadcms/payload/tree/main/packages/plugin-sentry). If you need help, check out our [Community Help](https://payloadcms.com/community-help). If you think you've found a bug, please [open a new issue](https://github.com/payloadcms/payload/issues/new?assignees=&labels=plugin%3A%20seo&template=bug_report.md&title=plugin-sentry%3A) with as much detail as possible. ## Installation @@ -39,7 +39,7 @@ This multi-faceted software offers a range of features that will help you manage Install the plugin using any JavaScript package manager like [Yarn](https://yarnpkg.com), [NPM](https://npmjs.com), or [PNPM](https://pnpm.io): ```bash - pnpm add @payloadcms/plugin-sentry@beta + pnpm add @payloadcms/plugin-sentry ``` ## Sentry for Next.js setup diff --git a/docs/plugins/seo.mdx b/docs/plugins/seo.mdx index 627dfa9fa2..b5263c0c50 100644 --- a/docs/plugins/seo.mdx +++ b/docs/plugins/seo.mdx @@ -37,7 +37,7 @@ To help you visualize what your page might look like in a search engine, a previ Install the plugin using any JavaScript package manager like [Yarn](https://yarnpkg.com), [NPM](https://npmjs.com), or [PNPM](https://pnpm.io): ```bash - pnpm add @payloadcms/plugin-seo@beta + pnpm add @payloadcms/plugin-seo ``` ## Basic Usage diff --git a/docs/plugins/stripe.mdx b/docs/plugins/stripe.mdx index 406faed4eb..3108f92e14 100644 --- a/docs/plugins/stripe.mdx +++ b/docs/plugins/stripe.mdx @@ -39,7 +39,7 @@ The beauty of this plugin is the entirety of your application's content and busi Install the plugin using any JavaScript package manager like [Yarn](https://yarnpkg.com), [NPM](https://npmjs.com), or [PNPM](https://pnpm.io): ```bash - pnpm add @payloadcms/plugin-stripe@beta + pnpm add @payloadcms/plugin-stripe ``` ## Basic Usage diff --git a/docs/production/deployment.mdx b/docs/production/deployment.mdx index 8b94c4884e..6f12843301 100644 --- a/docs/production/deployment.mdx +++ b/docs/production/deployment.mdx @@ -147,11 +147,11 @@ But, if you do, and you still want to use an ephemeral filesystem provider, you Payload provides a list of official cloud storage adapters for you to use: -- [Azure Blob Storage](https://github.com/payloadcms/payload/tree/beta/packages/storage-azure) -- [Google Cloud Storage](https://github.com/payloadcms/payload/tree/beta/packages/storage-gcs) -- [AWS S3](https://github.com/payloadcms/payload/tree/beta/packages/storage-s3) -- [Uploadthing](https://github.com/payloadcms/payload/tree/beta/packages/storage-uploadthing) -- [Vercel Blob Storage](https://github.com/payloadcms/payload/tree/beta/packages/storage-vercel-blob) +- [Azure Blob Storage](https://github.com/payloadcms/payload/tree/main/packages/storage-azure) +- [Google Cloud Storage](https://github.com/payloadcms/payload/tree/main/packages/storage-gcs) +- [AWS S3](https://github.com/payloadcms/payload/tree/main/packages/storage-s3) +- [Uploadthing](https://github.com/payloadcms/payload/tree/main/packages/storage-uploadthing) +- [Vercel Blob Storage](https://github.com/payloadcms/payload/tree/main/packages/storage-vercel-blob) Follow the docs to configure any one of these storage providers. For local development, it might be handy to simply store uploads on your own computer, and then when it comes to production, simply enable the plugin for the cloud storage vendor of your choice. diff --git a/docs/queries/select.mdx b/docs/queries/select.mdx index 45e7729a52..a1534d466c 100644 --- a/docs/queries/select.mdx +++ b/docs/queries/select.mdx @@ -107,9 +107,9 @@ const getPosts = async () => { The `defaultPopulate` property allows you specify which fields to select when populating the collection from another document. This is especially useful for links where only the `slug` is needed instead of the entire document. -With this feature, you can dramatically reduce the amount of JSON that is populated from [Relationship](/docs/beta/fields/relationship) or [Upload](/docs/beta/fields/upload) fields. +With this feature, you can dramatically reduce the amount of JSON that is populated from [Relationship](/docs/fields/relationship) or [Upload](/docs/fields/upload) fields. -For example, in your content model, you might have a `Link` field which links out to a different page. When you go to retrieve these links, you really only need the `slug` of the page. +For example, in your content model, you might have a `Link` field which links out to a different page. When you go to retrieve these links, you really only need the `slug` of the page. Loading all of the page content, its related links, and everything else is going to be overkill and will bog down your Payload APIs. Instead, you can define the `defaultPopulate` property on your `Pages` collection, so that when Payload "populates" a related Page, it only selects the `slug` field and therefore returns significantly less JSON: diff --git a/docs/rich-text/overview.mdx b/docs/rich-text/overview.mdx index 405893d6db..0ee2888fb6 100644 --- a/docs/rich-text/overview.mdx +++ b/docs/rich-text/overview.mdx @@ -9,7 +9,7 @@ keywords: slatejs, lexical, rich text, json, custom editor, javascript, typescri Payload currently supports two official rich text editors and you can choose either one depending on your needs. 1. [SlateJS](/docs/rich-text/slate) - stable, backwards-compatible with 1.0 -2. [Lexical](/docs/lexical/overview) - beta, where things will be moving in the future +2. [Lexical](/docs/lexical/overview) - recommended These editors are built on an "adapter pattern" which means that you will need to install the editor you'd like to use. Take a look at the docs for the editor you'd like to use for instructions on how to install it. diff --git a/docs/upload/storage-adapters.mdx b/docs/upload/storage-adapters.mdx index 94e68deaf3..954c6a4d75 100644 --- a/docs/upload/storage-adapters.mdx +++ b/docs/upload/storage-adapters.mdx @@ -9,12 +9,12 @@ keywords: uploads, images, media, storage, adapters, s3, vercel, google cloud, a Payload offers additional storage adapters to handle file uploads. These adapters allow you to store files in different locations, such as Amazon S3, Vercel Blob Storage, Google Cloud Storage, and more. | Service | Package | -| -------------------- | ----------------------------------------------------------------------------------------------------------------- | -| Vercel Blob | [`@payloadcms/storage-vercel-blob`](https://github.com/payloadcms/payload/tree/beta/packages/storage-vercel-blob) | -| AWS S3 | [`@payloadcms/storage-s3`](https://github.com/payloadcms/payload/tree/beta/packages/storage-s3) | -| Azure | [`@payloadcms/storage-azure`](https://github.com/payloadcms/payload/tree/beta/packages/storage-azure) | -| Google Cloud Storage | [`@payloadcms/storage-gcs`](https://github.com/payloadcms/payload/tree/beta/packages/storage-gcs) | -| Uploadthing | [`@payloadcms/storage-uploadthing`](https://github.com/payloadcms/payload/tree/beta/packages/uploadthing) | +| -------------------- |-------------------------------------------------------------------------------------------------------------------| +| Vercel Blob | [`@payloadcms/storage-vercel-blob`](https://github.com/payloadcms/payload/tree/main/packages/storage-vercel-blob) | +| AWS S3 | [`@payloadcms/storage-s3`](https://github.com/payloadcms/payload/tree/main/packages/storage-s3) | +| Azure | [`@payloadcms/storage-azure`](https://github.com/payloadcms/payload/tree/main/packages/storage-azure) | +| Google Cloud Storage | [`@payloadcms/storage-gcs`](https://github.com/payloadcms/payload/tree/main/packages/storage-gcs) | +| Uploadthing | [`@payloadcms/storage-uploadthing`](https://github.com/payloadcms/payload/tree/main/packages/uploadthing) | ## Vercel Blob Storage [`@payloadcms/storage-vercel-blob`](https://www.npmjs.com/package/@payloadcms/storage-vercel-blob) @@ -22,7 +22,7 @@ Payload offers additional storage adapters to handle file uploads. These adapter ### Installation ```sh -pnpm add @payloadcms/storage-vercel-blob@beta +pnpm add @payloadcms/storage-vercel-blob ``` ### Usage @@ -71,7 +71,7 @@ export default buildConfig({ ### Installation ```sh -pnpm add @payloadcms/storage-s3@beta +pnpm add @payloadcms/storage-s3 ``` ### Usage @@ -119,7 +119,7 @@ See the the [AWS SDK Package](https://github.com/aws/aws-sdk-js-v3) and [`S3Clie ### Installation ```sh -pnpm add @payloadcms/storage-azure@beta +pnpm add @payloadcms/storage-azure ``` ### Usage @@ -168,7 +168,7 @@ export default buildConfig({ ### Installation ```sh -pnpm add @payloadcms/storage-gcs@beta +pnpm add @payloadcms/storage-gcs ``` ### Usage @@ -218,7 +218,7 @@ export default buildConfig({ ### Installation ```sh -pnpm add @payloadcms/storage-uploadthing@beta +pnpm add @payloadcms/storage-uploadthing ``` ### Usage @@ -261,7 +261,7 @@ If you need to create a custom storage adapter, you can use the [`@payloadcms/pl ### Installation -`pnpm add @payloadcms/plugin-cloud-storage@beta` +`pnpm add @payloadcms/plugin-cloud-storage` ### Usage