-
Notifications
You must be signed in to change notification settings - Fork 1.3k
YUI 3.10.0 Change History Rollup
- Fixed: The
options
object passed to Model'ssetAttrs()
method was being modified. Now a shallow copy of this object is now created so that the_transaction
property is added to the copy and not the passed-in object. [#598]
-
Significant performance improvements in common Attribute operations.
For example, on Chrome:
`get()` is 4 times faster `set()` is 3 times faster
Major performance related changes are listed below.
Commit messages have detailed descriptions of incremental changes, and the benefits introduced.
-
We retrieve and pass the internally stored attribute configuration in State by reference in a lot more places, across methods, results in less function hops, and removing the need for each method to go and ask for the configuration.
-
Avoid the delete operator for transient configuration properties, and just set to null or other falsey values as appropriate.
-
Store final attribute config in State by reference, as opposed to merging since it's isolated already higher up in the call stack.
- (Add italian language files to the components. [albertosantini])
-
Significant performance improvements in common Base/BaseCore operations.
For example, on Chrome:
new BaseCore()
is 3 times fasterBaseCore set()
is 3 times fasterBaseCore get()
is 5 times fasterIn addition to the above basic
BaseCore
numbers, improvements in CustomEvent performance, result in the following improvements forBase
new Base()
is 4 times fasterBase set()
is 4 times fasterBase get()
is 5 times fasterMajor performance related changes are listed in the list of updates below.
Commit messages have detailed descriptions of incremental changes, and the benefits introduced.
-
[!] The result of static
ATTRS
aggregation is now cached during the creation of the first instance of a given "class", and the cached results are reused for subsequent instances.This provides significant performance benefits, but has the potential to introduce a backwards compatibility issue in the hopefully rare circumstance that you're modifying the static ATTRS collection directly, after the first instance is created.
[!] If you are modifying static
ATTRS
collection directly after an instance is created (e.g. if an optional module comes in and updates the collection dynamically), you will need to change the implementation to use the staticY.Base.modifyAttrs()
orY.BaseCore.modifyAttrs()
method, so we can mark the cached aggregation dirty, and recompute it.`Y.Base.modifyAttrs(MyClass, {..changes to merge..})`
Base.create
andBase.mix
will take care of this internally, so you only need to use the above methods if your own code is touching the ATTRS object on a class. Additionaly,Base.create
andBase.mix
will add themodifyAttrs
to your created class, so you can also call it directly on the class. e.g.`MyCreatedClass.modifyAttrs({..changes to merge..})`
- (Allow upper and lowercase to values for convert(). Also return original value if an invalid to value is provided. Fixes #583)
- (remove previous text and images, use lorem ipsum and placeholder text instead.)
- Fix node.all() to return an empty NodeList if the node was destroyed - Fixes #580 (hat tip Dallas Wheeler)
- (Add ability to filter log messages by threshold [andrewnicols])
2