---
tags: brew-js
---
# Breaking changes
## Upgrading to 0.6.x (Preview changes)
### Pure app event
Event emitted to `app` itself no longer emit to `<html>` element.
```typescript
app.emit('event'); // this is treated as pure app event
// only event handler registered as app.on('event', handler)
// will receive pure app event
```
I the event is intended to associates with the document root element, explicitly specifies as:
```typescript
app.emit('event', document.documentElement);
```
Event listener registered to `app` will still receive the event.
```typescript
app.on('event', () => {}); // this still works
```
On the other hand, if you are listening pure app event with target set to, move the target:
```typescript
// before
app.on(document.documentElement, 'event', () => {});
// after
app.on('event', () => {});
```
## Upgrading to 0.4.x
### Feature moved to HtmlRouter
When using router with html template, change to `useHtmlRouter`.
### Loading and error scope
`loading` variable no longer automatically set when asynchronous operation is registered to DOM using `notifyAsync`.
Add `loading-scope` to `<html>` to enable it.
```htmlembedded!
<html loading-scope set-class="{ loading: loading }">
...
</html>
```
## Upgrading to 0.3.x
Starting v0.3, extensions must be loaded by `brew.with` in order to use when using Webpack.
```typescript
brew.with(Router)(app => {
});
```