Gatsby v4.4 Release Notes

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 report any issues.

Full changelog

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 with jsxRuntime option (gatsby-config.js), via PR #34085
  • gatsby: Allow external systems to setup tracing for builds, via PR #34204
  • gatsby-source-filesystem: Ensure that the fastq concurrency parameter 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

Related Posts