v5.9 Release Notes
Welcome to gatsby@5.9.0
release (April 2023 #1)
Key highlights of this release:
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 have shipped some great performance improvements to gatsby
and gatsby-source-contentful
.
- With PR #37780 we no longer block the event loop during schema inference and allow garbage collection to work better. This dropped the “building schema” step of a large test site by 27%.
- In PR #37782 we’ve added a new public action called
enableStatefulSourceNodes
. This will stop Gatsby from checking for stale nodes created by the source plugin that called the action. When enabling stateful sourcing plugin authors need to be sure their plugins properly handle deleting nodes when they need to be deleted. Since Gatsby is no longer checking for node staleness, data which should no longer exist could stick around. Be sure to read the opting out of stale node deletion documentation. - Lastly, in PR #37910 the memory usage of
gatsby-source-contentful
was further decreased. This was achieved by further unblocking the event loop through a queue, allowing more garbage collection, and an improved way of storing intermediate information for backreferences.
All in all these improvements enabled a Contentful test site of ours (with 4.9 million nodes) to build with 24GB of RAM (instead of 64GB), 27% decrease in “building schema” step, and around 70% faster data updates.
New “Creating a Source Plugin” tutorial
A new tutorial for Creating a Source Plugin from scratch is available now!
Gatsby’s data layer is one of the key features and an enabler for composable architectures. One of the key driving forces of Gatsby since its beginning has been its 800+ source plugins. These plugins make it easy to connect and source from every data source you could imagine.
While our documentation always had a guide on how to create a source plugin, the content was dense and at times difficult to follow. It didn’t show how easy it is to create a barebones source plugin and how many additional features you could add. We wanted to make it easier for users and customers alike to create their own source plugins.
Read the launch blog post to learn more.
Notable bugfixes & improvements
- We merged over 60 renovate PRs to update dependencies across various packages. If you’re curious about the changes, you can use this GitHub search.
gatsby-plugin-sharp
: Security update. Don’t serve static assets through lazy images, via PR #37796. CVE.gatsby
:- Make
___NODE
convention warning less noisy, via PR #37781 - Add new
enableStatefulSourceNodes
action, via PR #37782. Learn more. - Correct argument order for
onPreRouteUpdate
, via PR #30339 - Reduce size of SSR/DSG engine, via PR #37764
- Make
Contributors
A big Thank You to our community who contributed to this release 💜
- StephenCleary: fix(gatsby): Fix argument order for
onPreRouteUpdate
PR #30339 - Talaxy009: fix(gatsby): Validate sub plugins options PR #37804
- axe312ger: fix(gatsby): move typing for
enableStatefulSourceNodes
intoActions
PR #37933 - benomatis
- geocine: chore(gatsby-plugin-feed): Update README with clearer instructions PR #37930
- jgjgill: chore(gatsby-remark-autolink-headers): Fix typo in README PR #37812
- rogermparent: fix(gatsby-plugin-page-creator): Find nested files for knownCollections PR #37762
- tmastrom: chore(docs): update broken relay compiler link PR #37813