Skip to content

Commit 29dedc3

Browse files
LekoArtsgatsbybot
and
gatsbybot
authored
chore(docs): 3.10 Release Notes (#32388)
Co-authored-by: gatsbybot <[email protected]>
1 parent 76cb4fd commit 29dedc3

File tree

1 file changed

+105
-0
lines changed
  • docs/docs/reference/release-notes/v3.10

1 file changed

+105
-0
lines changed
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
date: "2021-07-20"
3+
version: "3.10.0"
4+
title: "v3.10 Release Notes"
5+
---
6+
7+
Welcome to `[email protected]` release (July 2021 #2)
8+
9+
Key highlights of this release:
10+
11+
- [Experimental: Parallel Query Running](#experimental-parallel-query-running) - Improves time it takes to run queries during gatsby build
12+
- [Experimental: webpack persistent caching for `gatsby develop`](#experimental-webpack-persistent-caching-for-gatsby-develop) - significantly speed up start of webpack server
13+
14+
Also check out [notable bugfixes](#notable-bugfixes--improvements).
15+
16+
**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
17+
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).
18+
19+
[Previous release notes](/docs/reference/release-notes/v3.9)
20+
21+
[Full changelog](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.10.0)
22+
23+
---
24+
25+
## Experimental: Parallel Query Running
26+
27+
Gatsby's build process is composed of multiple steps (see [our documentation](/docs/conceptual/overview-of-the-gatsby-build-process/) for more details) and one step that will increase in time with more and more pages/nodes is query running. You're seeing this step as `run static queries` and `run page queries` in your build log.
28+
29+
This step currently only runs in a singular process and the goal of Parallel Query Running is to spread out the work to multiple processes to better utilize available cores & memory. We're using [`gatsby-worker`](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-worker) (highly inspired by [`jest-worker`](https://www.npmjs.com/package/jest-worker)) and [`lmdb-store`](https://www.npmjs.com/package/lmdb-store) to accomplish this. In [Gatsby v3.7](/docs/reference/release-notes/v3.7/#experimental-node-persistence-in-lmdb) we've added support for LMDB in Gatsby and are now leveraging this new data storage option to enable communication between the main process and the workers.
30+
31+
Depending on the type of queries you use you will see dramatic improvements in performance. You can try out different types of queries (and expected results) with the [query-filters-sort benchmark](https://github.com/gatsbyjs/gatsby/tree/master/benchmarks/query-filters-sort). Toggle the feature flag for a before/after comparison.
32+
33+
Here are two examples:
34+
35+
- Fast `eq-uniq` filter with `GATSBY_CPU_COUNT=5 NUM_NODES=100000 NUM_PAGES=10000 FILTER=eq-uniq TEXT=1`.
36+
- **Before:** `run page queries - 3.787s - 10001/10001 2641.07/s`
37+
- **After:** `run queries in workers - 3.445s - 10001/10001 2903.34/s`
38+
- For the already fast `eq` filters you will see smaller improvements compared to the slower filters like...
39+
- Slow `gt` filter with `GATSBY_CPU_COUNT=5 NUM_NODES=10000 NUM_PAGES=10000 FILTER=gt TEXT=1`:
40+
- **Before:** `run page queries - 41.832s - 10001/10001 239.07/s`
41+
- **After:** `run queries in workers - 15.072s - 10001/10001 663.57/s`
42+
- Huge improvements for more complex queries or filters that are not "Fast Filters"
43+
44+
To try it out in your own site, please make sure that you're using Node v14.10 or later. Install `lmdb-store` as a dependency:
45+
46+
```shell
47+
npm install lmdb-store
48+
```
49+
50+
Then enable the config flag in your `gatsby-config.js`:
51+
52+
```js:title=gatsby-config.js
53+
module.exports = {
54+
flags: {
55+
PARALLEL_QUERY_RUNNING: true,
56+
},
57+
}
58+
```
59+
60+
Please share your results, findings, and feedback in the [PQR GitHub Discussion](https://gatsby.dev/pqr-feedback). You'll also be able to read about known/common pitfalls there and possible solutions.
61+
62+
## Experimental: webpack persistent caching for `gatsby develop`
63+
64+
After rolling out webpack 5 persistent caching for production builds in [Gatsby v3.8](/docs/reference/release-notes/v3.8/#webpack-caching) we're now beginning the gradual rollout of it for `gatsby develop`. It greatly improves the startup time of the development server.
65+
66+
To use it, add a flag to your `gatsby-config.js`:
67+
68+
```js:title=gatsby-config.js
69+
module.exports = {
70+
flags: {
71+
DEV_WEBPACK_CACHE: true,
72+
},
73+
}
74+
```
75+
76+
If you're already using the `FAST_DEV` flag you'll be using it automatically once you update to Gatsby v3.10. Please share your feedback in the [GitHub Discussion](https://gatsby.dev/cache-clearing-feedback).
77+
78+
## Notable bugfixes & improvements
79+
80+
- `gatsby`: Update `postcss` to 8.3.5 to remove deprecation warning on Node v16.
81+
- `gatsby`: Switched `createRoot` to `hydrateRoot`. Please note, this only applies if you use [React 18 in Gatsby](https://github.com/gatsbyjs/gatsby/discussions/31943).
82+
- `gatsby-source-wordpress`: Check preview URL earlier and give better feedback, via [PR #32251](https://github.com/gatsbyjs/gatsby/pull/32251).
83+
- `gatsby`: Pass `search` and `hash` to `window.location` to final URL of redirect and after the service worker updated, via [PR #32334](https://github.com/gatsbyjs/gatsby/pull/32334) and [PR #32323](https://github.com/gatsbyjs/gatsby/pull/32323).
84+
- `gatsby`: Avoid the `UNHANDLED REJECTION write EPIPE` error when using `Ctrl + C`, via [PR #32311](https://github.com/gatsbyjs/gatsby/pull/32311) and [PR #32356](https://github.com/gatsbyjs/gatsby/pull/32356).
85+
- `gatsby`: When a `gatsby build` fails on e.g. missing data it now prints the `page-data.json` file for this page to give more context on what's missing, via [PR #32301](https://github.com/gatsbyjs/gatsby/pull/32301).
86+
- `gatsby-source-contentful`: Support image corner radius from Image API, via [PR #32333](https://github.com/gatsbyjs/gatsby/pull/32333).
87+
- `gatsby-source-contentful`: Support `metadata.tags` property, via [PR #31746](https://github.com/gatsbyjs/gatsby/pull/31746).
88+
89+
## Contributors
90+
91+
A big **Thank You** to [our community who contributed](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.10.0) to this release 💜
92+
93+
- [RapTho](https://github.com/RapTho): Wrong post ids in example author name filter [PR #32191](https://github.com/gatsbyjs/gatsby/pull/32191)
94+
- [anselm94](https://github.com/anselm94): chore(docs): Update Storybook guide to v6 [PR #31653](https://github.com/gatsbyjs/gatsby/pull/31653)
95+
- [SarthakC](https://github.com/SarthakC): fix: added missing parentheses in creating a source plugin tutorial [PR #32259](https://github.com/gatsbyjs/gatsby/pull/32259)
96+
- [emmanuelgautier](https://github.com/emmanuelgautier): fix(gatsby-plugin-gtag): replace google analytics domain with google tag manager [PR #31036](https://github.com/gatsbyjs/gatsby/pull/31036)
97+
- [nellaparedes](https://github.com/nellaparedes): fix(gatsby): Pass search/hash to location after swUpdated [PR #32323](https://github.com/gatsbyjs/gatsby/pull/32323)
98+
- [karlhorky](https://github.com/karlhorky): Avoid UNHANDLED REJECTION error on ctrl-C [PR #32311](https://github.com/gatsbyjs/gatsby/pull/32311)
99+
- [weronikadominiak](https://github.com/weronikadominiak): docs(contributing): update docs with info about translations being on hold (#31883) [PR #32328](https://github.com/gatsbyjs/gatsby/pull/32328)
100+
- [cabutler10](https://github.com/cabutler10): chore(docs): Fix typo in apollo/client npm package name [PR #32345](https://github.com/gatsbyjs/gatsby/pull/32345)
101+
- [ezeYaniv](https://github.com/ezeYaniv): chore(docs): Update building-a-theme to latest Theme UI [PR #32357](https://github.com/gatsbyjs/gatsby/pull/32357)
102+
- [SonnyBrooks](https://github.com/SonnyBrooks): chore(docs): Correct JavaScript spelling [PR #32368](https://github.com/gatsbyjs/gatsby/pull/32368)
103+
- [axe312ger](https://github.com/axe312ger)
104+
- feat(contentful): add support image corner radius [PR #32333](https://github.com/gatsbyjs/gatsby/pull/32333)
105+
- feat(contentful): add support for tags [PR #31746](https://github.com/gatsbyjs/gatsby/pull/31746)

0 commit comments

Comments
 (0)