can
Version:
MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.
647 lines (531 loc) • 101 kB
Markdown
<!--
@page changelog Changelog
@parent guides 5
-->
__3.2.0__ (Nov 29 2016)
- [webpack compatibility](https://github.com/canjs/canjs/issues/2780)
- [browserify compatibility](https://github.com/canjs/canjs/issues/2794)
- [can-simple-map - added support for `get`, `set`, and `serialize`](https://github.com/canjs/can-simple-map/issues/11)
- [can-stache - support for `~` operator in expressions](https://github.com/canjs/can-stache/issues/112)
- [can-fixture - mock XHR object now plays nicely with socket.io](https://github.com/canjs/canjs/issues/2778)
__3.1.0__ (Nov 17 2016)
- [can-connect - made behavior signatures consistent](https://github.com/canjs/can-connect/issues/171)
- [can-route - allowing whitespace in interpolated strings](https://github.com/canjs/can-route/issues/45)
- [can-simple-map - updated to use `canEvent.dispatch` instead of `canEvent.trigger`](https://github.com/canjs/can-simple-map/issues/8)
- [can-simple-map - documentation](https://github.com/canjs/can-simple-map/issues/7)
- [can-util - correcting documentation for `inserted` and `removed` events](https://github.com/canjs/can-util/issues/140)
- [can-view-model - allowing a selector as the first argument](https://github.com/canjs/can-view-model/issues/6)
- [can-view-scope - deprecating `peak` in favor of `peek`](https://github.com/canjs/can-view-scope/issues/30)
- [can-stache - updating instances of `peak` to `peek`](https://github.com/canjs/can-stache/commit/97bc1cbaa80f9f614bf1b6bae428293e9b941af3)
__3.0.0__ (Nov 10 2016)
- [Code is more modular with can-* packages in their own repos](https://github.com/canjs/canjs/blob/v3.0.0/package.json#L42-L81)
- [No longer depends on jQuery/Mootools/Dojo/etc although integration with jQuery is still as easy as ever](http://v3.canjs.com/doc/can-jquery.html)
- [No more `.attr()`. DefineMap is faster and allows nice syntax conventions like getters and will give warnings when setting properties that aren't defined](http://v3.canjs.com/doc/can-define/map/map.html)
- [Much more granular documentation - including Ecosystem modules like `can-zone` and Infrastructure modules like `can-util/js/diff/diff`](http://v3.canjs.com/index.html)
- [Supports real time with can-connect 1.0](http://v3.canjs.com/doc/can-connect/real-time/real-time.html)
- [Has stache converters, which should make setting up two-way bindings easier](http://v3.canjs.com/doc/can-stache-converters.html)
__2.3.27__ ( Sep 15 2016 )
- [Adding PhantomJS from NPM for a newer version](https://github.com/canjs/canjs/pull/2489)
- [updating core docs to use todo/{todoId} route template syntax](https://github.com/canjs/canjs/pull/2487)
- [Backporting parent-to-child compute syntax from can-stache-bindings](https://github.com/canjs/canjs/pull/2483)
- [Backporting stache binding fix for special values. #2370](https://github.com/canjs/canjs/pull/2481)
__2.3.26__ ( Aug 17 2016 )
- [Port can-observation changes for adds updateUntil for dynamic depths](https://github.com/canjs/canjs/pull/2453)
- [Making colons in keys work](https://github.com/canjs/canjs/pull/2450)
- [Fixed nested if-s and each helper in attributes](https://github.com/canjs/canjs/pull/2449)
- [update map.attr value name](https://github.com/canjs/canjs/pull/2448)
__2.3.25__ ( Aug 10 2016 )
- [Set readOnly property based on val](https://github.com/canjs/canjs/pull/2436)
- [Change propagation in a batch with late bindings - P(1) ~12](https://github.com/canjs/canjs/issues/2421)
- [Support svg camelCase elements.](https://github.com/canjs/canjs/pull/2420)
- [fix #1541 can.Component should show a warning if tag name is missing a hyphen](https://github.com/canjs/canjs/pull/2322)
__2.3.24__ ( May 19 2016 )
- [Pass list items to .sort(fn) and don't set the comparator](https://github.com/canjs/canjs/pull/2399)
- [Browserify build with stache is not working](https://github.com/canjs/canjs/issues/2397)
- [Properties with serialize: false should not be stringified](https://github.com/canjs/canjs/issues/2396)
- [Fixing error compiling cjs module with JSPM](https://github.com/canjs/canjs/pull/2394)
- [Fix mustache core mapping](https://github.com/canjs/canjs/pull/2390)
__2.3.23__ ( Apr 08 2016 )
- [Fixes #2343. calling simple helper now includes all arguments](https://github.com/canjs/canjs/pull/2363)
- [Stache promise support doesn't work with ES6 promises](https://github.com/canjs/canjs/issues/2359)
- [Cannot bind to event with a dash (e.g. "-")](https://github.com/canjs/canjs/issues/2347)
- [Deprecate can.isDeferred. More accurate can.isPromise.](https://github.com/canjs/canjs/pull/2247)
__2.3.21__ ( Mar 18 2016 )
- [#each leaking memory in stache](https://github.com/canjs/canjs/issues/2332)
- [IE8: Stache renders radio buttons with incorrect value](https://github.com/canjs/canjs/issues/2324)
- [Infinite batch change in 2.3.20 causes out of order rendering](https://github.com/canjs/canjs/issues/2323)
__2.3.20__ ( Mar 08 2016 )
- [Make define properties work on can.List](https://github.com/canjs/canjs/pull/2313)
- [Create a CanSimpleDocument constructor](https://github.com/canjs/canjs/pull/2312)
- [Infinite batching](https://github.com/canjs/canjs/issues/2272)
- [Form reset won't work with two-way bindings on elements. w/ CanJS 2.3.15](https://github.com/canjs/canjs/issues/2249)
__2.3.19__ ( Mar 04 2016 )
- [Fast path scope computes can be unbound then rebound.](https://github.com/canjs/canjs/issues/2305)
- [Bugfix: elems must be an array for can.inserted()](https://github.com/canjs/canjs/pull/2298)
- [routeUrl helper, merge option not working](https://github.com/canjs/canjs/issues/2291)
- [Component fires `inserted` twice on append.](https://github.com/canjs/canjs/issues/2288)
- [Call expressions with hash expressions are called with args reversed.](https://github.com/canjs/canjs/issues/2243)
__2.3.18__ ( Mar 03 2016 )
- [Make getter / setter converter functions possible with stache helpers](https://github.com/canjs/canjs/issues/2299)
- [Fix uppercase html parsing](https://github.com/canjs/canjs/pull/2296)
- [Move where %root is added to a component’s initial viewModel data](https://github.com/canjs/canjs/pull/2282)
- [`Type` in a component’s VM doesn’t work correctly with lists](https://github.com/canjs/canjs/issues/2250)
__2.3.17__ ( Feb 19 2016 )
- [Documentation for can.Deferred reject is not correct](https://github.com/canjs/canjs/issues/2280)
- [Properties on a can.route.map are coerced to strings when they should not be](https://github.com/canjs/canjs/issues/2277)
- [can-value does not teardown binding](https://github.com/canjs/canjs/issues/2270)
- [Stache parser creating incorrect output](https://github.com/canjs/canjs/issues/2229)
- [console.log.apply not supported on IE11?](https://github.com/canjs/canjs/issues/2227)
__2.3.16__ ( Feb 16 2016 )
- [Documentation for can.List.unshift.apply is not correct](https://github.com/canjs/canjs/issues/2262)
- [Switch define docs to use new example version.](https://github.com/canjs/canjs/pull/2261)
- [Batched change notifies child component before parent stache binding](https://github.com/canjs/canjs/issues/2252)
- [../ looks up wrong property on maps](https://github.com/canjs/canjs/issues/2244)
- [can.Map constructor is observable](https://github.com/canjs/canjs/issues/2220)
- [Route/Map triggering too many changes](https://github.com/canjs/canjs/issues/2206)
- [{{#if}} statement within partial gets displayed outside partial](https://github.com/canjs/canjs/issues/2186)
__2.3.15__ ( Feb 15 2016 )
- [adds jquery as a dep](https://github.com/canjs/canjs/pull/2242)
__2.3.14__ ( Feb 05 2016 )
- [double get](https://github.com/canjs/canjs/pull/2239)
- [A trapped and "not observed" observed info object would still be observed.](https://github.com/canjs/canjs/pull/2236)
- [2190 canjs api update](https://github.com/canjs/canjs/pull/2232)
- [Define getters run twice. setVal is missing on first run.](https://github.com/canjs/canjs/issues/2230)
- [Batching/Binding Issue](https://github.com/canjs/canjs/issues/2223)
- [Fix `map.attr` with empty string.](https://github.com/canjs/canjs/pull/2219)
- [Set jQuery package version using Caret ](https://github.com/canjs/canjs/issues/2212)
- [2183 update guides](https://github.com/canjs/canjs/pull/2184)
- [@index is double wrapped compute object in mustache/stache helper in latest version (V2.3.8)](https://github.com/canjs/canjs/issues/2179)
__2.3.12/2.3.13__ ( Feb 01 2016 )
- [jquery 2.2 in peer deps not supported](https://github.com/canjs/canjs/issues/2207)
- [Keys aren't documented](https://github.com/canjs/canjs/issues/2202)
- [calling methods directly on an instance of a can.Map with can.compute.read](https://github.com/canjs/canjs/issues/2199)
- [Parser is not allowing anchor tags as child of inline elements](https://github.com/canjs/canjs/issues/2169)
- [can.viewModel mentioned in the navigation but not the root page contents](https://github.com/canjs/canjs/issues/2165)
- [Asynchronous virtual properties cause extra recomputes](https://github.com/canjs/canjs/issues/1915)
- [Child bindings are called before the parent in Stache](https://github.com/canjs/canjs/issues/1866)
- [Dynamic select menus don't live bind correctly](https://github.com/canjs/canjs/issues/1762)
__2.3.11__ ( Jan 21 2016 )
- [makes events fired as a result of a batch happen after any previous batches](https://github.com/canjs/canjs/pull/2203)
- [can.batch.afterPreviousEvents firing too late](https://github.com/canjs/canjs/issues/2198)
- [makes jQuery work without public buildFragment and overwritable domManip](https://github.com/canjs/canjs/pull/2177)
- [jQuery 2.2 compatible. ](https://github.com/canjs/canjs/issues/2176)
__2.3.10__ ( Jan 14 2016 )
- [Computes that are registered to be updated don't get updated if they are unbound](https://github.com/canjs/canjs/pull/2189)
- [nested switch statements cause a nodeList error](https://github.com/canjs/canjs/issues/2188)
__2.3.9__ ( Jan 11 2016 )
- [Partial defined by registerView throws error after element is modified](https://github.com/canjs/canjs/issues/2174)
- [stache system plugin needs nodeList](https://github.com/canjs/canjs/issues/2166)
__2.3.8__ ( Jan 04 2016 )
- [vdom innerHTML implementation should append a text node for script tags](https://github.com/canjs/canjs/issues/2156)
- [User DOM not found when rendering multiple <content>'s as a result of a batched "set"](https://github.com/canjs/canjs/issues/2151)
- [option value as empty string are not selected with two way binding](https://github.com/canjs/canjs/issues/2147)
- [Sub expression as named parameter](https://github.com/canjs/canjs/issues/2140)
- [FF debugging functions conflicting with can.Map](https://github.com/canjs/canjs/issues/2069)
- [Dynamic select menus don't live bind correctly](https://github.com/canjs/canjs/issues/1762)
__2.3.7__ ( Dec 15 2015 )
- [Incorrect view model context with <content/>](https://github.com/canjs/canjs/issues/2137)
- [List replace with deferreds does not take into account stale/overtaken deferreds](https://github.com/canjs/canjs/issues/2136)
- [two-way binding bug regarding select dropdowns when value is set in inserted or init](https://github.com/canjs/canjs/issues/2134)
- [support backtrack path in export {^to-parent} bindings](https://github.com/canjs/canjs/issues/2132)
- [Inconsistent binding with "with" helper](https://github.com/canjs/canjs/issues/2129)
- [can.compute | NaN -> NaN dispatches a change event](https://github.com/canjs/canjs/issues/2128)
- [{{(at)index}} doesn't work with arrays inside arrays](https://github.com/canjs/canjs/issues/2127)
- [Using a define getter breaks pushstate url updates.](https://github.com/canjs/canjs/issues/2105)
- [Wrong context inside <content/>](https://github.com/canjs/canjs/issues/2092)
- [expressions are caching Args computes in the wrong spots](https://github.com/canjs/canjs/issues/1971)
- [Dynamic select menus don't live bind correctly](https://github.com/canjs/canjs/issues/1762)
__2.3.6__ ( Dec 11 2015 )
- [Cannot read property 'pop' of undefined ](https://github.com/canjs/canjs/issues/2121)
- [can.view.txt does not handle binding hookup on self-closing elements correctly](https://github.com/canjs/canjs/issues/2113)
- [%root property is serialized when can.Map instance is shared between a component viewModel and a can.route](https://github.com/canjs/canjs/issues/2080)
__2.3.5__ ( Dec 03 2015 )
- [Binding an undefined property to a component runs the setter](https://github.com/canjs/canjs/issues/2117)
- [Passing a function reference with @ runs it](https://github.com/canjs/canjs/issues/2116)
__2.3.4__ ( Dec 02 2015 )
- [Update each.js](https://github.com/canjs/canjs/pull/2114)
- [Stache leaks](https://github.com/canjs/canjs/pull/2111)
- [Stache removes attribute "id" from input elements if value should be interpolated](https://github.com/canjs/canjs/issues/2110)
- [makes dynamic bindings work](https://github.com/canjs/canjs/pull/2108)
- [makes attributes that point to {} or {{}} work without enclosing quotes](https://github.com/canjs/canjs/pull/2107)
- [Dynamic bindings broken](https://github.com/canjs/canjs/issues/2106)
- [Update deprecated_models.md](https://github.com/canjs/canjs/pull/2104)
- [quotes around attributes](https://github.com/canjs/canjs/issues/2097)
- [deprecation warning not showing up](https://github.com/canjs/canjs/issues/2091)
- [Stache templates leak for various reasons](https://github.com/canjs/canjs/issues/2090)
- [can.each doesn't work if elements is missing `hasOwnProperty`](https://github.com/canjs/canjs/issues/1958)
__2.3.3__ ( Nov 30 2015 )
- [can.__isRecording observes doesn't understand can.__notObserve](https://github.com/canjs/canjs/issues/2099)
- [computes on Map prototypes are not readable by can.compute.read](https://github.com/canjs/canjs/issues/2098)
- [Live binding on a derived attribute breaks when it's removed from then added back to the page.](https://github.com/canjs/canjs/issues/2095)
- [Compute binding order](https://github.com/canjs/canjs/pull/2094)
- [Compute binding problem with setter](https://github.com/canjs/canjs/issues/2093)
- [elements and attributes doc](https://github.com/canjs/canjs/pull/2087)
- [Bug with conditional attribute](https://github.com/canjs/canjs/issues/2077)
- [%index doesn't work with can.Map values in master](https://github.com/canjs/canjs/issues/2067)
- [Rendering style tag with stache template](https://github.com/canjs/canjs/issues/2035)
- [Documentation Elements and Attributes](https://github.com/canjs/canjs/issues/2028)
- [The @index context should be skipped by `../`](https://github.com/canjs/canjs/issues/1554)
__2.3.2__ ( Nov 13 2015 )
- [adds warning for mismatched binding syntaxes](https://github.com/canjs/canjs/pull/2078)
- [Don't remove development code from development build.](https://github.com/canjs/canjs/pull/2070)
- [makes exporting function work, but not pretty](https://github.com/canjs/canjs/pull/2064)
- [Fix issue #1202 and 'unless' helper](https://github.com/canjs/canjs/pull/2058)
- [Add navigator object to vdom global object - #2056](https://github.com/canjs/canjs/pull/2057)
- [Add navigator object to vdom](https://github.com/canjs/canjs/issues/2056)
- [Cannot export a component's prototype function to the references scope](https://github.com/canjs/canjs/issues/2051)
- [New 2-way bindings run setter twice with default values](https://github.com/canjs/canjs/issues/2049)
- [Added a setter for class attr to handle svg elements where className cann…](https://github.com/canjs/canjs/pull/2048)
- [Previous behavior restored for "old" two-way binding syntax](https://github.com/canjs/canjs/pull/2046)
- [All can-import tests are passing again](https://github.com/canjs/canjs/pull/2045)
- [Importing a template doesn't work with the new syntax](https://github.com/canjs/canjs/issues/2042)
- [Formalize two-way binding with selects.](https://github.com/canjs/canjs/issues/2027)
- [New bindings updating the scope when created](https://github.com/canjs/canjs/issues/2020)
- [Dead links](https://github.com/canjs/canjs/issues/2018)
- [svgEl.className is readOnly so live binding does not work](https://github.com/canjs/canjs/issues/2015)
- [stache does not update view with can.List and deep properties](https://github.com/canjs/canjs/issues/2007)
- [can.jquery.dev.js doesn't include dev parts of code](https://github.com/canjs/canjs/issues/2004)
- [After change of comparator @index in view stays the same for elements](https://github.com/canjs/canjs/issues/1962)
- [eq helper called twice](https://github.com/canjs/canjs/issues/1931)
- [Condition (helper) inside can-EVENT doesn't work](https://github.com/canjs/canjs/issues/1800)
- [Stache conditionals within custom attributes break in 2.3.0-pre.2](https://github.com/canjs/canjs/issues/1770)
__2.3.1__ ( Oct 29 2015 )
- [Make define part of the core](https://github.com/canjs/canjs/issues/2040)
- [global var "GLOBALCAN" fails](https://github.com/canjs/canjs/issues/2039)
- [Allow relative can-imports](https://github.com/canjs/canjs/pull/2038)
- [Replaced references to element.innerText in tests so that they pass i…](https://github.com/canjs/canjs/pull/2033)
- [references scopes are not available to bindings nested in components](https://github.com/canjs/canjs/issues/2029)
- [References of 'can' not locally scoped in modules](https://github.com/canjs/canjs/issues/2022)
- [Adding scoped reference to 'can'. Removing dependancy on Global 'can'.](https://github.com/canjs/canjs/pull/2021)
__2.3.0__ ( Oct 23 2015 )
- [sort plugin: comparator set on init does not keep list sorted](https://github.com/canjs/canjs/issues/2006)
- [Stache #each teardown throws an error on observable functions](https://github.com/canjs/canjs/issues/2001)
- [New bindings do not always update the scope](https://github.com/canjs/canjs/issues/1996)
- [Binding docs](https://github.com/canjs/canjs/pull/1993)
- [adding routeUrl and routeCurrent](https://github.com/canjs/canjs/pull/1992)
- [merges binding logic](https://github.com/canjs/canjs/pull/1986)
- [Returning 0 from a helper displays nothing](https://github.com/canjs/canjs/issues/1985)
- [fixes a bug with deep methods like foo.bar() in bindings](https://github.com/canjs/canjs/pull/1982)
- [#each doesn't work with else](https://github.com/canjs/canjs/issues/1979)
- [Do not use pushstate routing on file:// protocol URLs](https://github.com/canjs/canjs/pull/1965)
- [Add support for drag-and-drop events in can.Component](https://github.com/canjs/canjs/issues/1955)
- [Operators and call expressions](https://github.com/canjs/canjs/pull/1946)
- [Can-event gets broken in production if method does not exist.](https://github.com/canjs/canjs/issues/1942)
- [can.isArray behaves differently using can.util.jquery vs can.util.domless](https://github.com/canjs/canjs/issues/1938)
- [Rename ~ helper](https://github.com/canjs/canjs/issues/1932)
- [Optimize sort plugin inserts (#1883)](https://github.com/canjs/canjs/pull/1927)
- [Missing Doc can.Deferred.prototype](https://github.com/canjs/canjs/issues/1890)
- [sub-expression methods that return data are broken](https://github.com/canjs/canjs/issues/1887)
- [slice and join are not observable](https://github.com/canjs/canjs/issues/1884)
- [Add ability to override can.route's batch with other batching implementations](https://github.com/canjs/canjs/pull/1882)
- [can/view/autorender doesn't import $.fn.viewModel](https://github.com/canjs/canjs/issues/1880)
- [Conditional "readonly" attribute does not work](https://github.com/canjs/canjs/issues/1874)
- ["for" attribute is "htmlFor" property](https://github.com/canjs/canjs/issues/1872)
- [Fixes #1862. Objects with addEventListener now bindable](https://github.com/canjs/canjs/pull/1868)
- [Add textarea example to can-value docs](https://github.com/canjs/canjs/issues/1867)
- [switch/case might not work when nested](https://github.com/canjs/canjs/issues/1857)
- [Pushstate should prevent default for javascript:// links](https://github.com/canjs/canjs/issues/1848)
- [stache expressions don't work right with parent context values](https://github.com/canjs/canjs/issues/1842)
- [Makes sure unbind is not call unnecessarily on can.Lists passed to can.view.live.list](https://github.com/canjs/canjs/pull/1836)
- [can.view.live.list unbinds from the list unnecessarily](https://github.com/canjs/canjs/issues/1835)
- [Stache subexpressions ](https://github.com/canjs/canjs/pull/1832)
- [Steal Stache plugin should provide module id and path to templates](https://github.com/canjs/canjs/issues/1817)
- [Create ~ helper for joining to the baseURL](https://github.com/canjs/canjs/issues/1816)
- [Pass options to helpers](https://github.com/canjs/canjs/pull/1815)
- [Pass parent scope helpers to helper's options](https://github.com/canjs/canjs/pull/1807)
- [Merges master into minor](https://github.com/canjs/canjs/pull/1805)
- [Parent helpers inside helper](https://github.com/canjs/canjs/issues/1783)
- [Live-list diffing](https://github.com/canjs/canjs/pull/1782)
- [Expand the Observables guide page](https://github.com/canjs/canjs/issues/1753)
- [Add screenshots to the 2.3 guides](https://github.com/canjs/canjs/issues/1749)
- [can.List filter should return lists of the same type](https://github.com/canjs/canjs/issues/1744)
- [Work-in-progress version of the new guides](https://github.com/canjs/canjs/pull/1741)
- [Observable promises is not documented](https://github.com/canjs/canjs/issues/1729)
- [Revert "Use [.] to represent a template's viewModel"](https://github.com/canjs/canjs/pull/1726)
- [Sort plugin excludes batchNum; Maybe fires unnecessary events](https://github.com/canjs/canjs/issues/1707)
- [Sort plugin evaluates insert index for batched events](https://github.com/canjs/canjs/issues/1706)
- [Sort plugin swaps equal value items](https://github.com/canjs/canjs/issues/1705)
- [Deprecate can.Map.prototype.COMPUTE-ATTR](https://github.com/canjs/canjs/issues/1703)
- [autorender system plugin should normalize the main](https://github.com/canjs/canjs/issues/1683)
- [Import view model](https://github.com/canjs/canjs/pull/1649)
- [Stache and Mustache registerSimpleHelper](https://github.com/canjs/canjs/pull/1646)
- [can-href](https://github.com/canjs/canjs/pull/1642)
- [can.view.href](https://github.com/canjs/canjs/pull/1641)
- [Document setting context of Stache data helper](https://github.com/canjs/canjs/pull/1640)
- [Changing context in a Stache template breaks the data helper](https://github.com/canjs/canjs/issues/1619)
- [{{#helper}} documentation examples are missing the "#"](https://github.com/canjs/canjs/issues/1535)
- [getHelper for can.stache and can.mustache should not require options](https://github.com/canjs/canjs/issues/1497)
- [Better docs on iterating performance of #section and #each.](https://github.com/canjs/canjs/issues/1488)
- [methods get arguments passed to them](https://github.com/canjs/canjs/issues/1473)
- [Dev Mode Warning on "watch" properties](https://github.com/canjs/canjs/issues/1437)
- [Proposal: `can-scope` for exporting scope into the surrounding context.](https://github.com/canjs/canjs/issues/1362)
- [can.view.attr won't trigger in can.mustache if no value is provided](https://github.com/canjs/canjs/issues/1353)
- [Documentation raises error 404 in can.route.map demo](https://github.com/canjs/canjs/issues/1294)
- [can.Compute as a prototype based can.compute](https://github.com/canjs/canjs/issues/1255)
- [Document how mustache tags handle lists](https://github.com/canjs/canjs/issues/1254)
- [Native CanJS Event Streams](https://github.com/canjs/canjs/issues/1218)
- [can.mustache #if renders __!!__ when value changes](https://github.com/canjs/canjs/issues/1151)
- [can.Model.models documentation unclear](https://github.com/canjs/canjs/issues/1129)
- [Mustache helper has no rendered output, if the output is 0.](https://github.com/canjs/canjs/issues/1109)
- [can-href link helper](https://github.com/canjs/canjs/issues/1103)
- [registerSimpleHelper](https://github.com/canjs/canjs/issues/1102)
- [Putting a can.compute on a Component scope throws](https://github.com/canjs/canjs/issues/1086)
- [define::set doc issues](https://github.com/canjs/canjs/issues/1047)
- [Mustache deferreds](https://github.com/canjs/canjs/pull/1031)
- [951 can model promises](https://github.com/canjs/canjs/pull/956)
- [{{#with}} Mustache helper pushes can.compute into Scope, breaks can.compute.read](https://github.com/canjs/canjs/issues/871)
- [can-value="." not working properly](https://github.com/canjs/canjs/issues/800)
- [Dev Warning : mutable values in can.Control.defaults](https://github.com/canjs/canjs/issues/704)
- [can.route.default](https://github.com/canjs/canjs/issues/672)
- [Live binding of not-yet-defined attr in a Component's template fails](https://github.com/canjs/canjs/issues/579)
- [can.route triggers event two times for setting nested object.](https://github.com/canjs/canjs/issues/269)
- [Make promises observable](https://github.com/canjs/canjs/issues/179)
__2.2.8/2.2.9__ ( Sep 11 2015 )
- [View bound to method breaks on re-evaluation](https://github.com/canjs/canjs/issues/1891)
- [fixed regression component control destructor](https://github.com/canjs/canjs/pull/1886)
- [Fix typo in default generator dependent property resolution logic](https://github.com/canjs/canjs/pull/1820)
- [attr.split() causes errors in IE10,11 in live.js on CanJS 2.2.6 when using jQuery](https://github.com/canjs/canjs/issues/1790)
- [Only attempt unbind when __bindEvents is defined](https://github.com/canjs/canjs/pull/1780)
- [can.Component events registered twice in 2.2.x](https://github.com/canjs/canjs/issues/1778)
- [can.map throws strings, not errors. ](https://github.com/canjs/canjs/issues/1773)
- [Handle a few sort plugin edge cases](https://github.com/canjs/canjs/pull/1718)
__2.2.7__ ( Jul 24 2015 )
- [can.compute change handler context should be the function not the can.Compute object](https://github.com/canjs/canjs/issues/1763)
- [Provide a getter and setter compute interface for non-map-like targets](https://github.com/canjs/canjs/issues/1719)
- [Unable to load canjs in node.js environment](https://github.com/canjs/canjs/issues/1711)
- [Makes scope.computeData listen to every observable in scope when value is not defined.](https://github.com/canjs/canjs/pull/1709)
- [<select can-value="{value}" with undefined value and option without value](https://github.com/canjs/canjs/issues/1679)
- [Conditional can-EVENT bindings don't work in stache](https://github.com/canjs/canjs/issues/1650)
- [Event handlers attached on Component's init (event) are not called. ](https://github.com/canjs/canjs/issues/1623)
__2.2.6__ ( May 20 2015 )
- [Fix calling define getters on map initialization](https://github.com/canjs/canjs/pull/1704)
- [Cleans up computes and fixes deep .attr calls.](https://github.com/canjs/canjs/pull/1696)
- [can/define with type: 'string' given values of null or undefined returns 'null' or 'undefined'](https://github.com/canjs/canjs/issues/1693)
- [Mangled file in AMD builds](https://github.com/canjs/canjs/issues/1684)
- [Compute memory leak with nested properties](https://github.com/canjs/canjs/issues/1676)
- [can.Model.findAll should reject if parseModels returns a non-array `data` property.](https://github.com/canjs/canjs/issues/1662)
- [Cannot bind to future nested properties](https://github.com/canjs/canjs/issues/1657)
- [Check for vulnerability against iOS 8 object length bug](https://github.com/canjs/canjs/issues/1654)
- [can.stache helpers that rely on array replacement don't work, but work in can.mustache](https://github.com/canjs/canjs/issues/1652)
- [Helpers bind to nested properties differently in stache/mustache](https://github.com/canjs/canjs/issues/1651)
- [Cannot read value of property defined with "get" AND "set" methods ](https://github.com/canjs/canjs/issues/1648)
- [Use Function.prototype.bind if available](https://github.com/canjs/canjs/issues/1632)
- [Compute code gets inserted into DOM with Stache sometimes](https://github.com/canjs/canjs/issues/1617)
- [Problem with defines called out of order](https://github.com/canjs/canjs/issues/1519)
- [can.compute nested key behaviour inconsistency with map bindings](https://github.com/canjs/canjs/issues/1231)
- [bug with component that has an if inside an inverse tag](https://github.com/canjs/canjs/issues/1115)
__2.2.5__ ( Apr 22 2015 )
- [#each helper should use it's own NodeList](https://github.com/canjs/canjs/pull/1634)
- [Nested can.Component with <content/> tag causes detached DOM nodes](https://github.com/canjs/canjs/issues/1627)
- [Nested can.Component causes detached DOM nodes](https://github.com/canjs/canjs/issues/1625)
- [can.appendChild passed null el](https://github.com/canjs/canjs/issues/1621)
- [CanJS 2.2.4 can.List.replace() incorrect behavior](https://github.com/canjs/canjs/issues/1606)
- [allow comporator fn return any negative value](https://github.com/canjs/canjs/pull/1601)
- [can/map/define default behaviors with "*"](https://github.com/canjs/canjs/issues/1373)
__2.2.4__ ( Apr 03 2015 )
- [This makes list update sorting when comparator changes.](https://github.com/canjs/canjs/pull/1604)
__2.2.3__ ( Apr 03 2015 )
- [Fix AMD build, bring back can/util/library and can/util/can](https://github.com/canjs/canjs/pull/1600)
- [Stache sets up live-binding with plainJS objects and the section helper](https://github.com/canjs/canjs/issues/1598)
- [Autorender denormalizes typeModule in Steal production mode](https://github.com/canjs/canjs/issues/1595)
- [DOM appears to be held in memory in certain conditions with components rather than be destroyed](https://github.com/canjs/canjs/issues/1593)
- [#each causing duplicates](https://github.com/canjs/canjs/issues/1589)
- [Individual ready counters.](https://github.com/canjs/canjs/pull/1588)
- [Do not dispatch events during a set to a compute backed property.](https://github.com/canjs/canjs/pull/1587)
- [define getters throw two events](https://github.com/canjs/canjs/issues/1585)
- [autoload does not work with standalone build](https://github.com/canjs/canjs/issues/1582)
- [Prevents updating scope due to scope changes, avoiding an infinite loop problem.](https://github.com/canjs/canjs/pull/1580)
- [Batched Changes can create cycles in components two way bindings](https://github.com/canjs/canjs/issues/1579)
- [steal specific handling has been removed in 2.2.2 dists](https://github.com/canjs/canjs/issues/1577)
- [Makes sure promise observe data has a cid and the promise can be read from](https://github.com/canjs/canjs/pull/1573)
- [New promises are not rebound and can not read alternate properties on promises](https://github.com/canjs/canjs/issues/1572)
- [List#sort does not cause {{#each key}} to update](https://github.com/canjs/canjs/issues/1566)
- [component fire inserted event twice with zepto](https://github.com/canjs/canjs/issues/1564)
- [svg element inside stache template is not rendred correctly](https://github.com/canjs/canjs/issues/1327)
__2.2.2__ ( Mar 31 2015 )
- [makes can-EVENT arguments values instead of computes and functions](https://github.com/canjs/canjs/pull/1556)
- [Fixes section helper with lists](https://github.com/canjs/canjs/pull/1553)
- [View model docs cleanup](https://github.com/canjs/canjs/pull/1552)
- [can.stache and lists {{#data.items}} ](https://github.com/canjs/canjs/issues/1551)
__2.2.1__ ( Mar 24 2015 )
- [List.prototype.__set should not assume to create an array for indices out of bounds](https://github.com/canjs/canjs/issues/1548)
- [Prevents listening to events that happen while reading the compute](https://github.com/canjs/canjs/pull/1545)
- [v2.2.0 - The included `global.define` breaks UMD defs in other scripts](https://github.com/canjs/canjs/issues/1544)
- [cleans up can.Compute.read and adds template-obserbable promises](https://github.com/canjs/canjs/pull/1540)
- [Update components.md](https://github.com/canjs/canjs/pull/1532)
- [Adding viewModel to Components control instance](https://github.com/canjs/canjs/pull/1528)
- [Update the binding count correctly after calling removeEvent](https://github.com/canjs/canjs/pull/1527)
- [#1521 define map properties in the same order they're defined](https://github.com/canjs/canjs/pull/1526)
- [Problem with defines called out of order](https://github.com/canjs/canjs/issues/1519)
__2.2.0__ ( Mar 16 2015 )
- [Renaming and adding can.Component viewModel property.](https://github.com/canjs/canjs/pull/1512)
- [Set the context correctly when an async compute has a length of 1](https://github.com/canjs/canjs/pull/1506)
- [Typo (use of @params instead of @param) in can.Model's documentation ](https://github.com/canjs/canjs/issues/1496)
- [Added a note and some sample code illustrating relative can.view.Scope.attr lookups.](https://github.com/canjs/canjs/pull/1491)
- [Adds can.Compute, and "compute" type and setter / getter paring for define pugin](https://github.com/canjs/canjs/pull/1486)
- [can-value doesn't two way bind with a key value that has 0 and one values to a checkbox](https://github.com/canjs/canjs/issues/1478)
- [spaces around a key with `can-value` do not two way bind](https://github.com/canjs/canjs/issues/1477)
- [can-EVENT can not call intermediate functions before calling the final function](https://github.com/canjs/canjs/issues/1474)
- [can.fixture.store with objects does not work for .create](https://github.com/canjs/canjs/issues/1471)
- [can.Model resource is not creating "destroy" static method](https://github.com/canjs/canjs/issues/1469)
- [Don't change route if the only change would be prepending "!"](https://github.com/canjs/canjs/pull/1464)
- [Make RequireJS work with can.import](https://github.com/canjs/canjs/issues/1456)
- [Complete the Sort plugin](https://github.com/canjs/canjs/pull/1454)
- [Can attr set checkboxes](https://github.com/canjs/canjs/pull/1434)
- [add/remove events always give you back arrays](https://github.com/canjs/canjs/pull/1428)
- [Moved jquery out of travis.yml file and into devDependencies #1418](https://github.com/canjs/canjs/pull/1421)
- [can.route.setState doesn't deep clean the route](https://github.com/canjs/canjs/issues/1420)
- [travis.yml before_script](https://github.com/canjs/canjs/issues/1418)
- [Observable can/map/backup plugin](https://github.com/canjs/canjs/issues/1417)
- [removing bound scope properties on destroy](https://github.com/canjs/canjs/issues/1415)
- [CanJS can-value does not work for multi-select when options are rendered using Map](https://github.com/canjs/canjs/issues/1414)
- [Insert can.compute into can.Map](https://github.com/canjs/canjs/issues/1409)
- [Dev warning: custom tag is already defined](https://github.com/canjs/canjs/issues/1407)
- [{{#is}} and {{#eq}} helper](https://github.com/canjs/canjs/issues/1406)
- [can.List.prototype.sortIndexes is defined but not referenced](https://github.com/canjs/canjs/issues/1404)
- [A splice where can.List ends up exactly the same should not produce any events.](https://github.com/canjs/canjs/issues/1399)
- [#each doesn't work with null values that change to a can.List](https://github.com/canjs/canjs/issues/1398)
- [Memory leak in CanJS template/model](https://github.com/canjs/canjs/issues/1393)
- [can-autorender](https://github.com/canjs/canjs/issues/1390)
- [can.stache and can.mustache templates don't resolve partial names against the scope.](https://github.com/canjs/canjs/issues/1389)
- [can.stache will import components it depends on](https://github.com/canjs/canjs/issues/1387)
- [can.import](https://github.com/canjs/canjs/issues/1386)
- [getOwnPropertyDescriptor causes fatal error in IE8](https://github.com/canjs/canjs/issues/1378)
- [can/map/define default behaviors with "*"](https://github.com/canjs/canjs/issues/1373)
- [updating module names for builder](https://github.com/canjs/canjs/pull/1372)
- [booleanAttr for components](https://github.com/canjs/canjs/pull/1371)
- [Models with no id (undefined or null) are placed in model store](https://github.com/canjs/canjs/issues/1358)
- [can/map/define doesn't work more than one level deep.](https://github.com/canjs/canjs/issues/1346)
- [rename can.Component scope to context?](https://github.com/canjs/canjs/issues/1300)
- [can.List.prototype.sort is not working](https://github.com/canjs/canjs/issues/1265)
- [can-EVENT arguments](https://github.com/canjs/canjs/issues/1219)
- [{{prop}}CHECKED{{/prop}} doesn't work if someone manually changes input checked and then changes value elsewhere (visible in TODOMVC)](https://github.com/canjs/canjs/issues/1201)
- [can-event doesn't pass extra arguments](https://github.com/canjs/canjs/issues/1195)
- [Default empty route event fires twice on page load](https://github.com/canjs/canjs/issues/1185)
- [can-event trows an error when inside #if block](https://github.com/canjs/canjs/issues/1182)
- [can.route - Allow changing the route (and URL) without saving to browser history](https://github.com/canjs/canjs/issues/1137)
- [Block level elements should be able to render inside anchor tags](https://github.com/canjs/canjs/issues/1134)
- [can.fixture has no way to allow AJAX calls to circumvent it, if necessary](https://github.com/canjs/canjs/issues/1131)
- [Sorting a List doesn't update in a template correctly](https://github.com/canjs/canjs/pull/1114)
- [can-EVENT removed in live bindings doesn't unbind](https://github.com/canjs/canjs/issues/1112)
- [Lexical semantics for can.Component](https://github.com/canjs/canjs/issues/1069)
- [Constructor names visible in debugger](https://github.com/canjs/canjs/issues/1000)
- [Fix `can.List` event docs, as well as an event ambiguity](https://github.com/canjs/canjs/issues/998)
- [new fixture store API is not documented](https://github.com/canjs/canjs/issues/987)
- [Improvement: can.list.pushAll and can.list.unshiftAll shortcuts](https://github.com/canjs/canjs/issues/984)
- [Replacing can.Map.List and can.List.Map](https://github.com/canjs/canjs/issues/897)
- [Ensure can-value bound input stay in sync with compute](https://github.com/canjs/canjs/pull/888)
- [can-value becomes out of sync when a compute rejects the new value](https://github.com/canjs/canjs/issues/887)
- [input with can-value keeps wrong value prevented with setter plugin](https://github.com/canjs/canjs/issues/872)
- [can.list.sort triggers event before sorting but none after](https://github.com/canjs/canjs/issues/828)
- [Improve can.scope and $.fn.scope code and add assignment support](https://github.com/canjs/canjs/pull/740)
- [Pass local helpers to sub templates.](https://github.com/canjs/canjs/issues/734)
- [can.batch.start/stop causes can.List with length>1 to render last element twice](https://github.com/canjs/canjs/issues/680)
- [Advanced linking / setting of attribute values and computes](https://github.com/canjs/canjs/issues/646)
- [Live binding does not maintain the cursor position.](https://github.com/canjs/canjs/issues/356)
__2.1.4__ ( Nov 21 2014 )
- change: [Make can.Construct work with getter / setters (and super plugin)](https://github.com/canjs/canjs/issues/1337)
- change: [Update compute.read to also return constructor functions](https://github.com/canjs/canjs/pull/1332)
- change: [property for which no validations are defined throws an exception](https://github.com/canjs/canjs/pull/1323)
- change: [Reading from undefined values in scope. ](https://github.com/canjs/canjs/issues/1314)
- change: [Fixed function overwrite](https://github.com/canjs/canjs/pull/1309)
- change: [Using attrData.scope.compute as a setter throws an error if the getter hasn't been called](https://github.com/canjs/canjs/issues/1304)
- change: [Setting computes created with computeData will throw if set first](https://github.com/canjs/canjs/issues/1297)
- change: [Fix IE7 character access](https://github.com/canjs/canjs/pull/1289)
- change: [$.fn.scope undefined when using CommonJS](https://github.com/canjs/canjs/issues/1288)
- change: [Cannot read properties of can.Map inside a property's value method](https://github.com/canjs/canjs/issues/1284)
- change: [Removed madeMap and getMapFromObject from LazyMap since it's unused](https://github.com/canjs/canjs/pull/1281)
- change: [Dispatch correct arguments with can.List:splice if inserting and removing the same elements. ](https://github.com/canjs/canjs/issues/1277)
- change: [Inconsistent results when extending parsed can.Models](https://github.com/canjs/canjs/issues/1272)
- change: [scope objects with constructor function properties are treated as methods](https://github.com/canjs/canjs/issues/1261)
- change: [Mustache warning on helpers](https://github.com/canjs/canjs/issues/1257)
- change: [Extending a Model overwrites parseModels()](https://github.com/canjs/canjs/issues/1246)
- change: [Unused variable in can.Model](https://github.com/canjs/canjs/issues/1242)
- change: [Fixed Mustache getHelper() so that it doesn't need second argument](https://github.com/canjs/canjs/pull/1178)
- change: [can.route.map docs](https://github.com/canjs/canjs/issues/1152)
- change: [can.camelize and can.hyphenate not documented](https://github.com/canjs/canjs/issues/1147)
- change: [Issue: can.view(function, deferred, callback) does not work](https://github.com/canjs/canjs/issues/1139)
- change: [can.stache dosent render custom tags with Colon ":"](https://github.com/canjs/canjs/issues/1108)
- change: [Documenting what new Model.List() does with no args passed](https://github.com/canjs/canjs/pull/1100)
- change: [Bug: can.List.splice(-1) causes JS exception inside binding framework](https://github.com/canjs/canjs/issues/1038)
- change: [can.Map code block cleanup and fix failure to render.](https://github.com/canjs/canjs/pull/1033)
- change: [can.view.preload breaks can.view.attr](https://github.com/canjs/canjs/issues/1032)
- change: [Fix rendering of <col> inside <table> in templates.](https://github.com/canjs/canjs/pull/1013)
__2.1.3__ ( Aug 25 2014 )
- change: [IE 8+10 fixes](https://github.com/canjs/canjs/pull/1212)
- change: [makes sure can.compute.read can read a final can.route value](https://github.com/canjs/canjs/pull/1177)
- change: [Allows maps passed to can.Map's constructor](https://github.com/canjs/canjs/pull/1175)
- change: [Makes can.route.current is observable ](https://github.com/canjs/canjs/pull/1173)
- change: [component does not update scope on id, class, and data-view-id attribute changes](https://github.com/canjs/canjs/pull/1172)
- change: [Prevent 'leaking reads' on single bind computes](https://github.com/canjs/canjs/pull/1169)
- change: [can.Map constructor fails if passed another Map](https://github.com/canjs/canjs/issues/1166)
- change: [Incomplete documentation for can.List.prototype.filter](https://github.com/canjs/canjs/issues/1165)
- change: [can.Map method not become computable automatically](https://github.com/canjs/canjs/issues/1164)
- change: [can.route.current is not live-bindable](https://github.com/canjs/canjs/issues/1156)
- change: [setupSingleBindComputeHandlers leak temporary observables.](https://github.com/canjs/canjs/issues/1155)
- change: [can.compute.read should not call can.route](https://github.com/canjs/canjs/issues/1154)
- change: [Fix for #1132](https://github.com/canjs/canjs/pull/1150)
- change: [Fix for #1143](https://github.com/canjs/canjs/pull/1149)
- change: [Fixes compute.read with a Map wrapped in a compute](https://github.com/canjs/canjs/pull/1148)
- change: [Error when using a helper with 2 string arguments](https://github.com/canjs/canjs/issues/1143)
- change: [Simplifying and clarifying lazymap docs](https://github.com/canjs/canjs/pull/1138)
- change: [Documenting how to access Map properties containing a dot](https://github.com/canjs/canjs/pull/1136)
- change: [Fix the tabbing/spacing in the validation markdown files, and re-path th...](https://github.com/canjs/canjs/pull/1135)
- change: [Fix @typedef name to be dot-separated.](https://github.com/canjs/canjs/pull/1133)
- change: [Parse Error when a stache template contains SVG content](https://github.com/canjs/canjs/issues/1132)
- change: [test and fix #1079](https://github.com/canjs/canjs/pull/1130)
- change: [Fixes #1078 - add offset support to @index](https://github.com/canjs/canjs/pull/1107)
- change: [Fixes #1074 - Only call findAll once if argument is a deferred](https://github.com/canjs/canjs/pull/1106)
- change: [Document accessing attributes with dot in the name](https://github.com/canjs/canjs/issues/1101)
- change: [can.Construct passes original arguments to setup and fixes can.Model's setup accordingly](https://github.com/canjs/canjs/pull/1099)
- change: [Corrected pushstate tests and update can.test.route](https://github.com/canjs/canjs/pull/1098)
- change: [can.stache read function bug ](https://github.com/canjs/canjs/issues/1094)
- change: [Model.resource is not working with inherited classes](https://github.com/canjs/canjs/pull/1089)
- change: [Id and class attributes are not ignored in the route URL](https://github.com/canjs/canjs/issues/1079)
- change: [@index is not using offset param](https://github.com/canjs/canjs/issues/1078)
- change: [new Foo.List(Foo.findAll()) calls Foo.findAll twice ](https://github.com/canjs/canjs/issues/1074)
- change: [Store docs](https://github.com/canjs/canjs/pull/1035)
- change: [Multiple issues with Model](https://github.com/canjs/canjs/issues/1034)
- change: [can.LazyMap docs do not read clearly](https://github.com/canjs/canjs/issues/1010)
__2.1.2__ ( Jun 16 2014 )
- change: [Adds event target back for Map events](https://github.com/canjs/canjs/pull/1091)
- change: [Evaluate and cache text sections properly](https://github.com/canjs/canjs/pull/1083)
- change: [can.Map events Object missing target property](https://github.com/canjs/canjs/issues/1082)
- change: [Fix can.debounce and can.throttle context](https://github.com/canjs/canjs/pull/1073)
- change: [can.stache is returning incorrect values for DOM attributes](https://github.com/canjs/canjs/issues/1065)
- change: [Fixed incorrect scope for can/event's delegate and undelegate](https://github.com/canjs/canjs/pull/1055)
- change: [Warnings for map/define](https://github.com/canjs/canjs/pull/1054)
- change: [1050 component tagnames](https://github.com/canjs/canjs/pull/1053)
- change: [Regression in component naming](https://github.com/canjs/canjs/issues/1050)
- change: [Model destroyed bug](https://github.com/canjs/canjs/pull/1049)
- change: [Remove NodeLists from Stache](https://github.com/canjs/canjs/pull/1048)
- change: [#1019 Unless does not live bind](https://github.com/canjs/canjs/pull/1045)
- change: [Making routes not greedily consume slashes by default](https://github.com/canjs/canjs/pull/1044)
- change: [Map define warn](https://github.com/canjs/canjs/pull/1041)
- change: [calling reverse on a model list breaks its "destroyed" bindings](https://github.com/canjs/canjs/issues/1040)
- change: [can/event delegate/undelegate aren't using the correct scope](https://github.com/canjs/canjs/issues/1039)
- change: [Codeblocks styling in COMPUTE-ATTR](https://github.com/canjs/canjs/pull/1036)
- change: [nested component within an #if is not live bound](https://github.com/canjs/canjs/pull/1025)
- change: [{{#unless}} does not live bind](https://github.com/canjs/canjs/issues/1019)
- change: [#716 can.Model now warns the developer when no static properties are specified ](https://github.com/canjs/canjs/pull/1016)
- change: [fixes map unbind bug](https://github.com/canjs/canjs/pull/1015)
- change: [404 on can.view.Scope().readOptions docs](https://github.com/canjs/canjs/issues/1014)
- change: [Fix rendering of <col> inside <table> in templates.](https://github.com/canjs/canjs/pull/1013)
- change: [fix documentation for can.batch.stop](https://github.com/canjs/canjs/pull/1012)
- change: [can.stache performance](https://github.com/canjs/canjs/issues/1011)
- change: [Bug with conditionally nested components using stache](https://github.com/canjs/canjs/issues/967)
- change: [can.batch documentation is wrong](https://github.com/canjs/canjs/issues/802)
- change: [can.debounce keeps the context after being called the first time](https://github.com/canjs/canjs/issues/782)
- change: [Dev warning when can.Model is extended without static properties.](https://github.com/canjs/canjs/issues/716)
__2.1.1__ ( May 21 2014 )
- change: [404 on define example](https://github.com/canjs/canjs/issues/999)
- change: [Fixing define demo](https://github.com/canjs/canjs/pull/992)
- change: [Fixing up component and scope docs](https://github.com/canjs/canjs/pull/991)
- change: [Helpers are now passed into partials. Fixes #791.](https://github.com/canjs/canjs/pull/989)
- change: [can.mustache: {{else}} does not work for {{#unless}} block](https://github.com/canjs/canjs/issues/988)
- change: [Define demo broken in chrome](https://github.com/canjs/canjs/issues/986)
- change: [stache: Custom elements in IE8 contain a colon](https://github.com/canjs/canjs/pull/985)
- change: [Adding ability to mix can.event into can.Controls safely](https://github.com/canjs/canjs/pull/982)
- change: [Mixing in can/event conflicts with can.Control-based classes](https://github.com/canjs/canjs/issues/981)
- change: [added can parameter](https://github.com/canjs/canjs/pull/980)
- change: [adding tests for can.route.map](https://github.com/canjs/canjs/pull