v3.5 Release Notes
Welcome to gatsby@3.5.0
release (May 2021 #1)
Key highlights of this release:
- Performance improvements - up to 20% faster CLI startup, up to 20% faster query running, 70% speedup to creating pages
gatsby-graphql-source-toolkit
v2 - Compatibility with Gatsby v3- New SSR in Develop overlay - the experimental SSR in Develop feature got a new overlay
- Documentation updates - new docs: Functions, CSS, and our image plugins
Also check out notable bugfixes.
Bleeding Edge: Want to try new features as soon as possible? Install gatsby@next
and let us know
if you have any issues.
Performance Improvements
We’re always working hard on making Gatsby faster. In this release we shipped three improvements:
- Speedup CLI startup by lazily requiring some modules. PR #31134
- Create page object &
SitePage
node in same action creator. In our synthetic create-pages benchmark (for 100K pages) this reduced thecreatePages
activity from 16s to 4.5s (~70% drop) and peak RSS memory from 1.4gb to 0.7gb (~50% drop). PR #31104 - Up to ~20% improvement to running queries by switching to a faster queue library (fastq). The improvements are most noticeable if you use the fastest query filters (e.g.
eq
filter on theid
property) and don’t do CPU intensive work in query running e.g. process markdown or MDX. PR #31269
gatsby-graphql-source-toolkit
v2
The gatsby-graphql-source-toolkit
simplifies data sourcing from remote GraphQL APIs into Gatsby. While it’s not a source plugin by itself, it helps you writing custom GraphQL source plugins by providing a set of convenience tools and conventions. Craft CMS or GraphCMS use it for their source plugins.
The bump to a new major version ensures compatibility with gatsby@^3.0.0
. No breaking changes were in this release.
New SSR in Develop overlay
Previously the error overlay (when the page didn’t successfully SSR) consisted out of a HTML page served by express. But that wasn’t tied into our already existing Fast Refresh overlay we use throughout Gatsby. The information on the page stays the same but it now has the look & feel of all our other errors:
Documentation Updates
- New Functions docs — PR #31066
- New top-level CSS doc - PR #31138
- Architecture of Gatsby’s image plugins - PR #31096
- If you’re maintaining a plugin, please subscribe to this GitHub discussion to receive information about changes that may require updates to the plugins you maintain
Notable bugfixes & improvements
- Fix support of theme shadowing in monorepo PR #30435
- Fix scroll restoration for layout components PR #26861
gatsby-plugin-mdx
: make HMR work again for MDX PR #31288gatsby-plugin-preact
: enable error-overlay PR #30613gatsby-plugin-sitemap
: allow writing sitemap to the root of the public folder PR #31130gatsby-transformer-remark
: restore support for footnotes PR #31019- Add
ImageDataLike
as an exported type ofgatsby-plugin-image
PR #30590 - Update the public plugin API types PR #30819
Contributors
A big Thank You to our community who contributed to this release 💜
micha149: fix(gatsby-react-router-scroll): scroll restoration for layout components PR #26861
hoobdeebla: chore(renovate): update typescript as its own group PR #30909
P177: fix(docs): replace invalid style prop with emotion css prop in tutorial PR #31062
fshowalter: fix(gatsby-transformer-remark): Activate footnotes by default & remove included options with remark v13 PR #31019
joshua-isaac: chore(docs): Update sourcing from agility cms PR #30966
Auspicus: fix(gatsby-source-drupal): remove computed fields before running createNode on existing node PR #28682
mjameswh: fix(webpack-theme-component-shadowing): Support shadowing in yarn-style workspaces with Webpack 5 PR #30435
ben-xD: Update Cloudflare Workers Sites deployment documentation PR #31173
pedrolamas: Allows sitemap output on root of public folder PR #31130
ridem: fix(gatsby-plugin-netlify-cms): Fix typo in semver PR #31177
benomatis: chore(docs): GATSBY_ACTIVE_ENV is undefined by default PR #31136
junaidilyas: fix(gatsby): add generic type to GatsbyFunctionResponse PR #31182
MorrisonCole: fix(gatsby-plugin-image): add @babel/core peer dependency PR #31188
kimbaudi: fix(gatsby): rehydration issue in Dev404Page with DEV_SSR PR #30581
FlxAlbroscheit: docs: Updates file name suggestion in babel.md PR #31198
dev-szymon: added breakpoints to sharp_attributes set in babel-helpers PR #30451
gabo2192: docs: Update example to apollo-client v3 PR #29737
cobraz: feat(gatsby-plugin-image): Export ImageDataLike type PR #30590
Hannah-goodridge: chore(docs): Update MDX frontmatter for programmatic pages PR #29798
alowdon: chore(docs): Update “Adding Search with Algolia” guide PR #29460
YehudaKremer: fix(gatsby-plugin-image): print error details PR #30417
kelvindecosta: docs(gatsby-plugin-image): Add docs for customizing default options PR #30344