Maquette 3 released

tl;dr: Maquette 3 brings various improvements, mostly focused around developer friendlyness. We kept the breaking changes to a minimum, so everyone should be able to switch over quickly.

About two months ago, we announced our ideas for a new version of maquette and allowed the community to give feedback on it. The feedback we got was very useful. All but one of these ideas are now realized in the latest version of maquette. Our idea about improving the render lifecycle would cause a lot of work on our codebase and probably also on everyone elses, so we decided to postpone this to a future version and have everyone profit from the other benefits of maquette 3.

So what did we improve?

It is now allowed to change event handlers on every render. This means you can now 'inline' event handlers in the rendering code. This makes maquette much easier to use and it allows for new patterns.

The h function is now more strict. Childnodes must now be put into an array and may not be specified as extra arguments anymore. This makes Typescript error messages easier to understand and it has performance benefits.

First class support for JSX. JSX was already possible with maquette 2, but we now integrated this fully with Typescript. This means you even get compile time checks in JSX. Follow the instructions in the maquette-jsx library to get started.

Modernized tooling. As you know, the Javascript ecosystem changes a lot, so we now also release in es6 module format, we dropped releasing to bower. We also dropped gulp and we use our typescript-assistant tool to perform all our build tasks.

Community wishes. We added an onRemoved callback, allow updates to the class attribute and shortened renderMaquette to render.