diff --git a/History.md b/History.md index 5920acbac6..3349bb0eac 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,77 @@ ## v.NEXT +## v0.8.0 + +Meteor 0.8.0 introduces Blaze, a total rewrite of our live templating engine, +replacing Spark. Advantages of Blaze include: + + * Better interoperability with jQuery plugins and other techniques which + directly manipulate the DOM + * More fine-grained updates: only the specific elements or attributes that + change are touched rather than the entire template + * A fully documented templating language + * No need for the confusing `{{#constant}}`, `{{#isolate}}`, and `preserve` + directives + * Uses standard jQuery delegation (`.on`) instead of our custom implementation + * Blaze supports live SVG templates that work just like HTML templates + +See +[the Using Blaze wiki page](https://github.com/meteor/meteor/wiki/Using-Blaze) +for full details on upgrading your app to 0.8.0. This includes: + +* The `Template.foo.rendered` callback is now only called once when the template + is rendered, rather than repeatedly as it is "re-rendered", because templates + now directly update changed data instead of fully re-rendering. + +* The `accounts-ui` login buttons are now invoked as a `{{> loginButtons}}` + rather than as `{{loginButtons}}`. + +* Previous versions of Meteor used a heavily modified version of the Handlebars + templating language. In 0.8.0, we've given it its own name: Spacebars! + Spacebars has an + [explicit specification](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md) + instead of being defined as a series of changes to Handlebars. There are some + incompatibilities with our previous Handlebars fork, such as a + [different way of specifying dynamic element attributes](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#in-attribute-values) + and a + [new way of defining custom block helpers](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#custom-block-helpers). + +* Your template files must consist of + [well-formed HTML](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#html-dialect). Invalid + HTML is now a compilation failure. (There is a current limitation in our HTML + parser such that it does not support + [omitting end tags](http://www.w3.org/TR/html5/syntax.html#syntax-tag-omission) + on elements such as `
` and `