Update changelog
This commit is contained in:
@@ -1,3 +1,47 @@
|
|||||||
|
## `7.0.0`
|
||||||
|
It has been quite a while since the last major version of Choo. Since it's
|
||||||
|
release, `choo@6` has recieved a bunch of features and patches, but some changes
|
||||||
|
has been put off because they'd have an affect on the API in a way that could be
|
||||||
|
breaking for some users. With this release we've merged all these minor, but
|
||||||
|
breaking changes all at once.
|
||||||
|
|
||||||
|
The way in which Choo handles hashes in the URL has proved confusing for both
|
||||||
|
newcomers and seasoned Choo users. In a prior patch the `hash` option was added
|
||||||
|
which could be used to disable hash routing. With this release we're changing it
|
||||||
|
to be *disabled by default*.
|
||||||
|
|
||||||
|
Rendering pages server side is an excellent way to increase page performance and
|
||||||
|
Choo supports it out of the box. Choo also allows for rehydrating the client
|
||||||
|
with what state was used when rendering on the server side. To ensure that the
|
||||||
|
application state is identicial regardless if hydrated or not, the internals for
|
||||||
|
routing has been changes so that `href`, `query`, `param` and `route` are all
|
||||||
|
available on application state at the time when stores are initialized.
|
||||||
|
|
||||||
|
In prior versions, when rendering on the server, the state that was provided to
|
||||||
|
`toString` would be merged onto the application state. Meaning consecutive calls
|
||||||
|
to `toString` would accumulate on the application state and persist in-between
|
||||||
|
render. With this change, application state is no longer mutated during server
|
||||||
|
side render. This will affects those of you doing server side rendering and then
|
||||||
|
plucking out properties from the application state. You can now be assured that
|
||||||
|
only the state that is provided to `toString` is modified during rendering.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
var html = app.toString('/', state)
|
||||||
|
- var title = app.state.title
|
||||||
|
+ var title = state.title
|
||||||
|
```
|
||||||
|
|
||||||
|
And lastly, we've updated depndencies and even dropped a dependency which is
|
||||||
|
no longer required by modern browsers. The dependency `xtend` was dropped in
|
||||||
|
favour of
|
||||||
|
[Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign). This change has also been propagated throughout
|
||||||
|
the Choo universe i.e. choo-devtools and choo-service-worker etc. If you are
|
||||||
|
supporting legacy browsers (IE11 and bellow), we recommend the polyfill service
|
||||||
|
https://polyfill.io which will detect legacy browsers and load the appropiate
|
||||||
|
polyfills.
|
||||||
|
|
||||||
|
That's all for now, keep being awesome!
|
||||||
|
|
||||||
## `6.0.0` Same as it ever was
|
## `6.0.0` Same as it ever was
|
||||||
In the past few months we've been able to use `choo@5` a bunch, and people seem
|
In the past few months we've been able to use `choo@5` a bunch, and people seem
|
||||||
to like it a lot! In this patch all we're doing is taking choo's existing API,
|
to like it a lot! In this patch all we're doing is taking choo's existing API,
|
||||||
|
|||||||
Reference in New Issue
Block a user