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
undefined when trying to execute GraphQL queries.
With this release you’re now able to detect node mutations and debug the aforementioned cases of
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.mdfile in each package’s folder for the details
gatsby-plugin-emotion: Use correct babel preset with
gatsby-config.js), via PR #34085
gatsby: Allow external systems to setup tracing for builds, via PR #34204
gatsby-source-filesystem: Ensure that the
concurrencyparameter is of the correct type, via PR #34186
gatsby-plugin-manifest: Consider path prefix when getting localized manifest, via PR #34174
gatsby-cli: Fix for
--inspect-brk, via PR #34242