Releases: canjs/can-list
QUNIT2 upgrade
This updates the tests to use [email protected].
Dispatch patches when a can-list changes
With this release, changes to a can-list can be properly listened to with canReflect.onPatches().
The patches event is used in CanJS 4.x and later to communicate changes to an object's properties to a listener. This is also how list-like observables communicate push/pop/shift/unshift/splice updates. However, up until this release, patches were not being dispatched by can-list. This prevented live updates to never occur when a stache was reading specific indexes from a can-list. I.e. a stache tag like {{list[0]}}
for some can-list would not change with the list.
4.2.0
Restore sort
method to can-list:
var myList = new List([
"Marshall",
"Austin",
"Hyrum"
]);
myList.sort();
// => ["Austin", "Hyrum", "Marshall"]
v4.1.0
supports correct patch events
v4.0.2 4.0.2
Updated docs and added cycle detection
Remove pre-release package references
The post-can-reflect releases from CanJS 3.9 are all stable, so packages shouldn't be depending on pre-releases now.
Complete set of can-symbol registered symbols
With this release, can-list implements the symbols:
@@can.splice
: pointing to the.splice()
function@@can.updateDeep
and@@can.assignDeep
: callscan-reflect.updateDeepList()
@@can.getOwnEnumerableKeys
: returns all integer indexes and all keys pointing to data elements@@can.unwrap
: equivalent to calling.attr()
with no arguments@@can.serialize
equivalent to.serialize()
@@can.onKeysAdded
and@@can.onKeysRemoved
: triggers the callback when new keys or indexes are added or removed, respectively.
can-reflect
v3.1.0 3.1.0