Skip to content

Latest commit

 

History

History
326 lines (215 loc) · 18.4 KB

release-notes.md

File metadata and controls

326 lines (215 loc) · 18.4 KB
layout title id
default
Release notes
release-notes

{{ page.title }}

3.5.1 May 21, 2017

riot-tmpl:

  • Fix: } in output when expression contains )/ riot/2361

riot:

  • Fix: inline DOM templates only work on top level tags riot/2359
  • Fix: the result of riot.version is displayed as WIP riot/2352

3.5.0 May 13, 2017

riot:

riot-cli:

3.4.4 April 30, 2017

riot:

  • Fix: remove ref attributes avoiding to parse them twice riot/2329
  • Fix: avoid to remove attributes for truthy properties riot/2331
  • Fix: support for IE11 events handling riot/2332

3.4.3 April 24, 2017

riot:

  • Fix: fair angular library size comparison riot/2325
  • Fix: data-is works differently as expression to hard-coded attribute riot/2321
  • Fix: scope differs between if and show riot/2125

riot-cli:

  • Fix: error exception reporting cli/26

3.4.2 April 14, 2017

riot:

  • Fix: "data-is" attribute is being removed if you mount on the same element riot/2317
  • Fix: riot attributes remain in output riot/2316

3.4.1 April 9, 2017

riot:

  • Fix: parent tag data-is is reset when disabling a nested tag with if="... riot/2311
  • Fix: object is not valid in "show" anymore riot/2300
  • Fix: undefined not handled as empty string (in tags) riot/2297
  • Fix: <div if="..."> containing <div data-is="..."> does not unmount tag properly riot/2307

3.4.0 March 26, 2017

riot:

  • Fix: riot- prefixed attributes will be no longer prefixed in the opts object riot/2103
  • Fix: Null and undefined expressions will be no longer converted into empty strings for the tag attributes riot/2080
  • Fix: style attribute with expressions makes show directive invalid at the beginning riot/2178
  • Fix: riot will not force all the expressions evaluating them as strings riot/2310
  • Add: add support for style and class object expressions more info here and here

3.3.2 March 5, 2017

riot:

  • Fix: tag root attributes out of sync riot/2280
  • Fix: virtual tag doesn't work with each in server side rendering riot/2220
  • Fix: using es6 classes mixins, some functions are lost riot/2219
  • Fix: rendering issue with tag iteration/re-ordering riot/2271
  • Fix: ES6 template literals forward slashes issue riot/2167
  • Fix: re add the riot.version attribute
  • Improve: remove dead code
  • Improve: increase code coverage to 100% 🎉

3.3.1 February 19, 2017

riot:

  • Fix: shouldUpdate prevents every update riot/2118

riot-compiler:

  • Fix: es6 template strings issue riot/2167
  • Add: support for shortcut generator functions * foo()

3.3.0 February 18, 2017

riot:

  • Add: fine grain control over tag updates by passing nextOpts to shouldUpdate riot/2238

riot-compiler:

  • Fix: es6 import regex compatibility issues riot/2263
  • Add: support for async shortcut methods riot/2195

3.2.1 February 10, 2017

riot:

  • Fix: error when using virtual and update handler riot/2251
  • Change: switch from plegie to opencollective as donation platform riot/2239

3.2.0 February 6, 2017

riot:

  • Fix: disable the global mixins for the anonymous tags riot/2056
  • Fix: setting selected attribute of multiple <option> tags in a multi select does not work properly riot/2247
  • Fix: mount event not fired due to listener for wrong event riot/2249
  • Add: the riot.settings.skipAnonymousTags flag more info
  • Improve: the looped tags rendering is ~30% faster than before mainly for the anonymous tags

3.1.1 February 4, 2017

riot:

  • Fix: issue removing tags in a loop riot/2240
  • Fix: tag root is not always in body when its mount event fires riot/1938
  • Change: improve the rendering performance of the anonymous looped tags

riot-compiler:

  • Fix: restore the support for the es6 in browser compilation using babel examples/51

3.1.0 January 29, 2017

riot:

  • Fix: virtual tag is rendered when use a dynamic data-is riot/2208
  • Fix: data-is attribute get removed from parent dynamic tag if child tag has yield riot/2211
  • Fix: rollup server side (cjs) transpilation riot/2216 riot/2225 and riot/2224
  • Fix: sorted list not displayed correctly riot/2228 riot/2205
  • Fix: conditional if does not work as expected with select tag and dynamic options riot/2229
  • Change: renamed the _internal tag property to __, you shouldn't use them anyway
  • Change: avoid to expose the _parent property, it's now included in the __ key
  • Change: make the isMounted property not iterable and writable
  • Add: the experimental riot.reload API to handle hot module reload via webpack more info

riot-compiler:

  • Fix: style tag get stripped from riot tag even if it's in a javascript string. riot/2210

riot-route:

3.0.7 January 10, 2017

riot:

  • Fix: hot fix Broke if/each combination riot/2207

3.0.6 January 10, 2017

riot:

  • Fix: inconsistencies between the show, hide and if directives riot/2158
  • Fix: import riot from 'riot' using webpack and babel riot/2091
  • Fix: loop sorting issue riot/2205
  • Fix: issue using dynamic data-is attributes riot/2175
  • Fix: if directive in object loops riot/2133
  • Fix: serverside rendering on Windows machines riot/2131

3.0.5 December 18, 2016

riot:

  • Fix: internal parent attribute should be protected from external override riot/2154
  • Fix: selected on <select><option> doesn't seem to work right on riot 3 riot/2164

3.0.4 December 14, 2016

riot:

  • Fix: restore the show/hide behavior riot/2156

3.0.3 December 13, 2016

