Key highlights of this release:
- Detect Node Mutations - Opt-in Diagnostic Mode
Also check out notable bugfixes.
Bleeding Edge: Want to try new features as soon as possible? Install gatsby@next
and report any issues.
Detect Node Mutations
In Gatsby 4 LMDB became the default data store. It allows Gatsby to execute data layer related processing outside of the main build process and enables Gatsby to run queries in multiple processes as well as support additional rendering strategies (DSG and SSR).
In a lot of cases that change is completely invisible to users, but if you’re a source plugin author or have your own custom source plugin you might be affected by this.
Direct node mutations in various API lifecycles are not persisted anymore. In previous Gatsby versions it did work because source of truth for the data layer was directly in Node.js memory, so mutating node was in fact mutating source of truth. Common errors when doing swap to LMDB
will be that some fields don’t exist anymore or are null
/undefined
when trying to execute GraphQL queries.
With this release you’re now able to detect node mutations and debug the aforementioned cases of null
/undefined
. Learn more about this at Debugging Missing or Stale Data Fields on Nodes.
Notable Bugfixes & Improvements
- A lot of internal dependency updates to each package. You can check the
CHANGELOG.md
file in each package’s folder for the details gatsby-plugin-emotion
: Use correct babel preset withjsxRuntime
option (gatsby-config.js
), via PR #34085gatsby
: Allow external systems to setup tracing for builds, via PR #34204gatsby-source-filesystem
: Ensure that thefastq
concurrency
parameter is of the correct type, via PR #34186gatsby-plugin-manifest
: Consider path prefix when getting localized manifest, via PR #34174gatsby-cli
: Fix for--inspect-brk
, via PR #34242