|
| 1 | +--- |
| 2 | +date: "2021-04-13" |
| 3 | +version: "3.3.0" |
| 4 | +--- |
| 5 | + |
| 6 | +# [v3.3](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.3.0) (April 2021 #1) |
| 7 | + |
| 8 | +Welcome to `[email protected]` release (April 2021 #1) |
| 9 | + |
| 10 | +Key highlights of this release: |
| 11 | + |
| 12 | +- [Performance optimizations](#performance-optimizations) - faster JS bundling, lower peak memory usage |
| 13 | +- [Upgrade to the latest `sharp`](#upgrade-to-the-latest-sharp) - built-in image optimizations; and now works on M1 Macs |
| 14 | +- [Upgrade to the latest `remark`](#upgrade-to-the-latest-remark) - more consistency in Markdown rendering |
| 15 | +- [Bugfixes in `gatsby-plugin-image`](#bugfixes-in-gatsby-plugin-image130) |
| 16 | + |
| 17 | +Also check out [notable bugfixes](#notable-bugfixes--improvements). |
| 18 | + |
| 19 | +**Bleeding Edge:** Want to try new features as soon as possible? Install `gatsby@next` and let us know |
| 20 | +if you have any [issues](https://github.com/gatsbyjs/gatsby/issues). |
| 21 | + |
| 22 | +[Previous release notes](/docs/reference/release-notes/v3.2) |
| 23 | + |
| 24 | +[Full changelog ](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.3.0) |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## Performance optimizations |
| 29 | + |
| 30 | +### Faster JS bundling |
| 31 | + |
| 32 | +This release adds memoization of babel loader options. It significantly reduces the overhead in JS compilation step. |
| 33 | +With our sample site we saw a speed-up in JS bundling up to 30-40% |
| 34 | + |
| 35 | +Note: this improvement only affects JS bundling, so if you use other heavy transformations (CSS-in-JS, Mdx, etc), |
| 36 | +you will likely see modest improvements. |
| 37 | + |
| 38 | +[Original PR](https://github.com/gatsbyjs/gatsby/pull/28738/) |
| 39 | + |
| 40 | +### Lower peak memory usage |
| 41 | + |
| 42 | +This release restricts concurrency of html-file generation which can greatly reduce memory and disk pressure |
| 43 | +and decrease spikes in memory usage — especially for sites with many 100s+ pages and large page-data.json files. With our example site we saw a decrease in peak memory usage from ~3.5 GB to ~1.7 GB (without negative effects to build time). |
| 44 | + |
| 45 | +[Original PR](https://github.com/gatsbyjs/gatsby/pull/30793) |
| 46 | + |
| 47 | +## Upgrade to the latest `remark` |
| 48 | + |
| 49 | +Remark has had a significant [major upgrade](https://github.com/remarkjs/remark/releases/tag/13.0.0) |
| 50 | +recently (version 13) and changed the underlying parser. The ecosystem has almost [caught up](https://github.com/remarkjs/remark/blob/main/doc/plugins.md#list-of-plugins) |
| 51 | +since then, so we've decided to release new major versions of all our `remark` plugins. |
| 52 | + |
| 53 | +The following plugins are now fully compatible with `remark@13`: |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | +We've tried to make the migration effortless and non-breaking (just update the dependencies) |
| 69 | +but there are subtle differences in HTML output caused by the new remark parser. |
| 70 | +We've identified and listed the most common differences [in this discussion](https://github.com/gatsbyjs/gatsby/discussions/30385) |
| 71 | +(if you spot other notable changes - please comment there!) |
| 72 | + |
| 73 | +Also check out [remark changelog](https://github.com/remarkjs/remark/releases/tag/13.0.0), specifically the section: "Changes to output / the tree". |
| 74 | + |
| 75 | +### Incompatible plugin: gatsby-remark-custom-blocks |
| 76 | + |
| 77 | +The only plugin provided by Gatsby that is not compatible yet with `remark@13` is |
| 78 | +[`gatsby-remark-custom-blocks`](https://www.gatsbyjs.com/plugins/gatsby-remark-custom-blocks/). |
| 79 | +This plugin relies on the upstream remark plugin `remark-custom-blocks` which is itself not compatible with |
| 80 | +`remark@13` yet. |
| 81 | + |
| 82 | +The work on updating it is [in progress](https://github.com/zestedesavoir/zmarkdown/issues/416) |
| 83 | +though, and as soon as it is finished we will publish the new major version for our plugin as well. |
| 84 | + |
| 85 | +In the meantime if you use this plugin you can just wait when it's ready or modify your markdown |
| 86 | +and switch to another syntax. Remark authors [suggest](https://github.com/remarkjs/remark/blob/main/doc/plugins.md#list-of-plugins) |
| 87 | +using [`remark-directive`](https://github.com/remarkjs/remark-directive) as an alternative. |
| 88 | +Use [`to-gatsby-remark-plugin`](https://www.npmjs.com/package/to-gatsby-remark-plugin) package to convert it to Gatsby remark plugin. |
| 89 | + |
| 90 | +- [Umbrella discussion](https://github.com/gatsbyjs/gatsby/discussions/30385) |
| 91 | +- [Original PR](https://github.com/gatsbyjs/gatsby/pull/29678) |
| 92 | + |
| 93 | +--- |
| 94 | + |
| 95 | +## Upgrade to the latest `sharp` |
| 96 | + |
| 97 | +Check out [Sharp changelog](https://github.com/lovell/sharp/blob/ed5d753b89e5649b1586de04ffef6ec903942a64/docs/changelog.md#v028---bijou) |
| 98 | +for a full list of changes. |
| 99 | + |
| 100 | +The most important highlights of the new release: |
| 101 | + |
| 102 | +- Smaller install size |
| 103 | +- Supports Mac M1: now uses prebuilt libvips binaries for M1 Macs |
| 104 | +- Includes buil-in image optimization (unlocks future perf improvements in Gatsby) |
| 105 | + |
| 106 | +[Original PR](https://github.com/gatsbyjs/gatsby/pull/30541) |
| 107 | + |
| 108 | +## Bugfixes in `[email protected]` |
| 109 | + |
| 110 | +- Fix a bug that caused errors in third party packages that access the `global` object |
| 111 | +- Fix a bug that prevented `draggable="false"` being set on the `GatsbyImage` component |
| 112 | +- Fix a bug that caused blurred previews to be generated at the wrong aspect ratio |
| 113 | +- Fix a bug that prevented lazy-loaded images displaying in Safari |
| 114 | +- Fix a bug that caused duplicate type errors when using Contentful images with other plugins that implement images |
| 115 | + |
| 116 | +## Notable bugfixes & improvements |
| 117 | + |
| 118 | +- Fixed invalid query results in cached builds [PR #30594](https://github.com/gatsbyjs/gatsby/pull/30594) |
| 119 | +- Schema customization: merge fields of interfaces defined by multiple plugins [PR #30501](https://github.com/gatsbyjs/gatsby/pull/30501) |
| 120 | +- Fix for IE11: add dom collections to polyfills [PR #30483](https://github.com/gatsbyjs/gatsby/pull/30483) |
| 121 | + |
| 122 | +## Contributors |
| 123 | + |
| 124 | +A big **Thank You ** to [our community who contributed ](https://github.com/gatsbyjs/gatsby/compare/[email protected]@3.3.0) to this release 💜 |
| 125 | + |
| 126 | +- [JobenM](https://github.com/JobenM): fix(gatsby-plugin-mdx): timeToRead returns NaN when word count is 0 [PR #30489](https://github.com/gatsbyjs/gatsby/pull/30489) |
| 127 | +- [axe312ger](https://github.com/axe312ger) |
| 128 | + |
| 129 | + - fix(gatsby-source-contentful): Improve network error handling [PR #30257](https://github.com/gatsbyjs/gatsby/pull/30257) |
| 130 | + - chore(contentful): create compiled files in dist instead of . [PR #30414](https://github.com/gatsbyjs/gatsby/pull/30414) |
| 131 | + - fix(examples): Update using-contentful to use gatsby-plugin-image [PR #29526](https://github.com/gatsbyjs/gatsby/pull/29526) |
| 132 | + - build(using-contentful): add missing sharp dependency [PR #30546](https://github.com/gatsbyjs/gatsby/pull/30546) |
| 133 | + - feat(gatsby-source-contentful): Increase Contentful sync by up to 10x [PR #30422](https://github.com/gatsbyjs/gatsby/pull/30422) |
| 134 | + - fix(contentful): set proper defaults for gatsby-plugin-image [PR #30536](https://github.com/gatsbyjs/gatsby/pull/30536) |
| 135 | + - feat(gatsby-source-contentful): update docs and improve errors [PR #30538](https://github.com/gatsbyjs/gatsby/pull/30538) |
| 136 | + - fix(gatsby-source-contentful): Contentful page limit backoff [PR #30549](https://github.com/gatsbyjs/gatsby/pull/30549) |
| 137 | + - fix(contentful): ensure fragments are properly distributed [PR #30555](https://github.com/gatsbyjs/gatsby/pull/30555) |
| 138 | + - fix(using-contentful): clean up dependencies [PR #30556](https://github.com/gatsbyjs/gatsby/pull/30556) |
| 139 | + - fix(contentful): make gatsby-plugin-image a peer dependency [PR #30709](https://github.com/gatsbyjs/gatsby/pull/30709) |
| 140 | + |
| 141 | +- [ridem](https://github.com/ridem): fix(gatsby-plugin-netlify-cms): Don't use StaticQueryMapper [PR #30599](https://github.com/gatsbyjs/gatsby/pull/30599) |
| 142 | +- [Nurou](https://github.com/Nurou): chore(gatsby-source-wordpress): Link to source WP plugin [PR #30645](https://github.com/gatsbyjs/gatsby/pull/30645) |
| 143 | +- [baker-jr-john](https://github.com/baker-jr-john): chore(docs): Update how-gatsby-works-with-github-pages [PR #30630](https://github.com/gatsbyjs/gatsby/pull/30630) |
| 144 | +- [cametumbling](https://github.com/cametumbling) |
| 145 | + |
| 146 | + - chore(docs): Add link to part 8 tutorial [PR #30604](https://github.com/gatsbyjs/gatsby/pull/30604) |
| 147 | + - chore(docs): Update wording of tutorial part 8 [PR #30606](https://github.com/gatsbyjs/gatsby/pull/30606) |
| 148 | + |
| 149 | +- [nategiraudeau](https://github.com/nategiraudeau): fix(gatsby-example-using-remark) fix broken example for typescript users [PR #30505](https://github.com/gatsbyjs/gatsby/pull/30505) |
| 150 | +- [AntonNiklasson](https://github.com/AntonNiklasson): chore(docs): include autoprefixer in tailwind install command [PR #30718](https://github.com/gatsbyjs/gatsby/pull/30718) |
0 commit comments