Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 1344 lines (742 sloc) 78.191 kB
aeb4532 @savetheclocktower Fix odd behavior with `new Element('select')` in IE6-7. [#480 state:r…
savetheclocktower authored
1 * Fix odd behavior with `new Element('select')` in IE6-7. [#480 state:resolved] (Bruce Harris, kangax, Andrew Dupont)
2
1fcf2e0 @savetheclocktower Extend BUTTON elements with everything defined in Form.Element.Method…
savetheclocktower authored
3 * Extend BUTTON elements with everything defined in Form.Element.Methods. Ensure BUTTON elements are traversed in Form.getElements and serialized in Form.serialize. (Luis Gomez, Samuel Lebeau, kangax, Andrew Dupont)
4
a7e51ae @savetheclocktower Ensure Object.isFunction returns `false` for RegExp objects. [#661 st…
savetheclocktower authored
5 * Ensure Object.isFunction returns `false` for RegExp objects. [#661 state:resolved] (James, kangax, Andrew Dupont)
6
de6a585 @savetheclocktower Revert Opera-specific behavior for calling Element#getStyle with (lef…
savetheclocktower authored
7 * Revert Opera-specific behavior for calling Element#getStyle with (left|right|top|bottom). [#268 state:resolved] (kangax, Andrew Dupont)
8
f6e77f6 @savetheclocktower Fix issue with Event#isMiddleClick and #isRightClick on Safari and Ch…
savetheclocktower authored
9 * Fix issue with Event#isMiddleClick and #isRightClick on Safari and Chrome. [#731 state:resolved] (Arthur Schreiber)
10
8b2ed97 @savetheclocktower Fix issue where an Ajax request in IE sometimes returns 1223 instead …
savetheclocktower authored
11 * Fix issue where an Ajax request in IE sometimes returns 1223 instead of 204 as the status code. [#129 state:resolved] (adevadeh, gordyt, Andrew Dupont)
12
05e0ebc @savetheclocktower Add Object.isDate. [#443 state:resolved] (Nesterenko Dmitry, kangax, …
savetheclocktower authored
13 * Add Object.isDate. [#443 state:resolved] (Nesterenko Dmitry, kangax, Samuel Lebeau, Andrew Dupont)
14
e4503ee @savetheclocktower Handle cases where `document` or `document.documentElement` is passed…
savetheclocktower authored
15 * Handle cases where `document` or `document.documentElement` is passed into Element#getOffsetParent. Fixes IE errors with many layout/positioning methods. [#90 state:resolved] (Padraig Kennedy, Andrew Dupont)
16
46d273e @savetheclocktower Wrap `element` in `$` for Element#cumulativeOffset, #viewportOffset, …
savetheclocktower authored
17 * Wrap `element` in `$` for Element#cumulativeOffset, #viewportOffset, #positionedOffset, and #getOffsetParent. [#782 state:resolved] (Radoslav Stankov, Andrew Dupont)
18
34564c5 @savetheclocktower Bump version number.
savetheclocktower authored
19 *1.7_rc3* (October 11, 2010)
20
a7cff52 @savetheclocktower Feature detect IE's legacy event system, since IE9 now supports DOM L…
savetheclocktower authored
21 * Feature detect IE's legacy event system, since IE9 now supports DOM L2 Events. (Michael Sciacqua, kangax, Andrew Dupont)
22
c05412b @savetheclocktower Fix an issue in IE9 beta where the `value` attribute of an <input> el…
savetheclocktower authored
23 * Fix an issue in IE9 beta where the `value` attribute of an <input> element would not get set. (Andrew Dupont)
24
2978f36 @savetheclocktower Move all offset methods to layout.js, eliminating some code repetition.
savetheclocktower authored
25 * Move all offset methods to layout.js, eliminating some code repetition.
26
36a02f8 @savetheclocktower Remove unit test for passing a DOM node into `Object.toJSON`. To cont…
savetheclocktower authored
27 * Remove unit test for passing a DOM node into `Object.toJSON`. To continue to support this use case would require bypassing IE's native JSON implementation. (Tobie Langel, Thomas Fuchs, Samuel Lebeau, Andrew Dupont)
28
c814fb7 @savetheclocktower Ensure hidden absolutely-positioned elements are sized correctly when…
savetheclocktower authored
29 * Ensure hidden absolutely-positioned elements are sized correctly when they have no explicit width set. [#1084 state:resolved] (Viktor Kojouharov, Andrew Dupont)
30
fd433df @savetheclocktower Change custom events implementation to use the `onlosecapture` event …
savetheclocktower authored
31 * Change custom events implementation to use the `onlosecapture` event instead of the `onfilterchange` event for non-bubbling custom events in Internet Explorer. (John-David Dalton, Andrew Dupont)
32
aefb58d @savetheclocktower Revert `Element.getHeight` and `Element.getWidth` to their previous b…
savetheclocktower authored
33 * Revert `Element.getHeight` and `Element.getWidth` to their previous behavior in order to ensure backward-compatibility. (Sam Stephenson, Andrew Dupont)
34
e1d6a03 @savetheclocktower Fix accidental declaration of `purgeElement` as a global function. [#…
savetheclocktower authored
35 * Fix accidental declaration of `purgeElement` as a global function. [#1089 state:resolved] (Viktor Kojouharov, Andrew Dupont)
36
ec15b2c @savetheclocktower Ensure `Element.Layout` gives accurate measurements for percentages o…
savetheclocktower authored
37 * Ensure `Element.Layout` gives accurate measurements for percentages on all elements. Fix inaccurate measurements on `position: fixed` elements with percentages. [#1040 state:resolved] (Dan Popescu, Riccardo De Agostini, Andrew Dupont)
38
7a4a5c7 @savetheclocktower Fix issue with retrieving border-box-(height|width) of hidden element…
savetheclocktower authored
39 * Fix issue with retrieving border-box-(height|width) of hidden elements. [#1035 state:resolved] (Francois-Pierre Bouchard, Andrew Dupont)
40
6c184a0 @savetheclocktower Ensure we clean up after ourselves for all `width` and `height` compu…
savetheclocktower authored
41 * Ensure we clean up after ourselves for all `width` and `height` computations in `Element.Layout`. (Sam Stephenson, Andrew Dupont)
42
339bc8c @savetheclocktower Bump version number.
savetheclocktower authored
43 *1.7_rc2* (May 12, 2010)
44
3e7bbca @savetheclocktower Remove redefinition of `Element#cumulativeOffset` when `getBoundingCl…
savetheclocktower authored
45 * Remove redefinition of `Element#cumulativeOffset` when `getBoundingClientRect` is present, as it seems to give inaccurate results. (Andrew Dupont)
46
9a752d7 @savetheclocktower Optimize element purging. (RStankov, Andrew Dupont)
savetheclocktower authored
47 * Optimize element purging. (RStankov, Andrew Dupont)
48
c9d6c3e @savetheclocktower Add `Element.purge` for cleaning up event listeners and element stora…
savetheclocktower authored
49 * Add `Element.purge` for cleaning up event listeners and element storage keys on elements that will be removed from the page. Make `Element.update` perform similar cleanup automatically. (Andrew Dupont, Tobie Langel)
38e85b8 @savetheclocktower Fix issue where `Element.Layout#get` would fail to interpret negative…
savetheclocktower authored
50
b76ea83 @sstephenson The second argument to Event.Handler callbacks is the target element …
authored
51 * The second argument to Event.Handler callbacks is the target element when no selector is present, or the matching element when a selector is present. Callbacks are always bound to the original element. (sam)
38e85b8 @savetheclocktower Fix issue where `Element.Layout#get` would fail to interpret negative…
savetheclocktower authored
52
c9d6c3e @savetheclocktower Add `Element.purge` for cleaning up event listeners and element stora…
savetheclocktower authored
53 * Fix issue where `Element.Layout#get` would fail to interpret negative pixel values. (Sebastien Gruhier, Andrew Dupont)
eb26357 @savetheclocktower Fix bugs in layout.js. Add tests for `Element.Layout#toCSS`, `#toObje…
savetheclocktower authored
54
c9d6c3e @savetheclocktower Add `Element.purge` for cleaning up event listeners and element stora…
savetheclocktower authored
55 * Fix bugs in layout.js. Add tests for `Element.Layout#toCSS`, `#toObject`, and `#toHash`. (RStankov, Andrew Dupont)
949dc83 @savetheclocktower Add `Element.Layout#toObject` and `Element.Layout.toHash`.
savetheclocktower authored
56
c9d6c3e @savetheclocktower Add `Element.purge` for cleaning up event listeners and element stora…
savetheclocktower authored
57 * Add `Element.Layout#toObject` and `Element.Layout.toHash`. (Andrew Dupont)
58
59 * Make `Element.Layout#toCSS` return camelized property names, as expected by `Element.setStyle`. [#1021 state:resolved] (njakobsen, Andrew Dupont)
2fd5c9b @savetheclocktower Make `Element.Layout#toCSS` return camelized property names, as expec…
savetheclocktower authored
60
0befd5f @savetheclocktower Bump version number.
savetheclocktower authored
61 *1.7_rc1* (April 1, 2010)
62
82d44de @savetheclocktower Fix typo. Update CHANGELOG.
savetheclocktower authored
63 * Add an `Event.Handler` class, plus `Event.on` and `Element#on` methods, for simplified event delegation. (sam, Tobie Langel, Andrew Dupont)
64
91e5582 @savetheclocktower Make `Element.Layout` properly interpret computed non-integer pixel v…
savetheclocktower authored
65 * Make `Element.Layout` properly interpret computed non-integer pixel values. (e.g., Firefox can report "12.5px" as a computed style value.) (henrymazza)
66
550ec6e @tobie Fix deprecated Selector.matchElements.
tobie authored
67 * Fix deprecated Selector.matchElements. (Tobie Langel)
68
7eeee4f @tobie Make Object.keys ES5 compliant.
tobie authored
69 * Make Object.keys ES5 compliant. (Tobie Langel)
70
038a298 @tobie Make Prototype's JSON implementation EcmaScript 5 compliant.
tobie authored
71 * Make Prototype's JSON implementation EcmaScript 5 compliant. [#453 state:resolved] (Tobie Langel)
72
5cb5ee4 @madrobby Also detect embedded (UIWebView) mobile Safari.
madrobby authored
73 * Also detect embedded (UIWebView) mobile Safari. (Thomas Fuchs)
74
b3fc079 @kangax Avoid object creation and an unnecessary function call in `Class#addM…
kangax authored
75 * Avoid object creation and an unnecessary function call in `Class#addMethods`, when working around JScript DontEnum bug. Replace with feature test and a simple boolean check at runtime. (kangax)
76
18f2ac6 @kangax Optimize Element#immediateDescendants.
kangax authored
77 * Optimize Element#immediateDescendants. (kangax, Tobie Langel)
78
82c9b9c @kangax Remove unnecessary function object creation and `Number#times` in `El…
kangax authored
79 * Remove unnecessary function object creation and `Number#times` in `Element._getContentFromAnonymousElement`. (kangax)
80
9ef3f8d @kangax Eliminate runtime forking and long method lookup in `Element.hasAttri…
kangax authored
81 * Eliminate runtime forking and long method lookup in `Element.hasAttribute`. (kangax)
82
f40fd5a @kangax Remove redundant ternary.
kangax authored
83 * Remove redundant ternary. (kangax)
84
01a2290 @kangax Avoid repeating declaration statements.
kangax authored
85 * Avoid repeating declaration statements where it makes sense, for slightly better runtime performance and minification. (kangax)
86
bf8e404 @tobie Make Event.stopObserving return element in all cases. [#810 state:res…
tobie authored
87 * Make `Event.stopObserving` return element in all cases. [#810 state:resolved] (Yaffle, Tobie Langel)
88
3b525f1 @kangax String#startsWith, String#endsWith performance optimization [#808 sta…
kangax authored
89 * String#startsWith, String#endsWith performance optimization (Yaffle, Tobie Langel, kangax)
90
91 * Rewrite String#camelize using String#replace with a replacement function (Phred, John-David Dalton, Samuel Lebeau, kangax)
92
f405b2c @tobie Bump version to 1.6.1.
tobie authored
93 *1.6.1* (August 24, 2009)
94
95 * Avoid triggering a warning when Java is disabled in IE8. [#668 state:resolved] (orv, kangax, Andrew Dupont, Tobie Langel)
94747c5 @tobie Avoid triggering a warning when Java is disabled in IE8. [#668 state:…
tobie authored
96
de9ba09 @tobie Updated changelog.
tobie authored
97 * Simplify String#(un)escapeHTML and remove their DOM dependencies. (Tobie Langel)
98
99 * Update UnittestJS. Modifiy test template accordingly. (Tobie Langel)
100
101 * Remove redundant if statement in Element#readAttribute. (Tobie Langel)
102
d88aef3 @tobie Add missing semicolons. [#751 state:resolved]
tobie authored
103 * Add missing semicolons. [#751 state:resolved] (Diego Perini)
104
41b034b Improve `getClass` performance. [#747 state:resolved]
Juriy Zaytsev authored
105 * Remove expensive (for such low-level method) internal `getClass` in favor of plain string comparison (kangax)
106
49090bc @tobie Workaround IE's defficient handling of finally statements in Periodic…
tobie authored
107 * Fix `PeriodicalExecuter` so that it no longer suppresses exceptions. [#696 state:resolved] (Samuel Lebeau, Yaffle)
e41ccba @savetheclocktower Re-throw error in otherwise-empty `catch` clause so that `PeriodicalE…
savetheclocktower authored
108
f4570f3 @savetheclocktower Fix issue related to escaping of selectors for querySelectorAll. [#55…
savetheclocktower authored
109 * Fix issue related to escaping of selectors for querySelectorAll. [#559 state:resolved] (Jorn Holm)
110
4586adf @savetheclocktower Bump version number.
savetheclocktower authored
111 *1.6.1_rc3* (June 16, 2009)
112
ad89bfb @tobie Fixed a variety of non-ASCII chars and similar [#610 state:resolved]
tobie authored
113 * Fixed a variety of non-ASCII chars and similar [#610 state:resolved] (T.J. Crowder)
114
6e4a3cd Add Chrome 1+ to the list of supported browsers
Juriy Zaytsev authored
115 * Add Chrome 1+ to the list of supported browsers. (kangax)
116
b2492ae Fix `Template#evaluate` "eating" previous character if `null` was ret…
Juriy Zaytsev authored
117 * Fix `Template#evaluate` "eating" previous character if `null` was returned from `toTemplateReplacements` function. (Nir, Jürgen Hörmann, kangax)
118
d655665 Make sure (defficient) APPLET, OBJECT and EMBED elements are extended…
Juriy Zaytsev authored
119 * Make sure (deficient) APPLET, OBJECT and EMBED elements are extended with simulated methods in IE8. Return early if `_extendedByPrototype` is present on an element. (Tobie Langel, kangax)
120
703e988 Replace array creation and `Array#include` with a more efficient `Reg…
Juriy Zaytsev authored
121 * Replace array creation and `Array#include` with a more efficient `RegExp#test`. (kangax)
122
7d02aef Reorganize the way `ElementExtensions` are defined. Make sure element…
Juriy Zaytsev authored
123 * Reorganize the way `ElementExtensions` are defined. Make sure elements used in SpecificElementExtensions are cleaned up. (kangax)
124
31fe0a0 Make sure $A works with primitive values.
Juriy Zaytsev authored
125 * Make sure $A works with primitive values. (mr_justin, kangax)
126
cebf7d6 Do not browser sniff when forking `unmark` function in selector suite…
Juriy Zaytsev authored
127 * Do not browser sniff when forking `unmark` function in selector suite. Instead use a proper test - PROPERTIES_ATTRIBUTES_MAP. (kangax)
128
7437434 Do not use short-hand element methods notation (@element.getStyle() -…
Juriy Zaytsev authored
129 * Do not use short-hand element methods notation (@element.getStyle() -> Element.getStyle(@element)) for performance reasons. Do not use `$A` and `Array.prototype.shift` when `Array.prototype.slice` can be used instead. (kangax)
130
c44a071 @savetheclocktower `Prototype.Browser.Opera` now uses stronger inference and is determin…
savetheclocktower authored
131 * `Prototype.Browser.Opera` now uses stronger inference and is determined by [[Class]] of `window.opera` being - "Opera". (kangax)
132
6f6b73c @savetheclocktower Fix error in event.js which prevented attaching more than one respond…
savetheclocktower authored
133 * Fix error in event.js which prevented attaching more than one responder for an event name/element combination. [#651 state:resolved] (Rob Lineweaver)
134
c480bd7 Do not sniff when testing for IE's proprietary mouseenter/mouseleave …
Juriy Zaytsev authored
135 * Do not sniff when testing for IE's proprietary mouseenter/mouseleave events support. Use more robust inference instead. (kangax)
136
d4c182c Use `Prototype.emptyFunction` consistently throughout unit tests. [#2…
Juriy Zaytsev authored
137 * Use `Prototype.emptyFunction` consistently throughout unit tests. [#253 state:resolved] (Michael M Slusarz, John David Dalton, kangax)
138
827e6ee @tobie deprecation extension: mark Array#reduce() as removed. [#569 state:re…
tobie authored
139 * deprecation extension: mark Array#reduce() as removed. [#569 state:resolved] (Tobie Langel)
140
0b4e142 `Form.serialize` now works safely with forms that have "length"-named…
Juriy Zaytsev authored
141 * `Form.serialize` now works safely with forms that have "length"-named elements. [#77 state:resolved] (Peter Adrianov, John-David Dalton, kangax)
142
fd46f6b @savetheclocktower Bump version number.
savetheclocktower authored
143 *1.6.1_rc1* (March 22, 2009)
144
71a8663 `Element#update` now takes care of SCRIPT elements in IE. [#573 state…
Juriy Zaytsev authored
145 * `Element#update` now takes care of SCRIPT elements in IE. [#573 state:resolved] (Martin, Tobie Langel, kangax)
146
2c986d8 Remove unused local variables. Fix failing form test.
Juriy Zaytsev authored
147 * Remove unused local variables from `Element.extend`. Fix one of the form tests to remove `_extendedByPrototype` by setting it to `undefined` rather than `false` (`_extendedByPrototype` being `false` does not force `Element.extend` to re-extend element). (T.J. Crowder, kangax)
148
fa15f21 Fix `escapeHTML` in Chrome by using a more strict check.
Juriy Zaytsev authored
149 * Make test for `escapeHTML`/`unescapeHTML` more strict. (Chrome 1.x escapes "<" and "&" with `innerHTML`, but not ">") (kangax)
150
dee8a10 Fix faulty DOM test.
Juriy Zaytsev authored
151 * Remove another sniffing from one of DOM tests. Fixes last IE8 failure. (kangax)
152
0e63247 Make `Element.extend` take care of IE8 HTMLAppletElement and HTMLObje…
Juriy Zaytsev authored
153 * `Element.extend` now takes care of IE8 bug when HTMLAppletElement and HTMLObjectElement objects do not inherit from `Element.prototype`. (kangax)
154
eaa8b94 Fix another DOM test to pass in IE8.
Juriy Zaytsev authored
155 * Fix DOM tests to use proper feature test when testing `setOpacity` (kangax)
156
0606843 Fix for/htmlFor translation in IE8
Juriy Zaytsev authored
157 * Fix another failure in IE8, `for`/`htmlFor` {get/set}Attribute translation. (kangax)
158
30c1935 Fix `writeAttribute` and `readAttribute` failures in IE8. Use proper …
Juriy Zaytsev authored
159 * Fix `Element#writeAttribute` and `Element#readAttribute` failures in IE8 due to lack of proper feature testing. (kangax)
160
25a38aa resolve conflict
Juriy Zaytsev authored
161 * Remove sniffing from one of the DOM tests, which produced failures in IE8. (kangax)
a97c044 Remove sniffing from one of the DOM tests, making it pass in IE8.
Juriy Zaytsev authored
162
4b9bf98 Fix Form.reset test in IE
Juriy Zaytsev authored
163 * Fix `Form.reset` test where `respondsTo` wouldn't detect a method due to typeof returning "object" (rather than "function") in IE (kangax)
164
b343556 Remove Array#reduce [#569 state:resolved]
Juriy Zaytsev authored
165 * Remove Array#reduce which currently overrides native `reduce` in clients implementing JS1.8, e.g. Firefox 3+ (Tobie Langel, Andrew Dupont, kangax)
166
c7a5d34 Make sure try/catch/finally is used instead of try/finally [#421 stat…
Juriy Zaytsev authored
167 * Make sure try/catch/finally is used instead of try/finally for clients without support for the latter one (e.g. Blackberry, IE) (Ville Koskinen, kangax)
168
169 * Use `in` operator when accessing property of a nodelist to prevent Safari <=2.0.4 from crashing (kangax)
1a375da Remove sniffing from `$A` by using `in` operator when accessing prope…
Juriy Zaytsev authored
170
4fefe32 @savetheclocktower Add Element#clone as a safe wrapper of native `cloneNode`. (Andrew Du…
savetheclocktower authored
171 * Add Element#clone as a safe wrapper of native `cloneNode`. (Andrew Dupont, kangax)
172
8f697f3 @savetheclocktower Add tests to ensure IE8 properly assigns a class name in the `Element…
savetheclocktower authored
173 * Add tests to ensure IE8 properly assigns a class name in the `Element` constructor. [#529 state:resolved] (Riki Fridrich, Andrew Dupont)
174
fa12b00 @savetheclocktower Remove sniffing from `Element` when detecting broken `setAttribute` i…
savetheclocktower authored
175 * Remove sniffing from `Element` when detecting broken `setAttribute` in IE. [#571 state:resolved] (kangax)
176
ba2c260 @savetheclocktower Remove sniffing from `Element.update` branching in favor of feature d…
savetheclocktower authored
177 * Remove sniffing from `Element.update` branching in favor of feature detection. [#574 state:resolved] (kangax)
178
7833e8c @savetheclocktower Remove sniffing when branching `escapeHTML` and `unescapeHTML`. [#570…
savetheclocktower authored
179 * Remove sniffing when branching `escapeHTML` and `unescapeHTML`. [#570 state:resolved] (kangax)
180
e88f22e @savetheclocktower Redefine Element#down in IE 6-7 to avoid extending all descendants wh…
savetheclocktower authored
181 * Redefine Element#down in IE 6-7 to avoid extending all descendants when no selector is given. [#452 state:resolved] (eno, Andrew Dupont)
182
183 * Reverse the definitions of Event#pointer(X|Y) and Event#pointer to prevent unnecessary computation. [#403 state:resolved] (Nick Stakenburg, Andrew Dupont)
4a0b9b7 @savetheclocktower Reverse the definitions of Event#pointer(X|Y) and Event#pointer to pr…
savetheclocktower authored
184
9d7a981 @savetheclocktower Add first-class support for `mouseenter` and `mouseleave` events in n…
savetheclocktower authored
185 * Add first-class support for `mouseenter` and `mouseleave` events in non-IE browsers (IE supports them natively). [#350 state:resolved] (Nick Stakenburg, Andrew Dupont)
186
682a55c @savetheclocktower Make sure `_extendedByPrototype`, `_countedByPrototype`, and `prototy…
savetheclocktower authored
187 * Make sure `_extendedByPrototype`, `_countedByPrototype`, and `prototypeUID` node expandos are accessed with `typeof` to prevent errors in some environments. [#354 state:resolved] (Hilberty, kangax, Andrew Dupont)
188
26eaa43 @savetheclocktower Fix issue where Opera 9.x returns incorrect results on certain Select…
savetheclocktower authored
189 * Fix issue where Opera 9.x returns incorrect results on certain Selector queries with descendant combinators. [#395 state:resolved] (Arpan, fearphage, kangax, Andrew Dupont)
190
d22a998 @savetheclocktower Null out references to elements in cache on page unload. Need this in…
savetheclocktower authored
191 * Null out references to elements in cache on page unload. Need this in addition to the Event#stopObserving calls to clean up memory leaks. [#425 state:resolved] (ykphuah, mr_justin, Andrew Dupont)
192
26eaa43 @savetheclocktower Fix issue where Opera 9.x returns incorrect results on certain Select…
savetheclocktower authored
193 * Ensure `toString` and `valueOf` properties are copied to a subclass only when necessary in IE6. [#382 state:resolved] (Samuel Lebeau)
47abfa6 @savetheclocktower Ensure `toString` and `valueOf` properties are copied to a subclass o…
savetheclocktower authored
194
043653a @savetheclocktower Make sure `getAttribute` is used without flag when accessing the "typ…
savetheclocktower authored
195 * Make sure `getAttribute` is used without flag when accessing the "type" attribute of an iframe (IE throws error otherwise). [#118 state:resolved] (Zekid, kangax)
196
e9bdaef @savetheclocktower String#gsub should escape RegExp metacharacters when the first argume…
savetheclocktower authored
197 * String#gsub should escape RegExp metacharacters when the first argument is a string. [#469 state:resolved] (michael, kangax)
198
e3845ba @savetheclocktower Fix order of replacement in String#unescapeHTML [#544 state:resolved]…
savetheclocktower authored
199 * Fix order of replacement in String#unescapeHTML [#544 state:resolved] (SWeini, kangax)
200
432a942 @savetheclocktower Fix issue where a Selector query rooted on a node that had not been a…
savetheclocktower authored
201 * Fix issue where a Selector query rooted on a node that had not been attached to the document failed in IE. [#464 state:resolved] (jddalton, kangax, Douglas Fraser, Andrew Dupont)
202
8fe5187 @savetheclocktower Fix Selector to match elements with attributes containing hyphens. [#…
savetheclocktower authored
203 * Fix Selector to match elements with attributes containing hyphens. [#285 state:resolved] (leiyou, jddalton, kangax)
204
dc9d274 @savetheclocktower Make sure Form.reset always returns a reference to the receiver eleme…
savetheclocktower authored
205 * Make sure Form.reset always returns a reference to the receiver element. [#309 state:resolved] (Phil, kangax)
206
97fc24a @savetheclocktower Escape ":" and "." characters when doing contextual CSS selection in …
savetheclocktower authored
207 * Escape ":" and "." characters when doing contextual CSS selection in browsers that support querySelectorAll. [#559 state:resolved] (fxtentacle, Andrew Dupont)
208
91b787a @savetheclocktower Ensure the `target` property on events is never undefined in IE. [#38…
savetheclocktower authored
209 * Ensure the `target` property on events is never undefined in IE. [#383 state:resolved] (Mathias Karstädt, Diego Perini, Andrew Dupont)
210
ab1313e @savetheclocktower Ensure Element#descendants always returns an array. [#373 state:resol…
savetheclocktower authored
211 * Ensure Element#descendants always returns an array. [#373 state:resolved] (kangax)
212
463141e @sstephenson Update CHANGELOG
authored
213 * Don't switch fixed position elements to absolute in Element.getDimensions [#543 state:resolved] (James Wheare)
214
215 * Avoid infinite loops when calling String#sub with empty pattern [#534 state:resolved] (Samuel Lebeau)
216
9bb3d75 @sstephenson Update CHANGELOG
authored
217 * Switch to Sprockets for building the Prototype distfiles. (sam)
218
997689f @savetheclocktower Switch Object.is(Array|String|Number) to use the vastly-superior appr…
savetheclocktower authored
219 * Switch Object.is(Array|String|Number) to use the vastly-superior approach discovered by Juriy. (kangax)
220
221 * Further fix to ensure Object.is(String|Number) do not throw exceptions on host objects in IE. (grepmaster, kangax, Tobie Langel, Andrew Dupont)
31d1c6f @savetheclocktower Further fix to ensure Object#is(String|Number) do not throw exception…
savetheclocktower authored
222
9f5c40c @savetheclocktower Ensure Enumerable#grep can handle strings with RegExp metacharacters.…
savetheclocktower authored
223 * Ensure Enumerable#grep can handle strings with RegExp metacharacters. (Marton Kiss-Albert, kangax)
224
e9e8c7f @savetheclocktower Switch to the "doScroll approach" for the dom:loaded custom event. [#…
savetheclocktower authored
225 * Switch to the "doScroll approach" for the dom:loaded custom event. (javier, Diego Perini, Nick Stakenburg, Andrew Dupont)
226
0549952 @savetheclocktower I suppose we owe it to our contributors to spell their names right.
savetheclocktower authored
227 * Optimize document.viewport.get(Dimensions|Width|Height). (Nick Stakenburg, Andrew Dupont)
c3c9533 @savetheclocktower Optimize document.viewport.get(Dimensions|Width|Height). [#336 state:…
savetheclocktower authored
228
07506e6 @savetheclocktower Fix issue where Object#isString and Object#isNumber return false for …
savetheclocktower authored
229 * Fix issue where Object#isString and Object#isNumber return false for String and Number "wrapper" objects. (atrepp, Samuel Lebeau, Andrew Dupont)
230
60a6c7a @savetheclocktower Set document.loaded = true before firing dom:loaded custom event.
savetheclocktower authored
231 * Set document.loaded = true before firing dom:loaded custom event. (Andrew Dupont)
232
c4f6066 @savetheclocktower Allow Element#store to accept an object containing several key/value …
savetheclocktower authored
233 * Allow Element#store to accept an object containing several key/value pairs. (ZenCocoon, Andrew Dupont)
234
c493d09 @savetheclocktower Fix typo in CHANGELOG.
savetheclocktower authored
235 * Change Element#store to return the element itself (for chaining). (Andrew Dupont)
1ca385b @savetheclocktower Change Element#retrieve to return the element itself (for chaining).
savetheclocktower authored
236
c4c7bf6 @savetheclocktower Update CHANGELOG.
savetheclocktower authored
237 * Add non-bubbling custom events. A new final argument to Element#fire defaults to `true`; pass `false` to prevent bubbling when firing a custom event. (Andrew Dupont)
238
3b21105 @savetheclocktower Alter event system to use new element storage API rather than have it…
savetheclocktower authored
239 * Alter event system to use new element storage API rather than have its own global hashtable. (Andrew Dupont)
240
77b9a26 @savetheclocktower Alter element storage API to handle the `window` object gracefully.
savetheclocktower authored
241 * Add Element#store and Element#retrieve for safe, hash-backed storage of element metadata (no memory leaks). Also add Element#getStorage for working with the element's storage hash directly. Hat tip: Mootools. (ZenCocoon, Andrew Dupont)
3977e66 @savetheclocktower Added Element#store and Element#retrieve for safe, hash-backed storag…
savetheclocktower authored
242
8640779 @tobie Fix issue where certain versions of Safari treat class names
tobie authored
243 * Fix issue where certain versions of Safari treat class names case-insensitively in Selector/$$ queries. (Andrew Dupont, kangax, Brice)
244
54bf343 @savetheclocktower Fix issue where Function#argumentNames returned incorrect results in …
savetheclocktower authored
245 * Fix issue where Function#argumentNames returned incorrect results in IE when comments were intermixed with argument names. (Christophe Porteneuve, T.J. Crowder)
246
c039f68 @savetheclocktower Selector.patterns should be represented as an ordered structure. [#31…
savetheclocktower authored
247 * Selector.patterns should be represented as an ordered structure. (ADO, kangax)
248
535d4e6 @tobie function.js rewrite.
tobie authored
249 * Performance improvements in Function methods (Samuel Lebeau, kangax, jddalton, Tobie Langel).
250
34ee207 @tobie Bump version number to 1.6.0.3.
tobie authored
251 *1.6.0.3* (September 29, 2008)
252
413d2fd @tobie Add support for the Chrome browser in jstest.rb.
tobie authored
253 * Add support for the Chrome browser in jstest.rb. (Andrew Dupont)
254
deb47c6 @madrobby Workaround a JavaScript exception in Opera.
madrobby authored
255 * Workaround a JavaScript exception in Opera. (Thomas Fuchs)
256
289c87d @tobie Cosmetic changes to CHANGELOG.
tobie authored
257 * Improve NodeList detection for Safari's $A function. (Garrett Smith, jddalton)
b7af8a7 @savetheclocktower Improve NodeList detection for Safari's $A function. [#187 state:reso…
savetheclocktower authored
258
289c87d @tobie Cosmetic changes to CHANGELOG.
tobie authored
259 * Use different tactic to sniff for Opera in order to avoid false positives in IE. (Tobie Langel, jddalton)
5ddfad8 @savetheclocktower Use different tactic to sniff for Opera in order to avoid false posit…
savetheclocktower authored
260
7444a4a @savetheclocktower Rename variable in Form.Element.Serializers.select. [#180 state:resol…
savetheclocktower authored
261 * Rename variable in Form.Element.Serializers.select. (jddalton)
262
263 * Coerce Opera's version string into a number whenever we need to sniff. (Sam Holman, jddalton)
6c6f8d3 @savetheclocktower Coerce Opera's version string into a number whenever we need to sniff…
savetheclocktower authored
264
d88c25f @savetheclocktower Ensure Object.isElement handles "falsy" values properly.
savetheclocktower authored
265 * Ensure Object.isElement handles "falsy" values properly. (kangax)
266
c01d1a2 @tobie Fix exiting test task on INT signal.
tobie authored
267 * Fix exiting test task on INT signal. (Samuel Lebeau)
268
32628d4 @tobie Fix unit test freeze in IE.
tobie authored
269 * Fix unit test freeze in IE. (Tobie Langel)
270
b31f642 @savetheclocktower Ensure Hash does not return keys from the prototype chain (e.g., cons…
savetheclocktower authored
271 * Ensure Hash does not return keys from the prototype chain (e.g., constructor, valueOf, toString). (kangax)
272
64002a9 @savetheclocktower Fix toString/valueOf sharing same method reference via closure in Cla…
savetheclocktower authored
273 * Fix toString/valueOf sharing same method reference via closure in Class#addMethods. Use plain property assignment, since Object.extend fails to enumerate over toString/valueOf. (kangax)
274
b49c572 @savetheclocktower Stop Form.Element.disable from stealing focus.
savetheclocktower authored
275 * Stop Form.Element.disable from stealing focus. (jddalton)
276
6004aa8 @tobie Ensure Element.hide and Element.show return an element, even if you p…
tobie authored
277 * Ensure Element.hide and Element.show return an element, even if you pass an element ID. (Andrew Dupont)
278
ae707f4 @tobie Fix an issue where Element#getStyle('height') returns null if the hei…
tobie authored
279 * Fix an issue where Element#getStyle('height') returns null if the height is set to "auto." (kangax, jddalton)
280
919b952 @tobie Add unit tests for Element#descendantOf.
tobie authored
281 * Add unit tests for Element#descendantOf. (jddalton)
282
6847d27 @tobie Form#serializeElements should not serialize file inputs.
tobie authored
283 * Form#serializeElements should not serialize file inputs. (kangax, Lonesome Boy)
284
9787801 @savetheclocktower Fix an issue with calling Event.pointer before the DOM is loaded. (ka…
savetheclocktower authored
285 * Fix an issue with calling Event.pointer before the DOM is loaded. (kangax, jddalton) [#4 state:resolved]
286
b4ea2ab @tobie Element#down on an input element should not raise error.
tobie authored
287 * Element#down on an input element should not raise error. (humeniuc, kangax)
b628c6d @tobie Avoid potential memory leaks in Firefox. [#12 state:resolved]
tobie authored
288
fecdee6 @tobie More unit tests for Object.isHash.
tobie authored
289 * More unit tests for Object.isHash. (Tobie Langel)
290
206a4c8 @tobie Allow Function#argumentNames to handle line breaks between arguments.
tobie authored
291 * Allow Function#argumentNames to handle line breaks between arguments. (Geoff M. Granum, Tobie Langel) [#63 state:resolved]
292
55af63f @madrobby For consistency, add additional optional parameter "context" to Numbe…
madrobby authored
293 * For consistency, add additional optional parameter "context" to Number.prototype.times. (Samuel Lebeau)
294
9c8d9d8 @tobie Replace all instances of foo.__proto__ by foo['__proto__'] for Caja-c…
tobie authored
295 * Replace all instances of foo.__proto__ by foo['__proto__'] for Caja-compliance. (Tobie Langel)
296
d1d2c35 @tobie Fix typo.
tobie authored
297 * Speed up Function#argumentNames. Avoid Enum dependency. (Samuel Lebeau, Tobie Langel)
de5cc4a @tobie Speed up Function#argumentNames. Avoid Enum dependency.
tobie authored
298
b75bc18 Fix Event#element accessing nonexistent tagName property (e.g. when e…
kangax authored
299 * Fix Event#element accessing inexistent tagName property (e.g. when element is a document). (kangax)
300
2c03d1a @savetheclocktower Amended failing Element#identify test.
savetheclocktower authored
301 * Amended failing Element#identify test.
302
ae24df9 @tobie update changelog.
tobie authored
303 * Refactor unit tests. Unit tests are now dynamically generated from a JavaScript test file and optional HTML, JS and CSS fixtures. [Tobie Langel]
304
d13a938 @savetheclocktower Fix issue where Safari improperly reports an element as a descendant …
savetheclocktower authored
305 * Fix issue where Safari improperly reports an element as a descendant of itself.
306
a3f7b71 @savetheclocktower Greatly simplify IE's implementation of Element#descendantOf.
savetheclocktower authored
307 * Greatly simplify IE's implementation of Element#descendantOf.
308
35a7071 @savetheclocktower Prevent exception when using Selector to search for an attribute that…
savetheclocktower authored
309 * Prevent exception when using Selector to search for an attribute that is not present. [gryn, Andrew Dupont]
310
55e5d64 @savetheclocktower Fix issues where Firefox improperly returns the wrong node from a cal…
savetheclocktower authored
311 * Fix issues where Firefox improperly returns the wrong node from a call to Event.element. Also fixes possible exception in Event.element in IE. [jdalton, Andrew Dupont]
312
313 * Fix issue where Safari 3 deletes custom properties from the document object when the page is returned to via the back button. [mzsanford, kangax, Andrew Dupont]
314
03c1530 @savetheclocktower Integrate support for the W3C Selectors API into the Selector class. …
savetheclocktower authored
315 * Integrate support for the W3C Selectors API into the Selector class. Will now use the API when possible (browser supports the API *and* recognizes the given selector). Means minor changes to the semantics of :enabled, :disabled, and :empty in order to comply with CSS spec.
316
855e273 @tobie prototype: Avoid re-extending element in Element#getDimensions.
tobie authored
317 * Avoid re-extending element in Element#getDimensions. [kangax]
318
598387f @tobie prototype: Prevent Hash#toQueryString from serializing objets.
tobie authored
319 * Prevent Hash#toQueryString from serializing objets. [kangax, Tobie Langel]
320
32b1b6b @tobie prototype: Fix Event#pointer in IE standard mode. Closes #9920.
tobie authored
321 * Fix Event#pointer in IE standard mode. Closes #9920. [kangax, Tobie Langel]
322
78c4b99 @tobie prototype: Instanciate Test.Unit.Logger on window load.
tobie authored
323 * Instanciate Test.Unit.Logger on window load. [Tobie Langel]
324
325 * Unit tests clean-up. [Tobie Langel]
326
6bae548 @tobie prototype: Refactor String#escapeHTML to avoid using the with statement.
tobie authored
327 * Refactor String#escapeHTML to avoid using the `with` statement. [Tobie Langel]
328
c01cb85 @tobie prototype: Remove usage of the statement from unit tests.
tobie authored
329 * Remove usage of the `with` statement from unit tests. [Tobie Langel]
330
87ce153 @tobie prototype: Complete rewrite of the deprecation helper.
tobie authored
331 * Complete rewrite of the deprecation helper, now renamed UpdateHelper and useable by third-party libs. [Tobie Langel]
332
addfdef @tobie prototype: Make Element#writeAttribute handle frameborder attribute i…
tobie authored
333 * Make Element#writeAttribute handle frameborder attribute in IE. Closes #11068. [staaky, Tobie Langel]
334
359e881 @tobie prototype: Minor clean-up of selector.js. Closes #10844.
tobie authored
335 * Minor clean-up of selector.js. Closes #10844. [RQuadling]
336
c7e0a3d @tobie prototype: Make String#unescapeHTML strip tags in IE. Closes #10173.
tobie authored
337 * Make String#unescapeHTML strip tags in IE. Closes #10173. [kangax]
338
bfee207 @tobie prototype: Stop form observers in unit tests. Closes #10938.
tobie authored
339 * Stop form observers in unit tests. Closes #10938. [kangax]
340
5a50e4d @tobie prototype: Performance improvements for Enumerables. Closes #11264.
tobie authored
341 * Performance improvements for Enumerables. Closes #11264. [Ben, Samuel Lebeau]
342
fffb3c1 @tobie prototype: mark Hash.toJSON() as removed.
tobie authored
343 * deprecation extension: mark Hash.toJSON() as removed. [Tobie Langel]
344
088c049 @tobie prototype: improvements to deprecation.js.
tobie authored
345 * deprecation extension: mark Class.create() used without arguments as deprecated. [Tobie Langel]
346
347 * deprecation extension: mark Event.unloadCache as removed rather than deprecated. [Tobie Langel]
348
349 * deprecation extension: log everything *but* deprecations with console.error. [Tobie Langel]
350
54a2084 @savetheclocktower Change deprecation extension to use Firebug's console.warn and consol…
savetheclocktower authored
351 * Change deprecation extension to use Firebug's console.warn and console.error. [Andrew Dupont, Tobie Langel]
352
93d359f @tobie prototype fix a typo.
tobie authored
353 * Make tagName comparisons XHTML-compliant. Closes #11012, #11013, #11014. [cfis, Tobie Langel]
5630369 @tobie prototype: Make Prototype tagName comparisons XHTML-compliant. Closes…
tobie authored
354
7821b98 @tobie prototype: Avoid breaking Element.prototype in browsers which support…
tobie authored
355 * Avoid breaking Element.prototype in browsers which support it. Closes #11004. [cfis, Tobie Langel]
356
2830ac2 @tobie prototype: Prevent Element#cumulativeOffset, Element#getOffsetParent,…
tobie authored
357 * Prevent Element#cumulativeOffset, Element#getOffsetParent, Element#positionedOffset, Element#viewportOffset and Element#clonePosition from throwing an error in IE when called on a parent-less element. Closes #9416, #10192, #10248. [ronstoney, psiborg, kangax]
358
d770a6c @tobie prototype: Prevent Enumerable#eachSlice from entering into an endless…
tobie authored
359 * Prevent Enumerable#eachSlice from entering into an endless loop if passed an argument smaller than 1. Closes #10665. [kangax, Tobie Langel]
360
f4d6835 @tobie prototype: Allow Selector to correctly detect the presence of namespa…
tobie authored
361 * Allow Selector to correctly detect the presence of namespaced attributes. Closes #10987. [Samuel Lebeau, Tobie Langel]
362
ea9d81e @tobie prototype: Make Element#absolutize and Element#relativize always retu…
tobie authored
363 * Make Element#absolutize and Element#relativize always return element. Closes #10983. [kangax]
364
ed14693 @tobie prototype: Add deprecation extension.
tobie authored
365 * Add deprecation extension. [Tobie Langel]
366
2827428 @sstephenson prototype: Prepare for 1.6.0.2 release
authored
367 *1.6.0.2* (January 25, 2008)
cc69b9c @tobie prototype: Add a description to :test and :dist rake tasks.
tobie authored
368
765cba2 @sstephenson prototype: Update the list of officially supported browsers in the RE…
authored
369 * Update the list of officially supported browsers in the README. [sam]
370
25f1a4f @savetheclocktower Forgot the CHANGELOG on the last commit.
savetheclocktower authored
371 * Add tests for Element#descendantOf that deal with dynamically-created elements. [Andrew Dupont]
372
c24a390 @savetheclocktower Ensure positionedOffset properly considers "position: fixed" elements…
savetheclocktower authored
373 * Ensure positionedOffset properly considers "position: fixed" elements. Also ensures IE reports offsets correctly by triggering hasLayout when a "static" element has a "fixed" element as an offset parent. Closes #10644. [heygrady, kangax, Andrew Dupont]
374
ffa0d09 @savetheclocktower Roll back the fix for #9609, since it does not work in Opera. Instead…
savetheclocktower authored
375 * Roll back the fix for #9609, since it does not work in Opera. Instead, avoid using "valueOf" or "toString" as field names in forms.
376
a1ec25c @savetheclocktower Prevent DOM node expandos _countedByPrototype and _prototypeEventID f…
savetheclocktower authored
377 * Prevent DOM node expandos _countedByPrototype and _prototypeEventID from being serialized into (inner|outer)HTML in IE. Closes #10909. [dcpedit, Tobie Langel, Andrew Dupont]
378
794457d @tobie Make Ajax.Request#isSameOrigin JavaScript Lint compliant. Backport fi…
tobie authored
379 * Make Ajax.Request#isSameOrigin JavaScript Lint compliant. [Andrew Dupont]
380
0f97f4c @savetheclocktower Properly serialize form fields with names that collide with built-in …
savetheclocktower authored
381 * Properly serialize form fields with names that collide with built-in JS properties (like "length" or "toString"). Closes #9609. [gryn, kangax]
382
17cd2f9 @tobie prototype: Make Object.isArray correctly identify arrays created in a…
tobie authored
383 * Make Object.isArray correctly identify arrays created in another frame. Closes #10374. [pointy, Dean Edwards, Andrew Dupont, Tobie Langel]
384
7942a9e @savetheclocktower Fixed issue where Element#match failed on attribute selectors with si…
savetheclocktower authored
385 * Fixed issue where Element#match failed on attribute selectors with single or double quotes. Closes #10067. [Cezary Okupski, Andrew Dupont]
386
a5fe12b @tobie prototype: Add tests for Element#match.
tobie authored
387 * Add tests for Element#match. [Tobie Langel]
388
b26f4e3 @tobie prototype: Fix Element#writeAttribute to work with 'cellspacing' and …
tobie authored
389 * Fix Element#writeAttribute to work with 'cellspacing' and 'cellpadding' attributes in IE. Closes #9983. [/dev/urandom, Tobie Langel]
390
02cc999 @tobie prototype: Prevent a potential security issue for cross-site ajax req…
tobie authored
391 * Prevent a potential security issue for cross-site ajax requests. [Alexey Feldgendler, sam, Tobie Langel]
392
dcada47 @tobie prototype: Test for attribute existence before applying more complex …
tobie authored
393 * Test for attribute existence before applying more complex CSS3 selectors. Closes #10870. [arty, Tobie Langel]
394
395 * Fix "function $A" declaration inside of a conditional (confuses IE). Closes #10882. [Jacco, Andrew Dupont]
c200c27 @savetheclocktower Fix "function $A" declaration inside of a conditional (confuses IE). …
savetheclocktower authored
396
c67fe0b @savetheclocktower Fixed selector parsing so that "#foo [bar=baz]" is treated the same w…
savetheclocktower authored
397 * Fixed selector parsing so that "#foo [bar=baz]" is treated the same way as "#foo *[bar=baz]". Closes #10734. [jlukas, kangax, Andrew Dupont]
398
89cbe08 @savetheclocktower Fix Element#descendantOf logic in IE. Closes #10413. [martymix, kamil…
savetheclocktower authored
399 * Fix Element#descendantOf logic in IE. Closes #10413. [martymix, kamil.szot]
400
7052c5a @tobie prototype: Fix missing var in Element#insert. Closes #10838.
tobie authored
401 * Fix missing "var" in Element#insert. Closes #10838. [Lantash]
402
584acba @tobie prototype: Add Test.Unit.MessageTemplate class. Add flunk, buildMessa…
tobie authored
403 * Add Test.Unit.MessageTemplate class. Add flunk, buildMessage and assertBlock methods to Test.Unit.Assertions. Refactor accordingly. [Tobie Langel]
404
7cd956d @tobie prototype: Remove useless binding in Template#evaluate.
tobie authored
405 * Remove useless binding in Template#evaluate. [Tobie Langel]
406
ac48714 @tobie prototype: Make Object.inspect more robust.
tobie authored
407 * Make Object.inspect more robust. [Tobie Langel]
408
cc69b9c @tobie prototype: Add a description to :test and :dist rake tasks.
tobie authored
409 * Add a description to :test and :dist rake tasks. [Christoph Sturm]
410
a246e77 @tobie prototype: Fix Selector.matchElements to allow for coma-separated sel…
tobie authored
411 * Fix Selector.matchElements to allow for coma-separated selectors in Element#up/next/previous and Event#findElement. [Samuel Lebeau, Tobie Langel]
5a37860 @tobie prototype: Ensure creates an empty array when its argument's length …
tobie authored
412
0008fe4 @tobie prototype: Test.Unit refactoring. Allow running multiple instances of…
tobie authored
413 * Test.Unit refactoring. Allow running multiple instances of Test.Unit.Runner on the same page. Allow rake to run specific testcases (e.g.: rake test BROWSERS=firefox TESTS=array TESTCASES=testUniq,test$w). Closes #10704, #10705, #10706. [nicwilliams, Tobie Langel]
414
7c86e29 @tobie prototype: Optimize property detection of outerHTML. Avoids triggerin…
tobie authored
415 * Optimize property detection of outerHTML. Avoids triggering FOUC in Safari 3.0.4. Closes #10702. [subimage, Tobie Langel]
416
6f0def1 @tobie prototype: Add document.loaded, a boolean that is set to true once do…
tobie authored
417 * Add document.loaded, a boolean that is set to true once dom:loaded is fired. Setting document.loaded to true before the document is loaded prevents dom:loaded from being fired. [Tobie Langel]
418
b4735bc @tobie prototype: Make Element#insert standard-compliant. Fixes an issue in …
tobie authored
419 * Make Element#insert standard-compliant. Fixes an issue in FF3b2 when inserting HTML or text inside DOM nodes which aren't (yet) appended to the document. [Tobie Langel]
420
f553d22 @tobie prototype: Add some missing semicolons to the source tree. Closes #1…
tobie authored
421 * Add some missing semicolons to the source tree. Closes #10659. [Richard Quadling]
422
c9a0757 @tobie prototype: Ensure Ajax.Response#getHeader returns null for missing he…
tobie authored
423 * Ensure Ajax.Response#getHeader returns null for missing headers in Opera. [Tobie Langel]
424
143b13d @tobie prototype: Allow WEBrick to simulate slow or dropped connections and …
tobie authored
425 * Allow WEBrick to simulate slow or dropped connections and to ease Ajax request inspection. [Tobie Langel]
426
f0d54a4 @tobie prototype: Ensure Ajax.Response#getHeader returns null for missing he…
tobie authored
427 * Ensure Ajax.Response#getHeader returns null for missing headers. [Tobie Langel]
428
5a37860 @tobie prototype: Ensure creates an empty array when its argument's length …
tobie authored
429 * Ensure $A creates an empty array when its argument's length is undefined. Closes #10574. [henryju, Tobie Langel]
430
23f7cb6 @tobie prototype: Fix incorrect variable declaration in Event.fire. Closes #…
tobie authored
431 * Fix incorrect variable declaration in Event.fire. Closes #10329. [rubley]
6f0e0ad @savetheclocktower Handle case-sensitivity in Selector tag names better. Closes #5052. […
savetheclocktower authored
432
c691de7 @savetheclocktower Fix the way Selector handles [pseudoclass + combinator] with no space…
savetheclocktower authored
433 * Fix the way Selector handles [pseudoclass + combinator] with no space in between. Closes #9696. [kangax, fearphage, Andrew Dupont]
434
0549952 @savetheclocktower I suppose we owe it to our contributors to spell their names right.
savetheclocktower authored
435 * Optimize Element#up/down/next/previous. Closes #10353. [Dylan Bruzenak, Nick Stakenburg, Andrew Dupont]
cb23962 @savetheclocktower Optimize Element#up/down/next/previous. Closes #10353. [Dylan Bruzena…
savetheclocktower authored
436
6f0e0ad @savetheclocktower Handle case-sensitivity in Selector tag names better. Closes #5052. […
savetheclocktower authored
437 * Handle case-sensitivity in Selector tag names better. Closes #5052. [mexx, Andrew Dupont]
438
804b99f @sstephenson prototype: Bump to 1.6.0.1
authored
439 *1.6.0.1* (December 4, 2007)
769ae42 @sstephenson prototype: Ensure that an Ajax.Request's parameters option can be a H…
authored
440
0549952 @savetheclocktower I suppose we owe it to our contributors to spell their names right.
savetheclocktower authored
441 * Change document.viewport.getDimensions to exclude scrollbars in all cases. Closes #10148, #9288. [Nick Stakenburg]
4d3ebf0 @savetheclocktower Change document.viewport.getDimensions to exclude scrollbars in all c…
savetheclocktower authored
442
ae76169 @savetheclocktower Add logic to Element#getStyle in Opera that fixes inaccurate reportin…
savetheclocktower authored
443 * Add logic to Element#getStyle in Opera that fixes inaccurate reporting of computed 'width' and 'height' properties. [Andrew Dupont]
444
769ae42 @sstephenson prototype: Ensure that an Ajax.Request's parameters option can be a H…
authored
445 * Ensure that an Ajax.Request's parameters option can be a Hash. Closes #10172. [kangax, sam]
446
c852854 @savetheclocktower * Ensure no comment nodes are returned in Selector queries (IE improp…
savetheclocktower authored
447 * Ensure no comment nodes are returned in Selector queries (IE improperly returns comment nodes on getElementsByTagName("*")). Change Element#descendants to use Element#getElementsBySelector in order to avoid this issue. Closes #10220. [Jeff Gobel, Andrew Dupont]
448
b01903d @savetheclocktower * Re-enable the XPath approach in Selector for Safari 3. Falls back t…
savetheclocktower authored
449 * Re-enable the XPath approach in Selector for Safari 3. Falls back to the non-XPath version when it sees a problematic token. [Andrew Dupont]
450
26b8033 @savetheclocktower * Fix a bug in the IE-specific Element#descendantOf logic. [Nicholas,…
savetheclocktower authored
451 * Fix a bug in the IE-specific Element#descendantOf logic. [Nicholas, Andrew Dupont]
452
2382304 @tobie prototype: Prevent memory leaks in Ajax.PeriodicalUpdater. Closes #10049
tobie authored
453 * Make Ajax.Updater clone its options hash before modifying it. Prevents memory leaks in Ajax.PeriodicalUpdater. Closes #10049 [Mislav Marohnić, Tobie Langel].
454
c371096 @tobie prototype: Remove useless variable in Selector.handlers.child. Closes…
tobie authored
455 * Remove useless variable in Selector.handlers.child. Closes #10006 [kuriyama]
456
d20cc77 @tobie prototype: Don't redeclare previously declared variables. Closes #10007
tobie authored
457 * Don't redeclare previously declared variables. Closes #10007 [kuriyama]
458
07a1646 @tobie prototype: use Object.isUndefined where possible.
tobie authored
459 * For consistency: use Object.isUndefined where possible. [Tobie Langel]
460
b058e24 @tobie prototype: Make String#isJSON return false for empty or blank strings…
tobie authored
461 * Make String#isJSON return false for empty or blank strings. Make Ajax.Response#responseJSON null when Ajax.Response#responseText is empty or blank. [Andrew Dupont, Thomas Fuchs, Tobie Langel]
462
f8ffe7b @tobie prototype: Make Ajax.Response#_getResponseJSON use Ajax.Response#resp…
tobie authored
463 * Make Ajax.Response#_getResponseJSON use Ajax.Response#responseText. [Tobie Langel]
464
74c005c @tobie prototype: Remove the now redundant forked declaration of Hash#_each.
tobie authored
465 * Remove the forked declaration of Hash#_each. As we are now systematically cloning the object upon instantiation, preventing iteration of shadowed properties is no longer required. [Tobie Langel]
466
0b6a6e2 @tobie prototype: Ensure Event#fire always returns an extended event. Make E…
tobie authored
467 * Performance optimizations for Event#findElement. Make Event#findElement's expression argument optional, in which case the extended target element is returned (same as Event#element). [Tobie Langel]
468
469 * Ensure Event#fire always returns an extended event. [Tobie Langel]
470
5ad3bad @sstephenson prototype: Version bump
authored
471 *1.6.0* (November 6, 2007)
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
authored
472
9b78edb @sstephenson prototype: Fix Class#addMethods for "toString" and "valueOf" methods …
authored
473 * Fix Class#addMethods for "toString" and "valueOf" methods in Internet Explorer. Closes #9901. [sam]
474
b14c9af @savetheclocktower Exclude Opera from using the sourceIndex approach in Element#descenda…
savetheclocktower authored
475 * Exclude Opera from using the sourceIndex approach in Element#descendantOf. [Tobie Langel, Andrew Dupont]
476
d6b843c @tobie Ensure Element#hasClassName always returns a boolean. Closes #10075.
tobie authored
477 * Ensure Element#hasClassName always returns a boolean. Closes #10075. [ronnylovtangen, Tobie Langel]
478
8cd85d1 @savetheclocktower Ensure selectors of the form "[href]" (attribute token with no preced…
savetheclocktower authored
479 * Ensure selectors of the form "[href]" (attribute token with no preceding tag name) work properly. Closes #8870. [chao, kangax, Andrew Dupont]
480
7cf17c7 @savetheclocktower Performance optimizations for Element#descendantOf. Costliness should…
savetheclocktower authored
481 * Performance optimizations for Element#descendantOf. Costliness should no longer be dependent on the difference in depth between the parent and the child. [Andrew Dupont]
482
916cbba @madrobby Apply the workaround for the Firefox "blinking element" opacity=1 bug…
madrobby authored
483 * Apply the workaround for the Firefox "blinking element" opacity=1 bug only to Firefox 1.5. [Thomas Fuchs]
484
bb66a5e @savetheclocktower Changelog entry for [8037].
savetheclocktower authored
485 * Add event.stopped, a boolean that is set to `true` when Event#stop is called. [Andrew Dupont, sam]
486
18969c5 @sstephenson prototype: Reset the browser's dimensions to their original settings …
authored
487 * Reset the browser's dimensions to their original settings after running the DOM viewport tests. [sam]
488
1c5e3fe @sstephenson prototype: Fix the test runner for Firefox in Leopard.
authored
489 * Fix the test runner for Firefox in Leopard. [sam]
490
4dece6b @tobie Use String#include wherever possible.
tobie authored
491 * Use String#include wherever possible.
492
16127b0 @tobie prototype: In IE, allow opacity to be set on elements not yet attache…
tobie authored
493 * In IE, allow opacity to be set on elements not yet attached to the document. Closes #9904. [Thomas Fuchs, dcpedit, Tobie Langel]
494
f870fba @tobie prototype: Avoid the try..catch block in Ajax.Response#_getResponseJS…
tobie authored
495 * Avoid the try..catch block in Ajax.Response#_getResponseJSON unless required. [Tobie Langel]
496
0100aee @tobie prototype: Add more tests to Element.update.
tobie authored
497 * Add more tests to Element.update. Closes #9327. [Tobie Langel]
498
44c9d89 @tobie prototype: Make the Ajax.Response#headerJSON property correctly decod…
tobie authored
499 * Make the Ajax.Response#headerJSON property correctly decode unicode characters. Closes #9285. [Marius Feraru, Tobie Langel]
500
827c8c6 @tobie prototype: Prevent a Firefox bug from throwing errors on page load/un…
tobie authored
501 * Make sure Event and Event.extend are defined before wrapping events and calling their handler. Prevents a known Firefox bug from throwing errors on page load/unload (cf.: https://bugzilla.mozilla.org/show_bug.cgi?id=361271). Closes #5393, #9421. [staaky, John Resig, sam, Tobie Langel]
502
ba96fa7 @tobie prototype: Minor cosmetic changes to the display of unit tests in ter…
tobie authored
503 * Minor cosmetic changes to the display of unit tests in terminal. [Tobie Langel]
504
29c0de6 @tobie prototype: Make submitting forms work in Opera < 9.1.
tobie authored
505 * Make submitting forms work in Opera < 9.1. Closes #9917, #9463, #8260. [kangax]
506
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
authored
507 * Fix template evaluation with empty replacements. Closes #9692. [Ryan McGeary]
e9e1a67 @sstephenson prototype: trunk is now 1.5.2_pre0
authored
508
8327ffd @sstephenson prototype: Hash#toTemplateReplacements is an alias for Hash#toObject …
authored
509 * Hash#toTemplateReplacements is an alias for Hash#toObject so you can once again pass hashes to Template#evaluate and String#interpolate. [sam]
510
d114e76 @sstephenson prototype: Fix Event#is(Left|Middle|Right)Click in IE. Closes #7520.
authored
511 * Fix Event#is(Left|Middle|Right)Click in IE. Closes #7520 (again). [Mislav Marohnić]
512
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
authored
513 *1.6.0_rc1* (October 16, 2007)
514
aada1ab @savetheclocktower * Ensure Event.* generic methods work in IE, even when the event is n…
savetheclocktower authored
515 * Ensure Event.* generic methods work in IE, even when the event is not extended. [Viktor Kojouharov, Andrew Dupont]
516
bfd5353 @sstephenson prototype: Don't translate "keypress" events into "keydown" events.
authored
517 * Don't translate "keypress" events into "keydown" events. [sam]
518 Note: "keypress" is broken in Safari <= 2.x, but Event#stop has no effect on "keydown" events.
519
8d3d6cd @savetheclocktower * Changed Element#makeClipping to remember the original overflow valu…
savetheclocktower authored
520 * Changed Element#makeClipping to remember the original overflow value, even if it's a non-inline style. [Andrew Dupont]
521
3dd7bd5 @sstephenson prototype: Cross-browser Event#isLeftClick with the addition of is(Mi…
authored
522 * Cross-browser Event#isLeftClick with the addition of is(Middle|Right)Click. Closes #7520. [Christophe Porteneuve, Richard Quadling, Mislav Marohnić]
523
6cd34be @savetheclocktower * Change Selector to use the non-XPath approach for Safari 3 because …
savetheclocktower authored
524 * Changed Selector to use the non-XPath approach for Safari 3 because of bugs in its version of document.evaluate. [Andrew Dupont]
525
0dd4ba7 @savetheclocktower * Changed the Selector regex that tests whether the selector can be e…
savetheclocktower authored
526 * Changed the Selector regex that tests whether the selector can be expressed in XPath; added :checked, since XPath can't detect all scenarios in which an <input> is checked. Fixes #9776. [StelardActek, kangax, Andrew Dupont]
527
528 * Changed Selector pattern match so that descendant combinators after pseudoclass tokens are properly handled. Fixes #9696. [wiktor, kangax, Andrew Dupont]
88f8d3b @savetheclocktower * Changed Selector pattern match so that descendant combinators after…
savetheclocktower authored
529
865ac01 @tobie prototype: Make sure $w always returns an array.
tobie authored
530 * Make sure $w always returns an array. [Andrew Dupont, Tobie Langel]
531
0632778 @tobie Add more tests to Hash.
tobie authored
532 * Add more tests to Hash. [Mislav Marohnić]
533
941359b @tobie Performance enhancements to . Closes #9464
tobie authored
534 * Performance enhancements to $A. Closes #9464. [Samuel Lebeau]
535
7dda50a @tobie Make Function#argumentNames work with named functions. Closes #9826
tobie authored
536 * Make Function#argumentNames work with named functions. Closes #9826. [Samuel Lebeau]
537
96af1b7 @tobie Add Object.isHash.
tobie authored
538 * Add Object.isHash. [Tobie Langel]
539
d195111 @tobie Performance improvements to String#times.
tobie authored
540 * Performance improvements to String#times. [Martin Ström]
541
db371dd @tobie Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON ps…
tobie authored
542 * Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON pseudo private instance methods. [Tobie Langel]
543
e7bb042 @tobie Make ObjectRange use the new Class.create syntax.
tobie authored
544 * Make ObjectRange use the new Class.create syntax. [Mislav Marohnić]
545
546 * Fix a failing ClassCreate test case in IE. [Tobie Langel]
547
d25b863 @tobie Complete rewrite of the Hash class.
tobie authored
548 * Complete rewrite of the Hash class.
549
550 !! BACKWARDS COMPATIBILITY CHANGE !! This new version of Hash is NOT backwards compatible with the former Hash class.
551
552 Properties are now hidden away in an private store to prevent the risk of collision with Hash's instance and mixed-in methods.
553 This implies that properties of the hash can no longer be set, accessed or deleted directly: use the new Hash#get(key), Hash#set(key, value) and Hash#unset(key) instance methods instead.
554
555 - Make $H(object) equivalent to new Hash(object). Both now return a new (cloned) instance of Hash in all circumstances.
556 - Make Hash#merge non-destructive.
557
558 - Add Hash#update (a destructive version of Hash#merge).
559 - Add Hash#clone (returns a new, cloned instance of Hash).
560 - Add Hash#toObject (returns a clone of the contained object).
561 - Add Hash#get(key) (returns the value of the specified property).
562 - Add Hash#set(key, value) (sets the value of the given property. returns the value).
563 - Add Hash#unset(key) (deletes the specified property and returns its value).
564 - Add Hash.from as a alias to $H for consistency with Array.from.
565 - Add Object.toQueryString.
566
567 - Deprecate Hash.toQueryString (use Object.toQueryString or the instance method Hash#toQueryString instead).
568
569 - Remove Hash#remove (use Hash#unset instead).
570 - Remove Hash.toJSON (use Object.toJSON or the instance method Hash#toJSON instead). [sam, Tobie Langel]
571
4607e29 @sstephenson prototype: Element#wrap now returns the wrapper instead of the elemen…
authored
572 * Element#wrap now returns the wrapper instead of the element being wrapped. [sam]
573
115d3e4 @sstephenson prototype: Namespace all custom event names to avoid conflicts with n…
authored
574 * Namespace all custom event names to avoid conflicts with native DOM events. [sam]
575 - All custom event names MUST include a namespace. Prefix custom event names for observe, stopObserving, and fire with the namespace followed by a colon. E.g. document.fire("widget:activated")
576 - The "contentloaded" event is now "dom:loaded".
577 - The Event.DOMEvents array is no longer present. If an event name does not include a namespace, the event is treated as a native event.
578
c35598c @sstephenson prototype: Clean up the new class API.
authored
579 * Clean up the new class API. [sam, Tobie Langel]
580 - Add Class#addMethods for adding instance methods to classes.
581 - Remove Class.extend and Class.mixin.
582 - Class.create now takes a variable number of arguments: if the first argument is a class, the newly created class inherits from that class; all other arguments are treated as successive calls to addMethods.
583
8ca43a5 @sstephenson prototype: Fix contentloaded event initialization in IE. Closes #945…
authored
584 * Fix contentloaded event initialization in IE. Closes #9457, #9488, #9707. [Mislav Marohnić]
585
c904fe7 @sstephenson prototype: Deprecate document.getElementsByClassName and Element#getE…
authored
586 * Deprecate document.getElementsByClassName and Element#getElementsByClassName since native versions return a NodeList and we can only return an Array. Please use $$ or Element#select instead. [sam]
587 For more information see https://bugzilla.mozilla.org/show_bug.cgi?id=390411
588
cf88669 @sstephenson prototype: Fix missing "var" in selector.js. Closes #9761.
authored
589 * Fix missing "var" in selector.js. Closes #9761. [Tobie Langel]
590
4b1fb7e @sstephenson prototype: Date#toJSON now returns times in UTC for better compatibil…
authored
591 * Date#toJSON now returns times in UTC for better compatibility with json.js. Closes #9332. [Tobie Langel]
592
8cf1f89 @sstephenson prototype: Ensure document._getElementsByXPath extends the elements i…
authored
593 * Ensure document._getElementsByXPath extends the elements it returns; fixes $$ not returning extended elements in Opera 9.2. Closes #8843. [jdalton]
594
595 * Update Prototype.Browser.MobileSafari for iPod touch compatibility. [sam]
596
746a905 @madrobby Add tests for Object.extend and Object.clone.
madrobby authored
597 * Add tests for Object.extend and Object.clone. [Tobie Langel]
598
cca235b @madrobby Prototype: Add a test for Form.Observer.
madrobby authored
599 * Add a test for Form.Observer. [Christoph Sturm]
600
6c94af7 @madrobby Make sure setting opacity works on elements that have "no layout" in IE.
madrobby authored
601 * Make sure setting opacity works on elements that have "no layout" in IE. [Thomas Fuchs]
602
6ed9095 @sstephenson prototype: Simplify Class.create by establishing a prototype chain wh…
authored
603 * Simplify Class.create by establishing a prototype chain when subclassing. Closes #9342. [Ben Newman]
604
5d3fd6f @sstephenson prototype: Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Res…
authored
605 * Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Response. Closes #9321. [kampers]
606
001b548 @sstephenson prototype: Ensure that classes always have an initialize method.
authored
607 * Ensure that classes always have an initialize method. [Mislav Marohnić]
608
6086db4 @sstephenson prototype: Update Template, Selector, Ajax.*, and ObjectRange classes…
authored
609 * Update Template, Selector, Ajax.*, and ObjectRange classes to use the new class system. [Mislav Marohnić]
610
75b3f3c @sstephenson prototype: Change Abstract.TimedObserver to subclass PeriodicalExecut…
authored
611 * Change Abstract.TimedObserver to subclass PeriodicalExecuter and tweak its subclasses to use new inheritance functionality. TimedObserver can now be stopped the same way as PeriodicalExecuter. Closes #8589. [Mislav Marohnić]
612
bfba40e @sstephenson prototype: Fix Class.mixin to extend the class's prototype.
authored
613 * Fix Class.mixin to extend the class's prototype. [Mislav Marohnić]
614
b923d6d @sstephenson prototype: Fix superclass method call breakage from [7337].
authored
615 * Fix superclass method call breakage from [7337]. [Mislav Marohnić, sam]
616
702d968 @sstephenson prototype: Change Class.extend to allow for superclass method resolut…
authored
617 * Change Class.extend to allow for superclass method resolution and remove Class.inherit. Closes #9274. [Samuel Lebeau]
618
b2f884b @sstephenson prototype: Event handlers are now bound to the observed element, not …
authored
619 * Event handlers are now bound to the observed element, not the event's target element. [Dan Webb]
620
aa1a7f5 @madrobby prototype: Define Node constants conditionally after checking for Nod…
madrobby authored
621 * Define Node constants conditionally after checking for Node.ELEMENT_NODE presence. Add unit test to check the values of all constants. Closes #7625. [Mislav Marohnić]
622
194fda0 @madrobby prototype: Make sure Enumerable#include doesnt do type comparision. …
madrobby authored
623 * Make sure Enumerable#include doesn't do type comparision. [Mislav Marohnić]
624
f86ac77 @madrobby Prototype: Add contextmenu to Event.DOMEvents.
madrobby authored
625 * Add contextmenu to Event.DOMEvents. [Thomas Fuchs]
626
1a0f6b3 @madrobby Prototype: update trunk CHANGELOG
madrobby authored
627 *1.6.0_rc0* (August 15, 2007)
628
d8b8c65 @sstephenson prototype: Fix readAttribute-related failure in form.html in IE.
authored
629 * Fix readAttribute-related failure in form.html in IE. [sam, Andrew Dupont]
630
c27f2de @sstephenson prototype: Fix failing dom.html and selector.html tests in IE.
authored
631 * Fix failing dom.html and selector.html tests in IE. [Tobie Langel, Andrew Dupont]
632
c603fc5 @sstephenson prototype: Make sure the WebKit redefinition of Element#cumulativeOff…
authored
633 * Make sure the WebKit redefinition of Element#cumulativeOffset uses Element._returnOffset. Closes #9245. [mdaines]
634
11f25aa @sstephenson prototype: Make sure Element#observe is always chainable.
authored
635 * Make sure Element#observe and Element#stopObserving are always chainable. [sam]
d2974cf @sstephenson prototype: Make sure Element#stopObserving is always chainable.
authored
636
14ea77e @sstephenson prototype: Event.fire/Element#fire now returns the newly-fired event …
authored
637 * Event.fire/Element#fire now returns the newly-fired event instead of the event's target element. [sam]
638
d7da841 @sstephenson prototype: Restrict Event.DOMEvents to include only events that can b…
authored
639 * Restrict Event.DOMEvents to include only events that can be supported in all browsers. [sam]
640
ffa744e @sstephenson prototype: Fix a failing test in base.html in Safari 2.
authored
641 * Fix a failing test in base.html in Safari 2. [Tobie Langel]
642
5f76c25 @madrobby Fix Element#positionedOffset and Element#getOffsetParent for static e…
madrobby authored
643 * Fix Element#positionedOffset and Element#getOffsetParent for static elements on IE. [Thomas Fuchs]
644
2fbb490 @sstephenson prototype: Make sure event handlers and their wrappers are removed fr…
authored
645 * Make sure event handlers and their wrappers are removed from the cache by Event.stopObserving. [sam, Severin Heiniger]
646
f3d9cb2 @madrobby Add line numbers to failures when unit testing in Firefox. Closes #9…
madrobby authored
647 * Add line numbers to failures when unit testing in Firefox. Closes #9231. [John Resig]
648
e75cd0a @sstephenson prototype: Fix Function#argumentNames for IE
authored
649 * Fix Function#argumentNames for Opera and IE. [Thomas Fuchs]
220f637 @sstephenson prototype: Fix Function#argumentNames for Opera
authored
650
df71a6b @sstephenson prototype: Add Object.isString, Object.isNumber, and Object.isUndefin…
authored
651 * Add Object.isString, Object.isNumber, and Object.isUndefined, and clean up the source to make use of Object.isXXX where possible. [sam]
652
ae2ab03 @sstephenson prototype: Add the document.viewport object for querying dimensions a…
authored
653 * Add the document.viewport object for querying dimensions and scroll offsets of the browser viewport. [Andrew Dupont, Thomas Fuchs, sam]
654 Example:
655 document.viewport.getDimensions() // { width: 1149, height: 923 }
656 document.viewport.getWidth() // 1149
657 document.viewport.getHeight() // 923
658 document.viewport.getScrollOffsets() // { left: 0, top: 1592 }
659
c488384 @sstephenson prototype: Add support for brackets in quoted attribute value selecto…
authored
660 * Add support for brackets in quoted attribute value selectors. Closes #9157. [Ken Snyder]
661
662 * Add some missing semicolons to the source tree. Closes #9140. [jdalton]
663
cbaec75 @madrobby Prototype: Fix event extensions and custom events firing for Safari 2.0
madrobby authored
664 * Fix event extensions and custom events firing for Safari 2.0. [Thomas Fuchs]
665
30aa7a6 @sstephenson prototype: Add RegExp.escape for escaping regular expression strings.…
authored
666 * Add RegExp.escape for escaping regular expression strings. Closes #9094. [Ken Snyder]
667
aa4602b @sstephenson prototype: Merge -r7242:HEAD from ../branches/1-6-0-events. Adds sup…
authored
668 * Make the eventName and handler arguments to Event.stopObserving optional. If no handler is specified, all handlers for the given event are unregistered. If no event name is specified, all observed events on the element are unregistered. [sam]
669
670 * Add cross-support for the DOMContentLoaded event through a Prototype custom event on document called "contentloaded". The DOMContentLoaded event fires before window.load, when the entire HTML document, but not necessarily its images, stylesheets or other assets, has loaded. Based on [6596]. [sam, Mislav Marohnić]
671 Example:
672 document.observe("contentloaded", function() {
673 $$("a").invoke("identify"); // give all <a> tags an ID
674 });
675
676 * Add Event.fire and Element.Methods.fire for firing custom events. Prototype custom events piggyback on a real DOM event ("ondataavailable"), so they bubble and cancel. You can fire custom events from any element, or fire global events on the document object. Observe custom events just as you'd observe a regular DOM event. [sam, Seth Dillingham]
677
678 * Extend the event object with methods from Event.Methods and normalize it in IE. [sam, Mislav Marohnić]
679
680 * Remove support for observing the capturing phase of DOM events, since we can't support it in all browsers. [sam]
681
52cf3f2 @sstephenson prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response…
authored
682 * Add Ajax.Response object which supports the following methods: responseJSON, headerJSON, getHeader, getAllHeaders and handles browser discrepancies in the other response methods. Add sanitizeJSON, evalJS and evalJSON to Ajax.Request. Closes #8122, #8006, #7295. [Tobie Langel]
683
684 * Add an isRunningFromRake property to unit tests. [Tobie Langel]
685
686 * Add support for Opera browser in jstest.rb. [Tobie Langel]
687
281ac64 @sstephenson prototype: Merge -r6792:HEAD from ../branches/inheritance/{src/base.j…
authored
688 * Inheritance branch merged to trunk; robust inheritance support for Class.create. Closes #5459. [Dean Edwards, Alex Arnell, Andrew Dupont, Mislav Mahronic]
689 - To access a method's superclass method, add "$super" as the first argument. (The naming is significant.) Works like Function#wrap.
690 - Class.create now takes two optional arguments. The first is an existing class to subclass; the second is an object literal defining the instance properties/methods. Either can be omitted. Backwards-compatible with old Class.create.
691 - Added Class.extend for dynamically adding methods to existing classes (while preserving inheritance chain). Can also be used for mixins.
692 - The 'constructor' property of a class instance always points back to the proper class. Class objects themselves have two special properties: 'superclass' and 'subclasses' (which default to 'null' and '[]', respectively). Allows for powerful introspection.
693 - Added Object.isFunction [sam]
694
90c9c69 @sstephenson prototype: Add Function#argumentNames, which returns an ordered array…
authored
695 * Add Function#argumentNames, which returns an ordered array of the function's named arguments. [sam]
696
52cf3f2 @sstephenson prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response…
authored
697 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
698
5645a07 @sstephenson prototype: Add Prototype.Browser.MobileSafari which evaluates to true…
authored
699 * Add Prototype.Browser.MobileSafari which evaluates to true on the iPhone's browser. [sam]
700
82bedce @sstephenson prototype: Optimize Selector#match and Element#match for simple selec…
authored
701 * Optimize Selector#match and Element#match for simple selectors. Closes #9082. [Andrew Dupont]
702
a529bcf @sstephenson prototype: Remove the dependency on Element.ClassNames from Element#a…
authored
703 * Remove the dependency on Element.ClassNames from Element#addClassName/removeClassName/toggleClassName, and deprecate Element.ClassNames. Closes #9073. [Tobie Langel]
704
c0735db @sstephenson prototype: Make Element#wrap accept a second argument for setting att…
authored
705 * Make Element#wrap accept a second argument for setting attributes on the wrapper. Allow wrapping elements which are not part of the document. Closes #9071. [Tobie Langel]
706
44ef748 @sstephenson prototype: Improvements for Element#replace, Element#update and Eleme…
authored
707 * Improvements for Element#replace, Element#update and Element#insert. Closes #7429, #9060. [Tobie Langel]
708 - Element#replace/update/insert uses the argument's toElement or toHTML method if present (toElement has precedence if both are present).
709 - Element#replace and Element#update now also accept DOM elements.
710 - Element#replace better handles table-related elements in IE and Opera.
711
712 * Add Object.isArray and Object.isElement (returns true if the object is a DOM node of type 1). [Tobie Langel]
713
714 * Add Object.toHTML (uses the object's toHTML method if present or else passes the object to String.interpret). [Tobie Langel]
715
7b2ce66 @sstephenson prototype: Make Element#setStyle accept a string argument of CSS rule…
authored
716 * Make Element#setStyle accept a string argument of CSS rules. Deprecate uncamelized style property names when setting styles using an object (for performance reasons). Closes #9059. [Tobie Langel]
717 Examples:
718 $('id').setStyle('font-size: 12px; float: left; opacity: 0.5');
719 $('id').setStyle({fontSize: '12px', cssFloat: 'left', opacity: 0.5});
720
721 !! BACKWARDS COMPATIBILITY CHANGE !!
722
723 If you have code that looks like this:
724 $('id').setStyle({'font-size': '12px'});
725 You need to replace it with either of the following:
726 $('id').setStyle({fontSize: '12px'});
727 $('id').setStyle('font-size: 12px;');
728
c6f3daa @sstephenson prototype: Add Element#identify, which returns the element's ID if it…
authored
729 * Add Element#identify, which returns the element's ID if it exists, or sets and returns a unique, auto-generated ID (of the form "anonymous_element_" + auto-incremented digit) otherwise. Use this when you need to ensure an element has an ID. Closes #9012. [Jeff Watkins, sam, Tobie Langel]
730
7e6481b @sstephenson prototype: Make Element#readAttribute work for cloned elements in IE.…
authored
731 * Make Element#readAttribute work for cloned elements in IE. Closes #8481. [chem, Tobie Langel]
732
ff45622 @sstephenson prototype: Template enhancements. Closes #8166.
authored
733 * Template enhancements. Closes #8166. [Christophe Porteneuve]
734 - Added String#interpolate as a shortcut for new Template(...).evaluate(...).
735 - If you pass String#interpolate or Template#evaluate an object with a toTemplateReplacements() method, the return value of that method will be used as the replacement object.
736 - You can now substitute properties of template replacement values in template strings, using dot or bracket notation (or both). Example:
737 "#{name.last}, #{name.first[0]}. (#{location})".interpolate({
738 name: { first: "Christophe", last: "Porteneuve" }, location: "Paris"
739 }) // "Porteneuve, C. (Paris)"
740
741 * Extended grep semantics. The first argument to Enumerable#grep is now a "filter" (an object with a match() method) so you can now e.g. filter an array of DOM nodes by CSS selector. RegExp#match is now an alias to RegExp#test, so grep can still be used to filter an array of strings with a regular expression. Closes #7596. [Christophe Porteneuve, sam]
b59399b @sstephenson prototype: Extended grep semantics. The first argument to Enumerable…
authored
742
38fa39a @sstephenson prototype: Make String#scan explicitly return a string. Closes #6350.
authored
743 * Make String#scan explicitly return a string. This prevents possible issues with methods expecting input data that is typeof == 'string'. Closes #6350. [AndrewRev, Tobie Langel]
744
513042d @madrobby Add Array#intersect for set intersection. Returns a new array contain…
madrobby authored
745 * Add Array#intersect for set intersection. Returns a new array containing all items common to the array and the argument, with duplicates removed (clone of the Ruby & method). [Thomas Fuchs]
746 Example:
747 [1,1,3,5].intersect([1,2,3]) -> [1,3]
748
cea24d6 @madrobby Prototype: Rename Element#getElementsBySelector to Element#select and…
madrobby authored
749 * Rename Element#getElementsBySelector to Element#select and add alias for Element#getElementsBySelector. [Thomas Fuchs]
750
751 * Add Element#adjacent as a shortcut to selecting all adjacent nodes (and their children) that match a CSS selector. [Thomas Fuchs]
752
1c17b63 @sstephenson prototype: Enhance the Enumerable and Array APIs to more closely matc…
authored
753 * Enhance the Enumerable and Array APIs to more closely match those of JavaScript 1.6 as implemented in Firefox 1.5. Closes #6650, #8409. [Mislav Marohnić, Sylvain Zimmer]
754 - Add Array#lastIndexOf, and change Array#indexOf not to overwrite the native method.
755 - Make Enumerable use Array.prototype.forEach instead of _each when possible (slight speed increase).
756 - Add "filter", "entries", "every", and "some" Array aliases.
757 - All Enumerable methods now have an additional parameter, "context", which, if present, specifies the object to which the iterators' "this" is bound.
758 - Function#bind and #curry now return the receiving function if the binding object is undefined.
759
29cd62e @sstephenson prototype: Temporary workaround for Prototype.BrowserFeatures.Specifi…
authored
760 * Temporary workaround for Prototype.BrowserFeatures.SpecificElementExtensions incorrectly evaluating to true on iPhone. (needs further investigation) [sam]
761
9e7efd5 @madrobby Prototype: merges from form branch. Closes #5031, #5902, #7595, #840…
madrobby authored
762 * The action for Form#request defaults to the current URL if the "action" attribute is empty. (This is what most of the major browsers do.) Fixes #8483. [Tomas, Mislav Marohnić]
763
764 * In form serialization, change the way submit buttons are handled. Previously all submit buttons were serialized; now Prototype serializes only the first one. Change Form#serialize and Form.serializeElements to accept a params hash. With the "hash: false" option, a serialized string is returned instead of the hash data object. With the "submit: 'foo'" option, only the submit button with the name "foo" is serialized. References #5031. [Mislav Marohnić]
765 Examples:
766 $('form').serialize({ submit: 'delete' })
767 $('form').serialize({ hash: false }) //-> equivalent to $('form').serialize()
768
769 * Form#findFirstElement respects HTML tabindexes. Closes #7595. [Christophe Porteneuve]
770
771 * Added Form.Element#setValue method for setting values on various form controls. Checkboxes and radio buttons respond to a boolean and multiple select boxes expect an array of values. Closes #5902. [Jonathan Viney, Mislav Marohnić]
772 Examples:
773 $('text_input').setValue('hello world!')
774 $('remember_me').setValue(true)
775 $('attend_classes').setValue(['cheese rolling', 'evil chemistry'])
776
f2d304b @sstephenson prototype: Merge [7066] from branches/1-5-1-1
authored
777 * Make document.getElementsByClassName match a subset of the WHATWG Web Applications 1.0 specification which was adopted in Firefox 3 (http://www.whatwg.org/specs/web-apps/current-work/#getelementsbyclassname). It now supports multiple class names given as a whitespace-separated list in a string. Array argument is not supported. The method will only return the nodes that match all the class names. In browsers that implement the method natively it will not be overwritten. Closes #8401. [Mislav Marohnić]
d6bf5e4 @sstephenson prototype: Make document.getElementsByClassName match a subset of the…
authored
778 Example:
03ae9dd @madrobby * Make document.getElementsByClassName match the WHATWG Web Applicati…
madrobby authored
779 document.getElementsByClassName('foo bar')
780
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
madrobby authored
781 * Fix a Safari rendering issue when floating elements could temporarily disappear when opacity was set to 1. Closes #7063. References #3044, #3813, #6706. [Thomas Fuchs, davidjrice]
9ff57b0 @madrobby Prevent a crash in Safari when calling String#evalJSON(true) on very …
madrobby authored
782
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
madrobby authored
783 * Prevent a crash in Safari when calling String#evalJSON(true) on very large strings. Add String#isJSON. Closes #7834. [Tobie Langel]
1e13c1d @madrobby Prototype: Prevent a crash in Safari 1.3 on String#stripScripts and S…
madrobby authored
784
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
madrobby authored
785 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
786
787 * Allow JSON data to contain line breaks. Closes #8271. [pijyster, Tobie Langel]
1e13c1d @madrobby Prototype: Prevent a crash in Safari 1.3 on String#stripScripts and S…
madrobby authored
788
51bb86d @madrobby Add Hash.prototype.index which returns the first found property that …
madrobby authored
789 * Add Hash.prototype.index which returns the first found property that has a specific value. Closes #8528. [Thomas Fuchs, slusarz, Mislav Marohnić]
790 Examples:
791 var hash = $H({a:1,b:'2'});
792 hash.index(1) // -> 'a'
793 hash.index('1') // -> undefined
794
ae2ea8a @sstephenson prototype: Ensure HTMLElement exists before creating Element.extend.
authored
795 * Ensure HTMLElement exists before creating Element.extend. [Tobie Langel]
796
86118c3 @madrobby Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to…
madrobby authored
797 * Add Number.prototype.round/ceil/floor/abs as an aliases to the respective methods in Math. Refactor to seperate number extensions from base.js. [Thomas Fuchs]
0c7bac1 @madrobby Prototype: Make Element#absolutize and Element#relativize properly us…
madrobby authored
798
86118c3 @madrobby Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to…
madrobby authored
799 * Make Element#absolutize and Element#relativize properly use Element#getStyle. Closes #8580. [Christophe Porteneuve]
225597c @madrobby Prototype: Add Number.prototype.round as an alias to Math.round(). […
madrobby authored
800
431dd4e @madrobby Prototype: Test library fixes: make rake dist work on Windows, only t…
madrobby authored
801 * Test library fixes: make rake dist work on Windows, only teardown if a browser is supported. Closes #8463, #8498. [Mislav Marohnić, grant]
802
d4d4fdd @madrobby Prototype: Change Element.insert syntax to allow multiple positions.
madrobby authored
803 * Change Element.insert syntax to allow multiple positions. [Thomas Fuchs]
804 Examples:
805 Element.insert('foo', {top:'bar', bottom:'baz'});
806 $('foo').insert({after: new Element('p').update('bar')});
807 Element.insert('foo', new Element('p').update('bar')); // defaults to bottom
808 Element.insert('foo', 'bar'); // defaults to bottom
809
4cafec8 @madrobby Prototype: String.prototype.truncate now explicitly converts its retu…
madrobby authored
810 * String.prototype.truncate now explicitly converts its return value into a string if no truncation takes place. This prevents possible issues with methods expecting input data that is typeof == 'string'. [Thomas Fuchs, Tobie Langel, Sam Stephenson]
811
b61bca1 @sstephenson prototype: Event.findElement behaves as expected when the element pas…
authored
812 * Event.findElement behaves as expected when the element passed matches the given selector. Closes #8395. [Mislav Marohnić, Tobie Langel]
813
f099e67 @madrobby Element.setOpacity now calls removeAttribute on the filter style on I…
madrobby authored
814 * Element.setOpacity now calls removeAttribute on the filter style on IE if no more filters remain, which makes Cleartype work properly. Closes #8376. [alexdemi, Thomas Fuchs]
815
55b658a @sstephenson prototype: Event.findElement now uses Element#up (and as a result can…
authored
816 * Event.findElement now uses Element#up (and as a result can take a CSS selector instead of just a tag name). [Tobie Langel]
817
a8a19eb @sstephenson prototype: Minor cleanup of the position methods
authored
818 * Minor cleanup of the position methods [sam]
819
7d2ae29 @sstephenson prototype: Fix Element#clonePosition to call Element#viewportOffset. …
authored
820 * Fix Element#clonePosition to call viewportOffset. Closes #8372. [graemenelson, Christophe Porteneuve]
821
beeb12e @sstephenson prototype: Prevent an error being thrown by $$ when #id does not exis…
authored
822 * Prevent an error being thrown by $$ when #id does not exist in $$("div #id"). Closes #8325. [Tobie Langel, ecke]
823
a7a0edd @madrobby Make Prototype.ScriptFragment behave when including Prototype inline.
madrobby authored
824 * Make Prototype.ScriptFragment behave when including Prototype inline. [Christophe Porteneuve]
825
5e356c3 @sstephenson prototype: Update CHANGELOG
authored
826 * Deprecate Position (kept for backwards compatibility). Add Element#cumulativeOffset, Element#positionedOffset, Element#absolutize, Element#relativize, Element#cumulativeScrollOffset, Element#getOffsetParent, Element#viewportOffset and Element#clonePosition. [Christophe Porteneuve]
827
83b4b33 @sstephenson Merge -r6634:HEAD from ../branches/dom.
authored
828 * Make Element#update and Element#insert work for SELECT tags in IE and Opera. [Tobie Langel]
829
830 * Make Element#insert and Element#update better handle TABLE related elements in IE and Opera. Closes #7776, #8040, #7550, #7776, #7938. [Tobie Langel]
831
832 * Make Element#readAttribute('title') work in Opera. [Tobie Langel]
833
834 * Make Element#replace work with form elements in Firefox and Safari. Closes #8010, #7989. [dsl239, Tobie Langel]
835
836 * Add Element#wrap which wraps the element inside a new one. Closes #5732. [P. Vande, Tobie Langel]
837
838 * Make Element into a constructor: new Element(tagName, attributes). Add Element#writeAttribute which accepts a hash of attributes or a name/value pair. Closes #7476. [Mislav Marohnić, haraldmartin, Tobie Langel]
839
93c43b9 @sstephenson prototype: Update CHANGELOG to reflect preferred capitalization for E…
authored
840 * Insertion overhaul: Add Element.insert(content[, position = 'bottom']). Deprecate Insertion (kept for backwards compatibility). Make Ajax.Updater option.insertion accept both Insertion.Top or the now preferred 'top'. Closes #7907. [Tobie Langel]
83b4b33 @sstephenson Merge -r6634:HEAD from ../branches/dom.
authored
841
67a4d00 @sstephenson prototype: Refactor Element.extend and eliminate Element.extend.cache.
authored
842 * Refactor Element.extend and eliminate Element.extend.cache. [sam]
843
562e61f @sstephenson prototype: Add Function#curry, Function#delay, Function#defer, and Fu…
authored
844 * Add Function#curry, Function#delay, Function#defer, and Function#wrap. Closes #8134. [Andrew Dupont, Tobie Langel, sam]
845
f457c98 @sstephenson prototype: Merge -r6639:HEAD from branches/rel_1-5-1 into trunk.
authored
846 *1.5.1* (May 1, 2007)
847
848 * Don't duplicate the event argument in Function#bindAsEventListener. Closes #6497. [wiktor]
849
850 * Fix Selector :not-clause chaining. [Andrew Dupont]
95df0a7 @sstephenson prototype: Prepare for 1.5.1 release.
authored
851
c580aea @sstephenson prototype: 1.5.1_rc4
authored
852 *1.5.1_rc4* (April 27, 2007)
1886b03 @sstephenson prototype: Fix Element#readAttribute to work with the 'type' attribut…
authored
853
d6c7cd9 @sstephenson prototype: Fix $F breakage from [6598].
authored
854 * Fix $F breakage from [6598]. [sam]
855
8a382ff @sstephenson prototype: Set window.$continue to an Error with a helpful message fo…
authored
856 * Set window.$continue to an Error with a helpful message for anyone who may still be using "throw $continue". [sam]
857
310b3ec @sstephenson prototype: Fix jstest.rb IE support so you don't have to close the IE…
authored
858 * Fix jstest.rb IE support so you don't have to close the IE window after each test (yay!). Closes #8207. [Ryan Schuft]
859
b360a93 @sstephenson prototype: Fix jstest.rb Konqueror support. Closes #7140.
authored
860 * Fix jstest.rb Konqueror support. Closes #7140. [Christophe Porteneuve]
861
b76d34e @sstephenson prototype: Fix regression in which no-argument calls to Element.addMe…
authored
862 * 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]
863
1886b03 @sstephenson prototype: Fix Element#readAttribute to work with the 'type' attribut…
authored
864 * Fix Element#readAttribute to work with the 'type' attribute in IE. Closes #8160. [Tobie Langel, Wiktor Ihárosi]
865
866 *1.5.1_rc3* (April 24, 2007)
fc91a3e @madrobby Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
madrobby authored
867
47bfeb5 @sstephenson prototype: Add Element#childElements as an alias for Element#immediat…
authored
868 * Add Element#childElements as an alias for Element#immediateDescendants. [Tobie Langel]
869
5784d78 @sstephenson prototype: Add Element#firstDescendant to retrieve the first non-text…
authored
870 * Optimize DOM navigation methods (Element#up, Element#down, Element#previous, Element#next) for no-argument calls. Closes #7848. [haraldmartin, sam]
871
872 * Add Element#firstDescendant to retrieve the first non-text child node of an element. [sam]
873
63342b9 @sstephenson prototype: Element.addMethods should add methods to Element as well a…
authored
874 * Element.addMethods should add methods to Element as well as Element.Methods. Closes #7888. [Andrew Dupont]
875
7a324b8 @sstephenson prototype: Add support for per-request onCreate callbacks to Ajax.Req…
authored
876 * Add support for per-request onCreate callbacks to Ajax.Request. Closes #8011. [Andrew Dupont]
877
4174060 @sstephenson prototype: Don't call evalResponse() when an Ajax response has no Con…
authored
878 * Don't call evalResponse() when an Ajax response has no Content-type header. Closes #7827. [Tobie Langel]
879
fea6bc1 @sstephenson prototype: Automatically strip security delimiter comments from JSON …
authored
880 * 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]
881 For more details on potential security problems, see: http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf
882
643b7be @sstephenson prototype: Add extra spacing so Array#toJSON and Hash#toJSON generate…
authored
883 * Add extra spacing so Array#toJSON and Hash#toJSON generate YAML-loadable JSON. Closes #7883. [Andrew Dupont]
884
95ac141 @madrobby Fix Form.request for forms containing an input element with name="act…
madrobby authored
885 * Fix Form.request for forms containing an input element with name="action". Closes #8063. [Thomas Fuchs, Mislav Marohnić]
886
887 * Make Event.element extend the returned element. Closes #7870. [Thomas Fuchs]
888
68f3b21 @madrobby Fix a CHANGELOG typo
madrobby authored
889 * 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 extrac…
madrobby authored
890
c0509c7 @madrobby Prototype: clean (un)escapeHTML IE special casing and optimize speed …
madrobby authored
891 * 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 une…
madrobby authored
892
5f2acb4 @madrobby Make Hash.toQueryString serialize undefined values. Ensure consistenc…
madrobby authored
893 * Make Hash.toQueryString serialize undefined values. Ensure consistency with String.prototype.toQueryParams. Closes #7806. [Mislav Marohnić]
894 Examples:
895 $H({a:'b',c:undefined}).toQueryString() -> 'a=b&c'
896 $H({a:'b',c:null}).toQueryString() -> 'a=b&c='
897 $H('a=b&c'.toQueryParams()).toQueryString() -> 'a=b&c'
898 $H('a=b&c='.toQueryParams()).toQueryString() -> 'a=b&c='
899
4506db2 @madrobby Fix Selector issues with :not and attribute selector double quotes, f…
madrobby authored
900 * 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. Close…
madrobby authored
901
db2ee67 @madrobby Fix Form.disable to work again on non-form elements. Closes #6887. …
madrobby authored
902 * Fix Form.disable to work again on non-form elements. Closes #6887. [Mislav Marohnić]
903
fc91a3e @madrobby Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
madrobby authored
904 * Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
905
63985a2 @sstephenson prototype: 1.5.1_rc2
authored
906 *1.5.1_rc2* (March 12, 2007)
881b7dc @madrobby Prototype: Fix Element.Methods.descendants() to properly extend eleme…
madrobby authored
907
cb1ad0e @sstephenson prototype: Add a tab character via innerHTML to the selector whitespa…
authored
908 * Add a tab character via innerHTML to the selector whitespace test. [Christophe Porteneuve]
909
910 * Add an attribution to YUI-Ext's DomQuery in selector.js.
911
d17521f @madrobby Missed ticket #
madrobby authored
912 * 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 …
madrobby authored
913
b2845e4 @madrobby Prototype: Make Selector correctly extend the first element it return…
madrobby authored
914 * Make Selector correctly extend the first element it returns on IE. [Thomas Fuchs]
915
a6984e6 @madrobby Prevent a crash in Safari when using $A() on NodeList objects that co…
madrobby authored
916 * Prevent a crash in Safari when using $A() on NodeList objects that contain text nodes. [Thomas Fuchs]
917
881b7dc @madrobby Prototype: Fix Element.Methods.descendants() to properly extend eleme…
madrobby authored
918 * Fix Element.Methods.descendants() to properly extend elements on IE. [Thomas Fuchs]
919
811fb86 @sstephenson prototype: 1.5.1_rc1: Fix readAttribute for IE7.
authored
920 *1.5.1_rc1* (March 9, 2007)
921
922 * Fix readAttribute for IE7. [Andrew Dupont]
923
94cfdd3 @sstephenson prototype: 1.5.1_rc0
authored
924 *1.5.1_rc0* (March 8, 2007)
ce639c2 @sstephenson prototype: Update HEADER to reflect new URL.
authored
925
00bce41 @sstephenson prototype: Merge the selector branch into trunk, bringing vast perfor…
authored
926 * Merge the selector branch into trunk, bringing vast performance improvements, bug fixes, and near-complete CSS3 compliance to $$ and Selector. Closes #7568. [Andrew Dupont]
927 Selector speed test: http://andrewdupont.net/test/double-dollar/
928
f160bc4 @sstephenson prototype: Add support for JSON encoding and decoding. Closes #7427.
authored
929 * Add support for JSON encoding and decoding. Closes #7427. [Tobie Langel]
930
f281192 @sstephenson prototype: Fix double escaping of query parameters in Hash.prototype.…
authored
931 * 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ć]
932
752eebd @madrobby Prototype: Fix simulated attribute reading for IE for "href", "src" a…
madrobby authored
933 * Fix simulated attribute reading for IE for "href", "src" and boolean attributes. [Mislav Marohnić, Thomas Fuchs]
934
a9ec091 @madrobby Prototype: Form.Element.disable() will now call blur(), removed blur(…
madrobby authored
935 * Form.Element.disable() will now call blur(), removed blur() call from Form.Element.enable(). Closes #6034. [tdd]
936
fcc23f0 @madrobby Optimize document.getElementsByClassName and finalize DOM performance…
madrobby authored
937 * Optimize document.getElementsByClassName and finalize DOM performance optimization refactoring. Closes #6696. [Mislav Marohnić]
938
939 * 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…
madrobby authored
940
941 * 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.setStyl…
madrobby authored
942
94d8333 @sstephenson prototype: Fix a bug in the simulated hasAttribute for IE due to getA…
authored
943 * Fix a bug in the simulated hasAttribute for IE due to getAttributeNode sometimes returning null. [sam]
944
60bb068 @madrobby Prototype: Optimize Element.getStyle and add new Element.getOpacity m…
madrobby authored
945 * Optimize Element.getStyle and add new Element.getOpacity method. Special case IE and Opera getStyle methods. Closes #7648. [Tobie Langel, Thomas Fuchs]
946
80f6f40 @madrobby Prototype: Optimize Element.setStyle and add new Element.setOpacity m…
madrobby authored
947 * Optimize Element.setStyle and add new Element.setOpacity method, special case IE and Gecko opacity methods. Closes #7585. [savetheclocktower]
948
d148193 @madrobby Prototype: Add unified Browser detection by providing Prototype.Brows…
madrobby authored
949 * Add unified Browser detection by providing Prototype.Browser.(IE|Gecko|WebKit|Opera) booleans. Closes #6800. [savetheclocktower]
950
5224f0f @madrobby Prototype: Add String.prototype.empty and String.prototype.blank (tes…
madrobby authored
951 * Add String.prototype.empty and String.prototype.blank (tests if empty or whitespace-only). Closes #7016. [Jonathan Viney, Thomas Fuchs]
952
ab59de3 @madrobby Prototype: Update README to reflect new URLs, update LICENSE copyrigh…
madrobby authored
953 * Update README to reflect new URLs, update LICENSE copyright years. Closes #7426. [Tobie Langel]
954
6eca3f0 @sstephenson prototype: Array.prototype.uniq optimization. Closes #7417.
authored
955 * Array.prototype.uniq optimization. Closes #7417. [Christophe Porteneuve]
956
74596ac @sstephenson prototype: String.prototype.endsWith should not fail on multiple occu…
authored
957 * String.prototype.endsWith should not fail on multiple occurrences. Closes #7416. [Christophe Porteneuve]
958
343eae8 @sstephenson prototype: Add Form.Methods.request as a convenience method for seria…
authored
959 * 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]
960
961 Options passed to request() are intelligently merged with the underlying Ajax.Request options:
962 - 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".
963 - 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.
964
7044da8 @sstephenson prototype: Fix $(form).serialize() in Safari and add support for exte…
authored
965 * Fix $(form).serialize() in Safari and add support for extending specific tags to Element.addMethods. Closes #7358. [Andrew Dupont]
966
5345085 @sstephenson prototype: Add String.prototype.startsWith, String.prototype.endsWith…
authored
967 * Add String.prototype.startsWith, String.prototype.endsWith, and String.prototype.include. Closes #7075. [Tobie Langel]
968
c556c89 @sstephenson prototype: Improve performance of String.prototype.escapeHTML by usin…
authored
969 * Improve performance of String.prototype.escapeHTML by using a cached div and text node. Closes #6937. [altblue]
970
8ea007d @madrobby Prototype: Make setStyle() with opacity: 0 in Internet Explorer work …
madrobby authored
971 * Make setStyle() with opacity: 0 in Internet Explorer work correctly. [Thomas Fuchs]
972
8490189 @sstephenson prototype: Form.Element.activate shouldn't raise an exception when th…
authored
973 * Form.Element.activate shouldn't raise an exception when the form or field is hidden. [sam]
974
c89875c @sstephenson prototype: Remove support for "throw $continue" in Enumerable. Use "…
authored
975 * Remove support for "throw $continue" in Enumerable. Use "return" instead. [sam]
976
ce639c2 @sstephenson prototype: Update HEADER to reflect new URL.
authored
977 * Update HEADER to reflect new URL. [sam]
978
3c89b25 @sstephenson prototype: Add release date to CHANGELOG
authored
979 *1.5.0* (January 18, 2007)
bb4d189 @sstephenson prototype: Reorganize the source tree.
authored
980
981 * Add test to ensure Content-type header is set for simulated verbs. [sam]
982
983 * Fix Content-Type header for HTTP methods simulated with POST not defaulting to application/x-www-form-urlencoded. [Thomas Fuchs]
984
985 * Simplify form serialization and add support for fields with the same name as Hash methods. Closes #6649. [Mislav Marohnić]
986
987 * Fix attribute selectors for IE. Closes #5170. [Tobie Langel, Andrew Dupont]
988
989 * A slew of dom.js improvements. Closes #4217, #6589, #7001. [Tobie]
990 - Fix Element.getDimensions() for hidden elements, make Element.getHeight() use .getDimensions()
991 - Add Element.getWidth()
992 - Make Element.replace() call .toString() on the html argument (alike .update())
993 - Fix an issue with Element.get/setStyle() and Safari with 'float'
994 - Add a bunch of missing unit tests
995
996 * Fix an issue with Element.setStyle({opacity:''}) setting the opacity to 0 instead of removing the set inline opacity style. [Thomas Fuchs]
997
998 * Ensure Ajax.Request's evalResponse is called before onComplete so that onComplete can reference any elements created during the response. Closes #6727. [jonathan]
999
1000 * Ensure the WEBrick test runner sets the correct Content-Type for tests and fixtures. [sam]
1001
1002 * 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]
1003
1004 * Make selectors match forms that have an element with name="id" correctly, fixes #5759 [mislav]
1005
1006 * Remove support for HTTP authorization in Ajax calls introduced with #6366. Closes #6638 [jmecham]
1007
1008 * Add Enumerable.size() to count elements in an enumerable and the corresponding Array.size() method, fixes #6710 [ZenCocoon]
1009
1010 * Add String.succ() method to allow for String ranges, fixes #6037 [Cory Hudson, mislav]
1011 Examples:
1012 'abcd'.succ(); -> 'abce'
1013 $R('a','d').map(function(char){ return char; }); -> ['a','b','c','d']
1014
1015 * Make Element.scrollTo() correctly consider offsets of parent DOM nodes, fixes #6625 [ohader, savetheclocktower]
1016
1017 * Fix Enumerable.inGroupsOf() to correctly work with fill values that evaluate to false, fixes #6782 [hawk]
1018
1019 * Remove/cleanup redundant $() calls in dom.js, fixes #6817 [Tobie]
1020
1021 * Don't cache files in automatic unit tests, fixes #6218 [voidlock]
1022
1023 * Add $w() to easily create arrays from strings like Ruby's %w, fixes #5682 [glazedginger, brendon.aaron]
1024
1025 * Add Element.toggleClassName() to toggle CSS classes on elements, fixes #6759 [Tobie]
1026
1027 * Make Form.getInputs always return an array for consistency, fixes #6475 [Justin Gehtland, savetheclocktower]
1028
1029 * Make TimedObserver work correctly for SELECT MULTIPLE elements, fixes #6593 [clemos, tdd]
1030
1031 * 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]
1032
1033 * Make Element.getStyle() work with camelCased argument, fixes #6686 [Tobie]
1034
1035 * Fix a redundant check in Array.prototype.compact, fixes #4739 [wlodarcz, mislav]
1036
1037 * Fix $() to correctly pass back the results of document.getElementById(), notably returning "null" on elements not found, fixes #6582 [adsmart]
1038
1039 * Change/add assertNull, assertUndefined, assertNullOrUndefined and not-* variants in unittest.js, fixes #6582 [adsmart]
1040
1041 * Cleanup String.prototype.camelize, fix an issue with String.prototype.underscore, fixes #4714, #6685 [Tobie, Thomas Fuchs]
1042
1043 * Add String.prototype.capitalize, which returns a string with the first character in upper case, fixes #6666 [Tobie]
1044
1045 * Make Element.getStyle() and Element.setStyle() handle the CSS 'opacity' property transparently in IE, fixes #6093 [brandon.aaron, Tobie]
1046
1047 * Fix handling of CSS 'float' property for Element.getStyle() and Element.setStyle(), fixes #4160 [Thomas Fuchs, ericf]
1048
1049 * Fix that onComplete would be called twice with synchronous Ajax requests on Safari (provides units tests for #5756) [Thomas Fuchs]
1050
1051 * Fix Form.Field.activate to not select text on buttons in IE, fixes #2653 [sutch, mislav, Thomas Fuchs]
1052
1053 * Fix String.unescapeHTML() on Firefox for strings that are longer than 2048 bytes, fixes #5789 [Paul Moers, Thomas Fuchs]
1054
1055 * Redefine Array.prototype.concat for Opera, as the native implemenation doesn't work correctly [Thomas Fuchs]
1056
1057 * Add unit tests for Function.prototype.bind() [Thomas Fuchs]
1058
1059 * Add String.prototype.underscore and String.prototype.dasherize [Thomas Fuchs]
1060 Examples:
1061 'Hello_World'.dasherize() -> 'Hello-World'
1062 'borderBottomWidth'.underscore() -> 'border_bottom_width'
1063 'borderBottomWidth'.underscore().dasherize() -> 'border-bottom-width'
1064
1065 *1.5.0_rc2* (November 11, 2006)
1066
1067 * Ensure that existing DOM properties take precedence over extended element methods in all browsers. Closes #5115. [Sean Kleinjung, sam]
1068
1069 * 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]
1070 Example:
1071 <div id="widgets">
1072 <div class="widget" widget_id="7">...</div>
1073 <div class="widget" widget_id="8">...</div>
1074 <div class="widget" widget_id="9">...</div>
1075 </div>
1076
1077 $$('div.widget').invoke('readAttribute', 'widget_id')
1078 // ["7", "8", "9"]
1079
1080 * Add Element.Methods.immediateDescendants, like $A($(element).childNodes) but without text nodes. [sam]
1081
1082 * More consistency. Closes #6573. [Bob Silva]
1083
1084 * String.prototype.toQueryParams and Hash.prototype.toQueryString now properly serialize arrays as multiple values. Closes #4436. [mislav, altblue, L`OcuS]
1085
1086 * Fix Form.serialize for options with empty values. Closes #5033. [tdd, Thomas Fuchs, sam]
1087
1088 * Add Element.Methods.Simulated for simulating HTMLElement methods in lesser browsers. Add hasAttribute as the first simulated method. [tdd, Thomas Fuchs, sam]
1089
1090 * Add a "retry with throw" button for test error messages. [sam]
1091
1092 * 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]
1093
1094 Examples:
1095 % BROWSERS=safari,firefox rake test
1096 % TESTS=dom rake test
1097
1098 * Element.hasClassName now bypasses the Element.ClassNames API for performance. [sam]
1099
1100 * Pick some low-hanging performance and DRYness fruit. [sam]
1101 - Inline length property accesses in for loops
1102 - Enumerable-ize for loops where it makes sense
1103 - Make better use of Element.Methods and Form.Methods/Form.Element.Methods
1104
1105 * A slew of Ajax improvements. Closes #6366. [mislav, sam]
1106
1107 Public-facing changes include:
1108 - HTTP method can be specified in either lowercase or uppercase, and uppercase is always used when opening the XHR connection
1109 - Added 'encoding' option (for POST) with a default of 'UTF-8'
1110 - Ajax.Request now recognizes all the JavaScript MIME types we're aware of
1111 - PUT body support with the 'postBody' option
1112 - HTTP authentication support with the 'username' and 'password' options
1113 - Query parameters can be passed as a string or as a hash
1114 - Fixed both String.toQueryParams and Hash.toQueryString when handling empty values
1115 - Request headers can now be specified as a hash with the 'requestHeaders' option
1116
1117 * Improve performance of the common case where $ is called with a single argument. Closes #6347. [sam, rvermillion, mislav]
1118
1119 * Fix Object.inspect to correctly distinguish between null and undefined, fixes #5941 [tdd, mislav]
1120
1121 * Don't serialize disabled form elements, fixes #4586 [tdd]
1122
1123 * Make HTML element classes extension mechanism for Safari not throw errors on WebKit beta versions [Thomas Fuchs]
1124
1125 * Add support for using Element.update() with no or a non-string parameter [Thomas Fuchs]
1126
1127 Example:
1128 $('empty_me').update() -> clears the element
1129 $('easy_as').update(123) -> set element content to '123'
1130
1131 * Add unit tests for hashes, fixes #6344 [Tobie Langel]
1132
1133 * Add clone() method to arrays, fixes #6338 [Tobie Langel]
1134
1135 * Backing out of [5194] (Element.clear) because of issues with IE on certain elements, #6051
1136
1137 * Add Element.clear for easily emptying out elements, fixes #6051 [brandon.aaron@gmail.com]
1138
1139 * Enumerable.each now returns the enumerable to allow for method chaining, fixes #6250 [eventualbuddha]
1140
1141 * Make makeClipping and undoClipping always return their element to stay chainable
1142
1143 * Fix an issue with certain Element chain calls not correctly extending elements with Prototype element methods on IE [Thomas Fuchs]
1144
1145 * Add Enumerable.eachSlice and Enumerable.inGroupsOf, fixes #6046 [rails@tddsworld.com, Thomas Fuchs]
1146
1147 Example:
1148 [1,2,3,4,5].inGroupsOf(3) -> [[1,2,3],[4,5,null]]
1149 [1,2,3].inGroupsOf(4,'x') -> [[1,2,3,'x']]
1150
1151 * Complete unit tests for array.js and string.js [Thomas Fuchs]
1152
1153 * Performance improvements for document.getElementsByClassName, including querying with XPath in supported browsers. [Andrew Dupont]
1154
1155 * Make Form.getElements() return elements in the correct order, fix broken Form.serialize return, fixes #4249, #6172 [lars@pinds.com, Thomas Fuchs, john]
1156
1157 * Add various DOM unit tests, fixes #6176, #6177 [tdd]
1158
1159 * 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]
1160
1161 * Form.Element.disable() and .enable() will now work correctly, fixes #6034 [dresselm@businesslogic.com]
1162
1163 * Fix IE and Safari issues with Position.positionedOffset, add position.html unit tests, fixes #5621 [renggli@iam.unibe.ch]
1164
1165 * Fix an issue with Element.undoClipping and IE [Thomas Fuchs]
1166
1167 * Element.cleanWhitespace now correctly removes consecutive empty text nodes, fixes #3209 [livier.duroselle@gmail.com]
1168
1169 * Element.extend now does not try to extend text nodes, fixes #4642 [siegfried.puchbauer@gmail.com]
1170
1171 *1.5.0_rc1* (September 4, 2006)
1172
1173 * bindAsEventListener now passes along any provided arguments after the event argument. Closes #5508. [todd.fisher@revolution.com]
1174
1175 * Fix makeClipping and undoClipping with local overflow style values other than visible and hidden, fixes #3672 [Thomas Fuchs]
1176
1177 * 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]
1178
1179 Examples:
1180 <div id="sidebar"> -> $('nav').up() or $('menu').up('div')
1181 <ul id="nav"> -> $('sidebar').down() or $('sidebar').down('ul') or $('menu').previous()
1182 <li>...</li> -> $('sidebar').down(1) or $('sidebar').down('li')
1183 <li>...</li> -> $('sidebar').down(2) or $('sidebar').down('li', 2) or $('sidebar').down('li').next('li')
1184 <li class="selected">...</li> -> $('sidebar').down('li.selected')
1185 </ul>
1186 <ul id="menu"> -> $('sidebar').down('ul').next()
1187 ...
1188
1189 * Refactor $$ and Element.getElementsBySelector into Selector.findChildElements. [sam]
1190
1191 * Add Element.match, which takes a single CSS selector expression and returns true if it matches the element. [sam]
1192
1193 * Add Element.ancestors, Element.descendants, Element.previousSiblings, Element.nextSiblings, and Element.siblings. [sam]
1194
1195 * Add Element.inspect for better DOM debugging. [sam]
1196
1197 * Add an optional boolean argument to String.prototype.inspect which, when true, makes the string double-quoted instead of single-quoted. [sam]
1198
1199 * Add the uniq() method to Arrays, which returns a new Array with duplicates removed, fixes #3810 [secondlife]
1200
1201 * Add stop() method to PeriodicalExecutor, fixes #4801 [Jon Evans]
1202
1203 * Fix issues with Enumerable.any, ObjectRange.toArray, added unit tests, fixes #4419 [miyamuko, Thomas Fuchs]
1204
1205 * Fix two instances of unneccesarily redeclared variables, fixes #5229 [Thomas Fuchs]
1206
1207 * Fix a loop in Element.extend to properly use local variable, fixes #5128 [arrix]
1208
1209 * Add constants for additional keys in Event, fixes #5411, #5795 [simone_b]
1210
1211 * Workaround a DOM API bug in Opera in Position.page(), fixes #2407, #5848 [Thomas Fuchs]
1212
1213 * Remove duplicate definition of Position.clone(), fixes #3765 [Thomas Fuchs]
1214
1215 * Make destructive Element, Form, and Form.Element methods return their first argument, so that multiple calls can be chained together. [sam]
1216
1217 ex. $("sidebar").addClassName("selected").show();
1218
1219 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.
1220
1221 * For consistency, Element.toggle, Element.show, Element.hide, Field.clear, and Field.present no longer take an arbitrary number of arguments. [sam]
1222
1223 !! BACKWARDS COMPATIBILITY CHANGE !!
1224
1225 If you have code that looks like this:
1226 Element.show('page', 'sidebar', 'content');
1227 You need to replace it with code like this:
1228 ['page', 'sidebar', 'content'].each(Element.show);
1229
1230 * Mix in Form and Form.Element methods to forms and form field elements with $() and $$(). Closes #4448. [Dan Webb, sam]
1231
1232 * Add Object.clone [sam]
1233
1234 * Add Form.Element.disable and Form.Element.enable. Closes #4943. [jan@prima.de]
1235
1236 * Field is now simply an alias for Form.Element. [sam]
1237
1238 * Add Element.Methods.getElementsByClassName and Element.Methods.getElementsBySelector. Closes #4669. [Andrew Dupont, DHH, sam]
1239
1240 * Avoid race condition when stopping an Ajax.PeriodicalUpdater. Closes #4809. [e98cuenc@gmail.com]
1241
1242 * Improve support for synchronous requests. Closes #5916. [sam, jthrom@gmail.com]
1243
1244 * Add serialization and observation support for input type=search. Closes #4096. [rpnielsen@gmail.com]
1245
1246 * Properly decode query components in String.prototype.toQueryParams. Closes #3487. [sam]
1247
1248 * Add Array.prototype.reduce [sam]:
1249 [1, 2].reduce() // [1, 2]
1250 [1].reduce() // 1
1251 [].reduce() // undefined
1252
1253 * Add Object.keys and Object.values [sam]
1254
1255 * Simulate non-GET/POST requests by POSTing with a _method parameter set to the actual verb [DHH]
1256
1257 * 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]
1258
1259 * Sync to script.aculo.us unittest.js library as of 2006/08/29 [Thomas Fuchs]
1260
1261 * Add additional unit tests to test/unit/dom.html for testing Element.update and $().update in various enviroments [Thomas Fuchs]
1262
1263 * Prevent possible exceptions on unloading the page in IE [Thomas Fuchs]
1264
1265 *1.5.0_rc0* (April 5, 2006)
1266
1267 * Modify HTMLElement.prototype and short-circuit Element.extend where possible. Closes #4477. [Thomas Fuchs]
1268
1269 * Only observe window.onunload in IE for Mozilla bfcache support. Closes #3726. [Mike A. Owens]
1270
1271 * Don't redefine Array.prototype.shift. Closes #4138. [leeo]
1272
1273 * Prevent redefining Array.prototype.reverse more than once. Closes #3951. [brettdgibson@gmail.com]
1274
1275 * Fix Enumerable.min/Enumerable.max to recognize the value 0. Closes #3847, #4190. [rubyonrails@brainsick.com, Martin Bialasinski]
1276
1277 * Change Ajax.getTransport to prefer XMLHttpRequest in anticipation of IE 7. Closes #3688. [jschrab@malicstower.org, sam]
1278
1279 * Make Array.prototype.flatten more robust. Closes #3453. [Martin Bialasinski, sam]
1280
1281 * Fix evalScripts from crashing Firefox if script includes 'var'. Closes #3288, #4165. [rahul@ntag.com, sam]
1282
1283 * Scope iterators locally. Closes #4589. [sam]
1284
1285 * Support Insertion.Before/Insertion.After for <tr> elements in IE. Closes #3925. [rails-venkatp@sneakemail.com]
1286
1287 * Add a contentType option for overriding application/x-www-form-urlencoded in Ajax.Request. Closes #3564. [avif@arc90.com, sam]
1288
1289 * Surround values in the X-JSON header in parenthesis for better compatibility with Firefox. Closes #4118. [bigsmoke@gmail.com]
1290
1291 * Fix Form.serialize to properly encode option values in multiple selects in IE. Closes #3291. [rubyonrails@brainsick.com]
1292
1293 * Cache methods added to DOM elements with Element.extend to prevent memory leaks in IE. Closes #4465. [jaen@laborint.com, sam]
1294
1295 * 1.5.0_pre1* (March 26, 2006)
1296
1297 * Add attribute selector support for Selector (and $$). Closes #4368. [devslashnull@gmail.com]
1298 Example:
1299 $$('form#foo input[type=text]').each(function(input) {
1300 input.setStyle({color: 'red'});
1301 });
1302
1303 * 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]
1304
1305 * Make $$ work in IE. Closes #3715. [rubyonrails@brainsick.com]
1306
1307 * Add test/browser.html, which provides a simple object browser for the Prototype source (Firefox/Safari only). [sam]
1308
1309 * 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]
1310
1311 * Add Element.replace as a cross-browser implementation of the "outerHTML" property. References #3246. [tom@craz8.com]
1312
1313 * Fix Enumerable.zip iterator behavior. [Marcin Kaszynski, sam]
1314
1315 *1.5.0_pre0* (January 18, 2006)
1316
1317 * Add String.prototype.truncate to complement the Action View truncate helper. [sam]
1318
1319 * 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]
1320
1321 * Add a Template class for interpolating named keys from an object in a string. [sam]
1322
1323 * Add the $$ function for finding DOM elements by simple CSS selector strings. [sam]
1324 Example: Find all <img> elements inside <p> elements with class "summary", all inside
1325 the <div> with id "page". Hide each matched <img> tag.
1326 $$('div#page p.summary img').each(Element.hide)
1327
1328 * Add a Selector class for matching elements by single CSS selector tokens. [sam]
1329
1330 * Add Test.Unit.Assertions.assertEnumEqual for comparing Enumerables in tests. [sam]
1331
1332 * Add Element.childOf(element, ancestor) which returns true when element is a child of ancestor. [sam]
1333
1334 * Fix escaping in String.prototype.inspect. [sam]
1335
1336 * Add String.prototype.strip to remove leading and trailing whitespace from a string. [sam]
1337
1338 * Move Prototype to Rails SVN. [sam]
1339 http://dev.rubyonrails.org/svn/rails/spinoffs/prototype/
1340
1341 * Make the console nicer. [sam]
1342
1343 * Prune the source tree. [sam]
Something went wrong with that request. Please try again.