Skip to content

Commit 2ad6e23

Browse files
authored
chore(docs): Release notes for 3.14 (#33231)
* chore(docs): Release notes for 3.14 * Update release notes * minor change * thanks contributors
1 parent 6f84e7e commit 2ad6e23

File tree

1 file changed

+206
-0
lines changed
  • docs/docs/reference/release-notes/v3.14

1 file changed

+206
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
---
2+
date: "2021-09-17"
3+
version: "3.14.0"
4+
title: "v3.14 Release Notes"
5+
---
6+
7+
Welcome to `[email protected]` release (September 2021 #1)
8+
9+
> This is the final minor release for gatsby v3. Gatsby v4 beta is already published behind
10+
> the `next` npm tag and the next stable release will be `[email protected]`. [See what's inside!](/gatsby-4/)
11+
>
12+
> We will keep publishing patches for 3.14.x with hotfixes until `4.0.0` stable is published and at least several
13+
> weeks after.
14+
15+
Key highlights of this release:
16+
17+
- [Better UX for navigation in the middle of deployment](#better-ux-for-navigation-in-the-middle-of-deployment)
18+
- [New developer tools](#new-developer-tools) - `createPages` snippet in GraphiQL and new GraphQL capability
19+
- [Preparations for gatsby v4](#preparations-for-gatsby-v4) - API deprecations; migration guide; docs
20+
- [Improvements for `gatsby-source-drupal`](#gatsby-source-drupal-improvements)
21+
- [New home for `gatsby-plugin-netlify`](#new-home-for-gatsby-plugin-netlify)
22+
23+
Also check out [notable bugfixes](#notable-bugfixes--improvements).
24+
25+
**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
26+
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).
27+
28+
[Previous release notes](/docs/reference/release-notes/v3.13)
29+
30+
[Full changelog](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.14.0)
31+
32+
---
33+
34+
## Better UX for navigation in the middle of deployment
35+
36+
This release solves a common UX problem with navigation in the middle of deployment.
37+
Imagine the following scenario:
38+
39+
1. Users loads a page
40+
2. New version of the site is deployed
41+
3. User tries to navigate to another page with `gatsby-link`
42+
43+
However, nothing happens and there are some JS errors in the console.
44+
45+
It happens because paths of JS chunks change with the new deployment and so the old chunks cannot be found.
46+
This problem is now addressed in Gatsby automatically. Once we spot this error, the page is hard-reloaded for the user.
47+
48+
This was one of the most [upvoted issues](https://github.com/gatsbyjs/gatsby/issues/18866) in our repo.
49+
See [PR #33032](https://github.com/gatsbyjs/gatsby/pull/33032) for details.
50+
51+
## New developer tools
52+
53+
### `createPages` snippet in GraphiQL
54+
55+
Often, a developer will begin creating the site by examining their data layer in GraphiQL. They will then want to create pages based off of their initial query. For example:
56+
57+
```graphql
58+
query MyQuery {
59+
allContentfulBlogPosts {
60+
nodes {
61+
id
62+
slug
63+
}
64+
}
65+
}
66+
```
67+
68+
Usually this will end up with this code in `gatsby-node.js`:
69+
70+
```javascript
71+
const path = require(`path`)
72+
73+
exports.createPages = async ({ graphql, actions }) => {
74+
const { createPage } = actions
75+
76+
const result = await graphql(`
77+
{
78+
allContentfulBlogPosts {
79+
nodes {
80+
id
81+
slug
82+
}
83+
}
84+
}
85+
`)
86+
const templatePath = path.resolve(`PATH/TO/TEMPLATE.js`)
87+
88+
result.data.allContentfulBlogPosts.nodes.forEach(node => {
89+
createPage({
90+
path: NODE_SLUG,
91+
component: templatePath,
92+
context: {
93+
slug: NODE_SLUG,
94+
},
95+
})
96+
})
97+
}
98+
```
99+
100+
Doing it manually is tedious, but now you can generate this snippet from GraphiQL
101+
and paste to `gatsby-node.js`!
102+
103+
See [PR #32968](https://github.com/gatsbyjs/gatsby/pull/32968) for details.
104+
105+
### Added GraphQL aggregation fields to group
106+
107+
Now you can apply `max`, `min`, `distinct`, `sum`, `group` to grouped nodes. In other words,
108+
a query like this is now possible:
109+
110+
```graphql
111+
{
112+
allMarkdown {
113+
group(field: frontmatter___authors___name) {
114+
fieldValue
115+
group(field: frontmatter___title) {
116+
fieldValue
117+
max(field: frontmatter___price)
118+
}
119+
}
120+
}
121+
}
122+
```
123+
124+
See [PR #32533](https://github.com/gatsbyjs/gatsby/pull/32533) for details.
125+
126+
## Preparations for gatsby v4
127+
128+
Actions used for schema customization should not be used in `sourceNodes` API anymore:
129+
namely `createTypes`, `createFieldExtension` and `addThirdPartySchema`.
130+
131+
Usage of those actions in `sourceNodes` is deprecated as of this release and will break in [Gatsby v4](/gatsby-4/).
132+
133+
Also check out the [migration guide](#) (work in progress!) for other upcoming breaking changes and don't hesitate to
134+
let us know what you think in [GitHub discussion](https://github.com/gatsbyjs/gatsby/discussions/32860).
135+
136+
## `gatsby-source-drupal` improvements
137+
138+
The plugin got a fair share of improvements and bugfixes for warm and incremental builds:
139+
140+
- Fix GraphQL schema errors and crashes when deleting nodes, PRs [#32971](https://github.com/gatsbyjs/gatsby/pull/32971), [#33099](https://github.com/gatsbyjs/gatsby/pull/33099), [#33143](https://github.com/gatsbyjs/gatsby/pull/33143) and [#33181](https://github.com/gatsbyjs/gatsby/pull/33181)
141+
- Warn on bad webhook format: [PR #33079](https://github.com/gatsbyjs/gatsby/pull/33079)
142+
- Add tracing for full/delta fetches and http requests: [PR #33142](https://github.com/gatsbyjs/gatsby/pull/33142)
143+
144+
## New home for `gatsby-plugin-netlify`
145+
146+
The plugin is moved to https://github.com/netlify/gatsby-plugin-netlify Go check it out for the latest source code.
147+
148+
## Notable bugfixes & improvements
149+
150+
- `gatsby`: make conditional page builds work with static queries, via [PR #32949](https://github.com/gatsbyjs/gatsby/pull/32949)
151+
- `gatsby`: reduce page-renderer size, via [PR #33051](https://github.com/gatsbyjs/gatsby/pull/33051/)
152+
- `gatsby`: fix nesting of tracing spans + add docs for OpenTelemetry, via [PR #33098](https://github.com/gatsbyjs/gatsby/pull/33098)
153+
- `gatsby`: don't bundle moment locale files, via [PR #33092](https://github.com/gatsbyjs/gatsby/pull/33092)
154+
- `gatsby`: add environment variable for setting tracing config file, via [PR #32513](https://github.com/gatsbyjs/gatsby/pull/32513)
155+
- `gatsby`: Assign parentSpan to activities that were missing them, via [PR #33122](https://github.com/gatsbyjs/gatsby/pull/33122)
156+
- `gatsby-source-contentful`: fix error "Unable to download asset", via [PR #33024](https://github.com/gatsbyjs/gatsby/pull/33024)
157+
- `gatsby-transformer-sqip`: ensure failed asset downloads do not break build, via [PR #33037](https://github.com/gatsbyjs/gatsby/pull/33037)
158+
- `gatsby-plugin-google-tagmanager`: ability to serve gtm.js from "self-hosted" tagging server, via [PR #32733](https://github.com/gatsbyjs/gatsby/pull/32733)
159+
- `gatsby-plugin-styled-components`: Add ability to disable vendor prefixes, via [PR #33147](https://github.com/gatsbyjs/gatsby/pull/33147)
160+
161+
## Contributors
162+
163+
A big **Thank You** to [our community who contributed](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.14.0) to this release 💜
164+
165+
- [tackaberry](https://github.com/tackaberry): feat(gatsby-plugin-google-tagmanager): add option for se
166+
lfHostedOrigin [PR #32733](https://github.com/gatsbyjs/gatsby/pull/32733)
167+
- [herecydev](https://github.com/herecydev)
168+
169+
- fix(gatsby): set staticQueryResultHash to new hash on data change [PR #32949](https://github.com/ga
170+
tsbyjs/gatsby/pull/32949)
171+
- feat(gatsby-plugin-styled-components): Add ability to disable vendor prefixes [PR #33147](https://g
172+
ithub.com/gatsbyjs/gatsby/pull/33147)
173+
174+
- [ascorbic](https://github.com/ascorbic): chore: add missing `@babel/runtime` dependencies [PR #32954]
175+
(https://github.com/gatsbyjs/gatsby/pull/32954)
176+
- [axe312ger](https://github.com/axe312ger)
177+
178+
- fix(contentful): asset download retry [PR #33024](https://github.com/gatsbyjs/gatsby/pull/33024)
179+
- test(CTF): ensure changing base64 previews don't break rich text tests [PR #33027](https://github.c
180+
om/gatsbyjs/gatsby/pull/33027)
181+
- fix(sqip): ensure failed asset downloads do not break build [PR #33037](https://github.com/gatsbyjs
182+
/gatsby/pull/33037)
183+
184+
- [Himadu2000](https://github.com/Himadu2000): fix(starters): Formats for StaticImage [PR #33057](https
185+
://github.com/gatsbyjs/gatsby/pull/33057)
186+
- [merceyz](https://github.com/merceyz): fix: add missing dependencies [PR #31837](https://github.com/g
187+
atsbyjs/gatsby/pull/31837)
188+
- [actuallyatiger](https://github.com/actuallyatiger): chore(docs): Update GitHub Pages doc [PR #29031]
189+
(https://github.com/gatsbyjs/gatsby/pull/29031)
190+
- [acbramley](https://github.com/acbramley): Document filtering temporary files [PR #32048](https://git
191+
hub.com/gatsbyjs/gatsby/pull/32048)
192+
- [jabrks](https://github.com/jabrks): fix(gatsby): Don't bundle moment locale files [PR #33092](https:
193+
//github.com/gatsbyjs/gatsby/pull/33092)
194+
- [nagiek](https://github.com/nagiek): feat(gatsby): Add aggregation resolvers to group [PR #32533](htt
195+
ps://github.com/gatsbyjs/gatsby/pull/32533)
196+
- [aleksanderantropov](https://github.com/aleksanderantropov)
197+
198+
- chore(docs): Correct gatsby-cloud plugin in tutorial part 3 [PR #33118](https://github.com/gatsbyjs
199+
/gatsby/pull/33118)
200+
- docs: fix typo [PR #33137](https://github.com/gatsbyjs/gatsby/pull/33137)
201+
202+
- [bartveneman](https://github.com/bartveneman): docs(gatsby-plugin-gatsby-cloud): fix typo: asterix ->
203+
asterisk [PR #33135](https://github.com/gatsbyjs/gatsby/pull/33135)
204+
- [rudouglas](https://github.com/rudouglas): chore(gatsby): add environment variable for setting tracin
205+
g config file [PR #32513](https://github.com/gatsbyjs/gatsby/pull/32513)
206+
- [minimalsm](https://github.com/minimalsm): docs: Fix broken link on Getting Started with MDX page [PR #33148](https://github.com/gatsbyjs/gatsby/pull/33148)

0 commit comments

Comments
 (0)