Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 872 lines (506 sloc) 50.836 kB
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
authored
1 *SVN*
2
b14c9af @savetheclocktower Exclude Opera from using the sourceIndex approach in Element#descenda…
savetheclocktower authored
3 * Exclude Opera from using the sourceIndex approach in Element#descendantOf. [Tobie Langel, Andrew Dupont]
4
d6b843c @tobie Ensure Element#hasClassName always returns a boolean. Closes #10075.
tobie authored
5 * Ensure Element#hasClassName always returns a boolean. Closes #10075. [ronnylovtangen, Tobie Langel]
6
8cd85d1 @savetheclocktower Ensure selectors of the form "[href]" (attribute token with no preced…
savetheclocktower authored
7 * Ensure selectors of the form "[href]" (attribute token with no preceding tag name) work properly. Closes #8870. [chao, kangax, Andrew Dupont]
8
7cf17c7 @savetheclocktower Performance optimizations for Element#descendantOf. Costliness should…
savetheclocktower authored
9 * Performance optimizations for Element#descendantOf. Costliness should no longer be dependent on the difference in depth between the parent and the child. [Andrew Dupont]
10
916cbba @madrobby Apply the workaround for the Firefox "blinking element" opacity=1 bug…
madrobby authored
11 * Apply the workaround for the Firefox "blinking element" opacity=1 bug only to Firefox 1.5. [Thomas Fuchs]
12
bb66a5e @savetheclocktower Changelog entry for [8037].
savetheclocktower authored
13 * Add event.stopped, a boolean that is set to `true` when Event#stop is called. [Andrew Dupont, sam]
14
18969c5 @sstephenson prototype: Reset the browser's dimensions to their original settings …
authored
15 * Reset the browser's dimensions to their original settings after running the DOM viewport tests. [sam]
16
1c5e3fe @sstephenson prototype: Fix the test runner for Firefox in Leopard.
authored
17 * Fix the test runner for Firefox in Leopard. [sam]
18
4dece6b @tobie Use String#include wherever possible.
tobie authored
19 * Use String#include wherever possible.
20
16127b0 @tobie prototype: In IE, allow opacity to be set on elements not yet attache…
tobie authored
21 * In IE, allow opacity to be set on elements not yet attached to the document. Closes #9904. [Thomas Fuchs, dcpedit, Tobie Langel]
22
f870fba @tobie prototype: Avoid the try..catch block in Ajax.Response#_getResponseJS…
tobie authored
23 * Avoid the try..catch block in Ajax.Response#_getResponseJSON unless required. [Tobie Langel]
24
0100aee @tobie prototype: Add more tests to Element.update.
tobie authored
25 * Add more tests to Element.update. Closes #9327. [Tobie Langel]
26
44c9d89 @tobie prototype: Make the Ajax.Response#headerJSON property correctly decod…
tobie authored
27 * Make the Ajax.Response#headerJSON property correctly decode unicode characters. Closes #9285. [Marius Feraru, Tobie Langel]
28
827c8c6 @tobie prototype: Prevent a Firefox bug from throwing errors on page load/un…
tobie authored
29 * 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]
30
ba96fa7 @tobie prototype: Minor cosmetic changes to the display of unit tests in ter…
tobie authored
31 * Minor cosmetic changes to the display of unit tests in terminal. [Tobie Langel]
32
29c0de6 @tobie prototype: Make submitting forms work in Opera < 9.1.
tobie authored
33 * Make submitting forms work in Opera < 9.1. Closes #9917, #9463, #8260. [kangax]
34
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
authored
35 * Fix template evaluation with empty replacements. Closes #9692. [Ryan McGeary]
e9e1a67 @sstephenson prototype: trunk is now 1.5.2_pre0
authored
36
8327ffd @sstephenson prototype: Hash#toTemplateReplacements is an alias for Hash#toObject …
authored
37 * Hash#toTemplateReplacements is an alias for Hash#toObject so you can once again pass hashes to Template#evaluate and String#interpolate. [sam]
38
d114e76 @sstephenson prototype: Fix Event#is(Left|Middle|Right)Click in IE. Closes #7520.
authored
39 * Fix Event#is(Left|Middle|Right)Click in IE. Closes #7520 (again). [Mislav Marohnić]
40
b83ae95 @sstephenson prototype: Fix template evaluation with empty replacements. Closes #…
authored
41 *1.6.0_rc1* (October 16, 2007)
42
aada1ab @savetheclocktower * Ensure Event.* generic methods work in IE, even when the event is n…
savetheclocktower authored
43 * Ensure Event.* generic methods work in IE, even when the event is not extended. [Viktor Kojouharov, Andrew Dupont]
44
bfd5353 @sstephenson prototype: Don't translate "keypress" events into "keydown" events.
authored
45 * Don't translate "keypress" events into "keydown" events. [sam]
46 Note: "keypress" is broken in Safari <= 2.x, but Event#stop has no effect on "keydown" events.
47
8d3d6cd @savetheclocktower * Changed Element#makeClipping to remember the original overflow valu…
savetheclocktower authored
48 * Changed Element#makeClipping to remember the original overflow value, even if it's a non-inline style. [Andrew Dupont]
49
3dd7bd5 @sstephenson prototype: Cross-browser Event#isLeftClick with the addition of is(Mi…
authored
50 * Cross-browser Event#isLeftClick with the addition of is(Middle|Right)Click. Closes #7520. [Christophe Porteneuve, Richard Quadling, Mislav Marohnić]
51
6cd34be @savetheclocktower * Change Selector to use the non-XPath approach for Safari 3 because …
savetheclocktower authored
52 * Changed Selector to use the non-XPath approach for Safari 3 because of bugs in its version of document.evaluate. [Andrew Dupont]
53
0dd4ba7 @savetheclocktower * Changed the Selector regex that tests whether the selector can be e…
savetheclocktower authored
54 * 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]
55
56 * 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
57
865ac01 @tobie prototype: Make sure $w always returns an array.
tobie authored
58 * Make sure $w always returns an array. [Andrew Dupont, Tobie Langel]
59
0632778 @tobie Add more tests to Hash.
tobie authored
60 * Add more tests to Hash. [Mislav Marohnić]
61
941359b @tobie Performance enhancements to . Closes #9464
tobie authored
62 * Performance enhancements to $A. Closes #9464. [Samuel Lebeau]
63
7dda50a @tobie Make Function#argumentNames work with named functions. Closes #9826
tobie authored
64 * Make Function#argumentNames work with named functions. Closes #9826. [Samuel Lebeau]
65
96af1b7 @tobie Add Object.isHash.
tobie authored
66 * Add Object.isHash. [Tobie Langel]
67
d195111 @tobie Performance improvements to String#times.
tobie authored
68 * Performance improvements to String#times. [Martin Ström]
69
db371dd @tobie Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON ps…
tobie authored
70 * Make Ajax.Response#getHeaderJSON and Ajax.Response#getResponseJSON pseudo private instance methods. [Tobie Langel]
71
e7bb042 @tobie Make ObjectRange use the new Class.create syntax.
tobie authored
72 * Make ObjectRange use the new Class.create syntax. [Mislav Marohnić]
73
74 * Fix a failing ClassCreate test case in IE. [Tobie Langel]
75
d25b863 @tobie Complete rewrite of the Hash class.
tobie authored
76 * Complete rewrite of the Hash class.
77
78 !! BACKWARDS COMPATIBILITY CHANGE !! This new version of Hash is NOT backwards compatible with the former Hash class.
79
80 Properties are now hidden away in an private store to prevent the risk of collision with Hash's instance and mixed-in methods.
81 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.
82
83 - Make $H(object) equivalent to new Hash(object). Both now return a new (cloned) instance of Hash in all circumstances.
84 - Make Hash#merge non-destructive.
85
86 - Add Hash#update (a destructive version of Hash#merge).
87 - Add Hash#clone (returns a new, cloned instance of Hash).
88 - Add Hash#toObject (returns a clone of the contained object).
89 - Add Hash#get(key) (returns the value of the specified property).
90 - Add Hash#set(key, value) (sets the value of the given property. returns the value).
91 - Add Hash#unset(key) (deletes the specified property and returns its value).
92 - Add Hash.from as a alias to $H for consistency with Array.from.
93 - Add Object.toQueryString.
94
95 - Deprecate Hash.toQueryString (use Object.toQueryString or the instance method Hash#toQueryString instead).
96
97 - Remove Hash#remove (use Hash#unset instead).
98 - Remove Hash.toJSON (use Object.toJSON or the instance method Hash#toJSON instead). [sam, Tobie Langel]
99
4607e29 @sstephenson prototype: Element#wrap now returns the wrapper instead of the elemen…
authored
100 * Element#wrap now returns the wrapper instead of the element being wrapped. [sam]
101
115d3e4 @sstephenson prototype: Namespace all custom event names to avoid conflicts with n…
authored
102 * Namespace all custom event names to avoid conflicts with native DOM events. [sam]
103 - 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")
104 - The "contentloaded" event is now "dom:loaded".
105 - 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.
106
c35598c @sstephenson prototype: Clean up the new class API.
authored
107 * Clean up the new class API. [sam, Tobie Langel]
108 - Add Class#addMethods for adding instance methods to classes.
109 - Remove Class.extend and Class.mixin.
110 - 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.
111
8ca43a5 @sstephenson prototype: Fix contentloaded event initialization in IE. Closes #945…
authored
112 * Fix contentloaded event initialization in IE. Closes #9457, #9488, #9707. [Mislav Marohnić]
113
c904fe7 @sstephenson prototype: Deprecate document.getElementsByClassName and Element#getE…
authored
114 * 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]
115 For more information see https://bugzilla.mozilla.org/show_bug.cgi?id=390411
116
cf88669 @sstephenson prototype: Fix missing "var" in selector.js. Closes #9761.
authored
117 * Fix missing "var" in selector.js. Closes #9761. [Tobie Langel]
118
4b1fb7e @sstephenson prototype: Date#toJSON now returns times in UTC for better compatibil…
authored
119 * Date#toJSON now returns times in UTC for better compatibility with json.js. Closes #9332. [Tobie Langel]
120
8cf1f89 @sstephenson prototype: Ensure document._getElementsByXPath extends the elements i…
authored
121 * Ensure document._getElementsByXPath extends the elements it returns; fixes $$ not returning extended elements in Opera 9.2. Closes #8843. [jdalton]
122
123 * Update Prototype.Browser.MobileSafari for iPod touch compatibility. [sam]
124
746a905 @madrobby Add tests for Object.extend and Object.clone.
madrobby authored
125 * Add tests for Object.extend and Object.clone. [Tobie Langel]
126
cca235b @madrobby Prototype: Add a test for Form.Observer.
madrobby authored
127 * Add a test for Form.Observer. [Christoph Sturm]
128
6c94af7 @madrobby Make sure setting opacity works on elements that have "no layout" in IE.
madrobby authored
129 * Make sure setting opacity works on elements that have "no layout" in IE. [Thomas Fuchs]
130
6ed9095 @sstephenson prototype: Simplify Class.create by establishing a prototype chain wh…
authored
131 * Simplify Class.create by establishing a prototype chain when subclassing. Closes #9342. [Ben Newman]
132
5d3fd6f @sstephenson prototype: Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Res…
authored
133 * Fix Ajax.PeriodicalUpdater for compatibility with Ajax.Response. Closes #9321. [kampers]
134
001b548 @sstephenson prototype: Ensure that classes always have an initialize method.
authored
135 * Ensure that classes always have an initialize method. [Mislav Marohnić]
136
6086db4 @sstephenson prototype: Update Template, Selector, Ajax.*, and ObjectRange classes…
authored
137 * Update Template, Selector, Ajax.*, and ObjectRange classes to use the new class system. [Mislav Marohnić]
138
75b3f3c @sstephenson prototype: Change Abstract.TimedObserver to subclass PeriodicalExecut…
authored
139 * 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ć]
140
bfba40e @sstephenson prototype: Fix Class.mixin to extend the class's prototype.
authored
141 * Fix Class.mixin to extend the class's prototype. [Mislav Marohnić]
142
b923d6d @sstephenson prototype: Fix superclass method call breakage from [7337].
authored
143 * Fix superclass method call breakage from [7337]. [Mislav Marohnić, sam]
144
702d968 @sstephenson prototype: Change Class.extend to allow for superclass method resolut…
authored
145 * Change Class.extend to allow for superclass method resolution and remove Class.inherit. Closes #9274. [Samuel Lebeau]
146
b2f884b @sstephenson prototype: Event handlers are now bound to the observed element, not …
authored
147 * Event handlers are now bound to the observed element, not the event's target element. [Dan Webb]
148
aa1a7f5 @madrobby prototype: Define Node constants conditionally after checking for Nod…
madrobby authored
149 * 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ć]
150
194fda0 @madrobby prototype: Make sure Enumerable#include doesnt do type comparision. …
madrobby authored
151 * Make sure Enumerable#include doesn't do type comparision. [Mislav Marohnić]
152
f86ac77 @madrobby Prototype: Add contextmenu to Event.DOMEvents.
madrobby authored
153 * Add contextmenu to Event.DOMEvents. [Thomas Fuchs]
154
1a0f6b3 @madrobby Prototype: update trunk CHANGELOG
madrobby authored
155 *1.6.0_rc0* (August 15, 2007)
156
d8b8c65 @sstephenson prototype: Fix readAttribute-related failure in form.html in IE.
authored
157 * Fix readAttribute-related failure in form.html in IE. [sam, Andrew Dupont]
158
c27f2de @sstephenson prototype: Fix failing dom.html and selector.html tests in IE.
authored
159 * Fix failing dom.html and selector.html tests in IE. [Tobie Langel, Andrew Dupont]
160
c603fc5 @sstephenson prototype: Make sure the WebKit redefinition of Element#cumulativeOff…
authored
161 * Make sure the WebKit redefinition of Element#cumulativeOffset uses Element._returnOffset. Closes #9245. [mdaines]
162
11f25aa @sstephenson prototype: Make sure Element#observe is always chainable.
authored
163 * Make sure Element#observe and Element#stopObserving are always chainable. [sam]
d2974cf @sstephenson prototype: Make sure Element#stopObserving is always chainable.
authored
164
14ea77e @sstephenson prototype: Event.fire/Element#fire now returns the newly-fired event …
authored
165 * Event.fire/Element#fire now returns the newly-fired event instead of the event's target element. [sam]
166
d7da841 @sstephenson prototype: Restrict Event.DOMEvents to include only events that can b…
authored
167 * Restrict Event.DOMEvents to include only events that can be supported in all browsers. [sam]
168
ffa744e @sstephenson prototype: Fix a failing test in base.html in Safari 2.
authored
169 * Fix a failing test in base.html in Safari 2. [Tobie Langel]
170
5f76c25 @madrobby Fix Element#positionedOffset and Element#getOffsetParent for static e…
madrobby authored
171 * Fix Element#positionedOffset and Element#getOffsetParent for static elements on IE. [Thomas Fuchs]
172
2fbb490 @sstephenson prototype: Make sure event handlers and their wrappers are removed fr…
authored
173 * Make sure event handlers and their wrappers are removed from the cache by Event.stopObserving. [sam, Severin Heiniger]
174
f3d9cb2 @madrobby Add line numbers to failures when unit testing in Firefox. Closes #9…
madrobby authored
175 * Add line numbers to failures when unit testing in Firefox. Closes #9231. [John Resig]
176
e75cd0a @sstephenson prototype: Fix Function#argumentNames for IE
authored
177 * Fix Function#argumentNames for Opera and IE. [Thomas Fuchs]
220f637 @sstephenson prototype: Fix Function#argumentNames for Opera
authored
178
df71a6b @sstephenson prototype: Add Object.isString, Object.isNumber, and Object.isUndefin…
authored
179 * Add Object.isString, Object.isNumber, and Object.isUndefined, and clean up the source to make use of Object.isXXX where possible. [sam]
180
ae2ab03 @sstephenson prototype: Add the document.viewport object for querying dimensions a…
authored
181 * Add the document.viewport object for querying dimensions and scroll offsets of the browser viewport. [Andrew Dupont, Thomas Fuchs, sam]
182 Example:
183 document.viewport.getDimensions() // { width: 1149, height: 923 }
184 document.viewport.getWidth() // 1149
185 document.viewport.getHeight() // 923
186 document.viewport.getScrollOffsets() // { left: 0, top: 1592 }
187
c488384 @sstephenson prototype: Add support for brackets in quoted attribute value selecto…
authored
188 * Add support for brackets in quoted attribute value selectors. Closes #9157. [Ken Snyder]
189
190 * Add some missing semicolons to the source tree. Closes #9140. [jdalton]
191
cbaec75 @madrobby Prototype: Fix event extensions and custom events firing for Safari 2.0
madrobby authored
192 * Fix event extensions and custom events firing for Safari 2.0. [Thomas Fuchs]
193
30aa7a6 @sstephenson prototype: Add RegExp.escape for escaping regular expression strings.…
authored
194 * Add RegExp.escape for escaping regular expression strings. Closes #9094. [Ken Snyder]
195
aa4602b @sstephenson prototype: Merge -r7242:HEAD from ../branches/1-6-0-events. Adds sup…
authored
196 * 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]
197
198 * 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ć]
199 Example:
200 document.observe("contentloaded", function() {
201 $$("a").invoke("identify"); // give all <a> tags an ID
202 });
203
204 * 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]
205
206 * Extend the event object with methods from Event.Methods and normalize it in IE. [sam, Mislav Marohnić]
207
208 * Remove support for observing the capturing phase of DOM events, since we can't support it in all browsers. [sam]
209
52cf3f2 @sstephenson prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response…
authored
210 * 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]
211
212 * Add an isRunningFromRake property to unit tests. [Tobie Langel]
213
214 * Add support for Opera browser in jstest.rb. [Tobie Langel]
215
281ac64 @sstephenson prototype: Merge -r6792:HEAD from ../branches/inheritance/{src/base.j…
authored
216 * Inheritance branch merged to trunk; robust inheritance support for Class.create. Closes #5459. [Dean Edwards, Alex Arnell, Andrew Dupont, Mislav Mahronic]
217 - To access a method's superclass method, add "$super" as the first argument. (The naming is significant.) Works like Function#wrap.
218 - 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.
219 - Added Class.extend for dynamically adding methods to existing classes (while preserving inheritance chain). Can also be used for mixins.
220 - 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.
221 - Added Object.isFunction [sam]
222
90c9c69 @sstephenson prototype: Add Function#argumentNames, which returns an ordered array…
authored
223 * Add Function#argumentNames, which returns an ordered array of the function's named arguments. [sam]
224
52cf3f2 @sstephenson prototype: Merge -r7016:HEAD from ../branches/ajax. Add Ajax.Response…
authored
225 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
226
5645a07 @sstephenson prototype: Add Prototype.Browser.MobileSafari which evaluates to true…
authored
227 * Add Prototype.Browser.MobileSafari which evaluates to true on the iPhone's browser. [sam]
228
82bedce @sstephenson prototype: Optimize Selector#match and Element#match for simple selec…
authored
229 * Optimize Selector#match and Element#match for simple selectors. Closes #9082. [Andrew Dupont]
230
a529bcf @sstephenson prototype: Remove the dependency on Element.ClassNames from Element#a…
authored
231 * Remove the dependency on Element.ClassNames from Element#addClassName/removeClassName/toggleClassName, and deprecate Element.ClassNames. Closes #9073. [Tobie Langel]
232
c0735db @sstephenson prototype: Make Element#wrap accept a second argument for setting att…
authored
233 * 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]
234
44ef748 @sstephenson prototype: Improvements for Element#replace, Element#update and Eleme…
authored
235 * Improvements for Element#replace, Element#update and Element#insert. Closes #7429, #9060. [Tobie Langel]
236 - Element#replace/update/insert uses the argument's toElement or toHTML method if present (toElement has precedence if both are present).
237 - Element#replace and Element#update now also accept DOM elements.
238 - Element#replace better handles table-related elements in IE and Opera.
239
240 * Add Object.isArray and Object.isElement (returns true if the object is a DOM node of type 1). [Tobie Langel]
241
242 * Add Object.toHTML (uses the object's toHTML method if present or else passes the object to String.interpret). [Tobie Langel]
243
7b2ce66 @sstephenson prototype: Make Element#setStyle accept a string argument of CSS rule…
authored
244 * 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]
245 Examples:
246 $('id').setStyle('font-size: 12px; float: left; opacity: 0.5');
247 $('id').setStyle({fontSize: '12px', cssFloat: 'left', opacity: 0.5});
248
249 !! BACKWARDS COMPATIBILITY CHANGE !!
250
251 If you have code that looks like this:
252 $('id').setStyle({'font-size': '12px'});
253 You need to replace it with either of the following:
254 $('id').setStyle({fontSize: '12px'});
255 $('id').setStyle('font-size: 12px;');
256
c6f3daa @sstephenson prototype: Add Element#identify, which returns the element's ID if it…
authored
257 * 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]
258
7e6481b @sstephenson prototype: Make Element#readAttribute work for cloned elements in IE.…
authored
259 * Make Element#readAttribute work for cloned elements in IE. Closes #8481. [chem, Tobie Langel]
260
ff45622 @sstephenson prototype: Template enhancements. Closes #8166.
authored
261 * Template enhancements. Closes #8166. [Christophe Porteneuve]
262 - Added String#interpolate as a shortcut for new Template(...).evaluate(...).
263 - 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.
264 - You can now substitute properties of template replacement values in template strings, using dot or bracket notation (or both). Example:
265 "#{name.last}, #{name.first[0]}. (#{location})".interpolate({
266 name: { first: "Christophe", last: "Porteneuve" }, location: "Paris"
267 }) // "Porteneuve, C. (Paris)"
268
269 * 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
270
38fa39a @sstephenson prototype: Make String#scan explicitly return a string. Closes #6350.
authored
271 * 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]
272
513042d @madrobby Add Array#intersect for set intersection. Returns a new array contain…
madrobby authored
273 * 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]
274 Example:
275 [1,1,3,5].intersect([1,2,3]) -> [1,3]
276
cea24d6 @madrobby Prototype: Rename Element#getElementsBySelector to Element#select and…
madrobby authored
277 * Rename Element#getElementsBySelector to Element#select and add alias for Element#getElementsBySelector. [Thomas Fuchs]
278
279 * Add Element#adjacent as a shortcut to selecting all adjacent nodes (and their children) that match a CSS selector. [Thomas Fuchs]
280
1c17b63 @sstephenson prototype: Enhance the Enumerable and Array APIs to more closely matc…
authored
281 * 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]
282 - Add Array#lastIndexOf, and change Array#indexOf not to overwrite the native method.
283 - Make Enumerable use Array.prototype.forEach instead of _each when possible (slight speed increase).
284 - Add "filter", "entries", "every", and "some" Array aliases.
285 - All Enumerable methods now have an additional parameter, "context", which, if present, specifies the object to which the iterators' "this" is bound.
286 - Function#bind and #curry now return the receiving function if the binding object is undefined.
287
29cd62e @sstephenson prototype: Temporary workaround for Prototype.BrowserFeatures.Specifi…
authored
288 * Temporary workaround for Prototype.BrowserFeatures.SpecificElementExtensions incorrectly evaluating to true on iPhone. (needs further investigation) [sam]
289
9e7efd5 @madrobby Prototype: merges from form branch. Closes #5031, #5902, #7595, #840…
madrobby authored
290 * 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ć]
291
292 * 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ć]
293 Examples:
294 $('form').serialize({ submit: 'delete' })
295 $('form').serialize({ hash: false }) //-> equivalent to $('form').serialize()
296
297 * Form#findFirstElement respects HTML tabindexes. Closes #7595. [Christophe Porteneuve]
298
299 * 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ć]
300 Examples:
301 $('text_input').setValue('hello world!')
302 $('remember_me').setValue(true)
303 $('attend_classes').setValue(['cheese rolling', 'evil chemistry'])
304
f2d304b @sstephenson prototype: Merge [7066] from branches/1-5-1-1
authored
305 * 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
306 Example:
03ae9dd @madrobby * Make document.getElementsByClassName match the WHATWG Web Applicati…
madrobby authored
307 document.getElementsByClassName('foo bar')
308
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
madrobby authored
309 * 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
310
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
madrobby authored
311 * 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
312
1b8ef5a @madrobby Fix a Safari rendering issue when floating elements could temporarily…
madrobby authored
313 * Prevent a crash in Safari 1.3 on String#stripScripts and String#extractScripts. Closes #8332. [grant, Tobie Langel]
314
315 * 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
316
51bb86d @madrobby Add Hash.prototype.index which returns the first found property that …
madrobby authored
317 * Add Hash.prototype.index which returns the first found property that has a specific value. Closes #8528. [Thomas Fuchs, slusarz, Mislav Marohnić]
318 Examples:
319 var hash = $H({a:1,b:'2'});
320 hash.index(1) // -> 'a'
321 hash.index('1') // -> undefined
322
ae2ea8a @sstephenson prototype: Ensure HTMLElement exists before creating Element.extend.
authored
323 * Ensure HTMLElement exists before creating Element.extend. [Tobie Langel]
324
86118c3 @madrobby Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to…
madrobby authored
325 * 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
326
86118c3 @madrobby Prototype: Add Number.prototype.round/ceil/floor/abs as an aliases to…
madrobby authored
327 * 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
328
431dd4e @madrobby Prototype: Test library fixes: make rake dist work on Windows, only t…
madrobby authored
329 * Test library fixes: make rake dist work on Windows, only teardown if a browser is supported. Closes #8463, #8498. [Mislav Marohnić, grant]
330
d4d4fdd @madrobby Prototype: Change Element.insert syntax to allow multiple positions.
madrobby authored
331 * Change Element.insert syntax to allow multiple positions. [Thomas Fuchs]
332 Examples:
333 Element.insert('foo', {top:'bar', bottom:'baz'});
334 $('foo').insert({after: new Element('p').update('bar')});
335 Element.insert('foo', new Element('p').update('bar')); // defaults to bottom
336 Element.insert('foo', 'bar'); // defaults to bottom
337
4cafec8 @madrobby Prototype: String.prototype.truncate now explicitly converts its retu…
madrobby authored
338 * 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]
339
b61bca1 @sstephenson prototype: Event.findElement behaves as expected when the element pas…
authored
340 * Event.findElement behaves as expected when the element passed matches the given selector. Closes #8395. [Mislav Marohnić, Tobie Langel]
341
f099e67 @madrobby Element.setOpacity now calls removeAttribute on the filter style on I…
madrobby authored
342 * 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]
343
55b658a @sstephenson prototype: Event.findElement now uses Element#up (and as a result can…
authored
344 * Event.findElement now uses Element#up (and as a result can take a CSS selector instead of just a tag name). [Tobie Langel]
345
a8a19eb @sstephenson prototype: Minor cleanup of the position methods
authored
346 * Minor cleanup of the position methods [sam]
347
7d2ae29 @sstephenson prototype: Fix Element#clonePosition to call Element#viewportOffset. …
authored
348 * Fix Element#clonePosition to call viewportOffset. Closes #8372. [graemenelson, Christophe Porteneuve]
349
beeb12e @sstephenson prototype: Prevent an error being thrown by $$ when #id does not exis…
authored
350 * Prevent an error being thrown by $$ when #id does not exist in $$("div #id"). Closes #8325. [Tobie Langel, ecke]
351
a7a0edd @madrobby Make Prototype.ScriptFragment behave when including Prototype inline.
madrobby authored
352 * Make Prototype.ScriptFragment behave when including Prototype inline. [Christophe Porteneuve]
353
5e356c3 @sstephenson prototype: Update CHANGELOG
authored
354 * 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]
355
83b4b33 @sstephenson Merge -r6634:HEAD from ../branches/dom.
authored
356 * Make Element#update and Element#insert work for SELECT tags in IE and Opera. [Tobie Langel]
357
358 * Make Element#insert and Element#update better handle TABLE related elements in IE and Opera. Closes #7776, #8040, #7550, #7776, #7938. [Tobie Langel]
359
360 * Make Element#readAttribute('title') work in Opera. [Tobie Langel]
361
362 * Make Element#replace work with form elements in Firefox and Safari. Closes #8010, #7989. [dsl239, Tobie Langel]
363
364 * Add Element#wrap which wraps the element inside a new one. Closes #5732. [P. Vande, Tobie Langel]
365
366 * 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]
367
93c43b9 @sstephenson prototype: Update CHANGELOG to reflect preferred capitalization for E…
authored
368 * 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
369
67a4d00 @sstephenson prototype: Refactor Element.extend and eliminate Element.extend.cache.
authored
370 * Refactor Element.extend and eliminate Element.extend.cache. [sam]
371
562e61f @sstephenson prototype: Add Function#curry, Function#delay, Function#defer, and Fu…
authored
372 * Add Function#curry, Function#delay, Function#defer, and Function#wrap. Closes #8134. [Andrew Dupont, Tobie Langel, sam]
373
f457c98 @sstephenson prototype: Merge -r6639:HEAD from branches/rel_1-5-1 into trunk.
authored
374 *1.5.1* (May 1, 2007)
375
376 * Don't duplicate the event argument in Function#bindAsEventListener. Closes #6497. [wiktor]
377
378 * Fix Selector :not-clause chaining. [Andrew Dupont]
95df0a7 @sstephenson prototype: Prepare for 1.5.1 release.
authored
379
c580aea @sstephenson prototype: 1.5.1_rc4
authored
380 *1.5.1_rc4* (April 27, 2007)
1886b03 @sstephenson prototype: Fix Element#readAttribute to work with the 'type' attribut…
authored
381
d6c7cd9 @sstephenson prototype: Fix $F breakage from [6598].
authored
382 * Fix $F breakage from [6598]. [sam]
383
8a382ff @sstephenson prototype: Set window.$continue to an Error with a helpful message fo…
authored
384 * Set window.$continue to an Error with a helpful message for anyone who may still be using "throw $continue". [sam]
385
310b3ec @sstephenson prototype: Fix jstest.rb IE support so you don't have to close the IE…
authored
386 * Fix jstest.rb IE support so you don't have to close the IE window after each test (yay!). Closes #8207. [Ryan Schuft]
387
b360a93 @sstephenson prototype: Fix jstest.rb Konqueror support. Closes #7140.
authored
388 * Fix jstest.rb Konqueror support. Closes #7140. [Christophe Porteneuve]
389
b76d34e @sstephenson prototype: Fix regression in which no-argument calls to Element.addMe…
authored
390 * 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]
391
1886b03 @sstephenson prototype: Fix Element#readAttribute to work with the 'type' attribut…
authored
392 * Fix Element#readAttribute to work with the 'type' attribute in IE. Closes #8160. [Tobie Langel, Wiktor Ihárosi]
393
394 *1.5.1_rc3* (April 24, 2007)
fc91a3e @madrobby Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
madrobby authored
395
47bfeb5 @sstephenson prototype: Add Element#childElements as an alias for Element#immediat…
authored
396 * Add Element#childElements as an alias for Element#immediateDescendants. [Tobie Langel]
397
5784d78 @sstephenson prototype: Add Element#firstDescendant to retrieve the first non-text…
authored
398 * Optimize DOM navigation methods (Element#up, Element#down, Element#previous, Element#next) for no-argument calls. Closes #7848. [haraldmartin, sam]
399
400 * Add Element#firstDescendant to retrieve the first non-text child node of an element. [sam]
401
63342b9 @sstephenson prototype: Element.addMethods should add methods to Element as well a…
authored
402 * Element.addMethods should add methods to Element as well as Element.Methods. Closes #7888. [Andrew Dupont]
403
7a324b8 @sstephenson prototype: Add support for per-request onCreate callbacks to Ajax.Req…
authored
404 * Add support for per-request onCreate callbacks to Ajax.Request. Closes #8011. [Andrew Dupont]
405
4174060 @sstephenson prototype: Don't call evalResponse() when an Ajax response has no Con…
authored
406 * Don't call evalResponse() when an Ajax response has no Content-type header. Closes #7827. [Tobie Langel]
407
fea6bc1 @sstephenson prototype: Automatically strip security delimiter comments from JSON …
authored
408 * 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]
409 For more details on potential security problems, see: http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf
410
643b7be @sstephenson prototype: Add extra spacing so Array#toJSON and Hash#toJSON generate…
authored
411 * Add extra spacing so Array#toJSON and Hash#toJSON generate YAML-loadable JSON. Closes #7883. [Andrew Dupont]
412
95ac141 @madrobby Fix Form.request for forms containing an input element with name="act…
madrobby authored
413 * Fix Form.request for forms containing an input element with name="action". Closes #8063. [Thomas Fuchs, Mislav Marohnić]
414
415 * Make Event.element extend the returned element. Closes #7870. [Thomas Fuchs]
416
68f3b21 @madrobby Fix a CHANGELOG typo
madrobby authored
417 * 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
418
c0509c7 @madrobby Prototype: clean (un)escapeHTML IE special casing and optimize speed …
madrobby authored
419 * 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
420
5f2acb4 @madrobby Make Hash.toQueryString serialize undefined values. Ensure consistenc…
madrobby authored
421 * Make Hash.toQueryString serialize undefined values. Ensure consistency with String.prototype.toQueryParams. Closes #7806. [Mislav Marohnić]
422 Examples:
423 $H({a:'b',c:undefined}).toQueryString() -> 'a=b&c'
424 $H({a:'b',c:null}).toQueryString() -> 'a=b&c='
425 $H('a=b&c'.toQueryParams()).toQueryString() -> 'a=b&c'
426 $H('a=b&c='.toQueryParams()).toQueryString() -> 'a=b&c='
427
4506db2 @madrobby Fix Selector issues with :not and attribute selector double quotes, f…
madrobby authored
428 * 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
429
db2ee67 @madrobby Fix Form.disable to work again on non-form elements. Closes #6887. …
madrobby authored
430 * Fix Form.disable to work again on non-form elements. Closes #6887. [Mislav Marohnić]
431
fc91a3e @madrobby Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
madrobby authored
432 * Fix an issue with String.prototype.endsWith. Closes #7822. [altblue]
433
63985a2 @sstephenson prototype: 1.5.1_rc2
authored
434 *1.5.1_rc2* (March 12, 2007)
881b7dc @madrobby Prototype: Fix Element.Methods.descendants() to properly extend eleme…
madrobby authored
435
cb1ad0e @sstephenson prototype: Add a tab character via innerHTML to the selector whitespa…
authored
436 * Add a tab character via innerHTML to the selector whitespace test. [Christophe Porteneuve]
437
438 * Add an attribution to YUI-Ext's DomQuery in selector.js.
439
d17521f @madrobby Missed ticket #
madrobby authored
440 * 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
441
b2845e4 @madrobby Prototype: Make Selector correctly extend the first element it return…
madrobby authored
442 * Make Selector correctly extend the first element it returns on IE. [Thomas Fuchs]
443
a6984e6 @madrobby Prevent a crash in Safari when using $A() on NodeList objects that co…
madrobby authored
444 * Prevent a crash in Safari when using $A() on NodeList objects that contain text nodes. [Thomas Fuchs]
445
881b7dc @madrobby Prototype: Fix Element.Methods.descendants() to properly extend eleme…
madrobby authored
446 * Fix Element.Methods.descendants() to properly extend elements on IE. [Thomas Fuchs]
447
811fb86 @sstephenson prototype: 1.5.1_rc1: Fix readAttribute for IE7.
authored
448 *1.5.1_rc1* (March 9, 2007)
449
450 * Fix readAttribute for IE7. [Andrew Dupont]
451
94cfdd3 @sstephenson prototype: 1.5.1_rc0
authored
452 *1.5.1_rc0* (March 8, 2007)
ce639c2 @sstephenson prototype: Update HEADER to reflect new URL.
authored
453
00bce41 @sstephenson prototype: Merge the selector branch into trunk, bringing vast perfor…
authored
454 * Merge the selector branch into trunk, bringing vast performance improvements, bug fixes, and near-complete CSS3 compliance to $$ and Selector. Closes #7568. [Andrew Dupont]
455 Selector speed test: http://andrewdupont.net/test/double-dollar/
456
f160bc4 @sstephenson prototype: Add support for JSON encoding and decoding. Closes #7427.
authored
457 * Add support for JSON encoding and decoding. Closes #7427. [Tobie Langel]
458
f281192 @sstephenson prototype: Fix double escaping of query parameters in Hash.prototype.…
authored
459 * 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ć]
460
752eebd @madrobby Prototype: Fix simulated attribute reading for IE for "href", "src" a…
madrobby authored
461 * Fix simulated attribute reading for IE for "href", "src" and boolean attributes. [Mislav Marohnić, Thomas Fuchs]
462
a9ec091 @madrobby Prototype: Form.Element.disable() will now call blur(), removed blur(…
madrobby authored
463 * Form.Element.disable() will now call blur(), removed blur() call from Form.Element.enable(). Closes #6034. [tdd]
464
fcc23f0 @madrobby Optimize document.getElementsByClassName and finalize DOM performance…
madrobby authored
465 * Optimize document.getElementsByClassName and finalize DOM performance optimization refactoring. Closes #6696. [Mislav Marohnić]
466
467 * 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
468
469 * 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
470
94d8333 @sstephenson prototype: Fix a bug in the simulated hasAttribute for IE due to getA…
authored
471 * Fix a bug in the simulated hasAttribute for IE due to getAttributeNode sometimes returning null. [sam]
472
60bb068 @madrobby Prototype: Optimize Element.getStyle and add new Element.getOpacity m…
madrobby authored
473 * Optimize Element.getStyle and add new Element.getOpacity method. Special case IE and Opera getStyle methods. Closes #7648. [Tobie Langel, Thomas Fuchs]
474
80f6f40 @madrobby Prototype: Optimize Element.setStyle and add new Element.setOpacity m…
madrobby authored
475 * Optimize Element.setStyle and add new Element.setOpacity method, special case IE and Gecko opacity methods. Closes #7585. [savetheclocktower]
476
d148193 @madrobby Prototype: Add unified Browser detection by providing Prototype.Brows…
madrobby authored
477 * Add unified Browser detection by providing Prototype.Browser.(IE|Gecko|WebKit|Opera) booleans. Closes #6800. [savetheclocktower]
478
5224f0f @madrobby Prototype: Add String.prototype.empty and String.prototype.blank (tes…
madrobby authored
479 * Add String.prototype.empty and String.prototype.blank (tests if empty or whitespace-only). Closes #7016. [Jonathan Viney, Thomas Fuchs]
480
ab59de3 @madrobby Prototype: Update README to reflect new URLs, update LICENSE copyrigh…
madrobby authored
481 * Update README to reflect new URLs, update LICENSE copyright years. Closes #7426. [Tobie Langel]
482
6eca3f0 @sstephenson prototype: Array.prototype.uniq optimization. Closes #7417.
authored
483 * Array.prototype.uniq optimization. Closes #7417. [Christophe Porteneuve]
484
74596ac @sstephenson prototype: String.prototype.endsWith should not fail on multiple occu…
authored
485 * String.prototype.endsWith should not fail on multiple occurrences. Closes #7416. [Christophe Porteneuve]
486
343eae8 @sstephenson prototype: Add Form.Methods.request as a convenience method for seria…
authored
487 * 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]
488
489 Options passed to request() are intelligently merged with the underlying Ajax.Request options:
490 - 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".
491 - 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.
492
7044da8 @sstephenson prototype: Fix $(form).serialize() in Safari and add support for exte…
authored
493 * Fix $(form).serialize() in Safari and add support for extending specific tags to Element.addMethods. Closes #7358. [Andrew Dupont]
494
5345085 @sstephenson prototype: Add String.prototype.startsWith, String.prototype.endsWith…
authored
495 * Add String.prototype.startsWith, String.prototype.endsWith, and String.prototype.include. Closes #7075. [Tobie Langel]
496
c556c89 @sstephenson prototype: Improve performance of String.prototype.escapeHTML by usin…
authored
497 * Improve performance of String.prototype.escapeHTML by using a cached div and text node. Closes #6937. [altblue]
498
8ea007d @madrobby Prototype: Make setStyle() with opacity: 0 in Internet Explorer work …
madrobby authored
499 * Make setStyle() with opacity: 0 in Internet Explorer work correctly. [Thomas Fuchs]
500
8490189 @sstephenson prototype: Form.Element.activate shouldn't raise an exception when th…
authored
501 * Form.Element.activate shouldn't raise an exception when the form or field is hidden. [sam]
502
c89875c @sstephenson prototype: Remove support for "throw $continue" in Enumerable. Use "…
authored
503 * Remove support for "throw $continue" in Enumerable. Use "return" instead. [sam]
504
ce639c2 @sstephenson prototype: Update HEADER to reflect new URL.
authored
505 * Update HEADER to reflect new URL. [sam]
506
3c89b25 @sstephenson prototype: Add release date to CHANGELOG
authored
507 *1.5.0* (January 18, 2007)
bb4d189 @sstephenson prototype: Reorganize the source tree.
authored
508
509 * Add test to ensure Content-type header is set for simulated verbs. [sam]
510
511 * Fix Content-Type header for HTTP methods simulated with POST not defaulting to application/x-www-form-urlencoded. [Thomas Fuchs]
512
513 * Simplify form serialization and add support for fields with the same name as Hash methods. Closes #6649. [Mislav Marohnić]
514
515 * Fix attribute selectors for IE. Closes #5170. [Tobie Langel, Andrew Dupont]
516
517 * A slew of dom.js improvements. Closes #4217, #6589, #7001. [Tobie]
518 - Fix Element.getDimensions() for hidden elements, make Element.getHeight() use .getDimensions()
519 - Add Element.getWidth()
520 - Make Element.replace() call .toString() on the html argument (alike .update())
521 - Fix an issue with Element.get/setStyle() and Safari with 'float'
522 - Add a bunch of missing unit tests
523
524 * Fix an issue with Element.setStyle({opacity:''}) setting the opacity to 0 instead of removing the set inline opacity style. [Thomas Fuchs]
525
526 * Ensure Ajax.Request's evalResponse is called before onComplete so that onComplete can reference any elements created during the response. Closes #6727. [jonathan]
527
528 * Ensure the WEBrick test runner sets the correct Content-Type for tests and fixtures. [sam]
529
530 * 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]
531
532 * Make selectors match forms that have an element with name="id" correctly, fixes #5759 [mislav]
533
534 * Remove support for HTTP authorization in Ajax calls introduced with #6366. Closes #6638 [jmecham]
535
536 * Add Enumerable.size() to count elements in an enumerable and the corresponding Array.size() method, fixes #6710 [ZenCocoon]
537
538 * Add String.succ() method to allow for String ranges, fixes #6037 [Cory Hudson, mislav]
539 Examples:
540 'abcd'.succ(); -> 'abce'
541 $R('a','d').map(function(char){ return char; }); -> ['a','b','c','d']
542
543 * Make Element.scrollTo() correctly consider offsets of parent DOM nodes, fixes #6625 [ohader, savetheclocktower]
544
545 * Fix Enumerable.inGroupsOf() to correctly work with fill values that evaluate to false, fixes #6782 [hawk]
546
547 * Remove/cleanup redundant $() calls in dom.js, fixes #6817 [Tobie]
548
549 * Don't cache files in automatic unit tests, fixes #6218 [voidlock]
550
551 * Add $w() to easily create arrays from strings like Ruby's %w, fixes #5682 [glazedginger, brendon.aaron]
552
553 * Add Element.toggleClassName() to toggle CSS classes on elements, fixes #6759 [Tobie]
554
555 * Make Form.getInputs always return an array for consistency, fixes #6475 [Justin Gehtland, savetheclocktower]
556
557 * Make TimedObserver work correctly for SELECT MULTIPLE elements, fixes #6593 [clemos, tdd]
558
559 * 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]
560
561 * Make Element.getStyle() work with camelCased argument, fixes #6686 [Tobie]
562
563 * Fix a redundant check in Array.prototype.compact, fixes #4739 [wlodarcz, mislav]
564
565 * Fix $() to correctly pass back the results of document.getElementById(), notably returning "null" on elements not found, fixes #6582 [adsmart]
566
567 * Change/add assertNull, assertUndefined, assertNullOrUndefined and not-* variants in unittest.js, fixes #6582 [adsmart]
568
569 * Cleanup String.prototype.camelize, fix an issue with String.prototype.underscore, fixes #4714, #6685 [Tobie, Thomas Fuchs]
570
571 * Add String.prototype.capitalize, which returns a string with the first character in upper case, fixes #6666 [Tobie]
572
573 * Make Element.getStyle() and Element.setStyle() handle the CSS 'opacity' property transparently in IE, fixes #6093 [brandon.aaron, Tobie]
574
575 * Fix handling of CSS 'float' property for Element.getStyle() and Element.setStyle(), fixes #4160 [Thomas Fuchs, ericf]
576
577 * Fix that onComplete would be called twice with synchronous Ajax requests on Safari (provides units tests for #5756) [Thomas Fuchs]
578
579 * Fix Form.Field.activate to not select text on buttons in IE, fixes #2653 [sutch, mislav, Thomas Fuchs]
580
581 * Fix String.unescapeHTML() on Firefox for strings that are longer than 2048 bytes, fixes #5789 [Paul Moers, Thomas Fuchs]
582
583 * Redefine Array.prototype.concat for Opera, as the native implemenation doesn't work correctly [Thomas Fuchs]
584
585 * Add unit tests for Function.prototype.bind() [Thomas Fuchs]
586
587 * Add String.prototype.underscore and String.prototype.dasherize [Thomas Fuchs]
588 Examples:
589 'Hello_World'.dasherize() -> 'Hello-World'
590 'borderBottomWidth'.underscore() -> 'border_bottom_width'
591 'borderBottomWidth'.underscore().dasherize() -> 'border-bottom-width'
592
593 *1.5.0_rc2* (November 11, 2006)
594
595 * Ensure that existing DOM properties take precedence over extended element methods in all browsers. Closes #5115. [Sean Kleinjung, sam]
596
597 * 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]
598 Example:
599 <div id="widgets">
600 <div class="widget" widget_id="7">...</div>
601 <div class="widget" widget_id="8">...</div>
602 <div class="widget" widget_id="9">...</div>
603 </div>
604
605 $$('div.widget').invoke('readAttribute', 'widget_id')
606 // ["7", "8", "9"]
607
608 * Add Element.Methods.immediateDescendants, like $A($(element).childNodes) but without text nodes. [sam]
609
610 * More consistency. Closes #6573. [Bob Silva]
611
612 * String.prototype.toQueryParams and Hash.prototype.toQueryString now properly serialize arrays as multiple values. Closes #4436. [mislav, altblue, L`OcuS]
613
614 * Fix Form.serialize for options with empty values. Closes #5033. [tdd, Thomas Fuchs, sam]
615
616 * Add Element.Methods.Simulated for simulating HTMLElement methods in lesser browsers. Add hasAttribute as the first simulated method. [tdd, Thomas Fuchs, sam]
617
618 * Add a "retry with throw" button for test error messages. [sam]
619
620 * 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]
621
622 Examples:
623 % BROWSERS=safari,firefox rake test
624 % TESTS=dom rake test
625
626 * Element.hasClassName now bypasses the Element.ClassNames API for performance. [sam]
627
628 * Pick some low-hanging performance and DRYness fruit. [sam]
629 - Inline length property accesses in for loops
630 - Enumerable-ize for loops where it makes sense
631 - Make better use of Element.Methods and Form.Methods/Form.Element.Methods
632
633 * A slew of Ajax improvements. Closes #6366. [mislav, sam]
634
635 Public-facing changes include:
636 - HTTP method can be specified in either lowercase or uppercase, and uppercase is always used when opening the XHR connection
637 - Added 'encoding' option (for POST) with a default of 'UTF-8'
638 - Ajax.Request now recognizes all the JavaScript MIME types we're aware of
639 - PUT body support with the 'postBody' option
640 - HTTP authentication support with the 'username' and 'password' options
641 - Query parameters can be passed as a string or as a hash
642 - Fixed both String.toQueryParams and Hash.toQueryString when handling empty values
643 - Request headers can now be specified as a hash with the 'requestHeaders' option
644
645 * Improve performance of the common case where $ is called with a single argument. Closes #6347. [sam, rvermillion, mislav]
646
647 * Fix Object.inspect to correctly distinguish between null and undefined, fixes #5941 [tdd, mislav]
648
649 * Don't serialize disabled form elements, fixes #4586 [tdd]
650
651 * Make HTML element classes extension mechanism for Safari not throw errors on WebKit beta versions [Thomas Fuchs]
652
653 * Add support for using Element.update() with no or a non-string parameter [Thomas Fuchs]
654
655 Example:
656 $('empty_me').update() -> clears the element
657 $('easy_as').update(123) -> set element content to '123'
658
659 * Add unit tests for hashes, fixes #6344 [Tobie Langel]
660
661 * Add clone() method to arrays, fixes #6338 [Tobie Langel]
662
663 * Backing out of [5194] (Element.clear) because of issues with IE on certain elements, #6051
664
665 * Add Element.clear for easily emptying out elements, fixes #6051 [brandon.aaron@gmail.com]
666
667 * Enumerable.each now returns the enumerable to allow for method chaining, fixes #6250 [eventualbuddha]
668
669 * Make makeClipping and undoClipping always return their element to stay chainable
670
671 * Fix an issue with certain Element chain calls not correctly extending elements with Prototype element methods on IE [Thomas Fuchs]
672
673 * Add Enumerable.eachSlice and Enumerable.inGroupsOf, fixes #6046 [rails@tddsworld.com, Thomas Fuchs]
674
675 Example:
676 [1,2,3,4,5].inGroupsOf(3) -> [[1,2,3],[4,5,null]]
677 [1,2,3].inGroupsOf(4,'x') -> [[1,2,3,'x']]
678
679 * Complete unit tests for array.js and string.js [Thomas Fuchs]
680
681 * Performance improvements for document.getElementsByClassName, including querying with XPath in supported browsers. [Andrew Dupont]
682
683 * Make Form.getElements() return elements in the correct order, fix broken Form.serialize return, fixes #4249, #6172 [lars@pinds.com, Thomas Fuchs, john]
684
685 * Add various DOM unit tests, fixes #6176, #6177 [tdd]
686
687 * 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]
688
689 * Form.Element.disable() and .enable() will now work correctly, fixes #6034 [dresselm@businesslogic.com]
690
691 * Fix IE and Safari issues with Position.positionedOffset, add position.html unit tests, fixes #5621 [renggli@iam.unibe.ch]
692
693 * Fix an issue with Element.undoClipping and IE [Thomas Fuchs]
694
695 * Element.cleanWhitespace now correctly removes consecutive empty text nodes, fixes #3209 [livier.duroselle@gmail.com]
696
697 * Element.extend now does not try to extend text nodes, fixes #4642 [siegfried.puchbauer@gmail.com]
698
699 *1.5.0_rc1* (September 4, 2006)
700
701 * bindAsEventListener now passes along any provided arguments after the event argument. Closes #5508. [todd.fisher@revolution.com]
702
703 * Fix makeClipping and undoClipping with local overflow style values other than visible and hidden, fixes #3672 [Thomas Fuchs]
704
705 * 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]
706
707 Examples:
708 <div id="sidebar"> -> $('nav').up() or $('menu').up('div')
709 <ul id="nav"> -> $('sidebar').down() or $('sidebar').down('ul') or $('menu').previous()
710 <li>...</li> -> $('sidebar').down(1) or $('sidebar').down('li')
711 <li>...</li> -> $('sidebar').down(2) or $('sidebar').down('li', 2) or $('sidebar').down('li').next('li')
712 <li class="selected">...</li> -> $('sidebar').down('li.selected')
713 </ul>
714 <ul id="menu"> -> $('sidebar').down('ul').next()
715 ...
716
717 * Refactor $$ and Element.getElementsBySelector into Selector.findChildElements. [sam]
718
719 * Add Element.match, which takes a single CSS selector expression and returns true if it matches the element. [sam]
720
721 * Add Element.ancestors, Element.descendants, Element.previousSiblings, Element.nextSiblings, and Element.siblings. [sam]
722
723 * Add Element.inspect for better DOM debugging. [sam]
724
725 * Add an optional boolean argument to String.prototype.inspect which, when true, makes the string double-quoted instead of single-quoted. [sam]
726
727 * Add the uniq() method to Arrays, which returns a new Array with duplicates removed, fixes #3810 [secondlife]
728
729 * Add stop() method to PeriodicalExecutor, fixes #4801 [Jon Evans]
730
731 * Fix issues with Enumerable.any, ObjectRange.toArray, added unit tests, fixes #4419 [miyamuko, Thomas Fuchs]
732
733 * Fix two instances of unneccesarily redeclared variables, fixes #5229 [Thomas Fuchs]
734
735 * Fix a loop in Element.extend to properly use local variable, fixes #5128 [arrix]
736
737 * Add constants for additional keys in Event, fixes #5411, #5795 [simone_b]
738
739 * Workaround a DOM API bug in Opera in Position.page(), fixes #2407, #5848 [Thomas Fuchs]
740
741 * Remove duplicate definition of Position.clone(), fixes #3765 [Thomas Fuchs]
742
743 * Make destructive Element, Form, and Form.Element methods return their first argument, so that multiple calls can be chained together. [sam]
744
745 ex. $("sidebar").addClassName("selected").show();
746
747 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.
748
749 * For consistency, Element.toggle, Element.show, Element.hide, Field.clear, and Field.present no longer take an arbitrary number of arguments. [sam]
750
751 !! BACKWARDS COMPATIBILITY CHANGE !!
752
753 If you have code that looks like this:
754 Element.show('page', 'sidebar', 'content');
755 You need to replace it with code like this:
756 ['page', 'sidebar', 'content'].each(Element.show);
757
758 * Mix in Form and Form.Element methods to forms and form field elements with $() and $$(). Closes #4448. [Dan Webb, sam]
759
760 * Add Object.clone [sam]
761
762 * Add Form.Element.disable and Form.Element.enable. Closes #4943. [jan@prima.de]
763
764 * Field is now simply an alias for Form.Element. [sam]
765
766 * Add Element.Methods.getElementsByClassName and Element.Methods.getElementsBySelector. Closes #4669. [Andrew Dupont, DHH, sam]
767
768 * Avoid race condition when stopping an Ajax.PeriodicalUpdater. Closes #4809. [e98cuenc@gmail.com]
769
770 * Improve support for synchronous requests. Closes #5916. [sam, jthrom@gmail.com]
771
772 * Add serialization and observation support for input type=search. Closes #4096. [rpnielsen@gmail.com]
773
774 * Properly decode query components in String.prototype.toQueryParams. Closes #3487. [sam]
775
776 * Add Array.prototype.reduce [sam]:
777 [1, 2].reduce() // [1, 2]
778 [1].reduce() // 1
779 [].reduce() // undefined
780
781 * Add Object.keys and Object.values [sam]
782
783 * Simulate non-GET/POST requests by POSTing with a _method parameter set to the actual verb [DHH]
784
785 * 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]
786
787 * Sync to script.aculo.us unittest.js library as of 2006/08/29 [Thomas Fuchs]
788
789 * Add additional unit tests to test/unit/dom.html for testing Element.update and $().update in various enviroments [Thomas Fuchs]
790
791 * Prevent possible exceptions on unloading the page in IE [Thomas Fuchs]
792
793 *1.5.0_rc0* (April 5, 2006)
794
795 * Modify HTMLElement.prototype and short-circuit Element.extend where possible. Closes #4477. [Thomas Fuchs]
796
797 * Only observe window.onunload in IE for Mozilla bfcache support. Closes #3726. [Mike A. Owens]
798
799 * Don't redefine Array.prototype.shift. Closes #4138. [leeo]
800
801 * Prevent redefining Array.prototype.reverse more than once. Closes #3951. [brettdgibson@gmail.com]
802
803 * Fix Enumerable.min/Enumerable.max to recognize the value 0. Closes #3847, #4190. [rubyonrails@brainsick.com, Martin Bialasinski]
804
805 * Change Ajax.getTransport to prefer XMLHttpRequest in anticipation of IE 7. Closes #3688. [jschrab@malicstower.org, sam]
806
807 * Make Array.prototype.flatten more robust. Closes #3453. [Martin Bialasinski, sam]
808
809 * Fix evalScripts from crashing Firefox if script includes 'var'. Closes #3288, #4165. [rahul@ntag.com, sam]
810
811 * Scope iterators locally. Closes #4589. [sam]
812
813 * Support Insertion.Before/Insertion.After for <tr> elements in IE. Closes #3925. [rails-venkatp@sneakemail.com]
814
815 * Add a contentType option for overriding application/x-www-form-urlencoded in Ajax.Request. Closes #3564. [avif@arc90.com, sam]
816
817 * Surround values in the X-JSON header in parenthesis for better compatibility with Firefox. Closes #4118. [bigsmoke@gmail.com]
818
819 * Fix Form.serialize to properly encode option values in multiple selects in IE. Closes #3291. [rubyonrails@brainsick.com]
820
821 * Cache methods added to DOM elements with Element.extend to prevent memory leaks in IE. Closes #4465. [jaen@laborint.com, sam]
822
823 * 1.5.0_pre1* (March 26, 2006)
824
825 * Add attribute selector support for Selector (and $$). Closes #4368. [devslashnull@gmail.com]
826 Example:
827 $$('form#foo input[type=text]').each(function(input) {
828 input.setStyle({color: 'red'});
829 });
830
831 * 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]
832
833 * Make $$ work in IE. Closes #3715. [rubyonrails@brainsick.com]
834
835 * Add test/browser.html, which provides a simple object browser for the Prototype source (Firefox/Safari only). [sam]
836
837 * 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]
838
839 * Add Element.replace as a cross-browser implementation of the "outerHTML" property. References #3246. [tom@craz8.com]
840
841 * Fix Enumerable.zip iterator behavior. [Marcin Kaszynski, sam]
842
843 *1.5.0_pre0* (January 18, 2006)
844
845 * Add String.prototype.truncate to complement the Action View truncate helper. [sam]
846
847 * 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]
848
849 * Add a Template class for interpolating named keys from an object in a string. [sam]
850
851 * Add the $$ function for finding DOM elements by simple CSS selector strings. [sam]
852 Example: Find all <img> elements inside <p> elements with class "summary", all inside
853 the <div> with id "page". Hide each matched <img> tag.
854 $$('div#page p.summary img').each(Element.hide)
855
856 * Add a Selector class for matching elements by single CSS selector tokens. [sam]
857
858 * Add Test.Unit.Assertions.assertEnumEqual for comparing Enumerables in tests. [sam]
859
860 * Add Element.childOf(element, ancestor) which returns true when element is a child of ancestor. [sam]
861
862 * Fix escaping in String.prototype.inspect. [sam]
863
864 * Add String.prototype.strip to remove leading and trailing whitespace from a string. [sam]
865
866 * Move Prototype to Rails SVN. [sam]
867 http://dev.rubyonrails.org/svn/rails/spinoffs/prototype/
868
869 * Make the console nicer. [sam]
870
871 * Prune the source tree. [sam]
Something went wrong with that request. Please try again.