Changelog page changelog source 1.1.8 ( Sep 24 2013 ) change: can.Observe.List.Sort: fix for case when comparator is not a function change: makeFindOne example cache error: http://canjs.com/docs/can.Model.makeFindOne.html change: Two return statements in Mustache.getHelper change: recommended syntax breaks can.route change: Prevent infinite recursion on unbindAndTeardown when Observe's _bindings is undefined and Observe is self-referential change: Catch only exceptions thrown by modelfunc (fix #454 and re #384) change: CanJS Swallowing Errors 1.1.7 ( Jul 23 2013 ) change: can.Model.model attribute serialization fix change: Build cleanup change: .model should always serialize Observes change: Preloaded recursive views fail to render their recursions change: Use .attr() when evaluating errors in validations change: can.compute error with can.Observe change: Fix the bug where mustache each would fail if called with the empty list change: Mustache's each fails with empty list change: can.sub should return null if value is undefined or null change: can.VERSION shows @EDGE but what about 2 years later? change: can.compute-friendly validations change: Test AMD builds change: fixture based CRUD test fails in phantomjs change: can.Model Fails Silently When Server Doesn't Return an Array for findAll 1.1.6 ( May 30 2013 ) change: Mustache doesn't read computed List.length correctly change: Removing the semi-colon splitter in EJS transform, too unreliable #242 change: EJS transforming wasn't processing semi-colons properly within parentheses #242 change: Adds support for EJS shared blocks #242 change: . in helpers change: 1.1.6pre - something going wrong with can.computes() in Mustache templates change: can.route references delegate but does not include it change: Binding to an Observe.compute value is broken change: Added validatesNumericalityOf to validations change: Include can.Object in CanJS distribution change: can.Observe makes can.Deferred into an observable change: Update sub to not break when str is undefined change: List memory leak fix change: Integrated incremental live lists change: can.view.render update is sometimes undefined change: Model.store and live bind does not handle same object initialized more times change: Prevent errors if destroy is called multiple times on a Control instance change: Outputting attribute and value containing '=' truncates the value (EJS & Mustache) change: can.sub fix remove param. Allow only to remove properties + tests change: Can.string getNext function fix change: Maximum Call Stack Exceeded When Destroying a nested model change: Add VERSION property to CanJS Object change: Better handling of null values in Mustache sections. change: model override should work for create and update not just findone and findall change: Download builder should include build version in output change: Don't treat links to "#" as "/" change: Run all tests also on pluginified files change: Observable list's length attribute does not update with live binding using dot separated accessors change: Twitter Bower component of CanJS change: ejs files loose variables after $.each loop 1.1.5 ( Mar 28 2013 ) change: Added Mustache.resolve to evaluate truthyness in a common way #333 change: Fixed incorrect passing of context stacks with partials in Mustache #288 change: Mustache {{#if}} does not correctly evaluate boolean value change: deparam: parse params with remaining ampersand change: Null objects within observes weren't working properly with Mustache sections #307 change: Mustache: Pass raw array data as the context instead of trying to resolve it #281 change: Allow to pass an array index to removeAttr in Observe and Observe.List change: fixing no arg helpers change: Mustache interpolation issues using Observes inside of an attribute tag change: isObject is undefined change: Allow dots in Observe keys change: data-view-id being rendered in tag closing change: Execute startBatch callbacks change: HTML comments with either an element callback (EJS) or a helper (Mustache) rendered incorrectly change: Prevent leak from computes that have no bindings. change: Treat "--" as delimiter of empty element change: Fixing can.ajax with mootools change: CanJS tries to parse JSON-map which contains a dot in the key change: can.compute evaluations for the default Mustache handlers change: can.Mustache: Array of objects passed as context to partials, breaks data helper and rendering. change: adding greedy space to model url splitter change: Fix for numeric inputs not living binding change: Empty strings not handled properly change: can.Control event delegation problem change: fixing computes from converting type change: can.view with Deferreds doesn't pass failures change: HTML comments trip EJS rendering change: can.Observe.prototype.each overrides {{#each}} Mustache helper. change: Any model with a "." in the key name will cause observe.js _set() to throw and error change: Item.List splice method does not convert inserted elements to Item type change: Mustache: DOM exception when applying certain block patterns change: Mustache: Interpolated values when iterating through an Observe.List fail if not surrounded by a DOM node 1.1.4 ( February 5, 2013 ) fix: Haschange binding and route ready for all libraries fix: Get converters and .attr working the right way with nested objects fix: CanJS/ejs table+tbody rendering of a list gives nested tbody items fix: Mustache: Inconsistent treatment of function attributes fix: EJS renders "@!!@" instead of Model data when a Deferred is passed into can.view that takes a long time to resolve fix: Mustache: registered helpers do not create the context stack correctly fix: Mustache: only the current context is passed to partials, instead of the full stack fix: IE8 error when setting up observe list fix: Resetting a live-bound <textarea> changes its value to __!!__ fix: hashchange binding still broken in mootools fix: can.Mustache - with context lost in nested sections fix: Enabled passing in helpers and partials to Mustache views, (1) fix: Make the resolved data available when using can.view fix: .attr method doesn't merge nested objects fix: Live binding on observe.lists nested in an observe doesn't work fix: Attributes/Converters Issue fix: Observe.List push/unshift doesn't fire when sort comparator is set fix: Observe.List sort doesn't use custom method passed fix: test&fix: null values crashing validations fix: EJS rendering null value fix: can.Observe sort plugin doesn't trigger add events fix: Observe.List sort plugin erroring on item removal fix: Live binding on observe.lists nested in an observe doesn't work fix: Observe.List sort doesn't use custom method passed add: removeAttr can.Model attribute add: Calling destroy on non persisted model add: jQuery 1.9.x support add: Mustache Helpers that accept computes and return an element should work 1.1.3 ( December 11, 2012 ) fix: Empty model displays !! as input values fix: Rendering models in tables produces different results than an equivalent observe fix: data Mustache helper doesn't parse attribute properly fix: Partial Mustache views assume the right parent tag for live-binding fix: Mustache partials don't parse properly fix: can.Control will fail to find $.event.special in a $.noConflict(true) scenario fix: Nameless view renderers should return document fragment fix: compute only updates once when a list's contents are replaced add: Updated jQuery hashchange plugin add: Generate computes from an observe property add: Add can.Observe.List.prototype.replace add: [Return resolved data models in view callback](https://github.com/bitovi/canjs/issues/1log 1.1.2 ( November 28, 2012 ) fix: Solve issue when stealing mustache templates - can/view/mustache returns can object now fix: Controls shouldn't bind to templated events that contain undefined values fix: Resetting a form changes input values to !! fix: Further AMD build improvements fix: Strange conversion of nested arrays to Observe.List 1.1.1 ( November 19, 2012 ) fix: @!!@ Appears on Page With EJS and Table in non-IE Browsers fix: can.deparam leaks to global scope fix: nested attr() call on a model with List attributes blows away existing List add: https://github.com/bitovi/canjs/issues/162 Improved AMD support, see #155 1.1.0 ( November 13, 2012 ) add: AMD module support for each dependency (#46) can.util Updated jQuery to 1.8.2 Updated Zepto to 1.0rc1 Updated YUI to 3.7.3 can.Mustache Added Mustache/Handlebars support with Live Binding can.view Changed passing jQuery a node list instead of a fragment in View Modifiers can.EJS fix: the way EJS handles multiple hookups in the same attribute fix: Nested Loops in EJS fix: can.EJS template rendering issue fix: multiline elements in EJS can.route fix: hashchange binding with mootools broken can.Control add: control does not listen to touchmove event on controller itself can.Observe add: List binding on .length of an object fix: validation error that incorrectly labels an attribute with a value of 0 as empty add: you can now pluralise event names to listen to matching events of that type (rather than firing a single event) add: compound sets now behave correctly fix: can.Observe.delegate sets wrong event.currentTarget add: ability to assign object as attribute type in can.Observe can.Model fix: can.Model with attributes that are models gets corrupted when you call attr() add: missing dependency to can/model Moved can/model/elements to can/observe/elements and renamed models to instances fix: can.Model.List doesn't fire the change event on the expando properties 1.0.7 (June 25nd 2012) can.compute Fixed a global collision with can.Control. Removed globals Thanks Daniel Franz! 1.0.6 (June 22nd 2012) can.compute Added a computed value type object that can be used to represent several observe properties or a single static value. can.ejs Fixed problem with trailing text not being added to template. 1.0.5 (June 2nd 2012) can.model Added ability to overwrite model crud operations by defining a make prefixed static function, such as makeFindAll can.EJS Fixed problem with nested block statements. can.each Added optional third argument that defines the context for the iterator function. can/util/function Added can.defer method as an alias for setTimeout(function(){}, 0). can.view Fixed toId so it will work with both older and newer steal versions. 1.0.4 (May 22nd 2012) Fixed plugin build process 1.0.2 (May 20th 2012) Fixed breaking namespace issue. 1.0.1 (May 18th 2012) can.util fix: can.each now makes sure the collection being iterated is not undefined can.control add: Redirect to another controller method using a string can.model fix: Model instances in model store will be updated when findAll or findOne retrieves updated instances fixes fix: Static methods such as findOne and findAll can now be rejected. Thanks roelmonnens! can.route add: Deliminating tokens now configurable fix: Current route wins if all else equal 1.0 (May 14st 2012) Registers itself as an AMD module if define is in the window can.fixture add: a fixture plugin can.util add: a util/function plugin can.route fix: favor current route when matching fix: uses defaults to match route better, and current route is not always selected 1.0 Beta 2 (April 21st 2012) can.util change: reverse argument order of can.each change/fix: buildFragment returns non cached frag fix: zepto's isEmptyObject was broke can.observe feature: recursive observes don't blow up change: reverse argument order of can.each fix: attr change events have old value can.model fix: findOne and findAll work with super fix: model using custom id for store fix: destroy not working with templated id can.route fix: a host of bugs in libaries other than jQuery because can.route was not properly tested in other libraries. fix: can.param fixed in dojo, 1.0 Beta 1 (April 1st 2012) Released!
1.1.8 ( Sep 24 2013 )
1.1.7 ( Jul 23 2013 )
1.1.6 ( May 30 2013 )
undefined
1.1.5 ( Mar 28 2013 )
1.1.4 ( February 5, 2013 )
<textarea>
changes its value to__!!__
1.1.3 ( December 11, 2012 )
data
Mustache helper doesn't parse attribute properly1.1.2 ( November 28, 2012 )
can/view/mustache
returnscan
object now1.1.1 ( November 19, 2012 )
1.1.0 ( November 13, 2012 )
add: AMD module support for each dependency (#46)
can.util
can.Mustache
can.view
can.EJS
can.route
can.Control
can.Observe
can.Model
models
toinstances
1.0.7 (June 25nd 2012)
can.compute
can.Control
.Removed globals
1.0.6 (June 22nd 2012)
can.compute
can.ejs
1.0.5 (June 2nd 2012)
can.model
make
prefixed static function, such asmakeFindAll
can.EJS
can.each
can/util/function
can.defer
method as an alias forsetTimeout(function(){}, 0)
.can.view
toId
so it will work with both older and newersteal
versions.1.0.4 (May 22nd 2012)
1.0.2 (May 20th 2012)
1.0.1 (May 18th 2012)
can.util
can.each
now makes sure the collection being iterated is notundefined
can.control
can.model
findAll
orfindOne
retrieves updated instances fixesfindOne
andfindAll
can now be rejected. Thanks roelmonnens!can.route
1.0 (May 14st 2012)
Registers itself as an AMD module if
define
is in thewindow
can.fixture
can.util
can.route
1.0 Beta 2 (April 21st 2012)
can.util
can.observe
can.model
can.route
1.0 Beta 1 (April 1st 2012)
Released!