Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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