v0.4.0

Klavis-AI/klavisv0.4.0Aug 28, 2015by koistya

AI Summary

This release represents a major architectural overhaul focusing on build system modernization and server-side rendering improvements. It removes legacy tools like Gulp and LESS in favor of custom scripts and PostCSS, while integrating specific routing libraries and refactoring the HTTP client.

Key Highlights

  • Migration from Gulp to custom JavaScript-based build automation
  • Integration of `react-routing` and `history` npm modules
  • Refactoring to use `superagent` for an isomorphic HTTP client
  • Removal of LESS in favor of PostCSS and CSSnext
  • Improved server-side rendering logic and FOUC prevention

Breaking Changes

  • Remove Gulp in favor of custom JavaScript-based build automation
  • Remove Flux actions and stores
  • Remove LESS in favor of plain CSS
  • Remove `Database.js` file
  • Render the root component to `<div id="app"></div>` instead of `document.body`

New Features

  • Basic isomorphic HTTP client based on `superagent`
  • RESTful API sample routes based on Express
  • Pre-rendering of critical CSS on initial page load

Full Release Notes

- Remove Gulp in favor of custom JavaScript-based build automation scripts
- Integrate `react-routing` and `history` npm modules
- Remove Flux actions, stores to reduce unnecessary overload
- Refactor the way content pages (About Us, Privacy etc.) are loaded into the app
- Add basic version of an "isomorphic" HTTP client based on `superagent` (see `src/core/HttpClient.js`)
- Remove LESS in favor of plain CSS via `PostCSS`, `cssnext`
- Get rid of Uglifyjs warnings during build in `release` mode
- Remove `Database.js` file to reduce overload and simplify server-side rendering
- Compile static files into the `build/public` folder
- Add a couple of RESTful API sample routes based on Express (see `src/api/*.js`)
- Pre-render critical CSS on the initial page load to deal with FOUC
- Render the top level component to `<div id="app"></div>` instead of `document.body`
- Improve server-side rendering logic
- Improve documentation
- Update dot files with project settings for text editors and IDEs