riot:

  • Fix: mount and unmount css injection performances riot/2152
  • Fix: different scope between show, hide and if riot/2125
  • Add: data-src to fetch riot tags avoiding browsers prefetching riot/2132
  • Remove: support for SPM riot/2124

3.0.2 December 4, 2016

riot:

  • Fix: when using riot-viewBox inside an svg tag it is replaced by viewbox. riot/2086
  • Fix: tag mounted with data-is="{some expression}" is not updating riot/2102
  • Fix: attributes are not removed when other tag without attributes is mounted on an element riot/2098
  • Remove: removes SPM support riot/2124

riot-tmpl:

  • Change: avoid to use console.error if a user has defined already a custom error function riot/2108
  • Change: prefer lowercase to debug tags names

riot-compiler:

  • Change: internal regex to support the @apply rule provided by css preprocessors

riot-route:

3.0.1 November 26, 2016

riot:

  • Fix: [email protected] should export default riot/2084
  • Fix: class does not remove when value becomes false riot/2082
  • Fix: auto update input values after edited it with User riot/2096
  • Fix: error when unmount tag that contains ref element riot/2083
  • Fix: error toggling child with multiple mixins riot/2100
  • Fix: toggling 'if' of 'data-is' tag creates new reference in parents 'tags' object riot/2089

3.0.0 November 22, 2016

It has been a long journey but in the end we made it and [email protected] is finally out and it represents a step forward compared to riot 2 for stability, performances and flexibility.

List of improvements and breaking changes

riot:

  • Change: build riot using rollup+babel instead of smash using only es6 modules syntax
  • Change: clean up the tests (we use 371 tests!) splitting them into several files written in es6 and we switched to chai.js replacing expect.js
  • Change: improve the loop performances, now the update method is much faster than before.
  • Change: deprecate riot-tag in favor of data-is
  • Change: use the ref attribute instead of name and id riot/1185 (breaking change)
  • Change: remove riot-route from the core making it optional riot/1485 (breaking change)
  • Change: avoid that the update and the updated events get triggered before any tag has been mounted riot/1661 (breaking change)
  • Change: different approaches in iterable objects in different contexts of "each - in" riot/1420 (breaking change)
  • Add: support for es6 classes to create tags more info
  • Add: the shouldUpdate method to the tags to emulate componentShouldUpdate in react
  • Remove: the __ prefix for the "boolean" html attributes riot/276
  • Remove: the automatic preventDefault from the riot DOM events riot/1770 riot/1718 riot/526 (breaking change)
  • Fix: all the issues related to the if conditions riot/1477 riot/1658
  • Fix: avoid to inherit properties from the parent in loops of custom children tags riot/1697
  • Fix: avoid to update the parent tag on the events generated from a child tags riot/1319 (breaking change)
  • Fix: arrays with multiple tags of the same name don’t contain actual tag elements riot/2061
  • Fix: the data-is attribute is not updated for dynamic tags riot/2037
  • Fix: virtual with each doesn't remove tag references from parent tag riot/2029
  • Fix: each and switching between object and array riot/2027
  • Fix: properties set in looped custom tag element event seem to be cleared by parent update riot/2019
  • Fix: riot+compiler.js:1245 Uncaught NotFoundError: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node - when adding to an 'each' structure from a recursively created element onlick riot/1962
  • Fix: input numbers leave unprocessed expressions after upgrade to 2.6.0 riot/1957
  • Fix: memory leak riot/1955
  • Fix: require(*tag-name*) does not allow parserOptions riot/1935
  • Fix: clear riot tag cache to aid with testing riot/1875
  • Fix: 'before-mount' won't work as expected in riot#render riot/1851
  • Fix: the logic is not work with if and class together riot/1769
  • Fix: should we add a updateSelf() API? riot/1748
  • Fix: virtual elements disappear after tag update riot/1659
  • Fix: can I use the bool attribute with the custom tag? (like "disabled") riot/1618
  • Fix: extra expression evaluation when using attributes riot/1590
  • Fix: eS6 class syntax with child tags riot/1451
  • Fix: different approaches in iterable objects in different contexts of "each - in" riot/1420
  • Fix: support conditions with virtual tag riot/139
  • Fix: riot-tag as expression in loop riot/1368
  • Fix: all treeitem tag have children riot/1361
  • Fix: method for clearing compiler state riot/1236
  • Fix: dynamically loaded child tags don't get into the parents tags object riot/1174
  • Fix: [Q] Child tags counts not matched? riot/1088
  • Fix: inconsistent tags behaviour with 1 item vs many riot/936
  • Fix: no way to override name attribute on e.g. <input>s to prevent overriding existing properties on this riot/715

riot-observable:

  • Remove: support for spaced events, el.on('foo bar') becomes el.on('foo').on('bar') (breaking change)
  • Fix: optimize speed x6 faster than before

riot-tmpl:

  • Change: template errors will be always output via console.error if the console api is available (breaking change)

riot-compiler:

  • Fix: allow the es6 import also inside the tags compiler/69
  • Fix: all the value attributes using expressions will be output as riot-value to riot#1957
  • Change: css generated via riot-compiler will be always scoped (breaking change)
  • Deprecate: old babel support, now the es6 parser will use Babel 6 by default (breaking change)

Thank you all!

Many thanks to all the riot community and to all our users who have really helped us making the best decisions to improve this framework. Special thanks go to @rogueg for his great work on the riot source code and he is now part of the riot core team. Thanks also to the other core contributors and collaborators for the hard work on this project you are awesome.

What comes next?

@tipiirai is working on a brand new riot release experimenting new rendering strategies and big core improvements that will be part of [email protected]

For the next releases we will mainly focus on improving the initial rendering performances riot/2034. We will try to bring the compiler sourcemaps and a better support for hot modules replacement stay tuned!