diff --git a/.circleci/config.yml b/.circleci/config.yml
index ce95576ce164e..a7d323be7e1b8 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -350,9 +350,6 @@ jobs:
- run: # Quick upgrade to the v2 (any version, we just need the real set version)
command: yarn policies set-version berry
working_directory: /tmp/e2e-tests/gatsby-pnp
- - run: # TODO: remove pinned version
- command: yarn set version 3.1.1
- working_directory: /tmp/e2e-tests/gatsby-pnp
- run: # Explicitly set nodeLinker to avoid Yarn selecting node_modules due to the Yarn 1.x lockfile
command: yarn config set nodeLinker pnp
working_directory: /tmp/e2e-tests/gatsby-pnp
diff --git a/.eslintignore b/.eslintignore
index 6a171fd03861b..66bcd5c31d626 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -28,6 +28,8 @@ packages/gatsby/gatsby-admin-public
packages/gatsby-codemods/transforms
packages/gatsby-source-graphql/batching
packages/gatsby-plugin-gatsby-cloud/components
+packages/gatsby-plugin-gatsby-cloud/context
+packages/gatsby-plugin-gatsby-cloud/models
packages/gatsby-plugin-gatsby-cloud/utils
packages/gatsby-plugin-preact/fast-refresh
diff --git a/.github/actions/gatsby-site-showcase-validator/README.md b/.github/actions/gatsby-site-showcase-validator/README.md
index 2751dcfe61983..61b7960a3fd9d 100644
--- a/.github/actions/gatsby-site-showcase-validator/README.md
+++ b/.github/actions/gatsby-site-showcase-validator/README.md
@@ -1,5 +1,5 @@
# Gatsby Site Showcase Validator
-A simple node script that visits and checks all of the sites in the [Site Showcase](https://www.gatsbyjs.org/showcase/) for Gatsby.
+A simple node script that visits and checks all of the sites in the [Site Showcase](https://www.gatsbyjs.com/showcase/) for Gatsby.
Run locally [using act](https://github.com/nektos/act): `act -a "gatsby-site-showcase-validator"`
diff --git a/README.md b/README.md
index 7c0cea839f6d8..9cb09abb7b685 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,3 @@
-[](https://gatsbyconf.com?utm_source=github&utm_medium=readme-banner&utm_campaign=gatsbyconf22-repo-banner)
-
----
-
@@ -66,41 +62,33 @@
Gatsby helps professional developers efficiently create maintainable, highly-performant, content-rich websites.
-- **Go Beyond Static Websites.** Get all the benefits of static websites with none of the
- limitations. Gatsby sites are fully functional React apps, so you can create high-quality,
- dynamic web apps, from blogs to e-commerce sites to user dashboards.
+- **Load Data From Anywhere.** Gatsby pulls in data from any data source, whether it’s Markdown files, a headless CMS like Contentful or WordPress, or a REST or GraphQL API. Use source plugins to load your data, then develop using Gatsby’s uniform GraphQL interface.
-- **Choose your Rendering Options.** You can choose alternative [rendering options](https://gatsbyjs.com/docs/conceptual/rendering-options/), namely Deferred Static Generation (DSG) and Server-Side Rendering (SSR), in addition to Static Site Generation (SSG) — on a per-page basis. This type of granular control allows you to optimize for performance and productivity without sacrificing one for the other.
+- **Go Beyond Static Websites.** Get all the benefits of static websites with none of the limitations. Gatsby sites are fully functional React apps, so you can create high-quality, dynamic web apps, from blogs to e-commerce sites to user dashboards.
-- **Use a Modern Stack for Every Site.** No matter where the data comes from, Gatsby sites are
- built using React and GraphQL. Build a uniform workflow for you and your team, regardless of
- whether the data is coming from the same backend.
+- **Choose your Rendering Options.** You can choose alternative [rendering options](https://gatsbyjs.com/docs/conceptual/rendering-options/), namely Deferred Static Generation (DSG) and Server-Side Rendering (SSR), in addition to Static Site Generation (SSG) — on a per-page basis. This type of granular control allows you to optimize for performance and productivity without sacrificing one for the other.
-- **Load Data From Anywhere.** Gatsby pulls in data from any data source, whether it’s Markdown
- files, a headless CMS like Contentful or WordPress, or a REST or GraphQL API. Use source plugins
- to load your data, then develop using Gatsby’s uniform GraphQL interface.
+- **Performance Is Baked In.** Ace your performance audits by default. Gatsby automates code splitting, image optimization, inlining critical styles, lazy-loading, prefetching resources, and more to ensure your site is fast — no manual tuning required.
-- **Performance Is Baked In.** Ace your performance audits by default. Gatsby automates code
- splitting, image optimization, inlining critical styles, lazy-loading, prefetching resources,
- and more to ensure your site is fast — no manual tuning required.
+- **Use a Modern Stack for Every Site.** No matter where the data comes from, Gatsby sites are built using React and GraphQL. Build a uniform workflow for you and your team, regardless of whether the data is coming from the same backend.
-- **Host at Scale for Pennies.** Gatsby sites don’t require servers, so you can host your entire
- site on a CDN for a fraction of the cost of a server-rendered site. Many Gatsby sites can be
- hosted entirely free on [Gatsby Cloud](https://www.gatsbyjs.com/cloud/) and other similar services.
+- **Host at Scale for Pennies.** Gatsby sites don’t require servers, so you can host your entire site on a CDN for a fraction of the cost of a server-rendered site. Many Gatsby sites can be hosted entirely free on [Gatsby Cloud](https://www.gatsbyjs.com/cloud/) and other similar services.
[**Learn how to use Gatsby for your next project.**](https://www.gatsbyjs.com/docs/)
-## What’s In This Document
+## 🚀 Ship your first Gatsby site in 5 Minutes
+
+Click the link below to quickly try the workflow of developing, building, and deploying websites with Gatsby and Gatsby Cloud.
+
+[ ](https://www.gatsbyjs.com/dashboard/deploynow?url=https://github.com/gatsbyjs/gatsby-starter-blog&utm_source=github&utm_medium=link&utm_campaign=onboarding&utm_content=oss)
+
+At the end of this process, you'll have
-- [Get Up and Running in 5 Minutes](#-get-up-and-running-in-5-minutes)
-- [Learning Gatsby](#-learning-gatsby)
-- [Release Notes](#-release-notes)
-- [Migration Guides](#-migration-guides)
-- [How to Contribute](#-how-to-contribute)
-- [License](#-license)
-- [Thanks to Our Contributors](#-thanks)
+1. a site working on Gatsby Cloud
+2. a new repository that is linked to that new site
+3. as you push changes to your new repository, Gatsby Cloud will automatically rebuild and redeploy your site!
-## 🚀 Get Up and Running in 5 Minutes
+## 💻 Get started with Gatsby _locally_ in 5 Minutes
You can get a new Gatsby site up and running on your local dev environment in 5 minutes with these four steps:
diff --git a/benchmarks/gabe-csv-markdown/src/components/bio.js b/benchmarks/gabe-csv-markdown/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-csv-markdown/src/components/bio.js
+++ b/benchmarks/gabe-csv-markdown/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-csv-markdown/src/components/layout.js b/benchmarks/gabe-csv-markdown/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-csv-markdown/src/components/layout.js
+++ b/benchmarks/gabe-csv-markdown/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-csv-text/src/components/bio.js b/benchmarks/gabe-csv-text/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-csv-text/src/components/bio.js
+++ b/benchmarks/gabe-csv-text/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-csv-text/src/components/layout.js b/benchmarks/gabe-csv-text/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-csv-text/src/components/layout.js
+++ b/benchmarks/gabe-csv-text/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-fs-markdown-images/src/components/bio.js b/benchmarks/gabe-fs-markdown-images/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-fs-markdown-images/src/components/bio.js
+++ b/benchmarks/gabe-fs-markdown-images/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-fs-markdown-images/src/components/layout.js b/benchmarks/gabe-fs-markdown-images/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-fs-markdown-images/src/components/layout.js
+++ b/benchmarks/gabe-fs-markdown-images/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-fs-markdown-route-api/src/components/bio.js b/benchmarks/gabe-fs-markdown-route-api/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-fs-markdown-route-api/src/components/bio.js
+++ b/benchmarks/gabe-fs-markdown-route-api/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-fs-markdown-route-api/src/components/layout.js b/benchmarks/gabe-fs-markdown-route-api/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-fs-markdown-route-api/src/components/layout.js
+++ b/benchmarks/gabe-fs-markdown-route-api/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-fs-markdown/src/components/bio.js b/benchmarks/gabe-fs-markdown/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-fs-markdown/src/components/bio.js
+++ b/benchmarks/gabe-fs-markdown/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-fs-markdown/src/components/layout.js b/benchmarks/gabe-fs-markdown/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-fs-markdown/src/components/layout.js
+++ b/benchmarks/gabe-fs-markdown/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-fs-mdx/src/components/layout.js b/benchmarks/gabe-fs-mdx/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-fs-mdx/src/components/layout.js
+++ b/benchmarks/gabe-fs-mdx/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-fs-text/src/components/bio.js b/benchmarks/gabe-fs-text/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-fs-text/src/components/bio.js
+++ b/benchmarks/gabe-fs-text/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-fs-text/src/components/layout.js b/benchmarks/gabe-fs-text/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-fs-text/src/components/layout.js
+++ b/benchmarks/gabe-fs-text/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-json-text/src/components/bio.js b/benchmarks/gabe-json-text/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-json-text/src/components/bio.js
+++ b/benchmarks/gabe-json-text/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-json-text/src/components/layout.js b/benchmarks/gabe-json-text/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-json-text/src/components/layout.js
+++ b/benchmarks/gabe-json-text/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/gabe-yaml-text/src/components/bio.js b/benchmarks/gabe-yaml-text/src/components/bio.js
index 867acfe818a21..7da2de84df3fa 100644
--- a/benchmarks/gabe-yaml-text/src/components/bio.js
+++ b/benchmarks/gabe-yaml-text/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/gabe-yaml-text/src/components/layout.js b/benchmarks/gabe-yaml-text/src/components/layout.js
index 0fb3df2756467..0110e61d165d9 100644
--- a/benchmarks/gabe-yaml-text/src/components/layout.js
+++ b/benchmarks/gabe-yaml-text/src/components/layout.js
@@ -62,7 +62,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/image-processing/gatsby-browser.js b/benchmarks/image-processing/gatsby-browser.js
index b1e5c316b7f94..ff807f19ef7cc 100644
--- a/benchmarks/image-processing/gatsby-browser.js
+++ b/benchmarks/image-processing/gatsby-browser.js
@@ -1,7 +1,7 @@
/**
* Implement Gatsby's Browser APIs in this file.
*
- * See: https://www.gatsbyjs.org/docs/browser-apis/
+ * See: https://www.gatsbyjs.com/docs/browser-apis/
*/
// You can delete this file if you're not using it
diff --git a/benchmarks/image-processing/gatsby-ssr.js b/benchmarks/image-processing/gatsby-ssr.js
index b17b8fc19d659..01d83255f4f2c 100644
--- a/benchmarks/image-processing/gatsby-ssr.js
+++ b/benchmarks/image-processing/gatsby-ssr.js
@@ -1,7 +1,7 @@
/**
* Implement Gatsby's SSR (Server Side Rendering) APIs in this file.
*
- * See: https://www.gatsbyjs.org/docs/ssr-apis/
+ * See: https://www.gatsbyjs.com/docs/ssr-apis/
*/
// You can delete this file if you're not using it
diff --git a/benchmarks/image-processing/src/components/image.js b/benchmarks/image-processing/src/components/image.js
index e61edb684de4e..b134a7b80be74 100644
--- a/benchmarks/image-processing/src/components/image.js
+++ b/benchmarks/image-processing/src/components/image.js
@@ -10,7 +10,7 @@ import Img from "gatsby-image"
*
* For more information, see the docs:
* - `gatsby-image`: https://gatsby.dev/gatsby-image
- * - `useStaticQuery`: https://www.gatsbyjs.org/docs/use-static-query/
+ * - `useStaticQuery`: https://www.gatsbyjs.com/docs/use-static-query/
*/
const Image = () => {
diff --git a/benchmarks/image-processing/src/components/layout.js b/benchmarks/image-processing/src/components/layout.js
index 8d559875eb270..5cded509ac498 100644
--- a/benchmarks/image-processing/src/components/layout.js
+++ b/benchmarks/image-processing/src/components/layout.js
@@ -2,7 +2,7 @@
* Layout component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
@@ -38,7 +38,7 @@ const Layout = ({ children }) => {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
>
diff --git a/benchmarks/image-processing/src/components/seo.js b/benchmarks/image-processing/src/components/seo.js
index e15f59958a3c0..b40a909ae8c8b 100644
--- a/benchmarks/image-processing/src/components/seo.js
+++ b/benchmarks/image-processing/src/components/seo.js
@@ -2,7 +2,7 @@
* SEO component that queries for data with
* Gatsby's useStaticQuery React hook
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/markdown_id/src/components/bio.js b/benchmarks/markdown_id/src/components/bio.js
index f74b2e8318dc5..62b09465ec8c3 100644
--- a/benchmarks/markdown_id/src/components/bio.js
+++ b/benchmarks/markdown_id/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/markdown_id/src/components/layout.js b/benchmarks/markdown_id/src/components/layout.js
index 5a44c9cacfed2..fa512ff708b40 100644
--- a/benchmarks/markdown_id/src/components/layout.js
+++ b/benchmarks/markdown_id/src/components/layout.js
@@ -65,7 +65,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/markdown_id/src/components/seo.js b/benchmarks/markdown_id/src/components/seo.js
index e15f59958a3c0..b40a909ae8c8b 100644
--- a/benchmarks/markdown_id/src/components/seo.js
+++ b/benchmarks/markdown_id/src/components/seo.js
@@ -2,7 +2,7 @@
* SEO component that queries for data with
* Gatsby's useStaticQuery React hook
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/markdown_slug/src/components/bio.js b/benchmarks/markdown_slug/src/components/bio.js
index f74b2e8318dc5..62b09465ec8c3 100644
--- a/benchmarks/markdown_slug/src/components/bio.js
+++ b/benchmarks/markdown_slug/src/components/bio.js
@@ -2,7 +2,7 @@
* Bio component that queries for data
* with Gatsby's useStaticQuery component
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/markdown_slug/src/components/layout.js b/benchmarks/markdown_slug/src/components/layout.js
index 5a44c9cacfed2..fa512ff708b40 100644
--- a/benchmarks/markdown_slug/src/components/layout.js
+++ b/benchmarks/markdown_slug/src/components/layout.js
@@ -65,7 +65,7 @@ class Layout extends React.Component {
© {new Date().getFullYear()}, Built with
{` `}
- Gatsby
+ Gatsby
)
diff --git a/benchmarks/markdown_slug/src/components/seo.js b/benchmarks/markdown_slug/src/components/seo.js
index e15f59958a3c0..b40a909ae8c8b 100644
--- a/benchmarks/markdown_slug/src/components/seo.js
+++ b/benchmarks/markdown_slug/src/components/seo.js
@@ -2,7 +2,7 @@
* SEO component that queries for data with
* Gatsby's useStaticQuery React hook
*
- * See: https://www.gatsbyjs.org/docs/use-static-query/
+ * See: https://www.gatsbyjs.com/docs/use-static-query/
*/
import React from "react"
diff --git a/benchmarks/source-agilitycms/gatsby-config.js b/benchmarks/source-agilitycms/gatsby-config.js
index 65a00a262366a..c10190d3d7b4e 100644
--- a/benchmarks/source-agilitycms/gatsby-config.js
+++ b/benchmarks/source-agilitycms/gatsby-config.js
@@ -13,7 +13,7 @@ const agilityConfig = {
/**
* Configure your Gatsby site with this file.
*
- * See: https://www.gatsbyjs.org/docs/gatsby-config/
+ * See: https://www.gatsbyjs.com/docs/gatsby-config/
*/
module.exports = {
diff --git a/benchmarks/source-strapi/gatsby-browser.js b/benchmarks/source-strapi/gatsby-browser.js
index b1e5c316b7f94..ff807f19ef7cc 100644
--- a/benchmarks/source-strapi/gatsby-browser.js
+++ b/benchmarks/source-strapi/gatsby-browser.js
@@ -1,7 +1,7 @@
/**
* Implement Gatsby's Browser APIs in this file.
*
- * See: https://www.gatsbyjs.org/docs/browser-apis/
+ * See: https://www.gatsbyjs.com/docs/browser-apis/
*/
// You can delete this file if you're not using it
diff --git a/deprecated-packages/gatsby-image/README.md b/deprecated-packages/gatsby-image/README.md
index cd9471bf0e511..a6f066881e160 100644
--- a/deprecated-packages/gatsby-image/README.md
+++ b/deprecated-packages/gatsby-image/README.md
@@ -269,7 +269,7 @@ format, use the `withWebp` fragments. If the browser doesn't support WebP,
`gatsby-image` will fall back to the default image format.
For more information about these options, please see the
-[Gatsby Image API](https://www.gatsbyjs.org/docs/gatsby-image/#image-query-fragments).
+[Gatsby Image API](https://www.gatsbyjs.com/docs/gatsby-image/#image-query-fragments).
_Please see the
[gatsby-plugin-sharp](/plugins/gatsby-plugin-sharp/#tracedsvg)
diff --git a/deprecated-packages/gatsby-image/src/index.js b/deprecated-packages/gatsby-image/src/index.js
index cd4b732d410e1..923b344a0c0ce 100644
--- a/deprecated-packages/gatsby-image/src/index.js
+++ b/deprecated-packages/gatsby-image/src/index.js
@@ -192,7 +192,7 @@ function groupByMedia(imageVariants) {
if (without.length > 1 && process.env.NODE_ENV !== `production`) {
console.warn(
- `We've found ${without.length} sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images`
+ `We've found ${without.length} sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.com/plugins/gatsby-image/#art-directing-multiple-images`
)
}
diff --git a/packages/gatsby-plugin-create-client-paths/.babelrc b/deprecated-packages/gatsby-plugin-create-client-paths/.babelrc
similarity index 100%
rename from packages/gatsby-plugin-create-client-paths/.babelrc
rename to deprecated-packages/gatsby-plugin-create-client-paths/.babelrc
diff --git a/packages/gatsby-plugin-create-client-paths/.gitignore b/deprecated-packages/gatsby-plugin-create-client-paths/.gitignore
similarity index 100%
rename from packages/gatsby-plugin-create-client-paths/.gitignore
rename to deprecated-packages/gatsby-plugin-create-client-paths/.gitignore
diff --git a/packages/gatsby-plugin-create-client-paths/.npmignore b/deprecated-packages/gatsby-plugin-create-client-paths/.npmignore
similarity index 100%
rename from packages/gatsby-plugin-create-client-paths/.npmignore
rename to deprecated-packages/gatsby-plugin-create-client-paths/.npmignore
diff --git a/packages/gatsby-plugin-create-client-paths/CHANGELOG.md b/deprecated-packages/gatsby-plugin-create-client-paths/CHANGELOG.md
similarity index 98%
rename from packages/gatsby-plugin-create-client-paths/CHANGELOG.md
rename to deprecated-packages/gatsby-plugin-create-client-paths/CHANGELOG.md
index 45e23f0777776..d3d1845df650d 100644
--- a/packages/gatsby-plugin-create-client-paths/CHANGELOG.md
+++ b/deprecated-packages/gatsby-plugin-create-client-paths/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.9.0](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-create-client-paths@4.9.0/packages/gatsby-plugin-create-client-paths) (2022-03-01)
+
+[🧾 Release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.9)
+
+#### Chores
+
+- Format changelog files ([088f23b](https://github.com/gatsbyjs/gatsby/commit/088f23b084b67f746a383e06e9216cef83270317))
+
## [4.8.0](https://github.com/gatsbyjs/gatsby/commits/gatsby-plugin-create-client-paths@4.8.0/packages/gatsby-plugin-create-client-paths) (2022-02-22)
[🧾 Release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8)
diff --git a/packages/gatsby-plugin-create-client-paths/README.md b/deprecated-packages/gatsby-plugin-create-client-paths/README.md
similarity index 96%
rename from packages/gatsby-plugin-create-client-paths/README.md
rename to deprecated-packages/gatsby-plugin-create-client-paths/README.md
index 85a682367105a..e3958ba1bed11 100644
--- a/packages/gatsby-plugin-create-client-paths/README.md
+++ b/deprecated-packages/gatsby-plugin-create-client-paths/README.md
@@ -4,7 +4,7 @@
Use this plugin to simplify creating a “hybrid” Gatsby app with both statically rendered pages as well as "client-paths". These paths exist on the client only and do not correspond to index.html files in an app's built assets.
-For more information refer to [client-only routes & user authentication](https://www.gatsbyjs.org/docs/client-only-routes-and-user-authentication/).
+For more information refer to [client-only routes & user authentication](https://www.gatsbyjs.com/docs/client-only-routes-and-user-authentication/).
## Migration
diff --git a/packages/gatsby-plugin-create-client-paths/index.js b/deprecated-packages/gatsby-plugin-create-client-paths/index.js
similarity index 100%
rename from packages/gatsby-plugin-create-client-paths/index.js
rename to deprecated-packages/gatsby-plugin-create-client-paths/index.js
diff --git a/packages/gatsby-plugin-create-client-paths/package.json b/deprecated-packages/gatsby-plugin-create-client-paths/package.json
similarity index 92%
rename from packages/gatsby-plugin-create-client-paths/package.json
rename to deprecated-packages/gatsby-plugin-create-client-paths/package.json
index 4ccd0a62116de..50f4858b7548b 100644
--- a/packages/gatsby-plugin-create-client-paths/package.json
+++ b/deprecated-packages/gatsby-plugin-create-client-paths/package.json
@@ -1,7 +1,7 @@
{
"name": "gatsby-plugin-create-client-paths",
"description": "Gatsby-plugin for creating paths that exist only on the client",
- "version": "4.9.0-next.0",
+ "version": "4.10.0-next.1",
"author": "scott.eckenthal@gmail.com",
"bugs": {
"url": "https://github.com/gatsbyjs/gatsby/issues"
@@ -12,7 +12,7 @@
"devDependencies": {
"@babel/cli": "^7.15.4",
"@babel/core": "^7.15.5",
- "babel-preset-gatsby-package": "^2.9.0-next.0",
+ "babel-preset-gatsby-package": "^2.10.0-next.1",
"cross-env": "^7.0.3"
},
"homepage": "https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-create-client-paths#readme",
diff --git a/packages/gatsby-plugin-create-client-paths/src/__tests__/gatsby-node.js b/deprecated-packages/gatsby-plugin-create-client-paths/src/__tests__/gatsby-node.js
similarity index 100%
rename from packages/gatsby-plugin-create-client-paths/src/__tests__/gatsby-node.js
rename to deprecated-packages/gatsby-plugin-create-client-paths/src/__tests__/gatsby-node.js
diff --git a/packages/gatsby-plugin-create-client-paths/src/gatsby-node.js b/deprecated-packages/gatsby-plugin-create-client-paths/src/gatsby-node.js
similarity index 100%
rename from packages/gatsby-plugin-create-client-paths/src/gatsby-node.js
rename to deprecated-packages/gatsby-plugin-create-client-paths/src/gatsby-node.js
diff --git a/deprecated-packages/gatsby-recipes/CONTRIBUTING.md b/deprecated-packages/gatsby-recipes/CONTRIBUTING.md
index 59c5363b9ac9c..82fe96be51df9 100644
--- a/deprecated-packages/gatsby-recipes/CONTRIBUTING.md
+++ b/deprecated-packages/gatsby-recipes/CONTRIBUTING.md
@@ -88,7 +88,7 @@ This example will be used throughout this document as an illustration tool.
## Setting up a development environment
-First [follow the instructions on setting up a local Gatsby dev environment](https://www.gatsbyjs.org/contributing/setting-up-your-local-dev-environment/).
+First [follow the instructions on setting up a local Gatsby dev environment](https://www.gatsbyjs.com/contributing/setting-up-your-local-dev-environment/).
### Running the unit tests
@@ -108,7 +108,7 @@ yarn jest packages/gatsby-recipes --testPathPattern "providers" --watch
### Using gatsby-dev-cli
-You can create test recipes that you run in a test site. You’ll need to [use `gatsby-dev-cli` for this.](https://www.gatsbyjs.org/contributing/setting-up-your-local-dev-environment/#gatsby-functional-changes).
+You can create test recipes that you run in a test site. You’ll need to [use `gatsby-dev-cli` for this.](https://www.gatsbyjs.com/contributing/setting-up-your-local-dev-environment/#gatsby-functional-changes).
One note, as you’ll be testing changes to the Gatsby CLI — instead of running the global gatsby-cli package (i.e. what you’d run by typing `gatsby`, you’ll want to run the version copied over by `gatsby-dev-cli` by running `./node_modules/.bin/gatsby`.
diff --git a/deprecated-packages/gatsby-recipes/README.md b/deprecated-packages/gatsby-recipes/README.md
index 087cf15bc0cc4..488f49d6675c0 100644
--- a/deprecated-packages/gatsby-recipes/README.md
+++ b/deprecated-packages/gatsby-recipes/README.md
@@ -13,10 +13,10 @@ Recipes to automate more things.
We chose [MDX](https://mdxjs.com/) to allow for a literate programming style of writing recipes which
enables us to port our dozens of recipes from
-https://www.gatsbyjs.org/docs/recipes/ as well as in the future, entire
+https://www.gatsbyjs.com/docs/recipes/ as well as in the future, entire
tutorials.
-[Read more about Recipes on the launch blog post](https://www.gatsbyjs.org/blog/2020-04-15-announcing-gatsby-recipes/)
+[Read more about Recipes on the launch blog post](https://www.gatsbyjs.com/blog/2020-04-15-announcing-gatsby-recipes/)
There's an umbrella issue for testing / using Recipes during its incubation stage.
Follow the issue for updates! https://github.com/gatsbyjs/gatsby/issues/22991
@@ -285,5 +285,5 @@ a step
If you’d like to write a recipe, there are a few great places to get an idea:
- Think of a task that took you more time than other tasks in the last Gatsby site you built. Is there a way to automate any part of that task?
-- Look at this list of recipes in the Gatsby docs. Many of these can be partially or fully automated through creating a recipe `mdx` file. https://www.gatsbyjs.org/docs/recipes/
+- Look at this list of recipes in the Gatsby docs. Many of these can be partially or fully automated through creating a recipe `mdx` file. https://www.gatsbyjs.com/docs/recipes/
- community members have posted a number of recipes in the [recipes umbrella issue](https://github.com/gatsbyjs/gatsby/issues/22991). You can browse their ideas to find inspiration for new recipes to write.
diff --git a/deprecated-packages/gatsby-recipes/recipes/README.md b/deprecated-packages/gatsby-recipes/recipes/README.md
index 67792bfed4970..7a026df69355f 100644
--- a/deprecated-packages/gatsby-recipes/recipes/README.md
+++ b/deprecated-packages/gatsby-recipes/recipes/README.md
@@ -1,6 +1,6 @@
# Gatsby Recipes MDX Source
-These are the MDX files for the official Recipes. [Please contribute!](https://www.gatsbyjs.org/contributing/how-to-contribute/) We welcome PRs for new recipes and fixes/improvements to existing recipes.
+These are the MDX files for the official Recipes. [Please contribute!](https://www.gatsbyjs.com/contributing/how-to-contribute/) We welcome PRs for new recipes and fixes/improvements to existing recipes.
When you add a new recipe, please also add it to the recipes list at https://github.com/gatsbyjs/gatsby/blob/05151c006974b7636b00f0cd608fac89ddaa1c08/packages/gatsby-recipes/src/cli.js#L60
diff --git a/deprecated-packages/gatsby-recipes/recipes/gatsby-image.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-image.mdx
index fe5e3d136f422..fd9cc1ab5b70e 100644
--- a/deprecated-packages/gatsby-recipes/recipes/gatsby-image.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/gatsby-image.mdx
@@ -5,7 +5,7 @@ the necessary NPM packages & Gatsby plugins
to enable speedy, optimized images with Gatsby Image
in your React code.
-Based on https://www.gatsbyjs.org/docs/working-with-images-in-markdown/
+Based on https://www.gatsbyjs.com/docs/working-with-images-in-markdown/
This recipe:
diff --git a/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx
index 01b570ca33838..4ccd134e4848c 100644
--- a/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx
@@ -1,6 +1,6 @@
# Setup gatsby-plugin-layout
-This plugin sets up [gatsby-plugin-layout](https://www.gatsbyjs.org/packages/gatsby-plugin-layout/?=gatsby%20layout), which enables adding components that live above the page components and persist across page changes.
+This plugin sets up [gatsby-plugin-layout](https://www.gatsbyjs.com/plugins/gatsby-plugin-layout/?=gatsby%20layout), which enables adding components that live above the page components and persist across page changes.
This can be helpful for:
@@ -15,24 +15,24 @@ This recipe:
Installs necessary NPM packages
-
+
---
Installs the Layout plugin in gatsby-config.js
-
+
---
Writes out a sample layout component to get started with.
---
Read more about the documentation for Gatsby Layout Component here:
-https://www.gatsbyjs.org/packages/gatsby-plugin-layout/
+https://www.gatsbyjs.com/plugins/gatsby-plugin-layout/
diff --git a/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx
index 37cdaad375a57..eee1f4b9c9e3d 100644
--- a/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx
@@ -4,7 +4,7 @@ React Helmet is a reusable React component that manages all of your changes to t
Helmet takes plain HTML tags and outputs plain HTML tags.
-[gatsby-plugin-helmet](https://www.gatsbyjs.org/packages/gatsby-plugin-react-helmet/?=react%20helmet) makes it easy to use React Helmet inside Gatsby projects as it automatically adds title and meta tags to the HTML during SSR.
+[gatsby-plugin-helmet](https://www.gatsbyjs.com/plugins/gatsby-plugin-react-helmet/?=react%20helmet) makes it easy to use React Helmet inside Gatsby projects as it automatically adds title and meta tags to the HTML during SSR.
This recipe:
@@ -33,7 +33,7 @@ Writes out an `` component which helps ensure pages have the necessary titl
---
Read more about Gatsby React Helmet here:
-https://www.gatsbyjs.org/packages/gatsby-plugin-react-helmet
+https://www.gatsbyjs.com/plugins/gatsby-plugin-react-helmet
You can also read about the "SEO" component here:
-https://www.gatsbyjs.org/docs/add-seo-component/
+https://www.gatsbyjs.com/docs/add-seo-component/
diff --git a/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx
index f300d07202c20..913c19740c920 100644
--- a/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx
@@ -1,6 +1,6 @@
# Gatsby Theme Blog Core Starter Recipe
-[Gatsby theme blog core](https://www.gatsbyjs.org/packages/gatsby-theme-blog-core/) is a great theme for adding blog functionality to your site. It's designed to handle sourcing your blog data for you so you can style it however you like.
+[Gatsby theme blog core](https://www.gatsbyjs.com/plugins/gatsby-theme-blog-core/) is a great theme for adding blog functionality to your site. It's designed to handle sourcing your blog data for you so you can style it however you like.
This recipe:
@@ -14,14 +14,20 @@ Installs necessary NPM packages.
Installs the `gatsby-theme-blog-core` plugin in `gatsby-config.js` and makes use of the `basePath` configuration so the blog listing appears at `/blog`.
-
+
---
-Adds some posts.
+Adds some posts.
-
-
+
+
---
diff --git a/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx
index e8bd0233e5167..77707843f8132 100644
--- a/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx
@@ -1,6 +1,6 @@
# Setup Gatsby Theme Blog
-[Gatsby theme blog](https://www.gatsbyjs.org/packages/gatsby-theme-blog/) is a great theme for adding blog functionality to your site.
+[Gatsby theme blog](https://www.gatsbyjs.com/plugins/gatsby-theme-blog/) is a great theme for adding blog functionality to your site.
This recipe:
@@ -15,13 +15,16 @@ Installs necessary NPM packages.
Installs the `gatsby-theme-blog` plugin in `gatsby-config.js` and makes use of the `basePath` configuration so the blog listing appears at `/blog`.
-
+
---
Adds a post.
-
+
---
diff --git a/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx
index c1e77d942c250..160e06dadcec5 100644
--- a/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx
@@ -1,6 +1,6 @@
# Gatsby Theme Notes Starter Recipe
-[Gatsby theme notes](https://www.gatsbyjs.org/packages/gatsby-theme-notes) is a great theme for adding learning notes to your site.
+[Gatsby theme notes](https://www.gatsbyjs.com/plugins/gatsby-theme-notes) is a great theme for adding learning notes to your site.
This recipe:
@@ -14,13 +14,16 @@ Installs necessary NPM package.
Installs the `gatsby-theme-notes` plugin in `gatsby-config.js`.
-
+
---
Adds a note.
-
+
---
@@ -29,4 +32,3 @@ After installing this recipe, you can use your site for notetaking.
When you've finished installing the recipe, run `gatsby develop` and check out `http://localhost:8000/notes` for the list of notes.
---
-
diff --git a/deprecated-packages/gatsby-recipes/recipes/mdx-images.mdx b/deprecated-packages/gatsby-recipes/recipes/mdx-images.mdx
index b631cc6ef69b5..66a6ebea3bd71 100644
--- a/deprecated-packages/gatsby-recipes/recipes/mdx-images.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/mdx-images.mdx
@@ -4,7 +4,7 @@ This recipe installs and configures all
the necessary NPM packages & Gatsby plugins
to enable inline-images in MDX and MD files.
-Based on https://www.gatsbyjs.org/docs/working-with-images-in-markdown/
+Based on https://www.gatsbyjs.com/docs/working-with-images-in-markdown/
This recipe:
diff --git a/deprecated-packages/gatsby-recipes/recipes/pwa.mdx b/deprecated-packages/gatsby-recipes/recipes/pwa.mdx
index f834e879ab6d2..dc2019a79b7be 100644
--- a/deprecated-packages/gatsby-recipes/recipes/pwa.mdx
+++ b/deprecated-packages/gatsby-recipes/recipes/pwa.mdx
@@ -50,5 +50,5 @@ After running this recipe, your site will be a PWA.
Refer to the documentation for the manifest & offline plugins if there are any
other edits you'd like to make.
-- https://www.gatsbyjs.org/packages/gatsby-plugin-manifest
-- https://www.gatsbyjs.org/packages/gatsby-plugin-offline
+- https://www.gatsbyjs.com/plugins/gatsby-plugin-manifest
+- https://www.gatsbyjs.com/plugins/gatsby-plugin-offline
diff --git a/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap
index ec89f1dc620c0..c15fa3faf45a0 100644
--- a/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap
+++ b/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap
@@ -521,7 +521,7 @@ Object {
"currentState": "/**
* Configure your Gatsby site with this file.
*
- * See: https://www.gatsbyjs.org/docs/gatsby-config/
+ * See: https://www.gatsbyjs.com/docs/gatsby-config/
*/
module.exports = {
/* Your site config here */
@@ -557,7 +557,7 @@ module.exports = {
"newState": "/**
* Configure your Gatsby site with this file.
*
- * See: https://www.gatsbyjs.org/docs/gatsby-config/
+ * See: https://www.gatsbyjs.com/docs/gatsby-config/
*/
module.exports = {
/* Your site config here */
@@ -593,7 +593,7 @@ Object {
"currentState": "/**
* Configure your Gatsby site with this file.
*
- * See: https://www.gatsbyjs.org/docs/gatsby-config/
+ * See: https://www.gatsbyjs.com/docs/gatsby-config/
*/
module.exports = {
/* Your site config here */
@@ -630,7 +630,7 @@ module.exports = {
"newState": "/**
* Configure your Gatsby site with this file.
*
- * See: https://www.gatsbyjs.org/docs/gatsby-config/
+ * See: https://www.gatsbyjs.com/docs/gatsby-config/
*/
module.exports = {
/* Your site config here */
diff --git a/deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.js
index 51c72b3fbfa67..a14da88ff6050 100644
--- a/deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.js
+++ b/deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.js
@@ -65,7 +65,7 @@ const readConfigFile = async root => {
src = `/**
* Configure your Gatsby site with this file.
*
- * See: https://www.gatsbyjs.org/docs/gatsby-config/
+ * See: https://www.gatsbyjs.com/docs/gatsby-config/
*/
module.exports = {
diff --git a/docs/contributing/gatsby-governance-model.md b/docs/contributing/gatsby-governance-model.md
index ae78bb69505c2..3e481ab077a12 100644
--- a/docs/contributing/gatsby-governance-model.md
+++ b/docs/contributing/gatsby-governance-model.md
@@ -20,7 +20,7 @@ The [Gatsby User Collective](https://gatsbyuc.dev/)'s goal is to democratize the
### Areas for contribution
-As the core of Gatsby is a complex piece of software, it requires some onboarding before contributions can be made efficiently. We're clearly defining here in which areas we accept contributions at the moment and in which not. This is especially important for new features as they always have an inherent maintenance cost -- and making changes without the complete context around Gatsby is difficult. _This list is not set in stone and can change when e.g. a "Core Maintainer (L3)" role is introduced._
+As the core of Gatsby is a complex piece of software, it requires some onboarding before contributions can be made efficiently. We're clearly defining here in which areas we accept contributions without any prior interaction with the team at the moment and in which not. This is especially important for new features as they always have an inherent maintenance cost -- and making changes without the complete context around Gatsby is difficult. _This list is not set in stone and can change when e.g. a "Core Maintainer (L3)" role is introduced._
We accept all types of contributions to:
@@ -30,12 +30,12 @@ We accept all types of contributions to:
- [`e2e-tests`](https://github.com/gatsbyjs/gatsby/tree/master/e2e-tests)
- [`docs`](https://github.com/gatsbyjs/gatsby/tree/master/docs)
-We accept all types of contributions to [`packages`](https://github.com/gatsbyjs/gatsby/tree/master/packages) with these exceptions:
+We accept all types of contributions to [`packages`](https://github.com/gatsbyjs/gatsby/tree/master/packages) but the following packages have extra requirements:
- [`gatsby`](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby)
- [`gatsby-core-utils/remote-file-utils`](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-core-utils/src/remote-file-utils)
-For the areas above we accept a limited set of contribution types, such as bug fixes and documentation updates. To implement new features in these areas you must open a [feature request](#feature-requests) first.
+For these two packages, we ask you to open a [feature request](#feature-requests) (or for larger changes an [RFC](/contributing/rfc-process/)) before opening PRs for features. Contributions, such as bug fixes and documentation updates, can be made without any prior interaction with the team and don't require a feature request/RFC.
## Contributor levels
@@ -63,7 +63,7 @@ Have you done something (big or small) to contribute to the health, success, or
#### Privileges
-At this time we have no specific privileges for this role. If you have ideas here please let us know!
+At this time we have no specific privileges for this role except that you can claim yourself [free Gatsby swag](/contributing/contributor-swag/). If you have ideas here please let us know!
#### Responsibilities
@@ -96,7 +96,7 @@ There is no strict minimum number of contributions needed to reach this level, a
#### Privileges
-- All privileges of the [Contributor role](#TODO), plus...
+- All privileges of the [Contributor role](#level-1-l1---contributor), plus...
- Invitation to the `@Maintainer` role on [Discord](https://gatsby.dev/discord)
- Invitation to the `Maintainers` team on GitHub.
- New name color on Discord: **Blue**.
@@ -118,7 +118,7 @@ There is no strict minimum number of contributions needed to reach this level, a
#### Nomination
-To be nominated, a nominee is expected to already be performing some of the responsibilities of a Maintainer over the course of at least a couple of weeks.
+To be nominated, a nominee is expected to already be performing some of the responsibilities of a Maintainer over the course of at least a couple of weeks. You can apply through contacting one of the `@Team` members on Discord who then in turn will trigger a [Voting](#voting) process.
In some rare cases, this role may be revoked by an **Admin**. However, under normal circumstances this role is granted for as long as the contributor wishes to engage with the project.
@@ -130,7 +130,7 @@ Team is a special designation for employees of [Gatsby, Inc.](https://www.gatsby
#### Privileges
-- All privileges of the [Maintainer role](#TODO), plus...
+- All privileges of the [Maintainer role](#level-2-l2---maintainer), plus...
- `@Team` role on [Discord](https://gatsby.dev/discord)
- New name color on Discord: **Purple**.
- `Team` on GitHub.
@@ -164,7 +164,7 @@ Admin is an additional privilege inside the **Team** and is mainly an administra
#### Privileges
-- All privileges of the [Team](#TODO), plus...
+- All privileges of the [Team](#team), plus...
- `@Admin` role on [Discord](https://gatsby.dev/discord)
- Administration privileges on GitHub.
- Administration privileges on Discord (optional).
@@ -185,7 +185,7 @@ If you’d like to learn more about how we approach the relationship between our
### Feature requests
-Please open a [feature request on GitHub Discussions](https://github.com/gatsbyjs/gatsby/discussions/categories/ideas-feature-requests) to voice your ideas. The **Team** will review incoming requests and give a first assessment.
+Please open a [feature request on GitHub Discussions](https://github.com/gatsbyjs/gatsby/discussions/categories/ideas-feature-requests) to voice your ideas. For larger changes please consider opening an [RFC](/contributing/rfc-process/). The **Team** will review incoming requests and give a first assessment.
### RFCs
diff --git a/docs/contributing/gatsby-style-guide.md b/docs/contributing/gatsby-style-guide.md
index 52a6afa925858..f63f22ac53c1a 100644
--- a/docs/contributing/gatsby-style-guide.md
+++ b/docs/contributing/gatsby-style-guide.md
@@ -32,7 +32,7 @@ Many times, the information that needs to go in your document already exists som
Avoid copying and pasting huge chunks of other people's work. Instead, use their work to learn so you can write your own document. If you do quote someone's work verbatim, reference where you got the information.
-If the content is already somewhere else on the .org site, feel free to copy and paste without quoting or referencing.
+If the content is already somewhere else on the site, feel free to copy and paste without quoting or referencing.
Possible sources of great research materials:
diff --git a/docs/docs/conceptual/choosing-analytics-systems.md b/docs/docs/conceptual/choosing-analytics-systems.md
new file mode 100644
index 0000000000000..12c3fe5d901b7
--- /dev/null
+++ b/docs/docs/conceptual/choosing-analytics-systems.md
@@ -0,0 +1,29 @@
+---
+title: Choosing Analytics Systems
+---
+
+Website teams looking to collect insights on user behavior have a wide variety of options.
+
+**Basic Analytics**, which includes [Google Analytics](/plugins/gatsby-plugin-google-analytics/?=google%20analytics), focus on metrics like page views, sessions, bounce rate, entrances and exits, measured on a per-URL basis and tracked over time. They include UTM parameter tracking, in order to tie visitors to specific paid advertising or email campaigns.
+
+Basic analytics tools are often used alongside **Tag Managers** ([Google Tag Manager](/plugins/gatsby-plugin-google-tagmanager/?=google%20tag%20manager)), which can let marketers configure which pages load tracking scripts, or define events when certain elements are clicked.
+
+Google Analytics and Google Tag Manager are the most popular services used on Gatsby sites. But over the last few years, many specialized analytics services have emerged to give deeper insight into visitor behavior.
+
+Gatsby teams have primarily reached for three categories of tools:
+
+**Customer Data Platforms** ([Segment](/plugins/gatsby-plugin-segment-js/?=segment), [Rudderstack](/plugins/gatsby-plugin-rudderstack/?=rudderstack)) are tools that help teams manage and orchestrate multiple analytics systems. This includes centralizing data on visitors.
+
+From an ananlytics perspective, using a CDP allows website teams to replace multiple pixels and trackers with a single tracker, which can significantly improve page performance. (The CDP will ping each service from their systems, rather than the user's browser). CDP includes event replay, so teams can switch marketing tools while preserving historical data.
+
+- Blog post: [How WaveDirect Used Gatsby, Rudderstack, and Sanity to 4X Leads and Dominate Search Results](/blog/how-wavedirect-used-gatsby-rudderstack-and-sanity-to-4x-leads-and-dominate-search-results/)
+
+**Product analytics tools** ([Heap](/plugins/gatsby-plugin-heap/?=gatsby-plugin-heap), [Amplitude](/plugins/gatsby-plugin-amplitude-analytics/?=gatsby-plugin-amplitude), [Mixpanel](/plugins/gatsby-plugin-mixpanel/?=gatsby-plugin-mixpanel)) are aimed at giving more granular ways to segment users, measure the rate at which they performed specific actions, and compare groups of users to each other. They can also include advanced analyses, like cohort retention charts. Some (Heap) will auto-track all events, while others (Mixpanel, Amplitude) require users to define and trigger relevant events in code.
+
+Product analytics tools produce quantitative data -- charts, graphs, and tables -- and are primarily used by demand generation teams to optimize user purchase and conversion rates.
+
+- Blog post: [Jaxxon: Gatsby + Shopify = Faster Growth](/blog/jaxxon-gatsby-shopify-faster-growth)
+
+**Session recording tools** ([FullStory](/plugins/gatsby-plugin-hotjar/?=fulls), [Hotjar](/plugins/gatsby-plugin-hotjar/?=gatsby-plugin-hot)) include heatmaps visualizing where users tended to click, and scrollmaps showing engagement drop-offs on landing pages. They overlay users' actions on page screenshots, and let teams track individual visitors' journey through your website.
+
+Session recording tools collect individualized, qualitative data and tend to be used by designers and UX researchers iterating on page design, layout and copy. In addition, session recordings are often cross-referenced by support teams from their ticketing and chat systems while they are communicating with customers.
diff --git a/docs/docs/conceptual/data-fetching.md b/docs/docs/conceptual/data-fetching.md
index c5032eadf87d1..aa305a50b89f2 100644
--- a/docs/docs/conceptual/data-fetching.md
+++ b/docs/docs/conceptual/data-fetching.md
@@ -60,7 +60,8 @@ module.exports = {
Alternately, if you want to source data yourself you can use APIs Gatsby provides. Source plugins take advantage of the [`sourceNodes` API](/docs/reference/config-files/gatsby-node/#sourceNodes) and the [`createNode` action](/docs/reference/config-files/actions/#createNode) provided by Gatsby to make your data queryable during the build process. If you want to source data yourself you can add a section of code like this using the `createNode` API to add a node to your data layer manually:
```js:title=gatsby-node.js
-const fetch = require(`node-fetch`)
+const fetch = (...args) =>
+ import(`node-fetch`).then(({ default: fetch }) => fetch(...args))
exports.sourceNodes = async ({
actions: { createNode },
diff --git a/docs/docs/glossary.md b/docs/docs/glossary.md
index b576b69c1b54b..c2336b27562bb 100644
--- a/docs/docs/glossary.md
+++ b/docs/docs/glossary.md
@@ -112,6 +112,10 @@ Decoupling describes the separation of different concerns. With [Gatsby](#gatsby
Decoupling refers to the practice of using Drupal as a [headless CMS](#headless-cms). A decoupled Drupal instance functions as a content API that returns JSON for your [frontend](#frontend) to consume.
+### Deferred Static Generation (DSG)
+
+[Deferred Static Generation (DSG)](/docs/how-to/rendering-options/using-deferred-static-generation/) is one of [Gatsby’s rendering options](/docs/conceptual/rendering-options/) and allows you to defer non-critical page generation to user request, speeding up build times. Instead of generating every page at build time, you can decide to build certain pages up front and others only when a user accesses the page at run time.
+
### Deploy
The process of [building](#build) your website or app and uploading onto a [hosting provider](#hosting).
diff --git a/docs/docs/how-to/adding-common-features/adding-forms.md b/docs/docs/how-to/adding-common-features/adding-forms.md
index 88fc8568f595d..a7740cad835ea 100644
--- a/docs/docs/how-to/adding-common-features/adding-forms.md
+++ b/docs/docs/how-to/adding-common-features/adding-forms.md
@@ -5,7 +5,7 @@ examples:
href: "https://github.com/gatsbyjs/gatsby-functions-beta/tree/main/examples/basic-form"
---
-Forms are common to capture user information from site visitors. They range in complexity from simple newsletter email capture boxes, to detailed lead capture forms and signup pages requiring visitors to enter their first & last name, email, and several additional self-identificaton questions.
+Forms are common to capture user information from site visitors. They range in complexity from simple newsletter email capture boxes, to detailed lead capture forms and signup pages requiring visitors to enter their first & last name, email, and several additional self-identification questions.
The humble `