- 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. frompng
tojpg
. - React Docgen transformer plugin for parsing propType info from React components #928
- Change node format to hide most node-specific fields under an "internal"
key. Any code referencing
node.type
and others will need changed tonode.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
notlayouts/default.js
#940 (comment) this.props.children
in layout components is now a function #940 (comment)- Change the default port for serve-build to 9000
- Change the path to GraphiQL to
/___graphql
- Upgrade Jest to v20 #935
- 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
- 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
andgatsby-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:
export const pageQuery = `
{
allMarkdownMark {
edges {
node {
id
}
}
}
}
`
You must now write:
export const pageQuery = graphql`
query IndexQuery {
allMarkdownMark {
edges {
node {
id
}
}
}
}
`
- 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/. PRs welcome! - Added for page scripts. 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
- Use namedmodulesplugin instead of recordsPath for ensuring deterministic builds and long-term cachability. The previous PR adding support for recordsPath proved unpleasant as you had to build locally and commit the outputted records.json which was confusing and annoying. PR
- Put the routes module on
window
to support experimental idea. See this issue for more](#537). commit
- Removed the package
sharp
as it's not used and is preventing Gatsby 1.0 from being installed on Windows. commit
- 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
- 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 and commit - Webpack needs the help of an obscure setting
recordsPath
to preserve module ids across builds. Big thanks to @NekR for pointing this out to me. 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
- 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
- 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
- Name modules ids in development for easier debugging. Primary benefit is you can see which modules are getting hot reloaded. commit
- Removed entries from the webpack config looking for
node_modules/gatsby/node_modules
. This was added to help when developing Gatsby usingnpm link
but when Gatsby is installed regularly, it then fails the Webpack validation asnode_modules/gatsby/node_modules
doesn't now exist.
- extension API for adding types to the GraphQL schema commit
- Use babel-traverse instead of using babel-plugin so that don't say done early when running graphql queries that have async resolvers commit
- hard-source-webpack-plugin commit
- New replacement API to wrap root component (useful for Redux, et al.) commit
- yarn.lock commit
- Disable extracting the Webpack chunk manifest until understand why this breaks updates when using Service Workers commit
- 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.
- Add config to uglify to ignore ie8.
- Disable building AppCache until can research if useful.
- Turn on screw_ie8 options in UglifyJS.
- 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.
- Introduce way to programatically add components to
<head>
+ API to take over SSR rendering a39c2a5 - Extract webpack manifest from commons.js so it doesn't change on every build improving its cachability 0941d33
- Always add babel-plugin-add-module-exports 97f083d
- Upgraded React Hot Loader to 3.0-beta5 5185c3a
- Ensure bundle names for components and paths are unique 342030d a1dfe19
- Remove old code loading config.toml 66f901
- New system for specifying page layouts inspired by Jekyll.
<HTMLScripts />
and<HTMLStyles />
helper components for rendering correct scripts and styles in your html.js,- Validate at runtime gatsby-config.js and page objects.
- Start of new plugin system.
- New extension API:
onPostCreatePages
— called with pages after all pages are created. Useful for programmatically modifying pages created in plugins.
- Removed remaining 0.x code
- Exit if can't find local install of Gatsby. 030f655
- Fix folder hierarchy for looking for loaders and modules #435
- Changed default
Config
GraphQL type toSite
and added some Jekyll-inspired fields.
- Initial versions of new GraphQL data layer, PRPL pattern, programmatic routes, code splitting, supporting long-term caching of JS files.