README revision 7229821d1486a441146a512ad07fb1c0d4ae49d0
The YUI Global
Provides core YUI functionality, including module registration and consumption utils,
language/array/object utilities, browser detection, a setTimout/setInterval wrapper,
and dynamic loading of script and css files.
The yui module is a rollup yui-base (the core module registration/sandbox system and utilities),
and the following optional submodules:
get (for dynamic script loading)
yui-log (out of the box console log support)
yui-later (timer abstraction)
throttle (performance utilitity)
intl-base (for dynamically loading language packs)
yui-base contains
Module registration system
Lang
Object
Array
Core
3.3.0
* Added fast path for repeat calls to use() with the same arguments.
* ES5 methods such as Object.create will be used instead of the corresponding YUI implementation when appropriate.
* Added a destroy method
* Added YUI.GlobalConfig -- three stage configuration (YUI.GlobalConfig --> YUI_Config --> instance configs)
is helpful in non-browser environments for supplying an overarching config for the YUI container.
3.2.0
* script errors in module and use callback functions are caught and routed through Y.error
* Y.error invokations can be monitored with the errorFn configuration
* Returning true from the errorFn will prevent the script error from halting further script execution.
* Added UA properties for mobile. UA is only evaluated once.
* The YUI global will overwrite itself when included again, attempting to preserve
global the global environment of previous instances.
* Added a remote loader service submodule.
* Added a features submodule. This is used by the capabilities-based loader
when dispatching to a remote loader service.
* Added Y.Lang.sub(), which is a very lightweight version of Y.substitute()
* Y.Array.hash() doesn't skip falsy values.
3.1.1
* Removed limit on the number of config objects you can supply to the constructor
3.1.0
* YUI will attempt to fetch newly discovered dependencies after a module is dynamically loaded.
* The document element (HTML) is now stamped with a class name (yui-js-enabled) indicating that JS is enabled allowing for the creation of JS-aware CSS style rules for Progressive Enhancement.
* Added the ability to define a global configuration object (YUI_config).
* Added Object.some()/Y.some()
* UA refinements for Chrome, Android and other browsers/platforms
* Inserted script nodes get charset="utf-8" by default.
* Added last() to Queue for LIFO support.
* Added throttle utility to buffer expensive functions that are called frequently.
* The callback to YUI.add gets the module name as the second parameter for
generic processing of similar modules.
* Added intl-base submodule to process the decision tree for selecting language
packs when dynamically loading internationalized modules.
* Y.guid generates identifiers that are safe to use as html attributes.
* Improved persistent messaging for missing modules/functionality.
* Bootstrapping improved to prevent simultaneous loading of resources when multiple instances are launched at the same moment.
* The YUI script source URL is read in order to try to dynamically determine the base path for loading resources on demand.
* The path to the loader and the version of the file to bootstrap is determined by the YUI script source.
* The core loads without errors in non-browser environments.
3.0.0
* Extracted the loader from the seed file. Instead, if loader not included, 'get' is included,
and dependencies are missing, the loader will be fetched before continuing.
* User agent detection is more granular. e.g., FireFox 3.5 reports gecko 1.91 rather than 1.9.
* Fixed UA.os.
* Added additional mobile device detection.
* Get utility attribute cleanup before purging nodes.
* cached accepts a parameter to refresh a cached value.
* yui-log and yui-later are now optional modules that are included with yui.js.
* queue-base is no longer a submodule of queue -- it is part of yui-base.
* All YUI submodules end up in the yui build directory.
* Dynamic loading can be disabled by setting the 'bootstrap' config to false.
3.0.0 beta 1
Core:
engine.
- Y.stamp now accepts a readOnly parameter to be used when you are only interested
in reading an existing guid rather than creating a new one.
- Y.stamp defends against stamping items that can't be stamped.
- Added to Object: values(), hasKey(), hasValue(), size(), getValue, setValue
(the latter are for manipulating nested values)
- Y.use calls are queued during dynamic loading.
- Added Y.cached for function memoizing
- added numericSort to Array
- The yui:log event broadcasts globally.
Lang:
- Added Lang.type (typeof abstraction), and refactored some 'is' methods to use it.
Get:
- Accepts an attribute collection config to apply to inserted nodes.
- id attributes are globally unique
- Now accepts purgethreshold as a config option. This will set the number of transactions
required before auto removing nodes from previous transactions (default is 20)
Loader:
- yuitest renamed to test, now requires collection
- lots of new module metadata
- added onCSS
- Loader requests are queued globally
- Accepts jsAttributes and cssAttributes configs for adding attributes to inserted nodes
- The force config
UA:
- Added 'secure' property for SSL detection
- Added 'os' property for windows vs mac detection
- Added Adobe Air and Google Caja detection
3.0.0pr2
Core:
- The initial dependency calculation should not allow automatic rollup.
- Y.fail with throw/rethrow errors by default (throwFail is now true).
- Y.namespace reverted to scrub YAHOO out if included as the first
level of the namespace.
- 'useConsole' config changed to useBrowserConsole
Array:
- Added Array.some
Get:
- Protects against trailing commas in array of files to load.
Loader:
- get requires yui-base
- loader requires get
- combo url build process defends against undefined modules
- Added combo handler support for CSS
- Filters are correctly applied to combo and fullpath urls
- Added compat, profiler, yuitest, widget, stylesheet, classnamemanager,
overlay, plugin, slider, console
- Added io submodules
- queue requires event
- Added submodule metadata logic
- Added plugin metadata logic
- Added skin metadata logic
3.0.0pr1
Initial release