Connection Manager Release Notes

*** version 2.2.0 ***

* initHeader() now accepts a third argument as a boolean.  When set to true,
this specific header will automatically be sent with each transaction.
Otherwise, the header will be set and sent for the specific transaction only.
Example: initHeader('X-YUI-State','Beta', true); all transactions will send this
header.
   * resetDefaultHeaders() will clear the default headers collection.

* All Connection Mananger transactions will broadcast the header: "X-Requested-
With: XMLHttpRequest".
   * This can be turned off: YAHOO.util.Connect.setDefaultXhrHeader(false);

* The HTTP method argument in asyncRequest is now case-insensitive.

* uploadFile() will now correctly handle the absence of a callback object,
allowing the transaction to complete silently.

*** version 0.12.2 ***

* The Opera/Connection Manager concurrent object condition, described in version
0.12.0, no longer tests applies for Opera, version 9.10.

*** version 0.12.1 ***

* connection-debug.js corrected and synchronized with connection.js.  Code
inconsistencies between the two files existed in 0.12.0.

*** version 0.12.0 ***

* When uploading files via setForm() and asyncRequest includes a POST data
argument, appendPostData() will create hidden input fields for each postData
label/value and append each field to the form object.

* setForm() returns the assembled label/value string of the parsed HTML form
fields.

* NOTE: Opera 9.02 does not allow for more than 12 concurrent Connection Manager
objects.

The following example creates 12 requests in a loop:
for(var n=0; n<=12; i++){
  conn[n] = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
}

If n > 13, Opera 9.02 will crash.  Connection manager objects count n must be <=
12 at all times.  This condition was not present in Opera version 9.01.

This condition does not apply to other A-Grade browsers (
http://developer.yahoo.com/yui/articles/gbs/gbs_browser-chart.html)

*** version 0.11.3 ***

* YUI Event dependency for file uploading is now optional.

* uploadFile() now sets unique IDs for each file upload transaction to prevent
iframe collisions with parallel uploads.

* The callback object now has property responseXML to provide support for file
upload transactions that return an XML document.

* setForm() will verify if a select option value attribute is present and use
its value, including empty string, before using the text node value.

* Modified polling mechanism in handleReadyState() and
handleTransactionResponse() to prevent infinite polling if JavaScript errors
occur in the user-defined callback.

* createFrame() will now accept a boolean argument of true to set the frame
source to "javascript:false" to prevent IE from throwing security warnings in an
HTTPS environment.

* setHeader() now enumerates through the _http_header object using
hasOwnProperty() to prevent collisions with members added to Object via
prototype.

* If using setForm() and asyncRequest includes a POST data argument, the data
will be concatenated to the HTML form POST message.

*** version 0.11.2 ***

* No revisions.

*** version 0.11.1 ***

* uploadFile() now verifies the existence of callback.upload before invoking
callback, with or without object scope.

*** version 0.11.0 ***

* Each transaction can be defined with a timeout threshold, in milliseconds,
through the callback object.  If the threshold is reached, and the transaction
hasn't yet completed, the transaction will call abort().

* abort() will now accept a callback object as the second argument.  The
failure callback will receive a response object to indicate the transaction was
aborted.

* setForm() will now support file uploads by setting the second argument to
true (e.g., YAHOO.util.Connect.setForm(formObject, true).  File upload does not
use the callback success or failure handler.  Instead, it uses a new callback
object handler: upload.

* HTML form submit will no longer submit form fields without a defined name
attribute.

* The default POST header of 'Content-Type','application/x-www-form-urlencoded'
can be overridden by calling setDefaultPostHeader(false).  This
will remove the default header from non-HTML form, POST submissions.

* setHeader() now enumerates through the _http_header object with
propertyIsEnumerable to prevent collisions with members added to Object via
prototype.

*** version 0.10.0 ***

* handleTransactionResponse() now treats the full HTTP 2xx range as a success
case, instead of just HTTP 200.

* To accommodate multiple field values in Mozilla/Firefox, multiple initHeader
calls with the same label will now result in the values concatenated to a
comma- delimited string value.
Example:
Setting Content-Type:'application/x-www-form-urlencoded' and Content-
Type:'text/xml' will result in Content-Type:'application/x-www-form-urlencoded,
text/xml'.

* Default polling interval lowered to 50ms.

* YAHOO.util.Connect.setPollingInterval() will allow you to set a polling
interval -- in milliseconds -- to override the default value.

* YAHOO.util.Connect.getResponseHeader[headerLabel] now supported as a response
object property to provide symmetry with the native XHR object's property.
Example:
YAHOO.util.Connect.getResponseHeader['Content-Length'] will return the value
for the Content-Length header, if the header is available.

* YAHOO.util.Connect.allResponseHeaders property renamed to
getAllResponseHeaders to provide symmetry with the native XHR object's
property.

* YAHOO.util.Connect.setForm() now supports HTTP GET as well as HTTP POST.

* YAHOO.util.Connect.setForm() now accepts an HTML form object as well as its
name attribute value.

* YAHOO.util.Connect.setForm() will not submit HTML form fields that are
disabled or do not have a name attribute value.

* [FIXED] Response exceptions result in infinite callback loop in
Mozilla/Firefox.

* [FIXED] YAHOO.util.Connect.abort() now properly clears polling interval.

* [FIXED] isCallInProgress() now verifies whether XHR instance still exists,
and returns false if the connection object is no longer available.

*** version 0.9.0 ***

* Initial release



















