use nice times
[dygraphs.git] / mochikit_v14 / doc / rst / MochiKit / VersionHistory.rst
1 2006-XX-XX      v1.4
2
3 - MochiKit.Color's HSV to RGB conversion code fixed to return the correct
4   value (hsv.v for RGB values) in cases where saturation === 0.
5 - doXHR workaround for a Mozilla bug when calling XMLHttpRequest in certain
6   situations. Always wraps call in a callLater(0, doXHR, url, opts).
7 - parseQueryString will now parse values with embedded "="
8 - Workaround for a Safari DOM crash when using MochiKit.Iter.list.
9   http://bugs.webkit.org/show_bug.cgi?id=12191
10 - New removeNodeAttribute function in MochiKit.DOM.
11 - MochiKit.Async.doXHR and dependent functions now accept 201 CREATED and
12   204 NO CONTENT as valid.
13 - MochiKit.DOM.formContents now treats option tags the same way that
14   form posts do in the case of missing and empty string value attributes,
15   even in IE.
16 - MochiKit.Base.queryString now accepts third queryString([names, values])
17   form.
18 - MochiKit.DOM.formContents now defaults to document.body if no element is
19   given.
20 - New MochiKit.Selector module
21 - MochiKit.LoggingPane fixes for Internet Explorer
22 - MochiKit.DOM now creates XHTML nodes in XUL documents.
23 - MochiKit.LoggingPane now works on pages with '#' in the URL on IE
24 - New MochiKit.Async.doXHR as a convenient method for doing custom
25   XMLHttpRequests (e.g. extra headers, overrideMimeType, etc.)
26 - New __connect__ protocol for MochiKit.Signal.connect source notifications
27 - Added colSpan, bgColor to the list of DOM renames for Internet Explorer
28 - New MochiKit.Signal.disconnectAllTo function
29 - MochiKit.Base.parseQueryString now accepts leading question mark
30 - New MochiKit.Base.values function
31 - Fixed MochiKit.Signal.disconnect when called from a signal handler invoked
32   by MochiKit.Signal.signal
33 - parseQueryString now splits on HTML entities equivalent to ampersand as well
34 - Better XHTML compatibility (removed obvious cases where uppercase tagName or
35   nodeName was assumed)
36 - MochiKit.Base.queryString now handles array values in the same way HTML
37   forms handle multiple elements of the same name.
38 - MochiKit.Base.parseQueryString now returns {} for empty query string instead
39   of {"": "undefined"}
40 - MochiKit.DOM.formContents now handles option value="" correctly.
41 - MochiKit.DOM now checks for undefined className.
42 - MochiKit.Iter.groupby() now uses compare() to group rather than == and !=
43 - serializeJSON no longer serializes undefined, as per the JSON spec
44 - Fixed an infinite recursion bug in serializeJSON if an adapter
45   returns the object itself.
46 - New MochiKit.Base.operator.seq and sne to support strict comparison
47 - MochiKit.Base.isArrayLike no longer returns true for DOM text nodes
48 - Added readonly-readOnly to the list of DOM renames for Internet Explorer
49 - New MochiKit.Signal event method: confirmUnload (sets returnValue for 
50   onbeforeunload)
51 - Fix interpreter help() function for Firefox and IE
52 - API version compatibility notes added
53 - New MochiKit.Base functions methodcaller and compose
54 - Support IE-based native console logging (Debugger, Atlas)
55 - Refactored style functions from MochiKit.DOM to MochiKit.Style
56 - MochiKit.Async.DeferredList is now a proper Deferred
57 - MochiKit.DOM.formContents now supports SELECT multiple tags
58 - Re-use StopIteration Error if the browser already has it
59 - Workaround IE type="" bug for INPUT elements
60 - Allow LoggingPane to work in IE with hyphen-containing URLs
61 - Replace percents for Safari native logging to avoid crashing
62 - New MochiKit.DOM.coerceToDOM .dom(node) / .__dom__(node) protocol
63 - MochiKit.DOM's MochiKit.Iter dependency is now optional
64 - Added expand all link to the documentation index
65 - Added MochiKit.DOM.isChildNode
66 - Added synthesizing for onmouseenter/onmouseleave
67
68 2006-04-29      v1.3.1 (bug fix release)
69
70 - Fix sendXMLHttpRequest sendContent regression
71 - Internet Explorer fix in MochiKit.Logging (printfire exception)
72 - Internet Explorer XMLHttpRequest object leak fixed in MochiKit.Async
73
74 2006-04-26      v1.3 "warp zone"
75
76 - IMPORTANT: Renamed MochiKit.Base.forward to forwardCall (for export)
77 - IMPORTANT: Renamed MochiKit.Base.find to findValue (for export)
78 - New MochiKit.Base.method as a convenience form of bind that takes the
79   object before the method
80 - New MochiKit.Base.flattenArguments for flattening a list of arguments to
81   a single Array
82 - Refactored MochiRegExp example to use MochiKit.Signal
83 - New key_events example demonstrating use of MochiKit.Signal's key handling
84   capabilities.
85 - MochiKit.DOM.createDOM API change for convenience: if attrs is a string,
86   null is used and the string will be considered the first node. This
87   allows for the more natural P("foo") rather than P(null, "foo").
88 - MochiKit Interpreter example refactored to use MochiKit.Signal and now
89   provides multi-line input and a help() function to get MochiKit function
90   signature from the documentation.
91 - Native Console Logging for the default MochiKit.Logging logger
92 - New MochiKit.Async.DeferredList, gatherResults, maybeDeferred
93 - New MochiKit.Signal example: draggable
94 - Added sanity checking to Deferred to ensure that errors happen when chaining
95   is used incorrectly
96 - Opera sendXMLHttpRequest fix (sends empty string instead of null by default)
97 - Fix a bug in MochiKit.Color that incorrectly generated hex colors for
98   component values smaller than 16/255.
99 - Fix a bug in MochiKit.Logging that prevented logs from being capped at a
100   maximum size
101 - MochiKit.Async.Deferred will now wrap thrown objects that are not instanceof
102   Error, so that the errback chain is used instead of the callback chain.
103 - MochiKit.DOM.appendChildNodes and associated functions now append iterables
104   in the correct order.
105 - New MochiKit-based SimpleTest test runner as a replacement for Test.Simple
106 - MochiKit.Base.isNull no longer matches undefined
107 - example doctypes changed to HTML4
108 - isDateLike no longer throws error on null
109 - New MochiKit.Signal module, modeled after the slot/signal mechanism in Qt
110 - updated elementDimensions to calculate width from offsetWidth instead
111   of clientWidth 
112 - formContents now works with FORM tags that have a name attribute
113 - Documentation now uses MochiKit to generate a function index
114
115 2006-01-26      v1.2 "the ocho"
116
117 - Fixed MochiKit.Color.Color.lighterColorWithLevel
118 - Added new MochiKit.Base.findIdentical function to find the index of an
119   element in an Array-like object. Uses === for identity comparison.
120 - Added new MochiKit.Base.find function to find the index of an element in
121   an Array-like object. Uses compare for rich comparison.
122 - MochiKit.Base.bind will accept a string for func, which will be immediately
123   looked up as self[func].
124 - MochiKit.DOM.formContents no longer skips empty form elements for Zope
125   compatibility
126 - MochiKit.Iter.forEach will now catch StopIteration to break
127 - New MochiKit.DOM.elementDimensions(element) for determining the width and
128   height of an element in the document
129 - MochiKit.DOM's initialization is now compatible with
130   HTMLUnit + JWebUnit + Rhino
131 - MochiKit.LoggingPane will now re-use a ``_MochiKit_LoggingPane`` DIV element
132   currently in the document instead of always creating one.
133 - MochiKit.Base now has operator.mul
134 - MochiKit.DOM.formContents correctly handles unchecked checkboxes that have
135   a custom value attribute
136 - Added new MochiKit.Color constructors fromComputedStyle and fromText
137 - MochiKit.DOM.setNodeAttribute should work now
138 - MochiKit.DOM now has a workaround for an IE bug when setting the style
139   property to a string
140 - MochiKit.DOM.createDOM now has workarounds for IE bugs when setting the
141   name and for properties
142 - MochiKit.DOM.scrapeText now walks the DOM tree in-order
143 - MochiKit.LoggingPane now sanitizes the window name to work around IE bug
144 - MochiKit.DOM now translates usemap to useMap to work around IE bug
145 - MochiKit.Logging is now resistant to Prototype's dumb Object.prototype hacks
146 - Added new MochiKit.DOM documentation on element visibility
147 - New MochiKit.DOM.elementPosition(element[, relativeTo={x: 0, y: 0}])
148   for determining the position of an element in the document
149 - Added new MochiKit.DOM createDOMFunc aliases: CANVAS, STRONG
150
151 2005-11-14      v1.1
152
153 - Fixed a bug in numberFormatter with large numbers
154 - Massively overhauled documentation
155 - Fast-path for primitives in MochiKit.Base.compare
156 - New groupby and groupby_as_array in MochiKit.Iter
157 - Added iterator factory adapter for objects that implement iterateNext()
158 - Fixed isoTimestamp to handle timestamps with time zone correctly
159 - Added new MochiKit.DOM createDOMFunc aliases: SELECT, OPTION, OPTGROUP, 
160   LEGEND, FIELDSET
161 - New MochiKit.DOM formContents and enhancement to queryString to support it
162 - Updated view_source example to use dp.SyntaxHighlighter 1.3.0
163 - MochiKit.LoggingPane now uses named windows based on the URL so that
164   a given URL will get the same LoggingPane window after a reload
165   (at the same position, etc.)
166 - MochiKit.DOM now has currentWindow() and currentDocument() context
167   variables that are set with withWindow() and withDocument(). These
168   context variables affect all MochiKit.DOM functionality (getElement,
169   createDOM, etc.)
170 - MochiKit.Base.items will now catch and ignore exceptions for properties
171   that are enumerable but not accessible (e.g. permission denied)
172 - MochiKit.Async.Deferred's addCallback/addErrback/addBoth
173   now accept additional arguments that are used to create a partially
174   applied function. This differs from Twisted in that the callback/errback
175   result becomes the *last* argument, not the first when this feature
176   is used.
177 - MochiKit.Async's doSimpleXMLHttpRequest will now accept additional
178   arguments which are used to create a GET query string
179 - Did some refactoring to reduce the footprint of MochiKit by a few
180   kilobytes
181 - escapeHTML to longer escapes ' (apos) and now uses
182   String.replace instead of iterating over every char.
183 - Added DeferredLock to Async
184 - Renamed getElementsComputedStyle to computedStyle and moved
185   it from MochiKit.Visual to MochiKit.DOM
186 - Moved all color support out of MochiKit.Visual and into MochiKit.Color
187 - Fixed range() to accept a negative step
188 - New alias to MochiKit.swapDOM called removeElement
189 - New MochiKit.DOM.setNodeAttribute(node, attr, value) which sets
190   an attribute on a node without raising, roughly equivalent to:
191   updateNodeAttributes(node, {attr: value})
192 - New MochiKit.DOM.getNodeAttribute(node, attr) which gets the value of
193   a node's attribute or returns null without raising
194 - Fixed a potential IE memory leak if using MochiKit.DOM.addToCallStack
195   directly (addLoadEvent did not leak, since it clears the handler)
196
197 2005-10-24      v1.0
198
199 - New interpreter example that shows usage of MochiKit.DOM  to make
200   an interactive JavaScript interpreter
201 - New MochiKit.LoggingPane for use with the MochiKit.Logging
202   debuggingBookmarklet, with logging_pane example to show its usage
203 - New mochiregexp example that demonstrates MochiKit.DOM and MochiKit.Async
204   in order to provide a live regular expression matching tool
205 - Added advanced number formatting capabilities to MochiKit.Format:
206   numberFormatter(pattern, placeholder="", locale="default") and
207   formatLocale(locale="default")
208 - Added updatetree(self, obj[, ...]) to MochiKit.Base, and changed
209   MochiKit.DOM's updateNodeAttributes(node, attrs) to use it when appropiate.
210 - Added new MochiKit.DOM createDOMFunc aliases: BUTTON, TT, PRE
211 - Added truncToFixed(aNumber, precision) and roundToFixed(aNumber, precision)
212   to MochiKit.Format
213 - MochiKit.DateTime can now handle full ISO 8601 timestamps, specifically
214   isoTimestamp(isoString) will convert them to Date objects, and
215   toISOTimestamp(date, true) will return an ISO 8601 timestamp in UTC
216 - Fixed missing errback for sendXMLHttpRequest when the server does not
217   respond
218 - Fixed infinite recusion bug when using roundClass("DIV", ...)
219 - Fixed a bug in MochiKit.Async wait (and callLater) that prevented them
220   from being cancelled properly
221 - Workaround in MochiKit.Base bind (and partial) for functions that don't
222   have an apply method, such as alert
223 - Reliably return null from the string parsing/manipulation functions if
224   the input can't be coerced to a string (s + "") or the input makes no sense;
225   e.g. isoTimestamp(null) and isoTimestamp("") return null
226
227 2005-10-08      v0.90
228
229 - Fixed ISO compliance with toISODate
230 - Added missing operator.sub
231 - Placated Mozilla's strict warnings a bit
232 - Added JSON serialization and unserialization support to MochiKit.Base:
233   serializeJSON, evalJSON, registerJSON. This is very similar to the repr
234   API.
235 - Fixed a bug in the script loader that failed in some scenarios when a script
236   tag did not have a "src" attribute (thanks Ian!)
237 - Added new MochiKit.DOM createDOMFunc aliases: H1, H2, H3, BR, HR, TEXTAREA,
238   P, FORM
239 - Use encodeURIComponent / decodeURIComponent for MochiKit.Base urlEncode
240   and parseQueryString, when available.
241
242 2005-08-12      v0.80
243
244 - Source highlighting in all examples, moved to a view-source example
245 - Added some experimental syntax highlighting for the Rounded Corners example,
246   via the LGPL dp.SyntaxHighlighter 1.2.0 now included in examples/common/lib
247 - Use an indirect binding for the logger conveniences, so that the global
248   logger could be replaced by setting MochiKit.Logger.logger to something else
249   (though an observer is probably a better choice).
250 - Allow MochiKit.DOM.getElementsByTagAndClassName to take a string for parent,
251   which will be looked up with getElement
252 - Fixed bug in MochiKit.Color.fromBackground (was using node.parent instead of
253   node.parentNode)
254 - Consider a 304 (NOT_MODIFIED) response from XMLHttpRequest to be success
255 - Disabled Mozilla map(...) fast-path due to Deer Park compatibility issues
256 - Possible workaround for Safari issue with swapDOM, where it would get
257   confused because two elements were in the DOM at the same time with the
258   same id
259 - Added missing THEAD convenience function to MochiKit.DOM
260 - Added lstrip, rstrip, strip to MochiKit.Format
261 - Added updateNodeAttributes, appendChildNodes, replaceChildNodes to
262   MochiKit.DOM
263 - MochiKit.Iter.iextend now has a fast-path for array-like objects
264 - Added HSV color space support to MochiKit.Visual
265 - Fixed a bug in the sortable_tables example, it now converts types
266   correctly
267 - Fixed a bug where MochiKit.DOM referenced MochiKit.Iter.next from global
268   scope
269
270 2005-08-04      v0.70
271
272 - New ajax_tables example, which shows off XMLHttpRequest, ajax, json, and
273   a little TAL-ish DOM templating attribute language.
274 - sendXMLHttpRequest and functions that use it (loadJSONDoc, etc.) no longer
275   ignore requests with status == 0, which seems to happen for cached or local
276   requests
277 - Added sendXMLHttpRequest to MochiKit.Async.EXPORT, d'oh.
278 - Changed scrapeText API to return a string by default. This is API-breaking!
279   It was dumb to have the default return value be the form you almost never
280   want. Sorry.
281 - Added special form to swapDOM(dest, src). If src is null, dest is removed
282   (where previously you'd likely get a DOM exception).
283 - Added three new functions to MochiKit.Base for dealing with URL query
284   strings: urlEncode, queryString, parseQueryString
285 - MochiKit.DOM.createDOM will now use attr[k] = v for all browsers if the name
286   starts with "on" (e.g. "onclick"). If v is a string, it will set it to
287   new Function(v).
288 - Another workaround for Internet "worst browser ever" Explorer's setAttribute
289   usage in MochiKit.DOM.createDOM (checked -> defaultChecked).
290 - Added UL, OL, LI convenience createDOM aliases to MochiKit.DOM
291 - Packing is now done by Dojo's custom Rhino interpreter, so it's much smaller
292   now!
293
294 2005-07-29      v0.60
295
296 - Beefed up the MochiKit.DOM test suite
297 - Fixed return value for MochiKit.DOM.swapElementClass, could return
298   false unexpectedly before
299 - Added an optional "parent" argument to
300   MochiKit.DOM.getElementsByTagAndClassName
301 - Added a "packed" version in packed/MochiKit/MochiKit.js
302 - Changed build script to rewrite the URLs in tests to account for the
303   JSAN-required reorganization
304 - MochiKit.Compat to potentially work around IE 5.5 issues
305   (5.0 still not supported). Test.Simple doesn't seem to work there,
306   though.
307 - Several minor documentation corrections
308
309 2005-07-27      v0.50
310
311 - Initial Release