Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

root/spinoffs/prototype/branches/1-5-1/CHANGELOG

Revision 8714, 26.9 kB (checked in by tobie, 8 months ago)

Make Ajax.Request#isSameOrigin JavaScript Lint compliant. Backport fix to 1.5.1.2.

Line 
1 *1.5.1.2* (January 24, 2008)
2
3 * Make Ajax.Request#isSameOrigin JavaScript Lint compliant. [Andrew Dupont]
4
5 * Prevent a potential security issue for cross-site ajax requests. [Alexey Feldgendler, sam, Tobie Langel]
6
7 *1.5.1.1* (June 19, 2007)
8
9 * Prevent document.getElementsByClassName from extending the whole DOM tree in IE. Closes #8401. [Thomas Fuchs, Mislav Marohnić, Tobie Langel]
10
11 * Prevent a crash in Safari when calling String#evalJSON(true) on very large strings. Add String#isJSON. Closes #7834. [Tobie Langel]
12
13 *1.5.1.1_pre0* (June 14, 2007)
14
15 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
16
17 * Allows JSON data to contain line breaks. Closes #8271. [pijyster, Tobie Langel]
18
19 *1.5.1* (May 1, 2007)
20
21 * Don't duplicate the event argument in Function#bindAsEventListener.  Closes #6497.  [wiktor]
22
23 * Fix Selector :not-clause chaining.  [Andrew Dupont]
24
25 *1.5.1_rc4* (April 27, 2007)
26
27 * Fix $F breakage from [6598].  [sam]
28
29 * Set window.$continue to an Error with a helpful message for anyone who may still be using "throw $continue".  [sam]
30
31 * Fix jstest.rb IE support so you don't have to close the IE window after each test (yay!).  Closes #8207.  [Ryan Schuft]
32
33 * Fix jstest.rb Konqueror support.  Closes #7140.  [Christophe Porteneuve]
34
35 * Fix regression in which no-argument calls to Element.addMethods() would not add the methods defined in Form.Methods and Form.Element.Methods.  Closes #8206.  [Tobie Langel, fwittekind]
36
37 * Fix Element#readAttribute to work with the 'type' attribute in IE.  Closes #8160.  [Tobie Langel, Wiktor Ihárosi]
38
39 *1.5.1_rc3* (April 24, 2007)
40
41 * Add Element#childElements as an alias for Element#immediateDescendants.  [Tobie Langel]
42
43 * Optimize DOM navigation methods (Element#up, Element#down, Element#previous, Element#next) for no-argument calls.  Closes #7848.  [haraldmartin, sam]
44
45 * Add Element#firstDescendant to retrieve the first non-text child node of an element.  [sam]
46
47 * Element.addMethods should add methods to Element as well as Element.Methods.  Closes #7888.  [Andrew Dupont]
48
49 * Add support for per-request onCreate callbacks to Ajax.Request.  Closes #8011.  [Andrew Dupont]
50
51 * Don't call evalResponse() when an Ajax response has no Content-type header.  Closes #7827.  [Tobie Langel]
52
53 * Automatically strip security delimiter comments from JSON strings before evaling them.  The default delimiter is '/*-secure- ... */' or you can specify your own with the Prototype.JSONFilter regular expression.  If you wrap your JSON response bodies in this delimiter on the server side, rogue external sites can't hijack potentially sensitive data via <script> tags.  Closes #7910.  [Tobie Langel]
54   For more details on potential security problems, see: http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf
55
56 * Add extra spacing so Array#toJSON and Hash#toJSON generate YAML-loadable JSON.  Closes #7883.  [Andrew Dupont]
57
58 * Fix Form.request for forms containing an input element with name="action".  Closes #8063.  [Thomas Fuchs, Mislav Marohnić]
59
60 * Make Event.element extend the returned element.  Closes #7870.  [Thomas Fuchs]
61
62 * Prevent a crash on Safari on String.prototype.stripScripts and extractScripts with large <script> tags.  [Thomas Fuchs]
63
64 * Prevent linefeed normalisation in String.prototype.escapeHTML and unescapeHTML on IE for consistency with other browsers. Speed optimizations for Safari and IE.  [Thomas Fuchs]
65
66 * Make Hash.toQueryString serialize undefined values. Ensure consistency with String.prototype.toQueryParams.  Closes #7806.  [Mislav Marohnić]
67   Examples:
68     $H({a:'b',c:undefined}).toQueryString()      -> 'a=b&c'
69     $H({a:'b',c:null}).toQueryString()           -> 'a=b&c='
70     $H('a=b&c'.toQueryParams()).toQueryString()  -> 'a=b&c'
71     $H('a=b&c='.toQueryParams()).toQueryString() -> 'a=b&c='
72    
73 * Fix issues with Selector an+b logic, :not support, attribute selector double quotes, plus performance improvements.  Closes #7873, #7901.  [Andrew Dupont]
74
75 * Fix Form.disable to work again on non-form elements.  Closes #6887.  [Mislav Marohnić]
76
77 * Fix an issue with String.prototype.endsWith.  Closes #7822.  [altblue]
78
79 *1.5.1_rc2* (March 12, 2007)
80
81 * Add a tab character via innerHTML to the selector whitespace test.  [Christophe Porteneuve]
82
83 * Add an attribution to YUI-Ext's DomQuery in selector.js.
84
85 * Make Element.extend work on IE for Nodes with the same ID that where discarded.  Closes #7497.  [Mislav Marohnić, Thomas Fuchs]
86
87 * Make Selector correctly extend the first element it returns on IE.  [Thomas Fuchs]
88
89 * Prevent a crash in Safari when using $A() on NodeList objects that contain text nodes.  [Thomas Fuchs]
90
91 * Fix Element.Methods.descendants() to properly extend elements on IE.  [Thomas Fuchs]
92
93 *1.5.1_rc1* (March 9, 2007)
94
95 * Fix readAttribute for IE7. [Andrew Dupont]
96
97 *1.5.1_rc0* (March 8, 2007)
98
99 * Merge the selector branch into trunk, bringing vast performance improvements, bug fixes, and near-complete CSS3 compliance to $$ and Selector.  Closes #7568.  [Andrew Dupont]
100   Selector speed test: http://andrewdupont.net/test/double-dollar/
101
102 * Add support for JSON encoding and decoding.  Closes #7427.  [Tobie Langel]
103
104 * Fix double escaping of query parameters in Hash.prototype.toQueryString, and prevent Safari from iterating over shadowed properties when creating hashes.  Closes #7421.  [Tobie Langel, Mislav Marohnić]
105
106 * Fix simulated attribute reading for IE for "href", "src" and boolean attributes.  [Mislav Marohnić, Thomas Fuchs]
107
108 * Form.Element.disable() will now call blur(), removed blur() call from Form.Element.enable().  Closes #6034.  [tdd]
109
110 * Optimize document.getElementsByClassName and finalize DOM performance optimization refactoring.  Closes #6696.  [Mislav Marohnić]
111
112 * Fix an issue with serializing empty array inputs.  Closes #7516.  [stakadush, Mislav Marohnić]
113
114 * Add optional third parameter "camelized" to Element.setStyle, for optimized performance if style names are known to be camelCased.  [Thomas Fuchs]
115
116 * Fix a bug in the simulated hasAttribute for IE due to getAttributeNode sometimes returning null.  [sam]
117
118 * Optimize Element.getStyle and add new Element.getOpacity method. Special case IE and Opera getStyle methods.  Closes #7648.  [Tobie Langel, Thomas Fuchs]
119
120 * Optimize Element.setStyle and add new Element.setOpacity method, special case IE and Gecko opacity methods.  Closes #7585.  [savetheclocktower]
121
122 * Add unified Browser detection by providing Prototype.Browser.(IE|Gecko|WebKit|Opera) booleans.  Closes #6800.  [savetheclocktower]
123
124 * Add String.prototype.empty and String.prototype.blank (tests if empty or whitespace-only).  Closes #7016.  [Jonathan Viney, Thomas Fuchs]
125
126 * Update README to reflect new URLs, update LICENSE copyright years.  Closes #7426.  [Tobie Langel]
127
128 * Array.prototype.uniq optimization.  Closes #7417.  [Christophe Porteneuve]
129
130 * String.prototype.endsWith should not fail on multiple occurrences.  Closes #7416.  [Christophe Porteneuve]
131
132 * Add Form.Methods.request as a convenience method for serializing and submitting a form via Ajax.Request to the URL in the form's action attribute.  [sam]
133
134   Options passed to request() are intelligently merged with the underlying Ajax.Request options:
135   - If the form has a method attribute, its value is used for the Ajax.Request method option.  If a method option is passed to request(), it takes precedence over the form's method attribute.  If neither is specified, method defaults to "post".
136   - Key/value pairs specified in the parameters option (either as a query string or as a hash) will be merged with (and take precedence over) the serialized form parameters.
137
138 * Fix $(form).serialize() in Safari and add support for extending specific tags to Element.addMethods.  Closes #7358.  [Andrew Dupont]
139
140 * Add String.prototype.startsWith, String.prototype.endsWith, and String.prototype.include.  Closes #7075.  [Tobie Langel]
141
142 * Improve performance of String.prototype.escapeHTML by using a cached div and text node.  Closes #6937.  [altblue]
143
144 * Make setStyle() with opacity: 0 in Internet Explorer work correctly.  [Thomas Fuchs]
145
146 * Form.Element.activate shouldn't raise an exception when the form or field is hidden.  [sam]
147
148 * Remove support for "throw $continue" in Enumerable.  Use "return" instead.  [sam]
149
150 * Update HEADER to reflect new URL.  [sam]
151
152 *1.5.0* (January 18, 2007)
153
154 * Add test to ensure Content-type header is set for simulated verbs.  [sam]
155
156 * Fix Content-Type header for HTTP methods simulated with POST not defaulting to application/x-www-form-urlencoded.  [Thomas Fuchs]
157
158 * Simplify form serialization and add support for fields with the same name as Hash methods.  Closes #6649.  [Mislav Marohnić]
159
160 * Fix attribute selectors for IE.  Closes #5170.  [Tobie Langel, Andrew Dupont]
161
162 * A slew of dom.js improvements.  Closes #4217, #6589, #7001.  [Tobie]
163   - Fix Element.getDimensions() for hidden elements, make Element.getHeight() use .getDimensions()
164   - Add Element.getWidth()
165   - Make Element.replace() call .toString() on the html argument (alike .update())
166   - Fix an issue with Element.get/setStyle() and Safari with 'float'
167   - Add a bunch of missing unit tests
168
169 * Fix an issue with Element.setStyle({opacity:''}) setting the opacity to 0 instead of removing the set inline opacity style.  [Thomas Fuchs]
170
171 * Ensure Ajax.Request's evalResponse is called before onComplete so that onComplete can reference any elements created during the response.  Closes #6727.  [jonathan]
172
173 * Ensure the WEBrick test runner sets the correct Content-Type for tests and fixtures. [sam]
174
175 * Form.serialize once again works with non-form elements.  This is a temporary change to prevent the Rails link_to_remote regression described in #6898.  Prototype 1.5.1 will introduce an API for working with collections of arbitrary form elements.  References #6887.  Closes #6898.  [sam]
176
177 * Make selectors match forms that have an element with name="id" correctly, fixes #5759 [mislav]
178
179 * Remove support for HTTP authorization in Ajax calls introduced with #6366.  Closes #6638 [jmecham]
180
181 * Add Enumerable.size() to count elements in an enumerable and the corresponding Array.size() method, fixes #6710 [ZenCocoon]
182
183 * Add String.succ() method to allow for String ranges, fixes #6037 [Cory Hudson, mislav]
184   Examples:
185     'abcd'.succ();                                   -> 'abce'
186     $R('a','d').map(function(char){ return char; }); -> ['a','b','c','d']
187
188 * Make Element.scrollTo() correctly consider offsets of parent DOM nodes, fixes #6625 [ohader, savetheclocktower]
189
190 * Fix Enumerable.inGroupsOf() to correctly work with fill values that evaluate to false, fixes #6782 [hawk]
191
192 * Remove/cleanup redundant $() calls in dom.js, fixes #6817 [Tobie]
193
194 * Don't cache files in automatic unit tests, fixes #6218 [voidlock]
195
196 * Add $w() to easily create arrays from strings like Ruby's %w, fixes #5682 [glazedginger, brendon.aaron]
197
198 * Add Element.toggleClassName() to toggle CSS classes on elements, fixes #6759 [Tobie]
199
200 * Make Form.getInputs always return an array for consistency, fixes #6475 [Justin Gehtland, savetheclocktower]
201
202 * Make TimedObserver work correctly for SELECT MULTIPLE elements, fixes #6593 [clemos, tdd]
203
204 * Fix Template.prototype.evaluate to correctly interpret 0 and false values, add String.interpret() for safely interpreting and converting values to strings, fixes #6675 [hawk]
205
206 * Make Element.getStyle() work with camelCased argument, fixes #6686 [Tobie]
207
208 * Fix a redundant check in Array.prototype.compact, fixes #4739 [wlodarcz, mislav]
209
210 * Fix $() to correctly pass back the results of document.getElementById(), notably returning "null" on elements not found, fixes #6582 [adsmart]
211
212 * Change/add assertNull, assertUndefined, assertNullOrUndefined and not-* variants in unittest.js, fixes #6582 [adsmart]
213
214 * Cleanup String.prototype.camelize, fix an issue with String.prototype.underscore, fixes #4714, #6685 [Tobie, Thomas Fuchs]
215
216 * Add String.prototype.capitalize, which returns a string with the first character in upper case, fixes #6666 [Tobie]
217
218 * Make Element.getStyle() and Element.setStyle() handle the CSS 'opacity' property transparently in IE, fixes #6093 [brandon.aaron, Tobie]
219
220 * Fix handling of CSS 'float' property for Element.getStyle() and Element.setStyle(), fixes #4160 [Thomas Fuchs, ericf]
221
222 * Fix that onComplete would be called twice with synchronous Ajax requests on Safari (provides units tests for #5756) [Thomas Fuchs]
223
224 * Fix Form.Field.activate to not select text on buttons in IE, fixes #2653 [sutch, mislav, Thomas Fuchs]
225
226 * Fix String.unescapeHTML() on Firefox for strings that are longer than 2048 bytes, fixes #5789 [Paul Moers, Thomas Fuchs]
227
228 * Redefine Array.prototype.concat for Opera, as the native implemenation doesn't work correctly [Thomas Fuchs]
229
230 * Add unit tests for Function.prototype.bind() [Thomas Fuchs]
231
232 * Add String.prototype.underscore and String.prototype.dasherize [Thomas Fuchs]
233   Examples:
234     'Hello_World'.dasherize()                    -> 'Hello-World'
235     'borderBottomWidth'.underscore()             -> 'border_bottom_width'
236     'borderBottomWidth'.underscore().dasherize() -> 'border-bottom-width'
237
238 *1.5.0_rc2* (November 11, 2006)
239
240 * Ensure that existing DOM properties take precedence over extended element methods in all browsers.  Closes #5115.  [Sean Kleinjung, sam]
241
242 * Add Element.Methods.readAttribute as a simple wrapper around getAttribute (which isn't a "real" function and doesn't have .apply or .call in Safari and IE).  Useful in conjunction with Enumerable.invoke for extracting the values of a custom attribute from a collection of elements.  [sam]
243   Example:
244     <div id="widgets">
245       <div class="widget" widget_id="7">...</div>
246       <div class="widget" widget_id="8">...</div>
247       <div class="widget" widget_id="9">...</div>
248     </div>
249    
250     $$('div.widget').invoke('readAttribute', 'widget_id')
251     // ["7", "8", "9"]
252
253 * Add Element.Methods.immediateDescendants, like $A($(element).childNodes) but without text nodes.  [sam]
254
255 * More consistency.  Closes #6573.  [Bob Silva]
256
257 * String.prototype.toQueryParams and Hash.prototype.toQueryString now properly serialize arrays as multiple values.  Closes #4436.  [mislav, altblue, L`OcuS]
258
259 * Fix Form.serialize for options with empty values.  Closes #5033. [tdd, Thomas Fuchs, sam]
260
261 * Add Element.Methods.Simulated for simulating HTMLElement methods in lesser browsers.  Add hasAttribute as the first simulated method.  [tdd, Thomas Fuchs, sam]
262
263 * Add a "retry with throw" button for test error messages. [sam]
264
265 * rake test now runs test/unit/*.html by default.  Additionally, you can specify individual tests to run with the TESTS environment variable, and you can restrict the tests to particular browsers using the BROWSERS environment variable. [sam]
266
267   Examples:
268     % BROWSERS=safari,firefox rake test
269     % TESTS=dom rake test
270
271 * Element.hasClassName now bypasses the Element.ClassNames API for performance.  [sam]
272
273 * Pick some low-hanging performance and DRYness fruit.  [sam]
274   - Inline length property accesses in for loops
275   - Enumerable-ize for loops where it makes sense
276   - Make better use of Element.Methods and Form.Methods/Form.Element.Methods
277
278 * A slew of Ajax improvements.  Closes #6366.  [mislav, sam]
279  
280   Public-facing changes include:
281   - HTTP method can be specified in either lowercase or uppercase, and uppercase is always used when opening the XHR connection
282   - Added 'encoding' option (for POST) with a default of 'UTF-8'
283   - Ajax.Request now recognizes all the JavaScript MIME types we're aware of
284   - PUT body support with the 'postBody' option
285   - HTTP authentication support with the 'username' and 'password' options
286   - Query parameters can be passed as a string or as a hash
287   - Fixed both String.toQueryParams and Hash.toQueryString when handling empty values
288   - Request headers can now be specified as a hash with the 'requestHeaders' option
289
290 * Improve performance of the common case where $ is called with a single argument. Closes #6347. [sam, rvermillion, mislav]
291
292 * Fix Object.inspect to correctly distinguish between null and undefined, fixes #5941 [tdd, mislav]
293
294 * Don't serialize disabled form elements, fixes #4586 [tdd]
295
296 * Make HTML element classes extension mechanism for Safari not throw errors on WebKit beta versions [Thomas Fuchs]
297
298 * Add support for using Element.update() with no or a non-string parameter [Thomas Fuchs]
299
300   Example:
301     $('empty_me').update()          -> clears the element
302     $('easy_as').update(123)        -> set element content to '123'
303
304 * Add unit tests for hashes, fixes #6344 [Tobie Langel]
305
306 * Add clone() method to arrays, fixes #6338 [Tobie Langel]
307
308 * Backing out of [5194] (Element.clear) because of issues with IE on certain elements, #6051
309
310 * Add Element.clear for easily emptying out elements, fixes #6051 [brandon.aaron@gmail.com]
311
312 * Enumerable.each now returns the enumerable to allow for method chaining, fixes #6250 [eventualbuddha]
313
314 * Make makeClipping and undoClipping always return their element to stay chainable
315
316 * Fix an issue with certain Element chain calls not correctly extending elements with Prototype element methods on IE [Thomas Fuchs]
317
318 * Add Enumerable.eachSlice and Enumerable.inGroupsOf, fixes #6046 [rails@tddsworld.com, Thomas Fuchs]
319
320   Example:
321     [1,2,3,4,5].inGroupsOf(3)       -> [[1,2,3],[4,5,null]]
322     [1,2,3].inGroupsOf(4,'x')       -> [[1,2,3,'x']]
323
324 * Complete unit tests for array.js and string.js [Thomas Fuchs]
325
326 * Performance improvements for document.getElementsByClassName, including querying with XPath in supported browsers. [Andrew Dupont]
327
328 * Make Form.getElements() return elements in the correct order, fix broken Form.serialize return, fixes #4249, #6172 [lars@pinds.com, Thomas Fuchs, john]
329
330 * Add various DOM unit tests, fixes #6176, #6177 [tdd]
331
332 * Split Form.serialize into Form.serialize and Form.serializeElements. The latter can be used stand-alone to serialize an array of elements you pass in, instead of the entire form [DHH]
333
334 * Form.Element.disable() and .enable() will now work correctly, fixes #6034 [dresselm@businesslogic.com]
335
336 * Fix IE and Safari issues with Position.positionedOffset, add position.html unit tests, fixes #5621 [renggli@iam.unibe.ch]
337
338 * Fix an issue with Element.undoClipping and IE [Thomas Fuchs]
339
340 * Element.cleanWhitespace now correctly removes consecutive empty text nodes, fixes #3209 [livier.duroselle@gmail.com]
341
342 * Element.extend now does not try to extend text nodes, fixes #4642 [siegfried.puchbauer@gmail.com]
343
344 *1.5.0_rc1* (September 4, 2006)
345
346 * bindAsEventListener now passes along any provided arguments after the event argument.  Closes #5508.  [todd.fisher@revolution.com]
347
348 * Fix makeClipping and undoClipping with local overflow style values other than visible and hidden, fixes #3672  [Thomas Fuchs]
349
350 * Add Element.up, Element.down, Element.previous, and Element.next for easily traversing the DOM.  (Inspired by Thomas Fuchs' original implementation of Element.up: http://pastie.caboo.se/7702) [sam]
351
352   Examples:
353     <div id="sidebar">                  -> $('nav').up() or $('menu').up('div')
354       <ul id="nav">                     -> $('sidebar').down()  or $('sidebar').down('ul') or $('menu').previous()
355         <li>...</li>                    -> $('sidebar').down(1) or $('sidebar').down('li')
356         <li>...</li>                    -> $('sidebar').down(2) or $('sidebar').down('li', 2) or $('sidebar').down('li').next('li')
357         <li class="selected">...</li>   -> $('sidebar').down('li.selected')
358       </ul>                             
359       <ul id="menu">                    -> $('sidebar').down('ul').next()
360         ...
361
362 * Refactor $$ and Element.getElementsBySelector into Selector.findChildElements. [sam]
363
364 * Add Element.match, which takes a single CSS selector expression and returns true if it matches the element. [sam]
365
366 * Add Element.ancestors, Element.descendants, Element.previousSiblings, Element.nextSiblings, and Element.siblings. [sam]
367
368 * Add Element.inspect for better DOM debugging. [sam]
369
370 * Add an optional boolean argument to String.prototype.inspect which, when true, makes the string double-quoted instead of single-quoted. [sam]
371
372 * Add the uniq() method to Arrays, which returns a new Array with duplicates removed, fixes #3810 [secondlife]
373
374 * Add stop() method to PeriodicalExecutor, fixes #4801 [Jon Evans]
375
376 * Fix issues with Enumerable.any, ObjectRange.toArray, added unit tests, fixes #4419 [miyamuko, Thomas Fuchs]
377
378 * Fix two instances of unneccesarily redeclared variables, fixes #5229 [Thomas Fuchs]
379
380 * Fix a loop in Element.extend to properly use local variable, fixes #5128 [arrix]
381
382 * Add constants for additional keys in Event, fixes #5411, #5795 [simone_b]
383
384 * Workaround a DOM API bug in Opera in Position.page(), fixes #2407, #5848 [Thomas Fuchs]
385
386 * Remove duplicate definition of Position.clone(), fixes #3765 [Thomas Fuchs]
387
388 * Make destructive Element, Form, and Form.Element methods return their first argument, so that multiple calls can be chained together. [sam]
389
390   ex. $("sidebar").addClassName("selected").show();
391
392   The following methods now return their first argument: Element.toggle, Element.hide, Element.show, Element.remove, Element.update, Element.replace, Element.addClassName, Element.removeClassName, Element.observe, Element.stopObserving, Element.cleanWhitespace, Element.scrollTo, Element.setStyle, Element.makePositioned, Element.undoPositioned, Element.makeClipping, Element.undoClipping, Form.reset, Form.disable, Form.enable, Form.focusFirstElement, Form.Element.focus, Form.Element.select, Form.Element.clear, Form.Element.activate, Form.Element.disable, Form.Element.enable.
393
394 * For consistency, Element.toggle, Element.show, Element.hide, Field.clear, and Field.present no longer take an arbitrary number of arguments. [sam]
395  
396   !! BACKWARDS COMPATIBILITY CHANGE !!
397  
398   If you have code that looks like this:
399     Element.show('page', 'sidebar', 'content');
400   You need to replace it with code like this:
401     ['page', 'sidebar', 'content'].each(Element.show);
402
403 * Mix in Form and Form.Element methods to forms and form field elements with $() and $$(). Closes #4448. [Dan Webb, sam]
404
405 * Add Object.clone [sam]
406
407 * Add Form.Element.disable and Form.Element.enable. Closes #4943. [jan@prima.de]
408
409 * Field is now simply an alias for Form.Element. [sam]
410
411 * Add Element.Methods.getElementsByClassName and Element.Methods.getElementsBySelector. Closes #4669. [Andrew Dupont, DHH, sam]
412
413 * Avoid race condition when stopping an Ajax.PeriodicalUpdater. Closes #4809. [e98cuenc@gmail.com]
414
415 * Improve support for synchronous requests. Closes #5916. [sam, jthrom@gmail.com]
416
417 * Add serialization and observation support for input type=search. Closes #4096. [rpnielsen@gmail.com]
418
419 * Properly decode query components in String.prototype.toQueryParams. Closes #3487. [sam]
420
421 * Add Array.prototype.reduce [sam]:
422   [1, 2].reduce()   // [1, 2]
423   [1].reduce()      // 1
424   [].reduce()       // undefined
425
426 * Add Object.keys and Object.values [sam]
427
428 * Simulate non-GET/POST requests by POSTing with a _method parameter set to the actual verb [DHH]
429
430 * Make Element.update() handle TABLE-related elements with the DOM API because of IE's missing .innerHTML property on them [Thomas Fuchs, thx to Rick Olson]
431
432 * Sync to script.aculo.us unittest.js library as of 2006/08/29 [Thomas Fuchs]
433
434 * Add additional unit tests to test/unit/dom.html for testing Element.update and $().update in various enviroments [Thomas Fuchs]
435
436 * Prevent possible exceptions on unloading the page in IE [Thomas Fuchs]
437
438 *1.5.0_rc0* (April 5, 2006)
439
440 * Modify HTMLElement.prototype and short-circuit Element.extend where possible. Closes #4477. [Thomas Fuchs]
441
442 * Only observe window.onunload in IE for Mozilla bfcache support. Closes #3726. [Mike A. Owens]
443
444 * Don't redefine Array.prototype.shift. Closes #4138. [leeo]
445
446 * Prevent redefining Array.prototype.reverse more than once. Closes #3951. [brettdgibson@gmail.com]
447
448 * Fix Enumerable.min/Enumerable.max to recognize the value 0. Closes #3847, #4190. [rubyonrails@brainsick.com, Martin Bialasinski]
449
450 * Change Ajax.getTransport to prefer XMLHttpRequest in anticipation of IE 7. Closes #3688. [jschrab@malicstower.org, sam]
451
452 * Make Array.prototype.flatten more robust. Closes #3453. [Martin Bialasinski, sam]
453
454 * Fix evalScripts from crashing Firefox if script includes 'var'. Closes #3288, #4165. [rahul@ntag.com, sam]
455
456 * Scope iterators locally. Closes #4589. [sam]
457
458 * Support Insertion.Before/Insertion.After for <tr> elements in IE. Closes #3925. [rails-venkatp@sneakemail.com]
459
460 * Add a contentType option for overriding application/x-www-form-urlencoded in Ajax.Request. Closes #3564. [avif@arc90.com, sam]
461
462 * Surround values in the X-JSON header in parenthesis for better compatibility with Firefox. Closes #4118. [bigsmoke@gmail.com]
463
464 * Fix Form.serialize to properly encode option values in multiple selects in IE. Closes #3291. [rubyonrails@brainsick.com]
465
466 * Cache methods added to DOM elements with Element.extend to prevent memory leaks in IE. Closes #4465. [jaen@laborint.com, sam]
467
468 * 1.5.0_pre1* (March 26, 2006)
469
470 * Add attribute selector support for Selector (and $$). Closes #4368. [devslashnull@gmail.com]
471   Example:
472     $$('form#foo input[type=text]').each(function(input) {
473       input.setStyle({color: 'red'});
474     });
475  
476 * Send Accept header containing 'text/javascript, text/html, application/xml, text/xml */*'' to inform Rails that we prefer RJS, but we'll take HTML or XML or whatever if you can't deliver the goods [DHH]
477
478 * Make $$ work in IE. Closes #3715. [rubyonrails@brainsick.com]
479
480 * Add test/browser.html, which provides a simple object browser for the Prototype source (Firefox/Safari only). [sam]
481
482 * Add Element.extend, which mixes Element methods into a single HTML element.  This means you can now write $('foo').show() instead of Element.show('foo').  $, $$ and document.getElementsByClassName automatically call Element.extend on any returned elements. [sam]
483
484 * Add Element.replace as a cross-browser implementation of the "outerHTML" property. References #3246. [tom@craz8.com]
485
486 * Fix Enumerable.zip iterator behavior. [Marcin Kaszynski, sam]
487
488 *1.5.0_pre0* (January 18, 2006)
489
490 * Add String.prototype.truncate to complement the Action View truncate helper. [sam]
491
492 * Add String.prototype.gsub, String.prototype.sub, and String.prototype.scan, all of which take a pattern and an iterator (or a pattern and a replacement template string in the case of gsub and sub). [sam]
493
494 * Add a Template class for interpolating named keys from an object in a string. [sam]
495
496 * Add the $$ function for finding DOM elements by simple CSS selector strings. [sam]
497   Example: Find all <img> elements inside <p> elements with class "summary", all inside
498            the <div> with id "page". Hide each matched <img> tag.
499              $$('div#page p.summary img').each(Element.hide)
500      
501 * Add a Selector class for matching elements by single CSS selector tokens. [sam]
502
503 * Add Test.Unit.Assertions.assertEnumEqual for comparing Enumerables in tests. [sam]
504
505 * Add Element.childOf(element, ancestor) which returns true when element is a child of ancestor. [sam]
506
507 * Fix escaping in String.prototype.inspect. [sam]
508
509 * Add String.prototype.strip to remove leading and trailing whitespace from a string. [sam]
510
511 * Move Prototype to Rails SVN. [sam]
512   http://dev.rubyonrails.org/svn/rails/spinoffs/prototype/
513  
514 * Make the console nicer. [sam]
515
516 * Prune the source tree. [sam]
Note: See TracBrowser for help on using the browser.