All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Fixed a bug in new apps where the default client resolver wasn't spreadable.
Upgraded the Koa-webpack integration.
- Upgraded/tweaked the koa webpack integration. It was being flakey on clean installs.
- Added a default prop
- Had to disable a form helper tests, manual testing shows the Form component works; however, MockedProvider seems to not be treating error states properly anymore.
- Disabled js-free form-posting test. This hasn't been working and we definitely need to revist.
- Various minor/patch version upgrades
- Reduced vendor dll size by 60kb
- Clean up integration tests from the last few versions
Upgrade to Apollo 2.5
- Upgraded Apollo to 2.5. This means we can now code split resolvers. This should result in no breaking changes for applications. Fervor still supports defaults even though Apollo's API changed. In addition, I wanted to add this because async resolver support is a bit better.
- Updated dependencies to address github vulnerability report
Fixed a bug where client resolvers weren't properly merging.
Fixed issue on server side where location state wasn't being properly created
- Removed the initial location state that fervor was creating in favor of the generated initial state from connected-react-router.
Added another fix for material-ui/react-jss apps
- Pass a disableStylesGeneration option into server side AppWrappers. This allows for, MuiThemeProviders to not generate class names until apollo has finished extracting code.
Added/fixed issues with rendering react-jss. Added an extra appOptions field for client config.
Fixed bugs with redux routing middleware by upgrading the dependency.
- Upgraded from react-router-redux to connected-router-redux for more stability
- Cleaned up some old redux routing code
Improve dynamic routing + optimize route rendering
- Routes now render using PureComponents for better accuracy
- Routes also render using the render method supplied by React Router. This means, we can better support dynamic routing.
- Changed caching of Javascript modules. Previousl we only cached the first module loaded on the page. We now cache all modules. This helps with subsequent loads of the same module. This in addition, helps render SPAs.
Small bug fix. We changed the load order of .env.personal and .env. .env.personal should override .env.
- .env.personal now overrides .env
Lots of dev experience, error/loading state improvements and performance improvements. In addition, we now support newer versions of Node. Currently tested using Node 11.
- Server side graphql calls are now resolved without a round trip
- We changed the way URLs are registered. We now using dynamic import statements. Dynamic imports can be used anywhere in the app now!
- Upgraded to Babel 7
- Upgraded Webpack
- Upgrade React to latest (16.7.0)
- Upgraded Apollo to latest
- Upgraded SCSS/CSS loaders and friends
- Upgraded wdio for more stable acceptance tests within Fervor
- Customized the template for migrations
- Fixed a bug where we pointing to built backend folders even in development
- Dynamic imports (server and client compatible)
- Decorators
- Minimal Pipeline operator
- Global Loading, 404 and 500 error pages
- Reliance on the "make-lazy" Babel plugin (internal to Fervor)
Small change - allowed for adding content to the end of the document HEAD via the rendering.js file. This let's us avoid FOUC.
The main catalyst for the release was to update Postgraphile in order to get:
- speed improvements
- enhanced functionality around custom resolvers
- Upgraded postgraphile, koa, react and friends. These changes should result in no breaking changes.
- Support to change publicPath in prod. This allows for the ability to have remote static assets.
- Better production build logging
- Apollo link state - the file src/graph/client.js and folder src/graph/client are now reserved for client side state management via apollo link state. See the "Client State" wiki page for more details
- A refactor of the form component to prevent HOC re-rendering issues
- Upgraded React/Apollo and friends
- Added react-helmet and our "Meta" facade for it. You can now use it as superior alternative to our original "Document" component.
- Titles are now renderable server side 💥
- All meta data on the page is editable
- Our "Document" component is deprecated and will be removed in the future
- IMPORTANT (breaking change): We no longer automatically add the "viewport" meta tag. If you were using this previously you should manually add it to your site. You can add it like this in your templates or for any app.
- Use style-loader again for dev
- Removed a double invocation of hot-module-loading
- Upgrade webpack css loaders
- Merged all .scss files again
- Server side hot reload - you no longer need to restart the server in dev as frequently
- Exposed Apollo 2's Query and Mutation components
- Upgraded to webpack 4 - IMPORTANT: If you made a custom webpack config, you'll need to change it
- Upgraded to apollo 2 while maintaining backwards compatibility with old apps
- Upgraded every package to the latest builds
- Replaced webpack-text-extract-plugin for mini-css-extract-plugin
- Webpack 4 chunking/optimizations have now taken over for the most part
- Support for NPM is flakey, please use yarn for now
- Experimental - Added processCSS, processJS and processMeta rendering config options
- Experimental - Added SSL DB connection option
- Added the ability to add wrappers around client/server side App components
- Updated React and friends
- Bumped the postgraphile version
- Removed .css extension from the build system - decided that this was a bad idea. Most packages export css and this will change how they opperate.
- Added code splitting at the route level
- Add .css extension to babel and webpack
- Fixed cli help command formatting
- Fixed security issue
- Since 0.5.0 we've improved Forms a-lot. This release continues improvemenets. redirectTo in particular is really usefule for leading from 1 gql form to the next page.
- Ability to use template strings for redirectTo
- Disabled "no-template-curly-in-string" from default eslint. This was done in order to support template strings for redirectTo
- Overridable babel configs
- Added a "graph" folder. This let's you add graphile plugins, or modify the postgraphql middleware.
- Upgraded to react-16
- Upgraded to babel-preset-env
- appmanifest.json is now required and created with the app. If anyone out there is having trouble. Please add this file https://github.com/fervorous/fervor/blob/ec7186adf93bf879b91a44c957565e39166e1c76/src/templates/newApp/src/config/appmanifest.json to your src/config folder
- You can now remove both postgraphqlOpts and manifest settings from your .env file
- Also - deduped a lot of babel config code
- Overridable webpack config
- Middleware is now configurable