src/cm/media/js/lib/yui/yui3.0.0/releasenotes/README.attribute
changeset 0 40c8f766c9b8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui3.0.0/releasenotes/README.attribute	Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,108 @@
+3.0.0
+
+* set/get can now be called for ad-hoc attributes (attributes which 
+  have not been added/configured).
+
+* Fixed issue where custom getters were being called with undefined values,
+  for the initial set.
+
+* Limited the case for which an attribute will not notify after listeners, 
+  if the value is unchanged after a set, to primitive values (values for 
+  which Lang.isObject(newVal) returns false).
+
+  This allows after listeners to be invoked, when resetting the value to 
+  the same object reference, which has properties updated, or arrays with
+  elements modified. 
+
+* Attribute broken up into attribute-base and attribute-complex submodules.
+
+  attribute-complex adds support for complex attributes ({x.y.z : 5}) to
+  addAttrs. 
+
+3.0.0 beta 1
+
+* Removed Attribute.CLONE support in the interests of simplicity.
+  Was not being used. Can re-evaluate support if real world demand 
+  for it exists. 
+
+* Changed "set" and "get" configuration properties for setter and 
+  getter methods to "setter" and "getter" respectively.
+
+* Added support for setter to return Attribute.INVALID_VALUE
+  to prevent attribute state from being changed. 
+
+  This allows developers to combine setter and validator 
+  functionality into one method if performance optimization 
+  is required.
+
+* "validator" is now invoked before "setter".
+
+* Renamed xxxAtt and xxxAtts methods to xxxAttr, xxxAttrs for
+  consistency.
+
+* "after" listeners are only notified if attribute value really
+  changes (preVal !== newVal).
+
+* Extending classes can now overwrite ATTRS configuration properties 
+  from super classes, including writeOnce and readOnly attributes.
+
+  The ATTRS configurations are merged across the class hierarchy,
+  before they are used to initialize the attributes.
+
+* addAttr now prevents re-adding attributes which are already 
+  configured in order to maintain consistent state.
+
+* Event prefix wrapper functions (on, after etc.) removed - 
+  Event.Target now accepts an event prefix configuration value
+  
+* Added additional log messages to assist with debugging.
+
+* Attribute change events are no longer fired for initial set.
+
+* Split up State add/get/remove into add/addAll, get/getAll, 
+  remove/removeAll to avoid having to create object literals for 
+  critical path [ add/get single key values ].
+
+* Attribute getter, setter, validator now also receive attribute name 
+  as the 2nd arg (val, name).
+
+* If Attributes initialized through addAttrs have a user provided value 
+  which is not valid, the initial attribute value will revert to the 
+  default value in the attribute configuration, if it exists.
+
+* reset() no longer resets readOnly or writeOnce attributes. Only 
+  publically settable values are reset.
+
+* Added modifyAttr method, to allow component developer to modify 
+  configuration of an attribute which has already been added. The set of 
+  attribute configuration properties which can be modified after it 
+  has been added are limited to getter, readOnly, writeOnce and broadcast.
+
+* Added support for lazy attribute configuration. Base uses this feature 
+  to lazily intialize all Attributes on the first call to get/set, for 
+  performance optimization. 
+
+  lazyAdd:true/false can be used to over-ride this behavior for a 
+  particular attribute. 
+
+3.0.0PR2
+
+* Added valueFn support, to allowing static 
+  attribute values configuration to set instance
+  based values.
+  
+* Added reset method.
+
+* Added private setter for use by class implementation
+  code to set readOnly, writeOnce values.
+
+3.0.0PR1 - Initial release
+
+Module Name: "attribute"
+Documentation: http://developer.yahoo.com/yui/3/attribute
+
+The Attribute utility allows you to add attributes to any class 
+through an augmentable Attribute interface. The interface adds 
+get and set methods to your class for attribute access, in 
+addition to supporting change events allowing you to listen 
+for changes in attribute values.