In Shallow Routing, the line `Since that's a new page, it'll unload the current page, load the new one and call `getInitialProps` even we asked to do shallow routing.` is missing the word `though`.
* Introduce script tag based page loading system.
* Call ensurePage only in the dev mode.
* Implement router using the page-loader.
* Fix a typo and remove unwanted code.
* Fix some issues related to rendering.
* Fix production tests.
* Fix ondemand test cases.
* Fix unit tests.
* Get rid of eval completely.
* Remove all the inline code.
* Remove the json-pages plugin.
* Rename NEXT_PAGE_LOADER into __NEXT_PAGE_LOADER__
* Rename NEXT_LOADED_PAGES into __NEXT_LOADED_PAGES__
* Remove some unwanted code.
* Load everything async.
* Remove lib/eval-script.js
We no longer need it.
* Move webpack idle wait code to the page-loader.
Because that's the place to do it.
* Remove pageNotFound key from the error.
* Remove unused error field 'buildError'
* Add much better logic to normalize routes.
* Get rid of mitt.
* Introduce a better way to register pages.
* Came back to the mitt() based page-loader.
* Add link rel=preload support.
* Add assetPrefix support to add support for CDNs.
* Add assetPrefix support for preload links.
* Update readme.md
* Update references to `.next`
* Remove console logs and extraneous semi colons
* Remove lint errors
* Update references to .next and update docs
* Update options from nested to flat with `distDir`
* Add integration tests, and update `.gitignore`
* Rename integration folder to dist-dir to match standards
* Using developit/unfetch as the Fetch API polyfill
* Added the replace prop into the Link component
* Added integration test for replace prop on Link component
* Add support for URL objects in Link and Router
* Fix typo in comment
* Fix possible bug if the `href` prop is `null`
* Document the usage of URL objects in Link and Router
* Update readme.md
* Parse URL to get the host & hostname in `isLocal`
This should check if the current location and the checked URL have the same `host` or `hostname`.
* Format `as` parameter from object to string if required
* Format `href` and `as` inside the construct and componentWillReceiveProps
* Use `JSON.stringify` to compare objects
* Add usage example
* chore(package): update chromedriver to version 2.28.0 (#1386)
https://greenkeeper.io/
* Refactor the codebase a bit.
* Change the example name.
* Add a few test cases.
* Add the example to the README.
* Simplify route info handling.
* Add basic resolve=false support.
* Make sure to render getInitialProps always if it's the first render.
* Change resolve=false to shallow routing.
* Add test cases for shallow routing.
* Update README for shallow routing docs.
* Update docs.
* Update docs.
* Update docs.
* Reload the page if the buildIds are mismatch.
* Reload the browser with main.js and commons.js buildId mismatch.
* Implement proper reloading with an API to persist the state.
* Add some tests for force reload.
* Change _reload to _forceReload.
* Add a section about reload hooks to the README.
* Allow to add a hook to handle BUILD_ID mismatch.
* Remove readme docs.
* Do not show a custom error to the user.
* Cancel the routing when there's a BUILD_ID mismatch.
* Fix a typo.
* Passing route to SingletonRouter.onBuildIdMismatch
* Handle buildId mismatch automatically.