|
525
|
1 |
YUI Core Change History |
|
|
2 |
======================= |
|
|
3 |
|
|
|
4 |
3.10.3 |
|
|
5 |
------ |
|
|
6 |
|
|
|
7 |
* No changes. |
|
|
8 |
|
|
|
9 |
3.10.2 |
|
|
10 |
------ |
|
|
11 |
|
|
|
12 |
* No changes. |
|
|
13 |
|
|
|
14 |
3.10.1 |
|
|
15 |
------ |
|
|
16 |
|
|
|
17 |
* No changes. |
|
|
18 |
|
|
|
19 |
3.10.0 |
|
|
20 |
------ |
|
|
21 |
|
|
|
22 |
* Add ability to filter log messages by threshold [andrewnicols] |
|
|
23 |
|
|
|
24 |
3.9.1 |
|
|
25 |
----- |
|
|
26 |
|
|
|
27 |
* No changes. |
|
|
28 |
|
|
|
29 |
3.9.0 |
|
|
30 |
----- |
|
|
31 |
|
|
|
32 |
* Setup YUI.setLoadHook and its docs (used for Node.js injection) |
|
|
33 |
|
|
|
34 |
3.8.1 |
|
|
35 |
----- |
|
|
36 |
|
|
|
37 |
* Fixed issue with cssstamp element not being assigned if YUI is loaded twice on the page. |
|
|
38 |
|
|
|
39 |
3.8.0 |
|
|
40 |
----- |
|
|
41 |
|
|
|
42 |
* Added `Y.config.global` as an alias to the global scope |
|
|
43 |
|
|
|
44 |
3.7.3 |
|
|
45 |
----- |
|
|
46 |
|
|
|
47 |
* Adding Y.UA.touchEnabled boolean to use in conditional modules |
|
|
48 |
* 2532797 - Added IE10 ua fixing for Windows8 WinJS |
|
|
49 |
* 2532675 - Remove the second air property |
|
|
50 |
|
|
|
51 |
3.7.2 |
|
|
52 |
----- |
|
|
53 |
|
|
|
54 |
* No changes. |
|
|
55 |
|
|
|
56 |
3.7.1 |
|
|
57 |
----- |
|
|
58 |
|
|
|
59 |
* No changes. |
|
|
60 |
|
|
|
61 |
3.7.0 |
|
|
62 |
----- |
|
|
63 |
|
|
|
64 |
* Improved the performance of `Y.merge()` by 10 to 40% (depending on the |
|
|
65 |
browser). [Ryan Grove] |
|
|
66 |
|
|
|
67 |
|
|
|
68 |
3.6.0 |
|
|
69 |
----- |
|
|
70 |
|
|
|
71 |
* Changed the default `throwFail` behavior to act like it sounds, see ticket #2531679 |
|
|
72 |
If `throwFail` is `true` (default) we will not wrap modules or the use callback in |
|
|
73 |
a try catch. If it's `false`, they will be wrapped (the old behavior). |
|
|
74 |
|
|
|
75 |
* 2528334 YUI configuration to delay use() callback until domready or window load |
|
|
76 |
* 2529742 Y[UI()].use() callback's 2nd parameter: 2 issues |
|
|
77 |
* 2531647 div is appended precedent to <head> node |
|
|
78 |
* 2531679 Module/use callback load errors do not provide useful stacktrace |
|
|
79 |
* 2532215 Y.Parallel should push arguments if fn is not specified |
|
|
80 |
* 2532344 Missing requirements sometimes return in wrong order |
|
|
81 |
* 2532397 Automate Testing for OOP examples |
|
|
82 |
|
|
|
83 |
|
|
|
84 |
|
|
|
85 |
3.5.1 |
|
|
86 |
----- |
|
|
87 |
|
|
|
88 |
* Added a `Y.UA.compareVersions()` function for performing simple version number |
|
|
89 |
comparisons using version-safe logic rather than numerical logic. |
|
|
90 |
|
|
|
91 |
|
|
|
92 |
3.5.0 |
|
|
93 |
----- |
|
|
94 |
|
|
|
95 |
* YUI now runs natively on Node.js without a shim. See README.nodejs.md for |
|
|
96 |
details. |
|
|
97 |
|
|
|
98 |
* YUI now detects non-native ES5 shims added to native objects by other |
|
|
99 |
libraries and falls back to its own internal shims rather than relying on the |
|
|
100 |
potentially broken code from the other library. |
|
|
101 |
|
|
|
102 |
* Added static YUI.applyConfig to apply config settings to YUI.GlobalConfig in |
|
|
103 |
parts instead of in whole. [Ticket #2530970] |
|
|
104 |
|
|
|
105 |
* Added `Y.getLocation()` which returns the `location` object from the |
|
|
106 |
window/frame in which a YUI instance operates. [Ticket #2531608] |
|
|
107 |
|
|
|
108 |
* Added a `useNativeES5` YUI config option, which is `true` by default. If |
|
|
109 |
`false`, certain YUI features that check for native ES5 functionality will |
|
|
110 |
always fall back to non-native implementations even in ES5 browsers (useful |
|
|
111 |
for testing). |
|
|
112 |
|
|
|
113 |
* `Y.Array.indexOf()` now supports a `fromIndex` argument for full ES5 |
|
|
114 |
compatibility. [Based on a patch from Ryuichi Okumura] |
|
|
115 |
|
|
|
116 |
* `Y.Object.isEmpty()` now casts the given value to an object if it isn't one |
|
|
117 |
already, which prevents exceptions when it's given a non-object. |
|
|
118 |
|
|
|
119 |
* Fixed issue #2531247: Namespace function behaves wrong with multiple |
|
|
120 |
arguments. |
|
|
121 |
|
|
|
122 |
* Fixed issue #2531512: 'debug' parameter missing from the YUI Config object |
|
|
123 |
documentation. |
|
|
124 |
|
|
|
125 |
* 2530970 Should we provide a YUI.applyConfig(), to avoid clobbering of YUI_config in 'mashup' use cases |
|
|
126 |
* 2531164 Natively use YUI Gallery Modules form does not submit on [enter] |
|
|
127 |
* 2531247 namespace function behaves wrong with multiple arguments |
|
|
128 |
* 2531512 'debug' parameter missing from the YUI Config object documentation; the Config object documentation ... |
|
|
129 |
* 2531550 Prepare npm package for 3.5.0 |
|
|
130 |
* 2531551 Add support for Silk in Y.UA |
|
|
131 |
* 2531612 Wrong module name in YUI Global Object documentation |
|
|
132 |
|
|
|
133 |
|
|
|
134 |
3.4.1 |
|
|
135 |
----- |
|
|
136 |
|
|
|
137 |
* Sparse arrays are now handled correctly in the non-native fallback |
|
|
138 |
implementation of `Y.Array.indexOf()`. [Ticket #2530966] |
|
|
139 |
|
|
|
140 |
* `Y.mix()` will no longer shadow prototype properties on the receiver unless |
|
|
141 |
the `overwrite` parameter is true. This was the pre-3.4.0 behavior, but was |
|
|
142 |
changed in 3.4.0. We're changing it back to preserve backwards compatibility. |
|
|
143 |
[Ticket #2530501] |
|
|
144 |
|
|
|
145 |
* The non-native fallback implementation of `Y.Object.keys()` now contains a |
|
|
146 |
workaround for buggy browsers that treat function `prototype` properties as |
|
|
147 |
enumerable in violation of the ES5 spec. |
|
|
148 |
|
|
|
149 |
* `Y.Object.size()` now returns `0` for non-objects. This was the pre-3.4.0 |
|
|
150 |
behavior, but regressed in 3.4.0. [Ticket #2531069] |
|
|
151 |
|
|
|
152 |
|
|
|
153 |
3.4.0 |
|
|
154 |
----- |
|
|
155 |
|
|
|
156 |
* Added `Y.Array.dedupe()`, which provides an optimized solution for deduping |
|
|
157 |
arrays of strings. When you know an array contains only strings, use `dedupe`, |
|
|
158 |
since it's faster than `unique`. |
|
|
159 |
|
|
|
160 |
* `Y.Lang.isArray()` now uses the native ES5 `Array.isArray()` method when |
|
|
161 |
possible. |
|
|
162 |
|
|
|
163 |
* `Y.Object()` now uses the native ES5 `Object.create()` method when possible. |
|
|
164 |
|
|
|
165 |
* `Y.Object.keys()` now uses the native ES5 `Object.keys()` method when |
|
|
166 |
possible. |
|
|
167 |
|
|
|
168 |
* Sparse arrays are now handled correctly in the non-native fallback |
|
|
169 |
implementations of `Y.Array.each`, `Y.Array.hash`, and `Y.Array.some`. |
|
|
170 |
[Ticket #2530376] |
|
|
171 |
|
|
|
172 |
|
|
|
173 |
3.3.0 |
|
|
174 |
----- |
|
|
175 |
|
|
|
176 |
* Added fast path for repeat calls to `use()` with the same arguments. |
|
|
177 |
|
|
|
178 |
* Added a `Y.destroy()` method, which destroys the YUI instance. |
|
|
179 |
|
|
|
180 |
* Added `Y.Lang.now()`, which returns the current time in milliseconds. |
|
|
181 |
|
|
|
182 |
* Added `YUI.GlobalConfig` to allow three stages of configuration |
|
|
183 |
(`YUI.GlobalConfig` --> `YUI_Config` --> instance configs). This is helpful in |
|
|
184 |
non-browser environments for supplying a global config for the YUI container. |
|
|
185 |
|
|
|
186 |
|
|
|
187 |
3.2.0 |
|
|
188 |
----- |
|
|
189 |
|
|
|
190 |
* Added `Y.Lang.sub()`, which is a very lightweight version of `Y.substitute()`. |
|
|
191 |
|
|
|
192 |
* `Y.Array.hash()` no longer skips falsy values. |
|
|
193 |
|
|
|
194 |
* Script errors in module and `use()` callback functions are caught and routed |
|
|
195 |
through `Y.error`. |
|
|
196 |
|
|
|
197 |
* `Y.error` invokations can be monitored with the `errorFn` configuration. |
|
|
198 |
|
|
|
199 |
* Returning `true` from the `errorFn` will prevent the script error from halting |
|
|
200 |
further script execution. |
|
|
201 |
|
|
|
202 |
* Added UA properties for mobile devices and ensured that UA is only evaluated |
|
|
203 |
once. |
|
|
204 |
|
|
|
205 |
* The YUI global will overwrite itself when included again, while attempting to |
|
|
206 |
preserve the global environment of previous instances. |
|
|
207 |
|
|
|
208 |
* Added a remote loader service submodule. |
|
|
209 |
|
|
|
210 |
* Added a features submodule. This is used by the capability-based loader |
|
|
211 |
when dispatching to a remote loader service. |
|
|
212 |
|
|
|
213 |
|
|
|
214 |
3.1.1 |
|
|
215 |
----- |
|
|
216 |
|
|
|
217 |
* Removed the limit on the number of config objects you can supply to the |
|
|
218 |
`YUI` constructor. |
|
|
219 |
|
|
|
220 |
|
|
|
221 |
3.1.0 |
|
|
222 |
----- |
|
|
223 |
|
|
|
224 |
* YUI will attempt to fetch newly discovered dependencies after a module is |
|
|
225 |
dynamically loaded. |
|
|
226 |
|
|
|
227 |
* The `documentElement` (`<html>`) is now stamped with a `yui3-js-enabled` |
|
|
228 |
classname to indicate that JS is enabled. This allows for the creation of |
|
|
229 |
JS-aware CSS style rules that progressively enhance the page. |
|
|
230 |
|
|
|
231 |
* Added the ability to define a global configuration object (`YUI_config`). |
|
|
232 |
|
|
|
233 |
* Added `Y.Object.some()` and `Y.some()`, which are analogous to |
|
|
234 |
`Y.Array.some()`. |
|
|
235 |
|
|
|
236 |
* UA refinements for Chrome, Android and other browsers/platforms. |
|
|
237 |
|
|
|
238 |
* Added `last()` to `Queue` for LIFO support. |
|
|
239 |
|
|
|
240 |
* Added throttle utility to buffer expensive functions that are called |
|
|
241 |
frequently. |
|
|
242 |
|
|
|
243 |
* The `YUI.add()` callback now gets the module name as the second parameter for |
|
|
244 |
generic processing of similar modules. |
|
|
245 |
|
|
|
246 |
* Added `intl-base` submodule to process the decision tree for selecting |
|
|
247 |
language packs when dynamically loading internationalized modules. |
|
|
248 |
|
|
|
249 |
* `Y.guid()` generates identifiers that are safe to use as HTML attributes. |
|
|
250 |
|
|
|
251 |
* Improved persistent messaging for missing modules/functionality. |
|
|
252 |
|
|
|
253 |
* Bootstrapping improved to prevent simultaneous loading of resources when |
|
|
254 |
multiple instances are launched at the same moment. |
|
|
255 |
|
|
|
256 |
* The YUI script source URL is read in order to try to dynamically determine the |
|
|
257 |
base path for loading resources on demand. |
|
|
258 |
|
|
|
259 |
* The core loads without errors in non-browser environments. |
|
|
260 |
|
|
|
261 |
|
|
|
262 |
3.0.0 |
|
|
263 |
----- |
|
|
264 |
|
|
|
265 |
* Extracted the loader from the seed file. If loader is not available, but `get` |
|
|
266 |
is and dependencies are missing, the loader will be fetched before continuing. |
|
|
267 |
|
|
|
268 |
* User agent detection is more granular. For example, Firefox 3.5 reports Gecko |
|
|
269 |
1.91 rather than 1.9. |
|
|
270 |
|
|
|
271 |
* Fixed `Y.UA.os`. |
|
|
272 |
|
|
|
273 |
* Added additional mobile device detection. |
|
|
274 |
|
|
|
275 |
* Get utility cleans up attribues before purging nodes. |
|
|
276 |
|
|
|
277 |
* `Y.cached` accepts a parameter to refresh a cached value. |
|
|
278 |
|
|
|
279 |
* `yui-log` and `yui-later` are now optional modules that are included with |
|
|
280 |
`yui.js`. |
|
|
281 |
|
|
|
282 |
* `queue-base` is no longer a submodule of `queue` -- it's now part of |
|
|
283 |
`yui-base`. |
|
|
284 |
|
|
|
285 |
* All YUI submodules end up in the `yui` build directory. |
|
|
286 |
|
|
|
287 |
* Dynamic loading can be disabled by setting the `bootstrap` config to `false`. |
|
|
288 |
|
|
|
289 |
|
|
|
290 |
3.0.0 beta 1 |
|
|
291 |
----- |
|
|
292 |
|
|
|
293 |
### Core |
|
|
294 |
|
|
|
295 |
* `Y.fail` has been renamed to `Y.error` so that `Y.fail` can be used for the |
|
|
296 |
assertion engine. |
|
|
297 |
|
|
|
298 |
* `Y.stamp` now accepts a `readOnly` parameter to be used when you are only |
|
|
299 |
interested in reading an existing guid rather than creating a new one. |
|
|
300 |
|
|
|
301 |
* `Y.stamp` defends against stamping items that can't be stamped. |
|
|
302 |
|
|
|
303 |
* Added to `Y.Object`: `values()`, `hasKey()`, `hasValue()`, `size()`, |
|
|
304 |
`getValue()`, `setValue()` (the latter two are for manipulating nested |
|
|
305 |
values). |
|
|
306 |
|
|
|
307 |
* `Y.use` calls are queued during dynamic loading. |
|
|
308 |
|
|
|
309 |
* Added `Y.cached` for function memoizing |
|
|
310 |
|
|
|
311 |
* Added `numericSort` to `Y.Array`. |
|
|
312 |
|
|
|
313 |
* The `yui:log` event broadcasts globally. |
|
|
314 |
|
|
|
315 |
### Lang |
|
|
316 |
|
|
|
317 |
* Added `Y.Lang.type` (`typeof` abstraction) and refactored some 'is' methods to |
|
|
318 |
use it. |
|
|
319 |
|
|
|
320 |
### Get |
|
|
321 |
|
|
|
322 |
* Accepts an attribute collection config to apply to inserted nodes. |
|
|
323 |
|
|
|
324 |
* `id` attributes are globally unique |
|
|
325 |
|
|
|
326 |
* Now accepts `purgethreshold` as a config option. This will set the number of |
|
|
327 |
transactions required before auto removing nodes from previous transactions |
|
|
328 |
(default is 20). |
|
|
329 |
|
|
|
330 |
### Loader |
|
|
331 |
|
|
|
332 |
* `yuitest` renamed to `test`, now requires `collection`. |
|
|
333 |
|
|
|
334 |
* Lots of new module metadata. |
|
|
335 |
|
|
|
336 |
* Added `onCSS`. |
|
|
337 |
|
|
|
338 |
* Loader requests are queued globally. |
|
|
339 |
|
|
|
340 |
* Accepts `jsAttributes` and `cssAttributes` configs for adding attributes to |
|
|
341 |
inserted nodes |
|
|
342 |
|
|
|
343 |
* Added `force` config. |
|
|
344 |
|
|
|
345 |
### UA |
|
|
346 |
|
|
|
347 |
* Added `secure` property for SSL detection. |
|
|
348 |
|
|
|
349 |
* Added `os` property for OS detection. |
|
|
350 |
|
|
|
351 |
* Added Adobe Air and Google Caja detection. |
|
|
352 |
|
|
|
353 |
|
|
|
354 |
3.0.0pr2 |
|
|
355 |
-------- |
|
|
356 |
|
|
|
357 |
### Core |
|
|
358 |
|
|
|
359 |
* The initial dependency calculation should not allow automatic rollup. |
|
|
360 |
|
|
|
361 |
* `Y.fail` will throw/rethrow errors by default (`throwFail` is now `true`). |
|
|
362 |
|
|
|
363 |
* `Y.namespace` reverted to scrub `YAHOO` out if included as the first level of |
|
|
364 |
the namespace. |
|
|
365 |
|
|
|
366 |
* `useConsole` config changed to `useBrowserConsole`. |
|
|
367 |
|
|
|
368 |
|
|
|
369 |
### Array |
|
|
370 |
|
|
|
371 |
* Added `Y.Array.some()`. |
|
|
372 |
|
|
|
373 |
|
|
|
374 |
### Get |
|
|
375 |
|
|
|
376 |
* Protects against trailing commas in the array of files to load. |
|
|
377 |
|
|
|
378 |
|
|
|
379 |
### Loader |
|
|
380 |
|
|
|
381 |
* `get` requires `yui-base`. |
|
|
382 |
|
|
|
383 |
* `loader` requires `get`. |
|
|
384 |
|
|
|
385 |
* Combo URL build process defends against undefined modules. |
|
|
386 |
|
|
|
387 |
* Added combo handler support for CSS. |
|
|
388 |
|
|
|
389 |
* Filters are correctly applied to combo and fullpath URLs. |
|
|
390 |
|
|
|
391 |
* Added `compat`, `profiler`, `yuitest`, `widget`, `stylesheet`, |
|
|
392 |
`classnamemanager`, `overlay`, `plugin`, `slider`, and `console` modules. |
|
|
393 |
|
|
|
394 |
* Added `io` submodules. |
|
|
395 |
|
|
|
396 |
* `queue` requires `event`. |
|
|
397 |
|
|
|
398 |
* Added submodule metadata logic. |
|
|
399 |
|
|
|
400 |
* Added plugin metadata logic. |
|
|
401 |
|
|
|
402 |
* Added skin metadata logic. |
|
|
403 |
|
|
|
404 |
|
|
|
405 |
3.0.0pr1 |
|
|
406 |
-------- |
|
|
407 |
|
|
|
408 |
* Initial release. |