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