HISTORY.md
HISTORY
=======
0.7.13 https://github.com/zordius/fluxex/releases/tag/v0.7.13
* [CORE] fix XSS issue
0.7.12 https://github.com/zordius/fluxex/releases/tag/v0.7.12
* [CORE] update dependencies, move to react16
0.7.11 https://github.com/zordius/fluxex/releases/tag/v0.7.11
* [EXTRA] remove canUseDOM modification in testlib.stopBrowserEnv()
0.7.10 https://github.com/zordius/fluxex/releases/tag/v0.7.10
* [EXTRA] the default server extra will pass error to next() now
0.7.9 https://github.com/zordius/fluxex/releases/tag/v0.7.9
* [EXTRA] support client side .redirect() as location.replace() now
0.7.8 https://github.com/zordius/fluxex/releases/tag/v0.7.8
* [CORE] fix .toString() CIRCULAR detection bug
0.7.7 https://github.com/zordius/fluxex/releases/tag/v0.7.7
* [EXTRA] the page store now receive payload.query when .handle_UPDATE_URL()
* [EXTRA] the server extra .createMiddlewareWithRouting() now also dispatch req.query
0.7.6 https://github.com/zordius/fluxex/releases/tag/v0.7.6
* [EXTRA] refine gulp to prevent 1 extra restart when boot server
0.7.4 https://github.com/zordius/fluxex/releases/tag/v0.7.4
* [EXTRA] add new extra to provide .redirect()
* [EXTRA] now this.routeToURL() depends on this.redirect() for error handling or external links
0.7.2 https://github.com/zordius/fluxex/releases/tag/v0.7.2
* [EXTRA] gulp config test_coverage.default.babel removed, please use .babelrc file
* [EXTRA] createMiddlewareWithRouting can handle METHOD correctly now
* [EXTRA] commonStores.page can store METHOD now
* [EXTRA] routingAction can handle POST correctly now
0.7.1 https://github.com/zordius/fluxex/releases/tag/v0.7.1
* [CORE] remove context API: ._getHeader() . All request related things should be placed into a rpc.
* [CORE] refine context API: .dispatch() now always returns a Promise and never throw exception.
* [EXTRA] now commonStores.page will throw when try to .dispatch('UPDATE_URL') to different host.
* [EXTRA] new API: commonStores.page .getPath()
* [EXTRA] commonStores.page API change: rename .getRoutingParam() to .getRouteParams()
* [EXTRA] commonStores.page now handle url.href more correctly
* [EXTRA] remove deplicated commonStores.page API: .getParam() (should migrate to .getParams() )
* [EXTRA] fix a typo in gulpfile
* [EXTRA] gulp config eslint_fail changed from through object into function
0.7.0 https://github.com/zordius/fluxex/releases/tag/v0.7.0
* [CORE] fix fluxex-client, use react-dom now
* [EXTRA] refine gulpfile
* add devDep: tcp-port-used
* add react-dom into devcore
* removed config: aliasify (you should put aliasify config in your package.json)
* removed config: babel (you should put babel config into .babelrc)
* now do not build devcore.js when it exists to save server start time, you can still use `gulp build_devcore` to force generation.
* use tcp-port-used npm moudule to do browserSync reload at correct time.
* removed config: nodemon_restart_delay
* new config: port (default is 3000)
* new config: BSport (default is 3001)
* now supports nodemon.json
* [EXTRA] remove extra/polyfill, please change `require('fluxex/extra/polyfill');` to `require('babel-polyfill')`;
* [EXTRA] use babel 6.0 now:
* new required devDep for your application: babel-register, babel-polyfill, babel-preset-es2015, babel-preset-react, babel-plugin-transform-runtime
* remoded devDep for your application: babel-runtime
* please change `require('babel/register')` to `require('babel-register');`
* please copy .babelrc from node_modules/fluxex/.babelrc if you do not have one.
0.6.0 https://github.com/zordius/fluxex/releases/tag/v0.6.0
* [CORE] refresh dependency, move to react 0.14.0
* [CORE] new dependency for your project: react-dom
* [EXTRA] refine gulpfile
* remove devDep: jshint jscs gulp-jshint gulp-jscs gulp-jshint jshint-stylish
* add devDep: gulp-eslint eslint eslint-plugin-react babel-eslint
* remove config: jshint_fail, jscs_fail
* add config: eslint_fail
* [EXTRA] migrate to eslint now:
* please copy .eslintrc from node_modules/fluxex/.slintrc if you do not have one.
* you do not need .jshintrc now
* you do not need .jscsrc now
* you do not need .jshintignore now
0.5.3 https://github.com/zordius/fluxex/releases/tag/v0.5.3
* [CORE] update package.json to support webpack
* [CORE] Fluxex.InitScript supports devcore.js now
* [EXTRA] refine gulpfile
* will remove configs.aliasify , please use your package.json to store aliasify configs
* remove unused react-tools and through2
* jshint fixed
* new devcore bundle task for develop mode to save main bundle time and file size
* support config.uglify
* [EXTRA] remove devDepdency of application: through2, react-tools
* [EXTRA] add new dependency of application: iso-call
* [EXTRA] add new devDepdency of application: envify
* [EXTRA] unlock all locked dependency of example projects
* [EXTRA] refine page Store URL parsing logic
* [EXTRA] deprecated extra/fetch, migrate to extra/rpc
* [EXTRA] polyfill IE8 console in extra/polyfill now (powered by Console-polyfill)
* [EXTRA] deprecated .middlewareRouting() and .initServer() in extra/server
* [EXTRA] new .createMiddlewareByAction() and .createMiddlewareWithRouting() in extra/server
0.5.2 https://github.com/zordius/fluxex/releases/tag/v0.5.2
* [CORE] support React owner context now
* [CORE] do not require process.cwd() hack on Html.jsx when .createApp() now
* [CORE] remove ._getInitScript() from context API
* [CORE] turn exception inside an action creator into a rejected Promise now
* [EXTRA] support change fetch baseURL
* [EXTRA] remove server/client logic from fetch (now done by aliasify)
* [EXTRA] refine gulp exported config
* remove .lint_files.js and .lint_files.jsx (now .lint_fiels is array)
* move babel config from .babelify to .babel
* migrate to new gulp-jsx-coverage, rename test_coverage.default.react to test_coverage.default.babel
* [EXTRA] refine gulp task names:
* remove lint_flux_js and lint_jsx (use lint_js now)
* remove watch_flux_js (use watch_js now)
* [EXTRA] fix initState bug in pjax.js
* [EXTRA] support target!=self click in pjax.js
* [EXTRA] scrollTo(0, 0) when routeToURL()
* [EXTRA] fix extraAction should after UPDATE_URL issue in server.js
0.5.1 https://github.com/zordius/fluxex/releases/tag/v0.5.1
* [CORE] new Fluxex.Title component to handle title change and fix IE8
* [EXTRA] new fluxex/extra/history to enable html5-history-api
* [EXTRA] new fluxex/extra/polyfill-ie8 to enable IE8 polyfills
* [EXTRA] refine pjax and routeToURL to support IE8 by html5-history-api
0.5.0 https://github.com/zordius/fluxex/releases/tag/v0.5.0
* [CORE] fix .dispatch() magic **UPDATEALL**
* [CORE] refresh dependency, move to react 0.13.0
* [CORE] support new react context
* [CORE] use babel as default jsx transcoder
* [CORE] support es6 features in jsx
* [CORE] IE8 fix (tweak constructor matching logic)
* [CORE] remove .getInitScript() from mixin
* [CORE] new Fluxex.InitScript component to handle initialize and fix IE8
* [EXTRA] extre/gulpfile: new configs for babel
0.4.0 https://github.com/zordius/fluxex/releases/tag/v0.4.0
* [CORE] rename store methods: ._get(), ._set()
* [CORE] support .initialize() for stores
* [CORE] refine serialize function to keep null and undefined
* [CORE] .executeAction() for components now do not return promise
* [CORE] support waitFor for stores
* [CORE] new context API: ._getHeader()
* [EXTRA] use mocha-jenkins-reporter for better output when CI build
* [EXTRA] refine common stores getter functions
* [EXTRA] big API changes for fetch related functions
* [EXTRA] better error messages for routing
0.3.0 https://github.com/zordius/fluxex/releases/tag/v0.3.0
* [CORE] remove json path support of .set() and .get()
* [EXTRA] remove fetch.appMixin
* [EXTRA] refine some gulp setting naming
0.2.0 https://github.com/zordius/fluxex/releases/tag/v0.2.0
* [CORE] remove all with-promise related API, use .bind() instead
0.1.11 https://github.com/zordius/fluxex/releases/tag/v0.1.11
* [CORE] Extended executeAction() API to pass all arguments into action creator
* [CORE] Remove all polyfill related dependency
* [CORE] Depend on with-promise to keep context API can be accessed in all .then()
* [CORE] dispatch() now returns all return values from handlers as promise
* [EXTRA] Extended fetch.createServices() to handle preRequest logic
* [EXTRA] New gulp tasks for jscs, test and coverage
* [EXTRA] New routing mixin and helper functions
0.1.10 https://github.com/zordius/fluxex/releases/tag/v0.1.10
* [CORE] Add standard doctype to support IE9
* [EXTRA] Enhanced gulp tasks: `disc_app` to analyze bundle file size
* [EXTRA] Better `fluxex_starter` message
0.1.9 https://github.com/zordius/fluxex/releases/tag/v0.1.9
* [CORE] Now `.getInitScript()` will return empty string when `.initClient()` is done.
* [CORE] Now `.set()` on undefined do not require 3rd parameter.
* [CORE] Rename `FluxStore` to `FluxexStore`.
* [CORE] Now `.emitChange()`, `.addChangeListener()` and `.removeChangeListener()` return `FluxexStore` itself for chaining.
* [EXTRA] Add new `fluxex_starter` command to create your new project.
* [EXTRA] Add new `fetch` extra module to wrap npm:request calls by service name.
* [EXTRA] Now gulp task will minify javascript by npm:uglifyify.
* [EXTRA] Better error handling in `pjax`.
* [EXTRA] Fix a bug in `.routeToURL()`.
* [EXTRA] `.getInitialState()` in `storechange` now return an empty object when `.getStateFromStores()` return nothing.
0.1.8 https://github.com/zordius/fluxex/releases/tag/v0.1.8
* [CORE] Now all stores receive magic action `**UPDATEALL**` then emit change.
* [EXTRA] Now gulp `develop` task will watch/lint/restart by server script.
* [EXTRA] New `.getUrl()` method in common store `page`.
* [EXTRA] New method `.routeToURL()` to deal with client side routing by `this.routing` action.
* [EXTRA] New helper function `middlewareRouting()` to mount a routing fluxexapp.
0.1.7 https://github.com/zordius/fluxex/releases/tag/v0.1.7
* [CORE] Now all action promise handler can access context by `this`.
* [CORE] New `.restore()` method for `FluxexObject`, `FluxexStore` and `Fluxex`.
* [EXTRA] New helper function `middleware()` to mount fluxexapp + action as express middleware.
* [EXTRA] New common store `page` to deal with url and routing information.
* [EXTRA] Sorter watch delay time for gulp tasks. Add document about vim setting to prevent double change events.
* [EXTRA] New mixin to provide common `.getInitialState()` and `.onStoreChange`()` implement.
0.1.6-2 https://github.com/zordius/fluxex/releases/tag/v0.1.6-2
* [EXTRA] Better gulpfile for develop envionment.
0.1.6-1 https://github.com/zordius/fluxex/releases/tag/v0.1.6-1
* [CORE] Add `.executeAction()` to react mixin .
0.1.6 https://github.com/zordius/fluxex/tree/7689ecf34286c76efb96feb65c5239c7f0acc46d
* First version for beta test.
* [CORE] Internal methods for react mixin now prefix with _ .
* [Example] first sample project to demo fluxex.