GitHub repository: gatsbyjs/gatsby
Description: The best React-based framework with performance, scalability and security built in.
Topics: blog, compiler, gatsby, graphql, react, static-site-generator, web-app

v5.13.0: tag_name: gatsby@5.13.0
body: Welcome to `gatsby@5.13.0` release (December 2023 #<span></span>1)

Key highlight of this release:

- [Custom Image and File CDN URL generators](https://www.gatsbyjs.com/docs/reference/release-notes/v5.13#custom-image-and-file-cdn-url-generators)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.12)
v5.12.0: tag_name: gatsby@5.12.0
body: Welcome to `gatsby@5.12.0` release (August 2023 #<span></span>1)

Key highlight of this release:

- [Adapters](https://www.gatsbyjs.com/docs/reference/release-notes/v5.12#adapters)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.11)
v5.11.0: tag_name: gatsby@5.11.0
body: Welcome to `gatsby@5.11.0` release (June 2023 #<span></span>1)

Key highlights of this release:

- [RFC: Adapters](https://www.gatsbyjs.com/docs/reference/release-notes/v5.11#rfc-adapters)
- [`gatsby-source-wordpress`: Support for multiple instances](https://www.gatsbyjs.com/docs/reference/release-notes/v5.11#gatsby-source-wordpress-support-for-multiple-instances)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.10)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.11.0-next.0...gatsby@5.11.0)
v5.10.0: tag_name: gatsby@5.10.0
body: Welcome to `gatsby@5.10.0` release (May 2023 #<span></span>1)

This release focused on bug fixes and perf improvements. Check out [notable bugfixes and improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v5.10#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.9)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.10.0-next.0...gatsby@5.10.0)
v5.9.0: tag_name: gatsby@5.9.0
body: Welcome to `gatsby@5.9.0` release (April 2023 #<span></span>1)

Key highlights of this release:

- [Performance improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v5.9#performance-improvements)
- [New "Creating a Source Plugin" tutorial](https://www.gatsbyjs.com/docs/reference/release-notes/v5.9#new-creating-a-source-plugin-tutorial)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.8)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.9.0-next.0...gatsby@5.9.0)
v5.7.0: tag_name: gatsby@5.7.0
body: Welcome to `gatsby@5.7.0` release (February 2023 #<span></span>2)

This release focused on bug fixes and perf improvements. Check out [notable bugfixes and improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v5.7#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.6)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.7.0-next.0...gatsby@5.7.0)
v5.6.0: tag_name: gatsby@5.6.0
body: Welcome to `gatsby@5.6.0` release (February 2023 #<span></span>1)

Key highlights of this release:

- [Gatsby is joining Netlify](https://www.gatsbyjs.com/docs/reference/release-notes/v5.6/#gatsby-is-joining-netlify)
- [Head API supports context providers from `wrapRootElement`](https://www.gatsbyjs.com/docs/reference/release-notes/v5.6/#head-api-supports-context-providers-from-wraprootelement)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com//docs/reference/release-notes/v5.5)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.6.0-next.0...gatsby@5.6.0)
v5.5.0: tag_name: gatsby@5.5.0
body: Welcome to `gatsby@5.5.0` release (January 2023 #<span></span>2)

Key highlights of this release:

- [Faster Hashing for `gatsby-source-filesytem`](https://www.gatsbyjs.com/docs/reference/release-notes/v5.5/#faster-hashing-for-gatsby-source-filesytem)
- [Setting `<html>` and `<body>` attributes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.5/#setting-html-and-body-attributes)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com//docs/reference/release-notes/v5.4)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.5.0-next.0...gatsby@5.5.0)
v5.4.0: tag_name: gatsby@5.4.0
body: Welcome to `gatsby@5.4.0` release (January 2023 #<span></span>1)

The whole team took time off for a much deserved winter break and we hope you had relaxing holidays, too! Before the break we spent time doing maintenance work such as updating internal dependencies or fixing some smaller bugs here and there. In case you missed it, we shipped [ES Modules (ESM) in Gatsby files](https://www.gatsbyjs.com/docs/reference/release-notes/v5.3#es-modules-esm-in-gatsby-files) in the last release.

So check out the [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.4#notable-bugfixes--improvements) section to learn more.

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.3/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.4.0-next.0...gatsby@5.4.0)
v5.3.0: tag_name: gatsby@5.3.0
body: Welcome to `gatsby@5.3.0` release (December 2022 #1)

Key highlights of this release:

- [ES Modules (ESM) in Gatsby files](https://www.gatsbyjs.com/docs/reference/release-notes/v5.3/#es-modules-esm-in-gatsby-files)
- [Improved error messages](https://www.gatsbyjs.com/docs/reference/release-notes/v5.3/#improved-error-messages)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v5.2)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@5.3.0-next.0...gatsby@5.3.0)
v5.2.0: tag_name: gatsby@5.2.0
body: Welcome to `gatsby@5.2.0` release (November 2022 <span>#</span>3)

This is an out of band release due to the [removal of the Potrace](https://www.gatsbyjs.com/docs/reference/release-notes/v5.2/#removal-of-potrace) library in Gatsby. We'll continue with our biweekly schedule as normal.

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).
v5.1.0: tag_name: gatsby@5.1.0
body: Welcome to `gatsby@5.1.0` release (November 2022 <span>#</span>2)

This is the first minor release after the recent major release of Gatsby 5! We are focused on your feedback and implementing fixes as needed.

If you haven’t migrated yet, please refer to the [migration guide](https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v4-to-v5/). We’ve done our best to make the transition smooth!

Some brief notes about what Gatsby 5 brings to the table:

- [Slices API](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-slice/) unlocks up to 90% reduction in build duration for content changes in highly shared components
- [Partial Hydration](https://www.gatsbyjs.com/docs/how-to/performance/partial-hydration/) allows you to ship only the necessary JavaScript to the browser

**Bleeding Edge**: Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).
v5.0.0: tag_name: gatsby@5.0.0
body: Welcome to `gatsby@5.0.0` release (November 2022 #<span></span>1)

Key highlights of this release:

- [Slice API](https://www.gatsbyjs.com/docs/reference/release-notes/v5.0/#slice-api) - Only re-build individual slices of your page
- [Partial Hydration (Beta)](https://www.gatsbyjs.com/docs/reference/release-notes/v5.0/#partial-hydration-beta) - Improve frontend performance by shipping less JavaScript
- [GraphiQL v2](https://www.gatsbyjs.com/docs/reference/release-notes/v5.0/#graphiql-v2) - An all new UI with features like dark mode, tabs, and persisted state
- [Performance Improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v5.0/#performance-improvements)

Major dependency updates:

- [Node 18](https://www.gatsbyjs.com/docs/reference/release-notes/v5.0/#node-18)
- [React 18](https://www.gatsbyjs.com/docs/reference/release-notes/v5.0/#react-18)

**Bleeding Edge**: Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).
v4.24: tag_name: gatsby@4.24.0
body: Welcome to `gatsby@4.24.0` release (September 2022 #<span></span>2)

Key highlights of this release:

- [Gatsby 5 Alpha](https://www.gatsbyjs.com/docs/reference/release-notes/v4.24/#gatsby-5-alpha)
- [Updating File System Routes on data changes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.24/#updating-file-system-routes-on-data-changes)

**Bleeding Edge**: Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.23)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.24.0-next.0...gatsby@4.24.0)
v4.23: tag_name: gatsby@4.23.0
body: Welcome to `gatsby@4.23.0` release (September 2022 #<span></span>1)

Key highlights of this release:

- [Open RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.23/#open-rfcs)

**Bleeding Edge**: Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.22)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.23.0-next.0...gatsby@4.23.0)
v4.22: tag_name: gatsby@4.22.0
body: Welcome to `gatsby@4.22.0` release (August 2022 #<span></span>3)

Key highlights of this release:

- [Open RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.22/#open-rfcs)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.21)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.22.0-next.0...gatsby@4.22.0)
v4.21: tag_name: gatsby@4.21.0
body: Welcome to `gatsby@4.21.0` release (August 2022 #<span></span>2)

Key highlights of this release:

- [`gatsby-plugin-mdx` v4](https://www.gatsbyjs.com/docs/reference/release-notes/v4.21/#gatsby-plugin-mdx-v4)
- [Open RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.21/#open-rfcs)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.20)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.21.0-next.0...gatsby@4.21.0)
v4.20: tag_name: gatsby@4.20.0
body: Welcome to `gatsby@4.20.0` release (August 2022 #<span></span>1)

Key highlights of this release:

- [RFC for changes in `sort` and aggregation fields in Gatsby GraphQL Schema](https://www.gatsbyjs.com/docs/reference/release-notes/v4.20#rfc-for-changes-in-sort-and-aggregation-fields-in-gatsby-graphql-schema)
- [Release Candidate for gatsby-plugin-mdx v4](https://www.gatsbyjs.com/docs/reference/release-notes/v4.20#release-candidate-for-gatsby-plugin-mdx-v4) - Support for MDX v2 and more!

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.19)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.20.0-next.0...gatsby@4.20.0)
v4.19: tag_name: gatsby@4.19.0
body: Welcome to `gatsby@4.19.0` release (July 2022 #<span></span>2)

Key highlights of this release:

- [Gatsby Head API](https://www.gatsbyjs.com/docs/reference/release-notes/v4.19/#gatsby-head-api) - Better performance & more future-proof than `react-helmet`
- [Release Candidate for gatsby-plugin-mdx v4](https://www.gatsbyjs.com/docs/reference/release-notes/v4.19/#release-candidate-for-gatsby-plugin-mdx-v4) - Support for MDX v2 and more!

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.18/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.19.0-next.0...gatsby@4.19.0)
v4.18: tag_name: gatsby@4.18.0
body: Welcome to `gatsby@4.18.0` release (July 2022 #<span></span>1)

Key highlights of this release:

- [`typesOutputPath` option for GraphQL Typegen](https://www.gatsbyjs.com/docs/reference/release-notes/v4.18/#typesoutputpath-option-for-graphql-typegen) - Configure the location of the generated TypeScript types
- [Server Side Rendering (SSR) in development](https://www.gatsbyjs.com/docs/reference/release-notes/v4.18/#server-side-rendering-ssr-in-development) - Find bugs & hydration errors more easily during `gatsby develop`
- [Open RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.18/#open-rfcs) - MDX v2 & Metadata management

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.17/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.18.0-next.0...gatsby@4.18.0)
v4.17: tag_name: gatsby@4.17.0
body: Welcome to `gatsby@4.17.0` release (June 2022 #<span></span>2)

Key highlights of this release:

- [JavaScript and CSS bundling performance improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v4.17/#javascript-and-css-bundling-performance-improvements)
- [Incremental builds performance improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v4.17/#incremental-builds-performance-improvements)
- [Open RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.17/#open-rfcs)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.16/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.17.0-next.0...gatsby@4.17.0)
v4.16: tag_name: gatsby@4.16.0
body: Welcome to `gatsby@4.16.0` release (June 2022 #<span></span>1)

Key highlights of this release:

- [Speed Improvements for Image Processing](https://www.gatsbyjs.com/docs/reference/release-notes/v4.16#speed-improvements-for-image-processing)
- [`useContentfulImage` hook](https://www.gatsbyjs.com/docs/reference/release-notes/v4.16#usecontentfulimage-hook)
- [Node 18 Compatibility](https://www.gatsbyjs.com/docs/reference/release-notes/v4.16#node-18-compatibility)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.15/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.16)

[Full changelog][full-changelog]

[full-changelog]: https://github.com/gatsbyjs/gatsby/compare/gatsby@4.16.0-next.0...gatsby@4.16.0
v4.15: tag_name: gatsby@4.15.0
body: Welcome to `gatsby@4.15.0` release (May 2022 #<span></span>2)

Key highlights of this release:

- [Script Component](https://www.gatsbyjs.com/docs/reference/release-notes/v4.15/#script-component)
- [GraphQL Typegen](https://www.gatsbyjs.com/docs/reference/release-notes/v4.15/#graphql-typegen)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.15/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14)

[Full changelog][full-changelog]
v4.14: tag_name: gatsby@4.14.0
body: Welcome to `gatsby@4.14.0` release (May 2022 #<span></span>1)

Key highlights of this release:

- [Experimental: GraphQL Typgen](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14/#experimental-graphql-typegen)
- [Improvements in Image and Font Loading Times](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14/#improvements-in-image-and-font-loading-times)
- [Gatsby Functions Body Parsing Configuration](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14/#gatsby-functions-body-parsing-configuration)
- [`gatsby-source-drupal`: Image CDN Support](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14/#gatsby-source-drupal-image-cdn-support)
- [Updated Default Starter](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14/#updated-default-starter)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.14/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.13)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.14.0-next.0...gatsby@4.14.0)
v4.13: tag_name: gatsby@4.13.0
body: Welcome to `gatsby@4.13.0` release (April 2022 #<span></span>2)

 Key highlights of this release:

 - [Traced SVG option for Image CDN](https://www.gatsbyjs.com/docs/reference/release-notes/v4.13/#traced-svg-option-for-image-cdn)
 - [Open RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.13/#open-rfcs)

 Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.13/#notable-bugfixes--improvements).

 **Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
 if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

 [Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.12)

 [Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.13.0-next.0...gatsby@4.13.0)
v4.12: tag_name: gatsby@4.12.0
body: Welcome to `gatsby@4.12.0` release (April 2022 #<span></span>1)

Key highlights of this release:

- [New RFCs](https://www.gatsbyjs.com/docs/reference/release-notes/v4.12#new-rfcs)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.12#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.11)

[Full changelog][full-changelog]

[full-changelog]: https://github.com/gatsbyjs/gatsby/compare/gatsby@4.12.0-next.0...gatsby@4.12.0
v4.11: tag_name: gatsby@4.11.0
body: Welcome to `gatsby@4.11.0` release (March 2022  #<span></span>3)

Key highlights of this release:

- [`gatsby-source-shopify` v7](https://www.gatsbyjs.com/docs/reference/release-notes/v4.11#gatsby-source-shopify-v7)
- [React 18](https://www.gatsbyjs.com/docs/reference/release-notes/v4.11#react-18)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.11#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.10)

[Full changelog][full-changelog]

[full-changelog]: https://github.com/gatsbyjs/gatsby/compare/gatsby@4.11.0-next.0...gatsby@4.11.0
v4.10: tag_name: gatsby@4.10.0
body: Welcome to `gatsby@4.10.0` release (March 2022 #<span></span>2)

Key highlights of this release:

- [Image CDN](https://www.gatsbyjs.com/docs/reference/release-notes/v4.10#image-cdn)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.10#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.9)

[Full changelog][full-changelog]

[full-changelog]: https://github.com/gatsbyjs/gatsby/compare/gatsby@4.10.0-next.0...gatsby@4.10.0
v4.9: tag_name: gatsby@4.9.0
body: Welcome to `gatsby@4.9.0` release (March 2022 #<span></span>1)

Key highlights of this release:

- [Support for TypeScript in `gatsby-config` and `gatsby-node`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.9#support-for-typescript-in-gatsby-config-and-gatsby-node)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.9#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8)

[Full changelog][full-changelog]

[full-changelog]: https://github.com/gatsbyjs/gatsby/compare/gatsby@4.9.0-next.0...gatsby@4.9.0
v4.8: tag_name: gatsby@4.8.0
body: Welcome to `gatsby@4.8.0` release (February 2022 #<span></span>2)

 Key highlights of this release:

 - [Support for TypeScript in `gatsby-browser` and `gatsby-ssr`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8#support-for-typescript-in-gatsby-browser-and-gatsby-ssr)
 - [New TypeScript option when creating Gatsby projects from the CLI](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8#new-typescript-option-when-creating-gatsby-projects-from-the-cli)
 - [Significant memory usage reduction when filtering and sorting nodes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8#significant-memory-usage-reduction-when-filtering-and-sorting-nodes)
 - [New APIs in `gatsby-core-utils` and `gatsby-plugin-utils`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8#new-apis-in-gatsby-core-utils-and-gatsby-plugin-utils)

 Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.8#notable-bugfixes--improvements).

 **Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
 if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

 [Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.7)

 [Full changelog][full-changelog]

[full-changelog]: https://github.com/gatsbyjs/gatsby/compare/gatsby@4.8.0-next.0...gatsby@4.8.0
v4.7: tag_name: gatsby@4.7.0
body: Welcome to `gatsby@4.7.0` release (February 2022 <span>#</span>1)

Key highlights of this release:

- [`trailingSlash` Option](https://www.gatsbyjs.com/docs/reference/release-notes/v4.7/#trailingslash-option) - Now built into the Framework itself
- [Faster Schema Creation & `createPages`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.7/#faster-schema-creation--createpages) - Speed improvements of at least 30%

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.7/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.6)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.7.0-next.0...gatsby@4.7.0)
v4.6: tag_name: gatsby@4.6.0
body: 
Welcome to `gatsby@4.6.0` release (January 2022 <span>#</span>2)

Key highlights of this release:

- [Speeding Up Subsequent Queries](https://www.gatsbyjs.com/docs/reference/release-notes/v4.6/#speeding-up-subsequent-queries)
- [Tracking Image Changes in Markdown Files](https://www.gatsbyjs.com/docs/reference/release-notes/v4.6/#tracking-image-changes-in-markdown-files)
- [New Major Version for `gatsby-plugin-utils`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.6/#fix-plugin-schema-validation)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.6/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v4.5)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.6.0-next.0...gatsby@4.6.0)
v4.5: tag_name: gatsby@4.5.0
body: Welcome to `gatsby@4.5.0` release (January 2022 #<span></span>1)

Key highlights of this release:

- [Gracefully Handling Browser Cache Issues](https://www.gatsbyjs.com/docs/reference/release-notes/v4.5/#gracefully-handling-browser-cache-issues)
- [TypeScript Types for `getServerData`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.5/#typescript-types-for-getserverdata)
- [Deprecation of `gatsby-recipes`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.5/#deprecation-of-gatsby-recipes)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.5/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://gatsbyjs.com/docs/reference/release-notes/v4.4/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.5.0-next.0...gatsby@4.5.0)
v4.4: tag_name: gatsby@4.4.0
body: Welcome to `gatsby@4.4.0` release (December 2021 #<span></span>1)

Key highlights of this release:

- [Detect Node Mutations](https://www.gatsbyjs.com/docs/reference/release-notes/v4.4/#detect-node-mutations)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.4/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://gatsbyjs.com/docs/reference/release-notes/v4.3)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.4.0-next.0...gatsby@4.4.0)

v4.3: tag_name: gatsby@4.3.0
body: Welcome to `gatsby@4.3.0` release (November 2021 #3)

Key highlights of this release:

- [Content Sync Improvement](https://www.gatsbyjs.com/docs/reference/release-notes/v4.3/#content-sync-improvements)
- [Use renderToPipeableStream React 18 API](https://www.gatsbyjs.com/docs/reference/release-notes/v4.3/#use-renderToPipeableStream-react-18-API)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.3/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://gatsbyjs.com/docs/reference/release-notes/v4.2)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.3.0-next.0...gatsby@4.3.0)

v4.2: tag_name: gatsby@4.2.0
body: Welcome to `gatsby@4.2.0` release (November 2021 #<span></span>2).

Key highlights of this release:

- [`gatsby-source-contentful` v7](https://www.gatsbyjs.com/docs/reference/release-notes/v4.2/#gatsby-source-contentful-v7)
- [`getServerData` improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v4.2/#getserverdata-improvements)
- [Framework Version Support](https://www.gatsbyjs.com/docs/reference/release-notes/v4.2/#framework-version-support)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.2/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.1)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.2.0-next.0...gatsby@4.2.0)
v4.1: tag_name: gatsby@4.1.0
body: Welcome to `gatsby@4.1.0` release (November 2021 #<span></span>1).

Key highlights of this release:

- [Support for Deferred Static Generation in File System Route API](https://www.gatsbyjs.com/docs/reference/release-notes/v4.1/#support-for-deferred-static-generation-in-file-system-route-api)
- [JSX Runtime Options in `gatsby-config.js`](https://www.gatsbyjs.com/docs/reference/release-notes/v4.1/#jsx-runtime-options-in-gatsby-configjs)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.1/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v4.0)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@4.1.0-next.0...gatsby@4.1.0)
v4.0.0: tag_name: gatsby@4.0.0
body: Welcome to `gatsby@4.0.0` release (October 2021 #<span></span>1).

We've released Gatsby 3 in [March 2021](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0) and now have a lot of exciting new features for Gatsby 4!
We’ve tried to make migration smooth. Please refer to the [migration guide](https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v3-to-v4/)
and [let us know](https://github.com/gatsbyjs/gatsby/issues/new/choose) if you encounter any issues when migrating.

Key highlights of this release:

- [Parallel Query Running](https://www.gatsbyjs.com/docs/reference/release-notes/v4.0/#parallel-query-running) - up to 40% reduction in build times
- [Deferred Static Generation (DSG)](https://www.gatsbyjs.com/docs/reference/release-notes/v4.0/#deferred-static-generation-dsg) - defer page generation to user request, speeding up build times
- [Server-Side Rendering (SSR)](https://www.gatsbyjs.com/docs/reference/release-notes/v4.0/#server-side-rendering-ssr) - pre-render a page with data that is fetched when a user visits the page

Also check out [notable bugfixes and improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v4.0/#notable-bugfixes-and-improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes for 3.14](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.0-next.0...gatsby@4.0.0)
v3.14 (September 2021 #1): tag_name: gatsby@3.14.0
body: Welcome to `gatsby@3.14.0` release (September 2021 #<span></span>1)

> This is the final minor release for gatsby v3. Gatsby v4 beta is already published behind the `next` npm tag and the next stable release will be `gatsby@4.0.0`. [See what's inside!](https://www.gatsbyjs.com/gatsby-4/)
>
> We will keep publishing patches for 3.14.x with hotfixes until `4.0.0` stable is published and at least several weeks after.

Key highlights of this release:

- [Better UX for navigation in the middle of deployment](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14/#better-ux-for-navigation-in-the-middle-of-deployment)
- [New developer tools](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14/#new-developer-tools) - `createPages` snippet in GraphiQL and new GraphQL capability
- [Preparations for gatsby v4](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14/#preparations-for-gatsby-v4) - API deprecations; migration guide; docs
- [Improvements for `gatsby-source-drupal`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14/#gatsby-source-drupal-improvements)
- [New home for `gatsby-plugin-netlify`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14/#new-home-for-gatsby-plugin-netlify)

Also, check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.14/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v3.13)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.14.0-next.0...gatsby@3.14.0)

v3.13 (August 2021 #3): tag_name: gatsby@3.13.0
body: Welcome to `gatsby@3.13.0` release (August 2021 #<span></span>3)

Key highlights of this release:

- [Improved Changelogs](https://www.gatsbyjs.com/docs/reference/release-notes/v3.13/#improved-changelogs) - Better structured and easier to read
- [`sharp` v0.29](https://www.gatsbyjs.com/docs/reference/release-notes/v3.13/#sharp-v029) - Reduced install size, improved encoding time, and improved AVIF image quality
- [Faster Sourcing for `gatsby-source-drupal`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.13/#faster-sourcing-for-gatsby-source-drupal) - Speed up fetching data by around 4x
- [webpack Caching in Development for Everyone](https://www.gatsbyjs.com/docs/reference/release-notes/v3.13/#webpack-caching-in-development-for-everyone) - Activating it for all users

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.13/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.12/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.13.0-next.0...gatsby@3.13.0)

v3.12 (August 2021 #2): tag_name: gatsby@3.12.0
body: Welcome to `gatsby@3.12.0` release (August 2021 #<span></span>2)

Key highlights of this release:

- [`webpack` dev server caching](https://www.gatsbyjs.com/docs/reference/release-notes/v3.12/#webpack-dev-server-caching) - opt-in 20% of users
- [Improvements to `gatsby-source-shopify`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.12/#improvements-to-gatsby-source-shopify) - Add compat for breaking change in Shopify's API
- [Improvements to `gatsby-source-wordpress`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.12/#improvements-to-gatsby-source-wordpress) - Support for generating WebP images in HTML fields

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.12/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.11)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.12.0-next.0...gatsby@3.12.0)

 v3.11 (August 2021 #1): tag_name: gatsby@3.11.0
body: Welcome to `gatsby@3.11.0` release (August 2021 #1)

Key highlights of this release:

- [Improvements to Parallel Query Running](https://github.com/gatsbyjs/gatsby/blob/66bdfa2a46db3606ea7394a0c54472273716cb58/docs/docs/reference/release-notes/v3.11/index.md#improvements-to-parallel-query-running) - Better performance and more configurable

Also check out [notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/66bdfa2a46db3606ea7394a0c54472273716cb58/docs/docs/reference/release-notes/v3.11/index.md#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://github.com/gatsbyjs/gatsby/blob/66bdfa2a46db3606ea7394a0c54472273716cb58/docs/docs/reference/release-notes/v3.10/index.md)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.11.0-next.0...gatsby@3.11.0)
v3.10 (July 2021 #2): tag_name: gatsby@3.10.0
body: Welcome to `gatsby@3.10.0` release (July 2021 #2)

Key highlights of this release:

- [Experimental: Parallel Query Running](https://www.gatsbyjs.com/docs/reference/release-notes/v3.10#experimental-parallel-query-running) - Improves time it takes to run queries during gatsby build
- [Experimental: webpack persistent caching for `gatsby develop`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.10#experimental-webpack-persistent-caching-for-gatsby-develop) - significantly speed up start of webpack server

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.10#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.9)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.10.0-next.0...gatsby@3.10.0)
v3.9 (July 2021 #1): tag_name: gatsby@3.9.0
body: Welcome to `gatsby@3.9.0` release (July 2021 #1)

Key highlights of this release:

- [React 18 - New Suspense SSR Architecture](https://www.gatsbyjs.com/docs/reference/release-notes/v3.9/#react-18---new-suspense-ssr-architecture) - Enables SSR support for Suspense when using React 18 (Alpha)
- [Shopify App for Gatsby Cloud](https://www.gatsbyjs.com/docs/reference/release-notes/v3.9/#shopify-app-for-gatsby-cloud)
- [gatsby-source-contentful](https://www.gatsbyjs.com/docs/reference/release-notes/v3.9/#quality-of-life-improvements-to-gatsby-source-contentful) - quality of life improvements

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.9/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v3.8)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.9.0-next.0...gatsby@3.9.0)
v3.8 (June 2021 #2): tag_name: gatsby@3.8.0
body: Welcome to `gatsby@3.8.0` release (June 2021 #<span>2</span>)

Key highlights of this release:

- [React 18 - Alpha](https://www.gatsbyjs.com/docs/reference/release-notes/v3.8/#react-18---alpha) - React 18 Alpha is available in Gatsby
- [`gatsby-source-shopify` v5](https://www.gatsbyjs.com/docs/reference/release-notes/v3.8/#gatsby-source-shopify-v5)
- [Web Vitals Tracking](https://www.gatsbyjs.com/docs/reference/release-notes/v3.8/#web-vitals-tracking) - Analytics Plugins now support tracking Web Vitals
- [webpack caching](https://www.gatsbyjs.com/docs/reference/release-notes/v3.8/#webpack-caching) - built-in persistent caching activated for everyone
- [Improvements to Drupal integration](https://www.gatsbyjs.com/docs/reference/release-notes/v3.8/#drupal-integration) — Sourcing is up to 30%+ faster and much more reliable

Also, check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.8/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v3.7)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.8.0-next.0...gatsby@3.8.0)
v3.7 (June 2021 #1): tag_name: gatsby@3.7.0
body: Welcome to `gatsby@3.7.0` release (June 2021 #1)

Key highlights of this release:

- [Functions](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#functions) - Now generally available
- [webpack caching](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#webpack-caching) - Starting gradual rollout
- [Yarn 2 (PNP) support](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#yarn-2-pnp-support)
- [New API for source plugins: `createNodeManifest`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#new-api-for-source-plugins-createnodemanifest)
- [Experimental: Node persistence in LMDB](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#experimental-node-persistence-in-lmdb) - Lower peak memory usage
- [`gatsby-remark-images`: async image decoding by default](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#gatsby-remark-images-async-image-decoding-by-default)

Also, check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.7/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v3.6)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.7.0-next.0...gatsby@3.7.0)
v3.6 (May 2021 #2): tag_name: gatsby@3.6.0
body: Welcome to `gatsby@3.6.0` release (May 2021 <span>#</span>2)

Key highlights of this release:

- [Functions](https://www.gatsbyjs.com/docs/reference/release-notes/v3.6#functions) - now supported in Plugins and Themes! Multiple performance and DX improvements.
- [Preview Status Indicator](https://www.gatsbyjs.com/docs/reference/release-notes/v3.6#preview-status-indicator) - Design upgrade and added functionality.

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.6/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.5/)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.6.0-next.0...gatsby@3.6.0)
v3.5 (May 2021 #1): tag_name: gatsby@3.5.0
body: Welcome to `gatsby@3.5.0` release (May 2021 <span>#</span>1)

Key highlights of this release:

- [Performance improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v3.5/#performance-improvements) - up to 20% faster CLI startup, up to 20% faster query running, 70% speedup to creating pages
- [`gatsby-graphql-source-toolkit` v2](https://www.gatsbyjs.com/docs/reference/release-notes/v3.5/#gatsby-graphql-source-toolkit-v2) - Compatibility with Gatsby v3
- [New SSR in Develop overlay](https://www.gatsbyjs.com/docs/reference/release-notes/v3.5/#new-ssr-in-develop-overlay) - the experimental SSR in Develop feature got a new overlay
- [Documentation updates](https://www.gatsbyjs.com/docs/reference/release-notes/v3.5/#documentation-updates) - new docs: Functions, CSS, and our image plugins

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.5/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v3.4)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.5.0-next.0...gatsby@3.5.0)
v3.4 (April 2021 #2): tag_name: gatsby@3.4.0
body: Welcome to `gatsby@3.4.0` release (April 2021 #<span></span>2)

Key highlights of this release:

- [Experimental: Enable webpack persistent caching for production builds](https://www.gatsbyjs.com/docs/reference/release-notes/v3.4/#experimental-enable-webpack-persistent-caching-for-production-builds) - significantly speed up webpack compilation on subsequent builds
- [Experimental: Gatsby Functions](https://www.gatsbyjs.com/docs/reference/release-notes/v3.4/#experimental-functions) - serverless functions in Gatsby & Gatsby Cloud
- [New Aggregation Resolvers](https://www.gatsbyjs.com/docs/reference/release-notes/v3.4/#new-aggregation-resolvers) - adds `min()`, `max()`, and `sum()` resolvers to `allX` queries
- [Better Fast Refresh handling for styling libraries](https://www.gatsbyjs.com/docs/reference/release-notes/v3.4/#better-fast-refresh-handling-for-styling-libraries) - Theme UI and Chakra UI now work correctly with Fast Refresh

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.4/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](/docs/reference/release-notes/v3.3)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.4.0-next.0...gatsby@3.4.0)

v3.3 (April 2021 #1): tag_name: gatsby@3.3.0
body: Welcome to `gatsby@3.3.0` release (April 2021 #<span></span>1)

Key highlights of this release:

- [Performance optimizations](https://www.gatsbyjs.com/docs/reference/release-notes/v3.3/#performance-optimizations) - faster JS bundling, lower peak memory usage
- [Upgrade to the latest `sharp`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.3/#upgrade-to-the-latest-sharp) - built-in image optimizations; and now works on M1 Macs
- [Upgrade to the latest `remark`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.3/#upgrade-to-the-latest-remark) - more consistency in Markdown rendering
- [Bugfixes in `gatsby-plugin-image`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.3/#bugfixes-in-gatsby-plugin-image130)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.3/#notable-bugfixes--improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.2)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.3.0-next.0...gatsby@3.3.0)
v3.2 (March 2021 #3): tag_name: gatsby@3.2.0
body: Welcome to `gatsby@3.2.0` release (March 2021 #<span></span>3)

Key highlights of this release:

- [Better `StaticImage` errors](https://www.gatsbyjs.com/docs/reference/release-notes/v3.2/#better-staticimage-errors)
- [Adjustable ES Modules option for CSS Modules](https://www.gatsbyjs.com/docs/reference/release-notes/v3.2/#adjustable-es-modules-option-for-css-modules)
- [`gatsby-source-contentful`](https://www.gatsbyjs.com/docs/reference/release-notes/v3.2/#gatsby-source-contentful520) - improved performance and other changes

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.2/#notable-bugfixes).

Sneak peek to next releases:

- [Major bump of all remark plugins](https://www.gatsbyjs.com/docs/reference/release-notes/v3.2/#next-version-major-bump-of-all-remark-plugins)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.1)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.2.0-next.0...gatsby@3.2.0)

v3.1 (March 2021 #2): tag_name: gatsby@3.1.0
body: Welcome to `gatsby@3.1.0` release (March 2021 #2)

Key highlights of this release:

- [Fast Refresh Dark Mode](https://www.gatsbyjs.com/docs/reference/release-notes/v3.1/#fast-refresh-dark-mode)
- [Improved Error Messages](https://www.gatsbyjs.com/docs/reference/release-notes/v3.1/#improved-error-messages)
- [Contentful `gatsbyImageData` is stable](https://www.gatsbyjs.com/docs/reference/release-notes/v3.1/#contentful-gatsbyimagedata-is-stable)

Also check out [notable bugfixes](https://www.gatsbyjs.com/docs/reference/release-notes/v3.1/#notable-bugfixes).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes for v3.0](/docs/reference/release-notes/v3.0)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@3.1.0-next.0...gatsby@3.1.0)
v3.0 (March 2021 #1): tag_name: gatsby@3.0.0
body: Welcome to `gatsby@3.0.0` release (March 2021 #1).

This is the first major bump of Gatsby since [September 2018](https://www.npmjs.com/package/gatsby/v/2.0.0)!
We’ve tried to make migration smooth. Please refer to the [migration guide](https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/)
and [let us know](https://github.com/gatsbyjs/gatsby/issues/new/choose) if you encounter any issues when migrating.

Key highlights of this release:

- [Incremental Builds in OSS](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#incremental-builds-in-oss) - regenerate HTML only when necessary, leading to faster builds
- [Fast Refresh](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#fast-refresh) - new hot-reloading engine, error recovery, better DX
- [gatsby-plugin-image@1.0.0](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#gatsby-plugin-image100)
- [gatsby-source-wordpress@5.0.0](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#gatsby-source-wordpress500) - brand-new, significantly improved integration with WordPress
- [gatsby-source-contentful@5.0.0](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#gatsby-source-contentful500)
- [Miscellaneous changes in plugins](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#miscellaneous-changes-in-plugins)

Major dependency updates:

- [Node 12](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#node-12)
- [webpack 5](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#webpack-5)
- [React 17](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#react-17)
- [GraphQL 15](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#graphql-15)
- [ESLint 7](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#eslint-7)

Also, check out [notable bugfixes and improvements](https://www.gatsbyjs.com/docs/reference/release-notes/v3.0/#notable-bugfixes-and-improvements).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes for v2.32](/docs/reference/release-notes/v2.32)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.0-next.0...gatsby@3.0.0)

v2.32 (February 2021 #1): tag_name: gatsby@2.32.0
body: Welcome to `gatsby@2.32.0` release (February 2021. 1)

Key highlights of this release:

- [Stable API in beta image plugin](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.32/index.md#stable-api-in-beta-image-plugin)
- [Support for beta image plugin in Contentful](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.32/index.md#support-for-beta-image-plugin-in-contentful)
- [Default sharp settings in beta image plugin](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.32/index.md#default-sharp-settings-in-beta-image-plugin)
- [Support for art direction in beta image plugin](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.32/index.md#support-for-art-direction-in-beta-image-plugin)
- [Performance improvements for larger sites (10000+ pages)](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.32/index.md#performance-improvements-for-larger-sites-10000-pages)

Also check out [notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.32/index.md#notable-bugfixes).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://www.gatsbyjs.com/docs/reference/release-notes/v2.31)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.32.0-next.0...gatsby@2.32.0)
v2.31 (January 2021 #2): tag_name: gatsby@2.31.0
body: Welcome to `gatsby@2.31.0` release (January 2021 #2)

Key highlights of this release:

- [Performance improvements](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.31/index.md#performance-improvements)
- [Support for Gatsby's fragments in GraphiQL](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.31/index.md#support-for-gatsbys-fragments-in-graphiql)
- [Use Fast Refresh by default for React 17](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.31/index.md#fast-refresh-enabled-by-default-for-react-17)
- [Important gatsby-plugin-image updates](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.31/index.md#important-gatsby-plugin-image-updates)

Also check out [notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.31/index.md#notable-bugfixes).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md)

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.31.0-next.0...gatsby@2.31.0)

v2.30 (January 2021 #1): tag_name: gatsby@2.30.0
body: Welcome to `gatsby@2.30.0` release (January 2021 #‎1)

[See full release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md)

Key highlights of this release:

- [Query on Demand and Lazy Images: Generally available](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#query-on-demand-and-lazy-images-generally-available) - improves `gatsby develop` bootup time
- [Server Side Rendering (SSR) in development](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#server-side-rendering-ssr-in-development) — helps you find and fix many build errors in development. We're starting a partial release of this feature to 5% of users.
- [gatsby-plugin-sass v3](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#gatsby-plugin-sass300) - use the latest `sass-loader` and `Dart Sass` by default
- [Image transformations up to 30% faster](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#gatsby-plugin-sharp2120)

And several impactful updates in the new [`gatsby-plugin-image`](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#gatsby-plugin-image050-beta) (beta):

- [AVIF support](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#avif-support) - enjoy next-gen image format
- [Support remote static images](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#support-remote-image-urls-experimental) - download, transform and optimize remote images with a single line

Also, check out [notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.30/index.md#notable-bugfixes).

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md)

[Full Changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.30.0-next.0...gatsby@2.30.0)
v2.29 (December 2020 #2): tag_name: gatsby@2.29.0
body: Welcome to `gatsby@2.29.0` release (December 2020 #2)

[See full release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md)

Key highlights of this release:

- [Query on Demand](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#query-on-demand) - improves `gatsby develop` bootup time
- [Lazy Images](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#lazy-images) - do not wait for all images to be processed to start the development
- [Improvements to our CLI](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#improvements-to-our-cli) - improved `create-gatsby` & new `plugin` command
- [Experimental: Parallel data sourcing](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#experimental-parallel-data-sourcing) - run source plugins in parallel to speedup sourcing on sites with multiple source plugins

Other notable changes:

- [Performance improvements](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#performance-improvements)
- [Slugify option for File System Route API](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#slugify-option-for-file-system-route-api)
- [gatsby-image codemod](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#gatsby-image-codemod)
- [Notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.29/index.md#notable-bugfixes)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md)
[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.29.0-next.0...gatsby@2.29.0)
v2.28 (December 2020 #1): tag_name: gatsby@2.28.0
body: Welcome to `gatsby@2.28.0` release (December 2020 #<span>1</span>).

[See full release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md)

Key highlights of this release:

- [New `gatsby new`](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#new-gatsby-new) - new, interactive way to create a Gatsby site
- [Feature flags in gatsby-config](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#feature-flags-in-gatsby-config) - set your feature toggles without environment variables
- [Improved Fast Refresh integration](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#improved-fast-refresh-integration) - better hot reloading
- [Experimental: Lazy images in develop](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#experimental-lazy-images-in-develop) - run image transformations only when they are needed by browser

Other notable changes:

- [Image plugin helpers](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#image-plugin-helpers) - make it easier for plugin authors to support the new gatsby image plugin
- [Experimental: New cache clearing behaviors](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#experimental-new-cache-clearing-behaviors) - we're experimenting with ways to be smarter about clearing caches
- [gatsby-plugin-emotion v5.0](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#gatsby-plugin-emotion500) - now uses emotion v11
- [Removed experimental lazy page bundling](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#removed-experimental-lazy-page-bundling)
- [Notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#notable-bugfixes)

Sneak peek to next releases:

- [Experimental: Parallel data sourcing](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.28/index.md#experimental-parallel-data-sourcing) - run source plugins in parallel to speedup sourcing on sites with multiple source plugins

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md)<br>
[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.28.0-next.0...gatsby@2.28.0)
v2.27 (November 2020 #2): tag_name: gatsby@2.27.0
body: Welcome to `gatsby@2.27.0` release (November 2020 #<span>2</span>).

[See full release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md)

Key highlights of this release:

- [create-gatsby](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#create-gatsby) - new, interactive way to create a Gatsby site
- [Experimental: Queries on Demand](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#experimental-queries-on-demand) - improves `gatsby develop` bootup time
- [Experimental: Lazy page bundling](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#experimental-lazy-page-bundling-in-development) - also improves `gatsby develop` bootup time
- [Experimental: SSR in develop](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#experimental-ssr-in-development) - catch SSR errors early
- [gatsby-plugin-mdx@1.5.0](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#gatsby-plugin-mdx150) - new option for better performance
- [Notable bugfixes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#notable-bugfixes)

Sneak peek to next releases:

- [Experimental: Lazy images in develop](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#experimental-lazy-images-in-develop)
- [Documentation Reorganization](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.27/index.md#documentation-reorganization)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Previous release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md)
[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.27.0-next.0...gatsby@2.27.0)
v2.26 (November 2020): tag_name: gatsby@2.26.0
body: Welcome to `gatsby@2.26.0` release (November 2020).

[See full release notes](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md)

Key highlights of this release:

- [New Image Plugin (beta)](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#gatsby-plugin-image010-beta) - access static images without GraphQL, high Lighthouse scores again
- [File System Route API](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#file-system-route-api) - create routes from your data using filename conventions
- [New Release Process](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#new-release-process) - more stability and clarity around Gatsby releases
- [gatsby-source-contentful v4.0](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#gatsby-source-contentful400) - new RichText implementation, performance improvements

Other notable changes:

- [gatsby-plugin-mdx](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#gatsby-plugin-mdx140) - performance improvements
- [Enable compression in the dev server](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#enable-compression-in-the-dev-server) - speeds up remote previews

Sneak peek to next releases:

- [Queries on Demand](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#queries-on-demand) - improves `gatsby develop` bootup time
- [Experimental: Lazy images in develop](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#experimental-lazy-images-in-develop)
- [Documentation Reorganization](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/reference/release-notes/v2.26/index.md#documentation-reorganization)

**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know
if you have any [issues](https://github.com/gatsbyjs/gatsby/issues).

[Full changelog](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.26.0-next.0...gatsby@2.26.0)
New MongoDB source plugin!: tag_name: v1.5.2
body: Exciting to see the first source plugin for a database added!

### Added

* Add gatsby-source-mongodb plugin to gatsby (#1570) @jorishermans
* [www] Refactor Homepage and Navigation & convert diagram to html/css (#1605) @fk
* Included example with WP-API-MENUS items (#1619) @sebastienfi
* added new site to showcase (#1616) @dvzrd
* Docs: add grommet starter (#1626) @alampros
* add a bunch of tests for various plugins (#1581) @DSchau

### Fixed

* fix broken gatsby link definition for typescript 2.4.2 (#1628) @DominikGuzei
* test: fix failing test due to missing argyle image (#1636) @DSchau
* Revise part one of tutorial to use hello-world starter (#1630) @KyleAMathews
* Fix passing createNode as argument (#1629) @sebastienfi
* Don't mutate page context (#1537) @okcoker
* Updated instructions for Windows (#1621) @sebastienfi
* Tweak JSS links + add it to plugins page (#1615) @KyleAMathews
New plugin adding support for css-in-js library JSS!: tag_name: v1.4.0
body: ### Added

* Implement gatsby-plugin-jss #1431 @wizardzloy
* Add gatsby-plugin-feed to www #1569 @nicholaswyoung
* gatsby-transformer-sharp: Added the option to use the original image #1556 @chiedo

### Fixed

* [www] Blog post meta styles #1561 @fk
* Fix unsupported method in IE #1573 @variadicintegrity
* Don't set a default title in html.js as not overriden by react-helmet #1578 @KyleAMathews
* Downgrade Glamor to v2 as v3 unstable #1580 @KyleAMathews
* Remove the slash between the pathPrefix and pathname when navigating #1574 @DaleWebb
* Fix url in Contentful example #1596 @axe312ger
* Small fixes to tutorial #1586 @benmathews
* Add missing dep to gatsby-source-filesystem #1607 @jquense
* Wordpress -> WordPress #1608 @Alaev
* Fix typo #1609 @fk
* Update `modifyWebpackConfig` docs #1613 @KyleAMathews
* Fix broken links #1614 @KyleAMathews
1.3.0 — improve cachability of JS bundles + new CSV transformer!: tag_name: v1.3.0
body: ### Added

* docs: add "creating a static blog with gatsby" blog post #1560 @DSchau
* add tests to gatsby-remark-images #1559 @DSchau
* add glitch-gatsby-starter-blog #1554 @100ideas
* use consistent chunk ids #1534 @stevensurgnier
* Enhance API for multiple feeds #1548 @nicholaswyoung
* Add new plugin to handle csv files #1496 @ssonal
* Adds showcase segment for starters/websites built with Gatsby. #1535 @Vagr9K
* using-javascript-transformers example #1492 @jbolda
* Add sitemap plugin to www #1541 @nicholaswyoung

### Fixed

* Clone context to prevent mutations #1553 @kyleamathews
* Update dependencies to avoid hoisting errors #1552 @kyleamathews
* Set pathPrefix if not defined to an empty string to avoid undefined #1551 @kyleamathews
* Fix prefixes in gatsby-link + navigateTo #1550 @kyleamathews
* Make path to packages the same on website as github #1549 @kyleamathews
* Fixing sw.js 404-ing because of pathPrefix not being prefixed to sw.js properly. Fixing #1539 #1540 @gregsqueeb
* [gatsby-plugin-sharp] Fix PNG generation when using the "duotone" option #1506 @fk
* fix: ensure pathPrefix is added to responsive images #1510 @DSchau
* Fix the onClick override logic #1489 @jakedeichert
* Check if node.value is set as otherwise cheerio throws an error #1543 @kyleamathews
* Fix docs referencing outdated React Router <Link> API #1523 @ahfarmer
* Fixes component-renderer to allow for use of internal routing #1542 @scottyeck
* Center .twitter-tweet-rendered #1529 @fk
* double '... use use ...' word #1528 @GoreStarry
1.2.0 : tag_name: v1.2.0
body: A few more days, another minor release 😎

Highlight of this release is @felixjung adding support for hot reloading changes to site's html.js during development in #1473  

Beyond that, lots of bug fixes and small feature additions from the community!

### Added

* Watch for changes to html.js #1473 @felixjung
* Add stylus example #1479 @iansinnott
* Added support for nested img tags in html nodes #1485 @chiedo
* Allow for env files #1462 @okcoker
* Create deploy-gatsby.md #1480 @couturecraigj

### Fixed

* Fix Contentful example URL #1483 @oscar-b
* Fix reference to program.directory #1490 @jakedeichert
* Prism plugin bugfix alt #1491 @bvaughn
* Fixes docs referencing removed "1.0" branch source code instead of master. #1495 @Vagr9K
* fix(gatsby-source-contentful): missing host param in createClient #1487 @Smiter
* use program directory over cwd #1478 @craig-mulligan
First minor release!: tag_name: v1.1.0
body: Continuing our blistering development pace, in the five days since our initial 1.0.0 release there's been **44 merged PRs** by **20 different authors**. Thanks everyone!

### Added

* Add gatsby-plugin-twitter for embedding Tweets #1389 @KyleAMathews
* Document promise/callback interface for async plugins #1409 @KyleAMathews
* Add an example of a config query to migration docs #1429 @benmccormick
* Adds more information to documentation pages. #1428 @Vagr9K
* Add new plugin `gatsby-plugin-emotion` #1447 @rawrmonstar
* Gatsby remark images default alt tags and optional linking #1451 @chiedo
* Add stylus support #1437 @iansinnott
* [gatsby-source-contentful] Add Support for preview api #1464 @Khaledgarbaya

### Fixed

* Update init-starter.js #1393 @kimown
* fix URL for packages, using the master branch #1399 @bmackinney
* Use latest instead of next for versions in examples #1404 @KyleAMathews
* Update www dependencies #1402 @KyleAMathews
* Fix frontpage copy issues #1401 @KyleAMathews
* Add missing return statement #1405 @ahmedlhanafy
* Fixed documentation #1406 @chiedo
* fix: Update examples directory URL due to 404 with current link #1410 @bencodezen
* Add link to gatsby-dev-cli + we're stable + copy editing @KyleAMathews
* fix glamor + babel modification #1416 @jaredly
* Typo, grammar and standardising flags #1426 @IrregularShed
* Fix bug where the target is incorrectly set #1427 @samzhao
* Fix "gastsby" to "gatsby" on line 34 #1433 @trautlein
* Fix "Creating Pages" example's variable reference #1430 @benmccormick
* Fixes the example for navigateTo. #1440 @Vagr9K
* Properly load options for Remark #1441 @benmccormick
* Use lowercase require for "rss" #1444 @nicholaswyoung
* fix issue with ssr for redux example #1445 lemuelbarango
* Update .nvmrc, Node 8 #1446 @nicholaswyoung
* Set a key on pages so when switching between pages, the same component instance isn't reusued #1460 @KyleAMathews
* Removed `owner` assignation to prevent error #1454 @sebastienfi
* Update gatsby-node.js #1452 @sebastienfi
* Update README.md #1453 @sebastienfi
* Improve typescript example #1466 @fabien0102
* Remove react-helmet from src/html.js fixes #1443 #1474 @KyleAMathews
* Updates add-custom-webpack-config.md to fix broken links #1420 @marcustisater
* Fix source-wordpress npmignore #1476 @KyleAMathews


v1 release! 🎉🎉🎉: tag_name: v1.0.1
body: Release blog post at https://www.gatsbyjs.org/blog/gatsby-v1/

### Added
* Adds Material Blog starter to the list of starters. #1344 @Vagr9K committed with KyleAMathews 4 days ago
* Continuation: WIP update home page with new design #1355 @fk
* Wordpress source plugin and example site #1321 @sebastienfi
* [v1.0] Documentation improvements. #1370 @Vagr9K
* 1.0.0 announcement blog post #1379 @KyleAMathews
* Adds gatsby-transformer-toml to the core. ##1382 @Vagr9K

### Fixed
* Update README to make it clearer about deploying to gh pages #1343 @jsfeb26
* Call next() after serving HTML #1349 @levibuzolic
* Use int for defaultValue of int field #1352 @KyleAMathews
* Make default sitemap meet expectations #1351 @chiedo
* Guard against calling ga function if it doesn't (yet) exist #1361 @KyleAMathews
* Namespace type names for Contentful #1374 @KyleAMathews
* Add missing parens in code examples #1376 @okcoker
* Fix gatsby-transformer-react-docgen dependencies #1377 @jquense
v1.0.0-beta.6: tag_name: v1.0.0-beta.6
body: Perhaps/hopefully the last beta before 1.0.0!

### Added

* Use the sync endpoint to pull data from Contentful  #1241 @Khaledgarbaya
* Use localized space #1266 @Khaledgarbaya
* gatsby-transformer-javascript-static-exports #1253 @jbolda
* Added support for HTML img tags #1285 @chiedo
* [gatsby-source-contentful] support creating localized nodes #1279 @kyleamathews
* Link pages to their plugin creators for easier understanding/debugging fixes #1281 #1297 @kyleamathews
* Support NavLink in gatsby-link #1302 @abi
* Add an example for using the sass plugin #1312 @danielfarrell
* Add CSS Modules example site #1314 @kyleamathews
* Add Typescript example #1319 @kyleamathews
* Support using browserslist for setting per-site browser targeting for JS/CSS transformations #1336 @kyleamathews
* Add gatsby-plugin-canonical-url #1337 @kyleamathews
* [source-contentful] Allow for querying gifs & when user queries for image height, actually crop #1339 @kyleamathews

### Changed

* Replace build-images with just images @kyleamathews
* Make mediaType optional #1299 @kyleamathews
* Just use name/value for createNodeField #1325 @kyleamathews
* Renamed remark-responsive-image-plugin @chiedo
* Write images processed by sharp to public/static along with other assets #1332 @kyleamathews

### Fixed

* using-remark fixes #1250 @fk
* Broken example commands in DOCS / Getting Started page #1252 @sebastienfi
* Don't catch links to files #1260 @kyleamathews
* Improve develop-html stage #1254 @craig-mulligan
* Make various tweaks to the tutorial #1262 @kyleamathews
* Add tests for parsing regex args + fix bug #1267 @kyleamathews
* Fixes for feed plugin README #1273 @kyleamathews
* [gatsby-source-contentful] Add testing for existing API processing #1274 @kyleamathews
* Throw error and quit if there's a JS parse error for gatsby-config.js #1296 @kyleamathews
* Add missing npmignore files #1298 @kyleamathews
* Move creating 404.html page into plugin so can enforce pages only created by plugins #1300 @kyleamathews
* Fix occassionally out-of-order query watching which would throw errors #1301 @kyleamathews
* Waiting for query extraction wasn't actually waiting #1303 @kyleamathews
* Improved plugin error without exit #1309 @0x80
* Fixed a small typo in gatsby-plugin-postcss-sass that prevented CSS modules from working #1307 @levibuzolic
* Don't use the sass loader on build-javascript #1278 @danielfarrell
* Fixes 1317 Google Analytics plugin; updates attachHistory listener logic #1318 @camsjams
* Call onRouteUpdate on initial page load #1320 @kyleamathews
* Fix check if there's a sw plugin added #1323 @kyleamathews
* Only build 1 html page in development and always serve it #1324 @kyleamathews
* Fix server/client rendering mismatch #1326 @kyleamathews
* update gatsby-remark-responsive-iframe readme #1328 @eddywashere
* Use memory lowdb as it is significantly faster. Also snuck in yurnalist for better console output #1329 @kyleamathews
* Quit on ctrl-c #1334 @kyleamathews
* Set keys on head/body components #1335 @kyleamathews
v1.0.0-beta5 Fix GraphQL version mis-match: tag_name: v1.0.0-beta.5
body: Our versions of GraphQL got mis-matched due to the new release of Relay Compiler so quick new release to fix that.

* Fix graphql mis-match problem #1248 @kyleamathews
v1.0.0-beta4: tag_name: v1.0.0-beta.4
body: ### Added

* Add using-remark example site https://using-remark.gatsbyjs.org/ #1230 @fk
* Add friendly webpack output #1240 @craig-mulligan
* Add documentation on how to use custom webpack-config #1242 @bananenmannfrau
* Add graphql fields for creating responsive images using Contentful image API https://using-contentful.gatsbyjs.org/image-api/ #1228 @kyleamathews

### Changed

* Refactor Contentful data processing into own module + use more standard GraphQL type names @kyleamathews
* Prefer floats over integers when inferring a GraphQL field #1229 @kyleamathews

### Fixed

* Fix babel compilation so targets uglify #1244 @kyleamathews
* Open external image link with rel='noopener' #1227 @wangsongiam
* Update index.d.ts for gatsby-link #1232 @timsuchanek
1.0.0-beta.3: tag_name: v1.0.0-beta.3
body: ### Added

* Show better errors when there's a graphql compilation problem #1222 @kyleamathews
* Add google tagmanager plugin #1123 @0x80
* Support path prefixes for service workers @kyleamathews
* When a new service worker is loaded, force reload #1217 @kyleamathews
* www: Make the header fixed for tablets and up #1215 @fk
* Update on Gatsby Windows instructions #1216 @sebastienfi
* Improve GQL query error handling #1214 @0x80
* An array of linked nodes linking to heterogeneous node types is now converted to a union type #1211 @kyleamathews

### Fixed
* Final fixes to highlight code line whitespace, doc #1207 @fk
* Increase contentful fetch limit to max of 1000 #1209 @kyleamathews
* Fix broken links on website #1205 @kyleamathews
* Merge sidebar components #1191 @fk
* absolute resolves for gatsby config files #1195 @craig-mulligan
* Update the default sitemap query #1204 @nicholaswyoung
* For Contentful, filter out unresolvable entries and create markdown text nodes #1202 @kyleamathews
* Reduce font-size of the mobile menu labels #1201 @fk
* gatsby-remark-responsive-image: fix misaligned images #1196 @rstacruz
* Fix 100% width code highlight background only being drawn for the vis… #1192 @fk
1.0.0-beta.2: tag_name: v1.0.0-beta.2
body: Quick release with some bug fixing

### Added
* Add beta 1 blog post #1183 @kyleamathews

### Fixed
* Fix prism line highlighting #1187 @kyleamathews
* Add .npmignore to source-drupal plugin so it'll publish @kyleamathews
* Fix building thumbnails when an image is processed multiple times #1185 @kyleamathews
* Add event when all plugins are finished running so know when to start running queries #1182 @kyleamathews
* Fix a typo on gatby-link updating #1181 @danielfarrell

Our first beta!!! 🎉: tag_name: v1.0.0-beta.1
body: Thanks so much to everyone who's helped get Gatsby to this point. Now onto 1.0.

### Added
* Allow for gatsby-remark-smartypants options #1166 @mitchejj
* New design (for gatsbyjs.org) + new home page #1170 @kyleamathews
* Add ability to locally define plugins #1126 @0x80
* Add rough draft for docs for creating source plugins #1159 @kyleamathews
* Optimizations around prefetching page resources #1133 @kyleamathews
* Redux example site #1081 @scottyeck
* Sitemap Generator Plugin #1115 @nicholaswyoung
* Add documentation to gatsby-remark-prism @kyleamathews

### Changed
* Move all filter operators for connections under a top-level "filter" field #1177 @kyleamathews
* Change `linkPrefix` to `pathPrefix` and add an example site #1155 @kyleamathews
* Make the plugin options for remark plugins the second argument (like everywhere else) #1167 @kyleamathews
* Start using next instead of canary in example sites for package versions @kyleamathews

### Fixed
* Fix graphql compiler on typescript #949 @fabien0102
* Replace react.createClass with ES6 classes in exmaples html.js, add PropTypes #1169 @abachuk
* Fix windows build issue #1158 @kyleamathews
* Use custom delimiter when flattening example values for enum fields so easy to convert back @kyleamathews
* gatsby-remark-responsive-images: use span instead of div #1151 @rstacruz
* Add check that we can actually find a linked image file node @kyleamathews
* Ignore SVGs in gatsby-remark-responsive-image #1157 @fk
* Replace using levelup for caching with lowdb to avoid native dependency #1142 @kyleamathews
* Fix Appveyor bug regarding build all examples on release #1118 @jbolda
1.0.0-alpha20 RSS Feed plugin, Contentful source plugin, part 1 of new tutorial: tag_name: v1.0.0-alpha20
body: 
### Added

- RSS Feed plugin #1073 @nicholaswyoung
- Contentful source plugin #1084 @mericsson
- MVP part 1 of new community Gatsby tutorial #1107 @kyleamathews
- Debuggin help when building HTML fails #1109 @kyleamathews
- Default `html.js` component #1107 @kyleamathews
- Can now highlight specific line numbers in markdown code blocks #1107 @kyleamathews

## Changed

- `gatsby-config.js` is no longer required #1107 @kyleamathews
- The Gatsby `serve-build` command is now just `serve` #1107 @kyleamathews

## Fixed

- Windows builds on Appveyor #1049 @jbolda
Huge release! Some deep refactors to improve reliability & speed plus the implementation of our new API specification: tag_name: v1.0.0-alpha19
body: ### Added

- Add a helpful 404 page during development that lists the page you might have wanted @kyleamathews
to link to or how to create a new page at that link #1051 @kyleamathews
- Add "Plop" script for quickly creating new packages #1059 @kyleamathews
- Add new plugin supporting server rendering of Styled Components #1060 @gutenye
- Add new plugin supporting server rendering of react-helmet #1085 @kyleamathews
- Add new plugin for extracting JSDocs information from JavaScript files using documentation.js #1053 @kyleamathews
- Add new API spec (rough draft) @kyleamathews https://www.gatsbyjs.org/docs/api-specification/
- Add new API reference pages @kyleamathews e.g. https://www.gatsbyjs.org/docs/node-apis/
- Add "duotone" image processing option to gatsby-plugin-sharp #1047 @fk
- Add example site for image processing @fk https://image-processing.gatsbyjs.org/
- Add example site for css-in-js library Glamor @kyleamathews https://using-glamor.gatsbyjs.org/
- Add example site for css-in-js library Styled Components @kyleamathews https://using-styled-components.gatsbyjs.org/

### Changed

#### Grand big API renaming based on our new API spec https://www.gatsbyjs.org/docs/api-specification/

API changes:

[Action creators](https://www.gatsbyjs.org/docs/bound-action-creators/):

* `upsertPage` is now `createPage`
* `addFieldToNode` is now `createNodeField`
* `deletePageByPath` is now `deletePage`
* `addNodeToParent` is now `createParentChildLink`

[gatsby-browser.js APIs](https://www.gatsbyjs.org/docs/browser-apis/):

* `clientEntry` is now `onClientEntry`

[gatsby-node.js APIs](https://www.gatsbyjs.org/docs/node-apis/):

* `onNodeCreate` is now `onCreateNode`
* `onUpsertPage` is now `onCreatePage`
* `extendNodeType` is now `setFieldsOnGraphQLNodeType`

[gatsby-ssr.js APIs](https://www.gatsbyjs.org/docs/ssr-apis/):

* `modifyHeadComponents` and `modifyPostBodyComponents` were removed in favor of a
new API [`onRenderBody`](https://www.gatsbyjs.org/docs/ssr-apis/#onRenderBody).
* `replaceServerBodyRender` is now `replaceRenderer`

### Fixed

- Fix sharp image quality and force file format (#1054) @0x80
- Expose crop focus parameter and make consistent with base64 #1055 @0x80
- Clean up TravisCI config #1066 @hawkrives
- Fix inference bug #1087 @jquense
- Provide default context for GraphQL #1052 @kyleamathews
- Make determining when a given stage is finished much more reliable #1080 @kyleamathews
- Pick values off plugin's package.json to avoid weird metadata from NPM #1090 @kyleamathews

### New 1.0 sites launched

- https://www.vauxlab.com
- https://meetfabric.com
Alpha16 — Fully immutable nodes: tag_name: v1.0.0-alpha16
body: ### Added

- Made nodes fully immutable @kyleamathews #1035
- Migration guide @kyleamathews #1032
- Add no-plugins example @scottyeck #1028
- Add support for "internal" plugins #1010
- Expose internal Gatsby data through GraphQL @kyleamathews #1014

### Changed

- Removed `updateNode` action creator as part of making nodes immutable in #1035.
Now sites/plugins should use `addFieldToNode` for adding fields to nodes created
by other plugins and `addNodeToParent` for adding a new node as a child to
an existing node.

### Fixed
- Don't override the default onClick handler in gatsby-link @scottyeck #1019
React Router V4 upgrade, static directory, bug fixes, tests, etc.: tag_name: v1.0.0-alpha15
body: ### Added

- Update version of React Router to v4 #940
- API proxy for use during development #957
- "static" directory for files to be copied directly into the "public"
directory #956
- Add `toFormat` argument to the ImageSharp GraphQL type so can change
format of image e.g. from `png` to `jpg`.
- React Docgen transformer plugin for parsing propType info from React
components #928

### Changed

- Change node format to hide most node-specific fields under an "internal"
key. Any code referencing `node.type` and others will need changed to
`node.internal.type` #960
- Changed the id for the root `<div>` used by Gatsby to mount React to `___gatsby`
- The default layout component should be at `layouts/index.js` not `layouts/default.js` https://github.com/gatsbyjs/gatsby/pull/940#issuecomment-300537162
- `this.props.children` in layout components is now a *function* https://github.com/gatsbyjs/gatsby/pull/940#issuecomment-300878300
- Change the default port for serve-build to 9000
- Change the path to GraphiQL to `/___graphql`

### Chore
- Upgrade Jest to v20 #935
New GraphQL compiler!: tag_name: v1.0.0-alpha14
body: ### Added

- Use the Relay Modern compiler for extracting GraphQL queries from components.
This allows us to now support components being added to *all* components. This
means you can now write queries next to the views that use them. #912
- Hook for modifying pages #863
- New Drupal source plugin and example site #890
- Detect if a site's plugins have changed and when they do, delete the site
cache as it might now be invalid #927
- New way to make connections between nodes e.g. article --> author #902

### Changed

- Combine transformer and typegen plugins. The distinction between the two
types of plugins has proved somewhat artificial so they were combined. Any
typegen plugins in your `package.json` and `gatsby-config.js` need to be
removed. #918
- Gatsby now garbage collects old nodes. Source plugins should now "touch"
- nodes that haven't changed #861
- Due to adopting the Relay compiler, GraphQL query template strings need
named "graphql" plus must be named. So if previously you wrote:

```js
export const pageQuery = `
{
  allMarkdownMark {
    edges {
      node {
        id
      }
    }
  }
}
`
```

You must now write:

```js
export const pageQuery = graphql`
query IndexQuery {
  allMarkdownMark {
    edges {
      node {
        id
      }
    }
  }
}
`
```
Smarter faster data processing (oh and data hot reloading!): tag_name: v1.0.0-alpha13
body: Gatsby v1's data layer is starting to feel quite solid.

For this latest alpha, I did a almost *[complete refactor of the data layer](https://github.com/gatsbyjs/gatsby/pull/818/files)* adding [in Redux](https://github.com/gatsbyjs/gatsby/pull/788) and ideas from event sourcing and *modern build tools like [Buck](https://buckbuild.com/) and [Bazel](https://bazel.build/)* from Facebook and Google respectively.

Now *all data processing is incremental and completely cached*. On booting, Gatsby looks at your data contents to decide if new processing is needed and only processes data that's actually changed. One large site built on 1.0 saw it's bootstrap time *drop from nearly a minute to **under 5 seconds***!

And as part of this work, Gatsby's data system now automatically watches all your data sources for changes and reprocesses data on the fly. Remote or local data, if you change it, the change will be automatically pushed to the development version of your site. This is handy for editing a local markdown file but also a gatsby plugin can be monitoring a remote API for changes and automatically pull down data and update your site when something is updated.

Imagine a small team working on a site with a developer and two people working on content hosted on a CMS. Every time content is updated, the developer sees the changes in near real-time on the development site.

This was the last big piece blocking 1.0.0 from being released. There are a [number of smaller tasks to complete](https://github.com/gatsbyjs/gatsby/issues/796) but these should be more predictable in scope. There's plenty of smaller tasks to do! Please come help out! 

## Breaking changes

* All site source code is moved under a `/src` subdirectory https://github.com/gatsbyjs/gatsby/pull/802
* Rename `parse` plugins to `transformer` https://github.com/gatsbyjs/gatsby/pull/818
Add support to JS frontmatter for named exports : tag_name: v0.12.46
body: @NMinhNguyen added this very nice PR adding support for named exports to JS frontmatter https://github.com/gatsbyjs/gatsby/pull/838

So this is now supported:

```javascript
export const data = {
  titles: ['My title', 'My other title'],
}
```
Fix sourcemaps, templating logic, and updates for React 0.15.5: tag_name: v0.12.45
body: * @0x80 noticed that source maps weren't working in Chrome in development and asked about it. That, combined with a [serendipitous tweet by @gaearon](https://twitter.com/dan_abramov/status/853668159685103617), led to #812 where we swapped out using the `eval` source-maps technique for `cheap-module-source-maps`.
* @donysukardi got us React 16 ready by removing our uses of React.createClass and the built-in proptypes #809 
* @danperkins fixed a logic bug in our router generation where nested templates weren't being tied to their parent templates correctly #808 
* @kyleamathews replaced the old default starter with a much simpler one to make it simpler to understand Gatsby when new plus easier to use the starter as a base for building new sites #806 
Use the default PostCSS browserlist config for autoprefixing: tag_name: v0.12.41
body: @kennethormandy fixed a problem with our PostCSS webpack config where because of how it was setup, you couldn't override the browserlist using a custom `.browserslist` file in your site. And by removing our custom option, we can now rely on the PostCSS default browserlist which is preferable as Gatsby doesn't have unique needs here so better to rely on the community maintaining a standard than us. https://github.com/gatsbyjs/gatsby/pull/787
Use Yarn by default and add support for array values in JS frontmatter: tag_name: v0.12.40
body: Our 40th patch release on the 0.12 minor series! Woot!

Two nice feature additions from two new Gatsby contributors.

* @donysukardi added support for using Yarn over NPM when creating a new Gatsby site using `gatsby new` https://github.com/gatsbyjs/gatsby/pull/782
* @Tom-Bonnike extended our JavaScript frontmatter code to support array values. https://github.com/gatsbyjs/gatsby/pull/784 So now the parsing code can extract values in this form:

```javascript
exports.data = {
  titles: ['My title', 'My other title'],
}
```
Do shallow clone when creating new Gatsby sites: tag_name: v0.12.39
body: * @ahonn noticed we were doing a full clone of Gatsby starters when running `gatsby new` which is wasteful as we just throw away the git repo. So in #730 he fixed that to just do a shallow clone.
* @dbismut fixed the default markdown loader to add in a site's prefix/basename to links within markdown. #710 
Correct wording to 'listening': tag_name: v0.12.38
body: @lb- corrected a miswording in a terminal warning in #702 thanks!
Add gatsby-ssr.js for lifecycle APIs during server rendering: tag_name: v0.12.37
body: - #695 @mtt87 needed to support rendering translations correctly for his site during the static HTML build so added support for SSR APIs through a new `gatsby-ssr.js` file which can be added to your site similar to `gatsby-browser.js` and `gatsby-node.js`. He added a `wrapRootComponent` API similar to what was recently added to the browser but the method is now available if we need to add additional SSR APIs.
- @mjesuele added support for extracting data from JS frontmatter when using template literal strings in additional to normal strings in #656 

Thanks everyone!

Reduce client bundle size: tag_name: v0.12.36
body: @omaksi noticed that in a couple internal client modules we were importing the entire Lodash utility module. He replaced those with individual imports. Thanks!

https://github.com/gatsbyjs/gatsby/commit/66d7bf51e20f5ebcdfeb95c10e857282cd78512f

More browser lifecycle APIs: wrapRootComponent and replaceDOMRenderer: tag_name: v0.12.34
body: This past week or two has seen a flood of new browser lifecycle APIs :-) which I guess means some people are building some interesting Gatsby sites!

In the latest @iansu added in https://github.com/gatsbyjs/gatsby/pull/666 two ways of modifying the “Root” Gatsby React component. A low-level API `replaceDOMRenderer` and high-level one `wrapRootComponent`.

The high-level API is if you want to simply wrap the root component e.g. to add Redux or Mobx to a Gatsby site.

``` jsx
// in your gatsby-browser.js

import { Provider } from 'react-redux'
import store from './store'

// This gets returned to Gatsby which then renders the Root component as normal.
exports.wrapRootComponent = Root => {
  return () => (
    <Provider store={store}>
      <Root />
    </Provider>
  );
};
```

The low-level API is for completely replacing the DOM rendering e.g. if you want to override the default React Router setup.

``` jsx
// in your gatsby-browser.js
import { applyRouterMiddleware, hashHistory, Router } from 'react-router'

// Change the router to use hashHistory instead of browserHistory
exports.replaceDOMRenderer = ({ routes, defaultShouldUpdateScroll, onUpdate }) => (
    ReactDOM.render(
      <Router
        history={hashHistory}
        routes={routes}
        render={applyRouterMiddleware(useScroll(defaultShouldUpdateScroll))}
        onUpdate={onUpdate}
      />,
      typeof window !== 'undefined' ? document.getElementById('react-mount') : void 0)
)
```

In the land of bug fixes, @4rkanoid noticed that Gatsby wasn't handling correctly custom site `.babelrc` files that had presets in their array form. https://github.com/gatsbyjs/gatsby/pull/668

Thanks all for your great PRs!

New browser API to allow overriding of scrolling behavior: tag_name: v0.12.32
body: On old skool web sites, browsers maintain your _scroll position_ for you as you navigate between pages and back. So if you scroll down on a page, click to another link, and then click back — your scroll position on the original page will be set to where you were before clicking away.

But as Gatsby turns your website into a single-page-app, this default browser handling of scroll position has to be emulated. For that we use @taion's great library https://github.com/taion/react-router-scroll

In Gatsby's [web-entry.js](https://github.com/gatsbyjs/gatsby/blob/master/lib/utils/web-entry.js) file where React Router is setup and we do React's rendering to DOM, we have a function which determines whether or not to use the remembered scroll position. For the vast majority of websites, the behavior specified there is correct but occasionally you'll be building something special and will want to use different logic.

To enable customizing scroll behavior, @Rusta, in #663, added a new lifecycle API for overriding the default scroll behavior.

Thanks @Rusta!

New browser lifecycle API: `modifyRoutes`: tag_name: v0.12.31
body: @scottyeck and @stevensurgnier have been working on a way to add client-side redirects and remove trailing slashes from routes and towards that aim added a new browser lifecycle API `modifyRoutes` in #657 

Some examples they came up with.

Add redirects:

``` javascript
exports.modifyRoutes = routes => {
    const redirects = [
        {
            path: '/cat',
            onEnter: (nextState, replace) => replace('/dog?utm_campaign=cat')
        }
    ];
    const childRoutesLength = routes.childRoutes.length;
    const childRoutesButLast = routes.childRoutes.slice(0, childRoutesLength - 1);
    const childRoutesLast = routes.childRoutes[childRoutesLength - 1];
    routes.childRoutes = childRoutesButLast.concat(redirects).concat([childRoutesLast]);
    return routes;
};
```

Remove trailing slashes:

``` javascript
exports.modifyRoutes = routes => {
    routes.childRoutes.forEach(route => route.path = route.path.replace(/\/$/, ''));
    return routes;
};
```

Updates to webpack config: tag_name: v0.12.28
body: - @antoniocapelo noticed that while our README promised you could override plugins like you can override loaders... we hadn't defined core plugins with [webpack-configurator](https://www.npmjs.com/package/webpack-configurator) (the lib that makes it easy to override Gatsby's webpack config in userspace) and then submitted a PR to fix this! Thanks! https://github.com/gatsbyjs/gatsby/pull/626
- @jbolda added postcss to the loader stack for Sass/Less so they can take advantage of the prefixing built in to our postcss config. https://github.com/gatsbyjs/gatsby/pull/628/files

Support more markdown extensions: tag_name: v0.12.27
body: @mkdong becomes our 100th contributor in https://github.com/gatsbyjs/gatsby/pull/612 where he added support for additional markdown extensions (e.g. mdwn).

Thanks Mingkai and our 99 other contributors!

<img width="574" alt="screen shot 2016-12-19 at 2 21 35 pm" src="https://cloud.githubusercontent.com/assets/71047/21331341/c69b308c-c5f6-11e6-9d23-a455591f86e7.png">

JS Frontmatter!: tag_name: v0.12.23
body: @jbolda fixed the [2nd issue](https://github.com/gatsbyjs/gatsby/issues/2) ever filed for Gatsby! Supporting "frontmatter" in javascript files. This should still be considered experimental but you can now export an object from your JS pages and that data will be available in your templates, other pages, etc.

I added a quick example of how this works on the starter blog
- http://gatsbyjs.github.io/gatsby-starter-blog/2016-12-9-react-component-post/
- https://github.com/gatsbyjs/gatsby-starter-blog/commit/e333cb1aadbba2d5053a3b471fa841b29b3187c2

Note that this initial release is still fairly limited at the moment. This only works in js/jsx files and you must export your data using commonjs (e.g. `exports.data = {}`). Also we only parse data layer one level deep so

this works:

``` javascript
exports.data = {
  title: "My sweet title",
}
```

this still does not work:

``` javascript
exports.data = {
  title: "My sweet title",
  goingDeeper: {
    word: "to your mother",
  }
}
```

PRs welcome to make this work on es6 exports (`export const data`) as well as for subobjects!

Typescript support 🎉: tag_name: v0.12.21
body: @rothfels added Typescript support! #578 

To give it a go, checkout his starter project at https://github.com/rothfels/gatsby-starter-typescript.

### Recently launched sites
- http://www.damianmullins.com
- https://angulartoreact.com
- https://www.spencerdixon.com/

UX improvements and support .yml files: tag_name: v0.12.20
body: - We tell people Gatsby sites work w/o Javascript and then people fire up a development server w/o javascript... and see a blank screen. The development server actually does need javascript to power hot-reloading, etc. @nason add a default `<noscript />` message for people who've turned off Javascript to tell them what's happening and how to test their site w/ no javascript (`gatsby build; gatsby serve-build`) https://github.com/gatsbyjs/gatsby/pull/566
- @vinnymac borrowed a nice recent addition to create-react-app where they're not just telling you that your desired port is taken but also which process is (probably) using it https://github.com/gatsbyjs/gatsby/pull/579
  ~![](https://cloud.githubusercontent.com/assets/1832781/20687341/14abb2e2-b58a-11e6-8bbc-16688d8efb5c.png)
- @briancappello added support for the `.yml` file extension (a less common variant file extension for YAML files). https://github.com/gatsbyjs/gatsby/pull/580

Thanks everyone!

1.0.0-alpha10: tag_name: v1.0.0-alpha10
body: ### Added
- Did the intitial build of the new gatsbyjs.org! It's in the `www`
  subdirectory on the 1.0 branch and is built on each push! That's my
  kind of integration testing 😎 You can see the early version of the
  site at https://gatsbyjs.netlify.com/.
- Added `<link preload>` for page JS bundles. This speeds up loading scripts
  slightly by telling the browser to start downloading the scripts when
  the HTML first starts being parsed instead of when the browser reaches
  the end. This is especially helpful for large HTML documents on slow
  mobile networks. [PR](https://github.com/gatsbyjs/gatsby/pull/558)

## Changed
- Use namedmodulesplugin instead of recordsPath for ensuring
  deterministic builds and long-term cachability. The [previous PR adding
  support for recordsPath](https://github.com/gatsbyjs/gatsby/pull/533)
  proved unpleasant as you had to build locally and commit the outputted
  records.json which was confusing and annoying.
  [PR](https://github.com/gatsbyjs/gatsby/pull/559)
- Replaced the `scripts` prop that was passed into the body with a `postBodyComponents` prop that mirrors the `headerComponents` prop. This is more flexible as it'll let sites/plugins to do things like pass in analytics snippets, etc. easily.

1.0.0-alpha9: tag_name: v1.0.0-alpha9
body: ### Added
- Put the routes module on `window` to support experimental idea. See
  this issue for more](https://github.com/gatsbyjs/gatsby/issues/537).
  [commit](https://github.com/gatsbyjs/gatsby/commit/28e84f3aed480d1f5a8f9859172d1c6f531696d4)

### Changed
- Removed the package `sharp` as it's not used and is preventing Gatsby
  1.0 from being installed on Windows.
  [commit](https://github.com/gatsbyjs/gatsby/commit/34fff74e6fb3cae88010b42f74d784382ead4031)

1.0.0-alpha8: tag_name: v1.0.0-alpha8
body: Prepping to launch first big website on Gatsby 1.0.0! Knocking out some remaining bugs.

### Added
- Extension API `swOnUpdated` for when a service worker finishes
  updating. Use this to alert users of your app to reload to see the
  latest version.
  [commit](https://github.com/gatsbyjs/gatsby/commit/5173bdc5424e7c874b3f2abfad706cea2e38ebc3)

### Fixed
- hot reloading now fully works. Apparently you can't use function
  components for top-level routes on react-router with react-hot-loader
  3.0 `¯\_(ツ)_/¯` [#532](https://github.com/gatsbyjs/gatsby/pull/532) and
  [commit](https://github.com/gatsbyjs/gatsby/commit/36f2c169586ea30518639d7b1493e08e05befb73)
- Webpack needs the help of an obscure setting `recordsPath` to preserve
  module ids across builds. Big thanks to @NekR, @bebraw, and @TheLarkInn for helping me with this. Previous to this change, loading changed JS chunks could cause a JS
  error as the module ids the new chunk expects wouldn't match the module
  ids from the older chunks.
  [#533](https://github.com/gatsbyjs/gatsby/pull/533)

### Changed
- Disabled hard-source-webpack-plugin. It speeds up builds significantly
  but has been causing hard-to-debug errors while developing. We'll
  circle back to it down the road.
  [commit](https://github.com/gatsbyjs/gatsby/commit/4bc9660ac8c371d23c0295cde52002775eee5aa1)
- Restored using ChunkManifestPlugin. It was disabled while trying to
  debug the mismatched module id bug but that being fixed, we're using
  it again.
  [commit](https://github.com/gatsbyjs/gatsby/commit/8d16905f31b80ca56db225904d60ed78c6091ca9)
- Name modules ids in development for easier debugging. Primary benefit
  is you can see which modules are getting hot reloaded.
  [commit](https://github.com/gatsbyjs/gatsby/commit/93f6bd2c4206e71623c1a7fa007322f8dc9887be)

1.0.0-alpha7: tag_name: v1.0.0-alpha7
body: ### Fixed
- Removed entries from the webpack config looking for
  `node_modules/gatsby/node_modules`. This was added to help when
  developing Gatsby using `npm link` but when Gatsby is installed
  regularly, it then fails the Webpack validation as
  `node_modules/gatsby/node_modules` doesn't now exist.

1.0.0-alpha6: tag_name: v1.0.0-alpha6
body: ### Added
- extension API for adding types to the GraphQL schema
  [commit](https://github.com/gatsbyjs/gatsby/commit/18b8b64ed4cbe3399fb262395c0c6e6a5a16099a)

### Fixed
- Use babel-traverse instead of using babel-plugin so that don't say
  done early when running graphql queries that have async resolvers
  [commit](https://github.com/gatsbyjs/gatsby/commit/a19677e38d1ce8ba4fb39ddff75482904f168db6)

A bug fixin' we go: tag_name: v0.12.18
body: Some nice bug fixes of some long-standing annoyances by @mojodna and @TheAncientGoat 
- @mojodna finally got Webpack's `publicPath` working across all the build steps and adds the `linkPrefix` as needed #502. Fixed #392 and #473 
- @TheAncientGoat noticed that Firebase was failing during a server render and traced it to Firebase (and certain other isomorphic packages) using different packages on the server and in the browser and fixed the Webpack config for this in #512 
- @kyleamathews back-ported some Webpack config from his 1.0 work to add file/url loader support for more file types. 

1.0.0-alpha5: tag_name: v1.0.0-alpha5
body: ### Added
- hard-source-webpack-plugin
  [commit](https://github.com/gatsbyjs/gatsby/commit/2c48e5c42887fecabc01c5f5b6f3dd8e06d3372f)
- New replacement API to wrap root component (useful for Redux, et
  al.)
  [commit](https://github.com/gatsbyjs/gatsby/commit/ebd57d2bd6c39b51a455b76018737e2957e146ef)
- yarn.lock
  [commit](https://github.com/gatsbyjs/gatsby/commit/5ce3321b84e912925c4705ececef6f2c817b0684)

### Changed
- Disable extracting the Webpack chunk manifest until understand why
  this breaks updates when using Service Workers
  [commit](https://github.com/gatsbyjs/gatsby/commit/07ed5b010ad27b1816084b361f06fd0ae6a017ba)

v1.0.0-alpha4: tag_name: v1.0.0-alpha4
body: ### Added
- Add more file extensions to file/url loader config. Default to url-loader unless it never makes sense to use data-uri e.g. favicons.
- Use api-runner-browser for calling browser extension APIs/replacements. Prep for plugin system.
- Add extension API `clientEntry` that let's site code and plugins to run code at the very start of client app.

### Changed
- Add config to uglify to ignore ie8.
- Disable building AppCache until can research if useful.
- Turn on screw_ie8 options in UglifyJS.

### Fixed
- Actually use the "sources" key from gatsby-config.js for looking for markdown files. This will be getting an overhaul soon.
- Don't use null-loader for css during the build-js stage as this prevents offline-plugin from caching files referenced in your CSS.
- Add missing publicPath for build-html step.

Bug fixes, new site launches, new sponsors: tag_name: v0.12.12
body: While we're hard at work pushing on all the [great new 1.0 features](https://github.com/gatsbyjs/gatsby/issues/419), 0.x is still getting a lot of fine-tuning and bug fixing.

@f0rr0 has fixed a number of bugs recently:
- following symlinks correctly https://github.com/gatsbyjs/gatsby/pull/477 and https://github.com/gatsbyjs/gatsby/pull/480
- Fix link prefixing when importing files https://github.com/gatsbyjs/gatsby/pull/474
- Fix hash tag scrolling https://github.com/gatsbyjs/gatsby/pull/467

@kyleamathews dug into some bugs with NPM2 and fixed them in https://github.com/gatsbyjs/gatsby/pull/435 and https://github.com/gatsbyjs/gatsby/pull/436

## Recent site launches
- [Numenta](https://numenta.com)
- [Chiedo Labs](https://labs.chie.do)
- [ethereumclassic.org](http://ethereumclassic.org/) 
- [ZBT MIT](http://zbt.mit.edu)

## New sponsors!

We're super grateful for our sponsors who are making 1.0 possible.
- [Thinkmill](http://thinkmill.com.au/)
- [Loanpal](https://loanpal.com/)

DX improvements 🎉🎉🎉: tag_name: v0.12.4
body: - @tsunammis added support for importing files with query parameters https://github.com/gatsbyjs/gatsby/pull/398
- @benstepp changed path creation so that starting and trailing slashes are automatically added as this is a common problem and is easy to programmatically fix instead of just telling users to fix it themselves.

### Sites launched on Gatsby since the last release
- http://codefellows.com
- http://outcomes.com
- http://ollieglass.com

Prompt user to use new port if in requested port is in use: tag_name: v0.12.3
body: Quick release to add this very nice UX improvement contributed by @LukeSheard and borrowed from Create React App's similar feature: https://github.com/facebookincubator/create-react-app/pull/101

https://github.com/gatsbyjs/gatsby/pull/371

Fix for NPM 2 peerDependencies + error swallowing issues: tag_name: v0.12.2
body: - eslint-plugin-jsx-a11y added a peerDependency on a patch update which meant NPM 2 users couldn't install Gatsby or starters. https://github.com/gatsbyjs/gatsby/pull/369 pins the plugin to the last good release.
- @kennu fixed an instance where we were hiding important errors https://github.com/gatsbyjs/gatsby/pull/366

Image supported added!: tag_name: v0.12.0
body: Gatsby now ships with richer support for images. Now you can "import" or "require" an image and use it within your React components and under the hood, the images will be automatically optimized.

``` javascript
import myImage from './my-image.jpg'

// in render function
<div>
  <h1>Hi friends!</h1>
  <img src={myImage} />
</div>
```

We're using the [image-webpack-loader](https://github.com/tcoopman/image-webpack-loader) which uses the popular [Imagemin](https://github.com/imagemin/imagemin) project to minify your images.

There's future (responsive) image work planned! See https://github.com/gatsbyjs/gatsby/issues/285 if you want to get involved.

## Upgrade

This is marked as a breaking release as it _could_ interfere with your Webpack config _if_ you already have added image loader support.

If you have added custom image loaders already, to upgrade, in your `modifyWebpackConfig` function in `gatsby-node.js` add this line: `config.removeLoader('images')`

You'll also need to add `image-webpack-loader` to your site:

`npm install --save-dev image-webpack-loader`

Enjoy!

CSS Modules!: tag_name: v0.11.7
body: ## Major improvements
- @jakubrohleder added support for CSS Modules, a very long-standing request. Thanks Jakub! CSS Module support is [enabled for all files with `.module.(css|less|scss|sass)` extension.](https://github.com/gatsbyjs/gatsby#css-modules) https://github.com/gatsbyjs/gatsby/pull/295

## Minor (but awesome) improvements
- Some css module types (Less/Sass) weren't being minimized https://github.com/gatsbyjs/gatsby/commit/0a667e0abfab8b68f8ea4b0d2ab80c48256abab0
- @adjohnson916 noticed we were using a private API of React Router https://github.com/gatsbyjs/gatsby/pull/343
- Added check for processes listening to the port requested by `gatsby serve-build` similar to what we do for `gatsby listen` #345
- Set the `NODE_ENV` to `production` for node code (we were already doing this for Webpack modules but some Webpack loaders don't behave correctly without this fix #348

### Breaking changes

None!

Don't start develop server if port in use & show friendlier error message: tag_name: v0.11.5
body: @crucialfelix raised two issues in #334 — a) it's hard to figure out to do when Node throws up it's cryptic EADDRINUSE error and b) Gatsby doesn't die as it should when it hits that but pretends it's running.

In #335 I fixed both where `gatsby develop` now dies when the server can't start (for whatever reason) and when Node throws a EADDRINUSE error, we catch that, find the process that is listening on that port and show this error message:

```
We were unable to start Gatsby on port 8000 as there's already a process
listening on that port (PID: 43337). You can either use a different port
(e.g. gatsby develop --port 8001) or stop the process already listening
on your desired port.
```

Quick bug fix release: tag_name: v0.11.3
body: It turns out we need two stage types for development as adding HMR to the development server rendering the `html.js` caused [very obscure stack traces](https://github.com/gatsbyjs/gatsby/issues/304) when there's errors in your html.js. Fixed in #305 by @benstepp.

Also @kyleamathews added another small invariant to check what a user returns when they modify the Webpack config https://github.com/gatsbyjs/gatsby/commit/58ea25468fe72a5e19a2e1aef97d183895a41b85.

Fix module resolve config: tag_name: v0.11.2
body: Quick release to fix the module resolve config to default to loading modules from Gatsby's `node_modules` directory. This bug was introduced in 0.11.1 but shouldn't have affected most of you. See https://github.com/gatsbyjs/gatsby/pull/299 for the full details.

Build performance improvements!: tag_name: v0.11.1
body: @benstepp made a number of tweaks to our default Webpack setup which dropped build times by ~30%! https://github.com/gatsbyjs/gatsby/pull/294

### Bug fix

@kyleamathews fixed a bug where running `gatsby --help` outside of a Gatsby site would erroneously show a warning https://github.com/gatsbyjs/gatsby/commit/1fa7c4d8ef79966223320c4f981fed9c38cc85fd

Inline CSS!: tag_name: v0.11.0
body: The headliner of this release is you can now inline CSS in the `<head>` of your site. This is a best practice recommended by Google's AMP project among others as you then avoid additional requests which can signifcantly slow down your site. Testing using webpagetest.org showed that moving css inline improved the Speed Index 20-50%!! In one test on a simulated 3G connection, the time to initial render went from [~1.8 seconds](http://www.webpagetest.org/result/160508_FF_8WW/) to [~1 second](http://www.webpagetest.org/result/160508_95_8YQ/).

It's a very simple switch to make. See this commit in the default starter https://github.com/gatsbyjs/gatsby-starter-default/commit/1faecb5a7ded5585b12e8330f9aaa663f9d8b769 It's also documented at https://github.com/gatsbyjs/gatsby#inline-css

## Breaking changes
- `post-build.js` moved inside `gatsby-node.js`. If you had added a `post-build.js` module to your code, this function should now be exported from `gatsby-node.js`. A simple way to make the change is to simply require `post-build.js` there e.g. `
  exports.postBuild = require('./post-build')`. Thanks to @LukeSheard for this! #273
- The "stages" were renamed. If you override Webpack configs and are switching behavior based on the stage, `static` is split into two stages, `build-css` and `build-html` and `production` is now `build-javascript`. We think these are much more sensible names. Thanks to @scottnonnenberg for the this! #253 

## Other notable non-breaking changes

@benstepp did a deep refactor of how we're loading Babel plugins. There shouldn't be any breaking changes but it fixes a number of bugs https://github.com/gatsbyjs/gatsby/pull/279

Some highlights:
- User can override the `.babelrc` passed to webpack.
- User can use whatever babel plugins they want.
- User babel config is extended with `react-hmre` rather than being overwritten in develop.js.
- Object.assign is now polyfilled by default.
- Non breaking change as starters previously required a babelrc and gatsby will just read them as normal.
- Fixes three issues #129, #235, #264

React 15!: tag_name: v0.10.0
body: Thanks to the efforts of @patrykkopycinski, Gatsby now supports React 15. This should be an easy upgrade for most people as long as your current site is showing deprecation warnings in the console.log. https://github.com/gatsbyjs/gatsby/pull/252

@alampros also contributed a bug fix as he noticed that when setting the host option for `gatsby develop` and `gatsby serve-build` that the short version `-h` overrode the default help option. He changed that to `-H` so there would no longer be a conflict https://github.com/gatsbyjs/gatsby/pull/247.

New --open flag, more tests, small bug fixes: tag_name: v0.9.3
body: @alampros added a `--open` flag to `gatsby develop` and `gatsby serve-build` so Gatsby can now automatically open your site in your default browser. https://github.com/gatsbyjs/gatsby/commit/09ea56a01a0530c2941871358fff70a3a562cdce

@benstepp continued his testing ways and added integration tests for building pages with Markdown and HTML and added tests for the `rewritePath` API. Great stuff! https://github.com/gatsbyjs/gatsby/pull/240

@kyleamathews fixed a bug where running `gatsby --version` wasn't actually returning the version 😬 https://github.com/gatsbyjs/gatsby/pull/249

Tests!, bug fixes, DX improvements: tag_name: v0.9.1
body: # New tests!

@benstepp [waded into the center of Gatsby and refactored one of the core functions](https://twitter.com/supermoof/status/478322429257715712) AND setup a test framework AND added a number of tests. Awesome! https://github.com/gatsbyjs/gatsby/pull/232

# Bug fixes
- @BerkeleyTrue fixed route => template matching which was broken for some edge cases https://github.com/gatsbyjs/gatsby/pull/230
- @BerkeleyTrue pointed out that errors in `gatsby-node.js` were being swallowed. @kyleamathews fixed that in https://github.com/gatsbyjs/gatsby/commit/859e412211364a56ed61da80f43268809d4c9ed9
- The Autoprefixer plugin was being added to the Postcss multiple times which @kyleamathews fixed in https://github.com/gatsbyjs/gatsby/commit/dd2e960bc05cbc2e9a708f71bff16b16d91e5b0c

# Developer Experience (DX) improvements
- @michaeljdeeb added a check that hard-coded paths in pages have a path prefix. This is a problem that's bit several people as it's easy to miss https://github.com/gatsbyjs/gatsby/pull/223. Invariants are awesome!
- @alehlopeh added a new cli command `gatsby serve-build` so you can easily check that your built site is working as expected. https://github.com/gatsbyjs/gatsby/pull/237

Thanks everyone!

Babel 6! Require local install of Gatsby! 2500 stars!: tag_name: v0.9.0
body: Another release with two nice DX improvements.

Also we hit 2500 stars as I was writing this review :tada: 

## Babel 6

Gatsby started its life on Babel 5 but Babel 6 is out and stable so we'll upgrade along with the rest of the ecosystem and take advantage of [its improved performance and awesome new plugin api](https://babeljs.io/blog/2015/10/29/6.0.0).

## Gatsby must now be installed as a dependency of the site

The global Gatsby install now defers to the local install of Gatsby (and throws if it can't find one). This means you can build a site and not worry about needing to upgrade it again as Gatsby accumulates breaking changes. This also helps ensure Gatsby works in environments where you don't want a global install e.g. build servers.

### Upgrade instructions
- Install Gatsby — `npm install --save gatsby`
- Install new Babel 6 dependencies (they must be installed locally) — `npm install --save babel-plugin-add-module-exports babel-preset-es2015 babel-preset-react babel-preset-stage-1` and `npm install --save-dev babel-preset-react-hmre`.
- Uninstall old Babel 5 dependencies (if you added any).
- The `link` function from `gatsby-helpers.js` was renamed to `prefixLink` to clarify its purpose.
- Your `.babelrc` file needs to be upgraded to look like:

```
{
  "presets": ['react', 'es2015', 'stage-1'],
  "plugins": ['add-module-exports']
}
```
- If you modified the default Webpack config in `gatsby.config.js`, this functionality is now moved to `gatsby-node.js` and instead of using module.exports, export your config modification function as `modifyWebpackConfig`. See the [updated instructions in the README](https://github.com/gatsbyjs/gatsby#how-to-use-your-own-webpack-loaders).
- If you were differentiating between pages with content (like .md files) and pages without (like pages/profile.js) by looking for truthy `page.data`, you'll now need check for truthy `page.data.body`.
- If your site is under version control, you might want to ignore the new auto-written module `.gatsby-context.js`.
- **rare** if you used the `rewritePath`, `onRouteChange` hooks in your app.js — app.js is now not supported. Instead you should export `rewritePath` in `gatsby-node.js` and `onRouteChange` in `gatsby-browser.js`. The function signatures didn't change. These new files will be gaining more functionality in future releases.

That's it! See you in the issue queues :-)

Add support for JSON/YAML/TOML files + option to disable bundle.js for production build: tag_name: v0.8.9
body: - @kyleamathews added [support for creating pages from JSON/YAML/TOML](https://github.com/gatsbyjs/gatsby/pull/187) files. This can be incredibly useful if you're integrating Gatsby with a 3rd-party system. Write out the data as JSON files and they'll be auto-converted into Gatsby pages. YAML & TOML are very handy for maintaining complex data for a page by hand.
- @scottnonnenberg added an [option to disable building a `bundle.js` for production](https://github.com/gatsbyjs/gatsby/pull/181). This is helpful to minimize the amount of data people download for your site and for very large sites (e.g. 1000+ pages), not compiling the JS can save a considerable amount of time. 

Small dev improvements: tag_name: v0.8.8
body: - @scottnonnenberg added code to catch and throw errors while compiling the `html.js` file during dev https://github.com/gatsbyjs/gatsby/pull/176
- @tleunen suggested that when an unknown subcommand is run to show the help. Fixed in https://github.com/gatsbyjs/gatsby/commit/938d9f07b79365cd07b13ff6f3d32621b51a1064

Add support for a 404 page: tag_name: v0.8.7
body: @scottnonnenberg [added support for 404 pages!](https://github.com/gatsbyjs/gatsby/pull/121)

Small fixes — improve default host on Windows + compile mode for html.js: tag_name: v0.8.6
body: - @jquense changed the default host on Windows to `localhost` https://github.com/gatsbyjs/gatsby/commit/6543ece4bc65ef841ebaa15bbf2223659e75b410
- @kyleamathews changed the compilation mode for the `html.js` file to development. https://github.com/gatsbyjs/gatsby/commit/f9ae585a22bd282a240a2dabb40e33667a269aea

Better Windows support & Font Loaders: tag_name: v0.8.5
body: Noted fixer of NPM packages for Windows @NogsMPLS [submitted a PR to get Gatsby (hopefully) completely working on Windows](https://github.com/gatsbyjs/gatsby/pull/159)! :tada: :tada: :tada: 

@gesposito added support to Webpack for requiring fonts https://github.com/gatsbyjs/gatsby/pull/162

@kyleamathews made a few miscallaneous changes
- Replace remaining uses of Underscore with Lodash https://github.com/gatsbyjs/gatsby/commit/486bd298a6a211d38d7e68f5509d4efa27c9073a
- Integrate the `scroll-behavior` package so clicking between links with react-router is more browser-like https://github.com/gatsbyjs/gatsby/commit/b4122dbb36fac74b1e3e7f814a90ab4cfbb71155
- Add `parentTemplateFile` to routes for use in theming https://github.com/gatsbyjs/gatsby/commit/86204882ebe7aa6657ab76974b40c194d858e013

Thanks everyone!

Major release upgrading to React-Router 2.0 + full support for Less/Sass/PostCSS: tag_name: v0.8.3
body: Hi folks,
Finished off a major new release of Gatsby in time for ReactConf :tada:

## New features
- Support Less/Sass/Postcss out of the box. CSS files are processed using the excellent [cssnext](http://cssnext.io/).
- Support extracting and minifying css on production builds to an external `styles.css` file.
- React-Router 2.0 :tada:

## Internals work
- We're using Webpack Hot Middleware + react-transform-hmr now instead of react-hot-loader.
- All remaining Coffeescript files have been converted to JS. 

## Breaking changes.

React Router has made two major releases since Gatsby was first built with a ton of nice improvements. But as Gatsby uses React Router heavily, its breaking changes often cause breaking changes within Gatsby.

The main change is what props are passed to `_template` and wrapper components. Previously each component was passed the current `page` data and a `pages` array of all pages. Now this information is put onto the `route` prop passed in by React Router.

Also where previously React Router provided a `<RouteHandler/>` component which rendered the children components in `_template` files, you should now replace those with `{this.props.children}`.

## Upgrading
- Install new packages: `npm install --save react-router@latest lodash@latest` && `npm install --save-dev babel-plugin-react-transform@1.1.1 react-transform-catch-errors react-transform-hmr redbox-react`
- Adjust templates and wrappers (and other components as necessary) to account for the React Router changes.
- [`onRouteChange` is now passed the `location` object](https://github.com/gatsbyjs/gatsby/commit/35897e31f7dbd29e21515842705ef03417ff988d#diff-da1f32aad077c8af94196a2c82c84452R17) from History.

Internals cleanup: tag_name: v0.7.5
body: - @kyleamathews [added an .eslintrc config](https://github.com/gatsbyjs/gatsby/pull/96) to keep our code tidy and consistent.
- @fson fixed both [some problems with NPM 3 installs](https://github.com/gatsbyjs/gatsby/pull/102) as well as [made builds throw errors](https://github.com/gatsbyjs/gatsby/pull/104) so automated builds will fail properly.
- @ChristopherBiscardi [added integration](https://github.com/gatsbyjs/gatsby/pull/99) with the [debug](https://github.com/visionmedia/debug) module to give you insight into what Gatsby is doing. 

```
> DEBUG=gatsby:* gatsby build
```

![screenshot 2015-12-06 01 48 23](https://cloud.githubusercontent.com/assets/551247/11612758/785acbe6-9bbb-11e5-9b35-0203be691b16.png)

Can now easily override default Webpack config: tag_name: v0.7.1
body: @ChristopherBiscardi added a PR to make it simple to override or extend the default Gatsby Webpack configuration. Gatsby tries to anticipate most needs out of the box but many projects will need some customizations to Webpack.

See the [PR](https://github.com/gatsbyjs/gatsby/pull/87) and [new documentation](https://github.com/gatsbyjs/gatsby#how-to-use-your-own-webpack-loaders).

Now using React 0.14!: tag_name: v0.7.0
body: ### Update to React 0.14

The big change for this release was updating React to 0.14. Thanks to @patrykkopycinski for his [PR](https://github.com/gatsbyjs/gatsby/pull/81)!

We're still on the 0.13 series of React Router as their recent 1.0 release will require internal updates to Gatsby. Follow along at https://github.com/gatsbyjs/gatsby/issues/32 if interested.

## `gatsby serve` now `gatsby develop`

Serve implied Gatsby was just serving up files. Develop conveys the idea better that you're starting up a full-fledged development server with the intent to start developing.

## Can now do webpack requires in your html.jsx

Previously you couldn't do webpack requires in your html component as the development server was requiring the module in node context. But with the help of @petehunt's [webpack-require](https://github.com/petehunt/webpack-require) project, you can now require css or anything else you'd like in your html.jsx.

## Improved support for prefixing site links e.g. when building for Github Pages.

[See the documentation that's been added to the README.](https://github.com/gatsbyjs/gatsby#deploying-to-github-pages-and-other-times-your-sites-links-need-prefixes)

# How to upgrade

You'll need to update React in your project to React 0.14 as well as upgrade any React components that relied on older React APIs. Make sure to _not_ install the latest react-router.

require('babel/register') doesn't work when installed globally: tag_name: 0.6.1
body: Hopefully this will be fixed soon.

Reported by @luandro at https://github.com/gatsbyjs/gatsby/issues/54

Babel bug report at https://github.com/babel/babel/issues/1889

v0.6.0: tag_name: 0.6.0
body: # Bug fix
- Previously Gatsby was compiling the production bundle.js with source-maps inlined. @fson noticed this and wrote a PR to fix this which reduced bundle.js size by _3x_! https://github.com/gatsbyjs/gatsby/pull/48

Fix for asset copying bug: tag_name: 0.4.1
body: Gatsby previously was crashing when trying to copy assets in the post-build step where the asset was not in a directory with a page.

#39 

Fixed in https://github.com/gatsbyjs/gatsby/commit/55fee06a11299ae0d761323e35a80e7c49e1aa74

Support SVG: tag_name: 0.4.0
body: @fson added SVG support to the Webpack config in #34 

Fully support ES6 and babel: tag_name: 0.3.0
body: @gesposito fixed up Gatsby's support for Babel in https://github.com/gatsbyjs/gatsby/pull/31 as well as [converting the starter blog to ES6](https://github.com/gatsbyjs/gatsby-starter-blog/pull/1)

Thanks!

Fix path error on builds for non-index pages: tag_name: 0.2.3
body: @phlogisticfugu created a PR to fix #14 

Fix "Cannot find module" error": tag_name: 0.2.1
body: ## Bugs fixed:
- #11 Error: Cannot find module '../lib/utils/init-starter' on second step of tutorial

0.2.0: tag_name: 0.2.0
body: # First somewhat stable public release

Features added:
- Install pre-built starter sites from Github.
- Support adding link prefixes e.g. for Github sites.
- Added two demo/starter sites, [a blog](http://gatsbyjs.github.io/gatsby-starter-blog/) and [documentation site](http://gatsbyjs.github.io/gatsby-starter-documentation/)
- Added two [helper functions](https://github.com/gatsbyjs/gatsby/blob/master/lib/isomorphic/gatsby-helpers.coffee) for auto-prefixing links and for finding the child pages for a template.