Changes Report

Release History

Version Date Description
2.1 Apr 15, 2008 Performance improvements in CSS processing and a few bug fixes
2.0 Apr 7, 2008 Migration to Java 5, implementation of org.w3c.dom.*, better support for incorrect html code, large improvements in JavaScript support (GWT 1.4 tests now pass, ...)
1.14 Jan 9, 2008 Enormous improvements particularly in JavaScript support and execution speed
1.13 Aug 17, 2007 Fixes bad maven packaging of version 1.12 + different improvements
1.12 Aug 10, 2007 Enormous improvements particularly in JavaScript support and execution speed
1.11 Mar 15, 2007
1.10 Nov 03, 2006
1.9 Jun 27, 2006
1.8 Feb 17, 2006
1.7 Aug 23, 2005
1.6 May 10, 2005
1.5 March 13, 2005
1.4 January 9, 2005
1.3 November 12, 2004
1.3-pre2 September 26, 2004
1.3-pre1 November 7, 2003
1.2.3 July 31, 2003
1.2.2 March 29, 2003
1.2.1 March 20, 2003
1.2 March 10, 2003
1.1 November 25, 2002
1.1-rc2 November 16, 2002
1.1-rc1 October 29, 2002
1.1-pre5 September 24, 2002
1.1-pre4 August 23, 2002
1.1-pre3 July 23, 2002
1.1-pre2 July 10, 2002
1.1-pre1 July 2, 2002
1.0 May 22, 2002


Release 2.1 - Apr 15, 2008

Type Changes By
update Deprecate HtmlPage.getDocumentHtmlElement(). asashour
add Add support for DomNode.getTextContent() and setTextContent(). asashour
add JavaScript: add initial support for CSSRuleList. asashour
fix HtmlTextInput and HtmlTextArea: fix type() space. asashour
update HtmlPage.getReadyState() now synchronized with the information from the documentElement. mguillem
update CSS parsing optimization: avoid parsing CSS selectors multiple times. sdanig
update Initialize mouse event coordinates lazily, in order to avoid unnecessary CSS processing overhead. sdanig
fix JavaScript: window.open without URL provided returns blank window when simulating Firefox too. mguillem
fix JavaScript: clear existing events handlers when page's content is changed with document.write. mguillem
fix JavaScript: fixed document.location in pages created with document.write. mguillem
fix JavaScript: fixed ClassCastException occurring when select() is cal led on form elements other than text inputs. mguillem

Release 2.0 - Apr 7, 2008

Type Changes By
update Upgrade NekoHtml to 1.9.7. asashour
update Deprecate DomNode non-DOM methods, i.e. getLastDomChild(), getParentDomNode(), getPreviousSibling(), getNextDomSibling(), getFirstDomChild() and cloneDomNode(). asashour
update Deprecate HtmlUnitXPath. asashour
update DomNode: asXml() uses charset from HtmlPage.getPageEncoding(). asashour
update Upgrade Jetty to 6.1.9. asashour
update Upgrade Commons Lang to 2.4. asashour
update Deprecate popFirstWindow and pushClearFirstWindow on WebClient. mguillem
fix Add element.offsetParent to FF emulation mode. sdanig
update Upgrade CSS Parser to 0.9.5. sdanig
add Add initial support for data protocol (Firefox only). mguillem
fix Fix element.clientWidth, clientHeight, offsetTop, offsetLeft and offsetParent to reflect CSS configuration. sdanig
add In BoxObject, add attributes element, firs tChild, lastChild, nextSibling, previousSibling, x, y, width and height. sdanig
fix Fix element.offsetWidth and element.offsetHeight to include padding. sdanig
add Add DomNode.getCanonicalXPath(). asashour
update Deprecate HtmlPage.moveFocusToElement() and getElementWithFocus(), use setFocusedElement() and getFocusedElement(). asashour
update Meta Refresh: case-insensitive URL (#1924784). Thanks to Dmitri Zoubkov. asashour
update Upgrade Rhino to 1.7R1. asashour
add JavaScript: add support for XMLElement.getElementsByTagNameNS() (FF only). asashour
add JavaScript: add support for input.setSelectionRange() (FF only). asashour
update HtmlSelect: if any HtmlOption is selected, focus is moved to HtmlSelect. asashour
add JavaScript: add support for 'onfocusin' and 'onfocusout' (IE only). asashour
update JavaScript: CSSStyleSheet added support for ownerNode (FF) and owningElement (IE). mguillem
update JavaScript: allow direct access to nodes per id/name when simulating Firefox too. mguillem
update JavaScript: fixed various issues with Node methods appendChild, insertBefore and replaceChild when involved nodes don't belong to th e same document. mguillem
update HtmlPage.asXml(): place scripts in CDATA sections with comments. mguillem
fix JavaScript: fix window.location.hash so it always starts with '#'. asashour
update Upgrade Jetty to 6.1.8, Commons IO to 1.4 and FileUpload to 1.2.1. asashour
remove INCOMPATIBLE CHANGE: Remove KeyValuePair, and hide HtmlForm.getParameterListForSubmit() and .getSubmittableElements(), they shouldn't be directly called by users. asashour
fix JavaScript: return undefined for out of bound element access on HtmlFormElement. mguillem
fix JavaScript: custom RegExp proxy now accepts unescaped curly braces. mguillem
fix JavaScript: ComputedCSSStyleDeclaration.getPropertyValue returns the same value as direct property access. mguillem
add JavaScript: add support for HtmlElement.textContent (FF only). mguillem
remove Remove Jaxen dependency. asashour
remove Remove deprecated methods in HtmlPage: assertAllIdAttributesUnique(), assertAllAccessKeyAttributesUnique(), assertAllTabIndexAttributesSet() (use corresponding methods in WebAssert instead). sdanig
remove Remove deprecated WebRequestSettings.setCookiePolicy() and getCookiePolicy(). sdanig
fix JavaScript: element.currentStyle returns calculated (rather than static) style (IE only). sdanig
add Add method Cache.clear(). sdanig
update JavaScript: added support for (undocumented) method CollectGarbage (IE only). mguillem
update DomNode.getByXPath(): when called with a string starting with slash, evaluation is relative to the root element, not to the DomNode. You can add initial dot. asashour
add Add Xalan 2.7.0 as dependency. asashour
fix JavaScript: fixed IndexOutOfBoundsException in processing of IE @elif pre processor instruction. mguillem
fix JavaScript: instanceof now works correctly with html elements (FF only). mguillem
fix JavaScript: property ownerDocument now defined on node. mguillem
fix JavaScript: ignore calls to document.open() during page parsing. sdanig
fix JavaScript: calling document.write() after a page has finished parsing results in overwriting the entire page. sdanig
fix Handle script elements with src attributes containing "javascript:..." URLs. sdanig
fix Correct the order of script element execution, deferred script element execution, script ready state changes, deferred script ready state changes, and onload handlers. sdanig
add JavaScript: add support for document.fireEvent (IE only) and document.onXXX event handlers (elements already had these). sdanig
fix Don't reload page from server if window.location.hash is modified. sdanig
fix JavaScript: HTMLCollection.item and namedItem return null when element is not found. mguillem
update JavaScript: avoid detection of document.all when simulating FF (property still available). mguillem
update XPath: case-insensitive match for attribute names. asashour
fix Add temporary body element when one is missing and document.write() is called. sdanig
fix Add implicit body element when one is missing and there is no content to trigger addition by NekoHTML. sdanig
fix When document is missing a body element, document.body returns null instead of undefined. sdanig
fix Execute JavaScript when a script element's src attribute is set (always when emulating IE, only sometimes when emulating FF). sdanig
fix Add test-scoped dependency on slf4j, in order to trigger correct logging in Jetty during the unit tests. sdanig
add JavaScript: add support for document.importNode() (FF only). asashour
update Upgrade Jetty to 6.1.7 and JCL t o 1.1.1. sdanig
fix Fixed incorrect processing of multiple conditional compilation flags (IE only). mguillem
add JavaScript: add empty implementation of HTMLElement.clientWidth and .clientHeight. asashour
fix JavaScript: remove style attribute if it is empty. asashour
add Add support of having XML inside Html (IE only). asashour
update INCOMPATIBLE CHANGE: Rename UnknownHtmlElement to HtmlUnknownElement. asashour
update Beautify asXml() by removing unnecessary blanks. asashour
fix XmlPage: fix asText() and asXml(). asashour
add JavaScript: add basic support for document.queryCommandSupported and document.execCommand. mguillem
fix XmlPage: correct XPath handling (#1883395). asashour
update Fixed User-Agent header for IE6. mguillem
update JavaScript: changed simulated screen dimensions to 1024x768 (was 800x600). mguillem
add JavaScript: add basic support for all missing style attributes. asashour
update JavaScript: Node.replaceChild() correctly processes DocumentFragment. asashour
update JavaScript: XMLHttpReque st should not call onreadystatechange handler if sync (FF only). asashour
add JavaScript: add support for Range.createContextualFragment (FF only). asashour
update JavaScript: __proto__ is only defined for Firefox. asashour
fix Handle line comments in multiline onXxxx events handlers declarations. mguillem
update Upgraded nekohtml to version 1.9.6.1 mguillem
update INCOMPATIBLE CHANGE: Change html package to implement W3C DOM API interfaces, though most methods are not yet implemented. Remove deprecated methods. Fix DomCData derivation to be from DomText. Rename getAttributes methods that conflict with W3C DOM API return type. (#1747878). dktaylor
update INCOMPATIBLE CHANGE: Rename HtmlHeader1 (to HtmlHeader6) to corresponding HtmlHeading1 (to HtmlHeading6). asashour
update INCOMPATIBLE CHANGE: Rename HtmlTextDirection to the correct name (HtmlDirectory). asashour
update JavaScript: XMLHttpRequest should not throw an exception when send() is called without args (for FF) and when send content is specified but method is GET. mguillem
update JavaScript: correct toString() for properties in 'window' scope (FF only). asashour
update JavaScript: detect encoding from XML d eclaration (#1876545). asashour
fix JavaScript: HTMLAnchor href attribute should be reachable even if the URL is malformed. mguillem
add JavaScript: add support for XMLElement.getAttributeNode() (#1874624). Thanks to Sudhan Moghe. asashour
fix JavaScript: document.cookie separates cookies with '; ' and not ';'. mguillem
fix Fixed ClassCastException occurring when a non HTML page is loaded with Firefox simulation (regression in 1.14). mguillem
remove Remove Assert, use WebAssert instead. asashour
update Upgrade JUnit to 4.4. asashour
add JavaScript: Add support for HTMLHtmlElement. asashour
remove HtmlForm: Remove deprecated .getRadioButtonInput() and .setCheckedRadioButton(). asashour
remove Remove deprecated HtmlForm.fakeCheckedRadioButton() and HtmlSelect.fakeSelectedAttribute(). asashour
add JavaScript: Add support for XPathResult.iterateNext() (FF only). asashour
remove Remove deprecated HtmlElement.MapEntryWrappingIterator. asashour
update Deprecate HtmlElement.getAttributeEntriesIterator(), use .getAttributes() instead. asashour
fix JavaScript: HTMLCollection should not have 'tags' property in Firefox (except for document.all ). asashour
add HtmlTextInput and HtmlTextArea: Add support for select(), and fix tabIndex JavaScript property. asashour
add Add initial support for document.selection.createRange() (IE only). asashour
remove Remove deprecated constants in BrowserVersion, in addition to HtmlForm.submit(). asashour
update Deprecate DomNode.getChildIterator(), use getChildren() instead. asashour
update INCOMPATIBLE CHANGE: DomNode.getAllHtmlChildElements() returns Iterable instead of Iterator. asashour
remove DomNode: remove unused EventHandler, and deprecated PropertyChange methods. asashour
update Deprecate HtmlElement.getChildElementsIterator(), use getChildElements() instead. asashour
add JavaScript: add support for input.selectionStart, input.selectionEnd, and input.textLength. asashour
remove Remove deprecated DomNode.XXXX_NODE, use org.w3c.dom.Node instead. asashour
remove Remove the public (deprecated) constructor of HtmlElement and its subclasses. asashour

Release 1.14 - Jan 9, 2008

Type Changes By
fix JavaScript: all ow script node's onreadystatechange handler to be set to null. mguillem
fix Don't escape '+' in URL path. Thanks to David Bylsma. mguillem
add JavaScript: add support for 'Node' prototype. mguillem
add JavaScript: add support for window.resizeBy. mguillem
update JavaScript: StyleSheetList correctly loads CSS content (FF only). asashour
add Correctly handle URLs with path starting with double slash. mguillem
add JavaScript: add configurable support for supported plugins and mime types (FF only). Per default a Shockwave Flash plugin is "configured" for Firefox 2. mguillem
fix JavaScript: XMLHttpRequest.responseXML.getElementById should always return null (#1854975). asashour
add JavaScript: add support for "for (i in collection)" (#1862054). asashour
add JavaScript: XSLT support (ActiveXObject 'Msxml2.XSLTemplate') (IE only). asashour
update XPath: is now namespace aware for XmlElements. asashour
add JavaScript: add initial support for XPathResult, and XSLTProcessor (FF only). asashour
update JavaScript: activate document.all for Firefox too. mguillem
add Add DomElement with its JavaScript 'Element' prototype. asashour
fix XPath: DomCharacterData is treated as text node. asashour
add XMLDocument: add support for .parseError property (IE only), createElement(), createNSResolver() (FF only), evaluate() (FF only), and 'xml:space' attribute (IE only). asashour
update XMLPage handles qualified tag names. asashour
update JavaScript: added 'HTMLEvents' to the event types supported by document.createEvent (Firefox). mguillem
update JavaScript: use custom JDK based regular expression evaluation for String.match to avoid Rhino problems (speed and wrong evaluation). mguillem
update HtmlTextInput and HtmlPasswordInput: type('\n') submits the enclosing form. asashour
update < frame > and < iframe > should trim values in 'src' attribute. asashour
update JavaScript: element.dispatchEvent() exactly behaves as calling ClickableElement.click() and .dblClick() and returns correct value (based on event.preventDefault()) (#1813007). asashour
add JavaScript: add initial support for event.preventDefault() (anchor, checkbox, text input, textarea, others to follow) (#1813007). asashour
add HtmlTextInput: type() appends text to the value. asashour
add JavaScript: cache parsed JavaScript responses. mguillem
update JavaScript [internal ] : removed ScriptEngine, use JavaScriptEngine directly. mguillem
add XMLPage: add support for comment node. asashour
update Deprecate FocusableElement. asashour
add JavaScript: add support for label.htmlFor (#1835550). asashour
fix JavaScript: fix removeChild() for XML elements (#1836922). asashour
add JavaScript: Add style.borderBottom[Color,Style,Width ] , .borderLeft[Color,Style,Width ] , .borderRight[Color,Style,Width ] , and .borderTop[Color,Style,Width ] (#1835836). asashour
add Parse CSS files and use the result in window.getComputedStyle(), as well as providing accurate values for document.styleSheets.length. All CSS file downloading and parsing occurs lazily. NOTE: Adds a dependency on cssparser 0.9.4. sdanig
fix JavaScript: Tolerate empty string for DOMParser.parseFromString() (FF only), and ActiveXObject('Microsoft.XMLDOM').loadXML() (IE only) (#1835090). asashour
fix JavaScript: < iframe > src is now correctly handled via setAttribute() (#1828914). asashour
fix JavaScript: add support for getAttributeNS and setAttributeNS on node (Firefox). mguillem
fix JavaScript: don't encode xml special characters for innerHTML property on script nodes. mguillem
fix Ignore < script > src that starts with "javascript:". asashour
fix Handle file URLs with query portions (file://my/path?a=b) and ref portions (file://my/path#ref) without breaking. sdanig
fix Fixed possible ConcurrentModificationException and dead lock with HtmlAttributeChangeListener and DomChangeListener. mguillem
add Add support for deferred script elements (IE only). sdanig
fix Avoid leaving the DOM in an inconsistent state when DomNode.replace(DomNode) is called and the target node is used as the parameter. sdanig
fix JavaScript: delegate select.options.xxx property modifications to the parent select element (property accesses were already being delegated correctly; IE only). sdanig
add Add basic support for document.getBoxObjectFor() (FF only) (#1815602). Thanks to Sam Hough. asashour
update HtmlTextArea.asXml() now preserves content and expands empty tag to make generated xml interpretable as html by browsers. mguillem
add Add WebAssert utility class for domain-specific assertions. INCOMPATIBLE CHANGE: Deprecate assertion methods in HtmlPage in favor of using WebAssert. The exceptions thrown are now java.lang classes instead of junit classes, though they still function as before. sdanig
update HtmlForm: on submitting a form without parameters, URL should not end with a question mark (IE7 only). asashour
add JavaScript: getElementsByTagName now returns empty collection when called with 'incorrect' name. mguillem
add JavaScript: add support for hasAttribute and hasAttributeNS on node (Firefox), getNamedItem on NamedNodeMap. mguillem
add Add a popup blocker (WebClient.setPopupBlockerEnabled(boolean)). sdanig
fix Use browser-compatibility cookie handling by default, deprecate unnecessary cookie settings in WebRequestSettings, ensure cookie policy used during HTTP communication matches the cookie policy used by the document.cookie attribute, use a single cookie header during HTTP communication. sdanig
add HtmlFileInput: add support for non-ASCII name of uploaded files (#1818569). asashour
add JavaScript: accept ECMA reserved keywords like 'float' as normal identifier. mguillem
add JavaScript: added support for DOMContentLoaded event (Firefox). Thanks to Sam Hough. mguillem
add Add possibility to configure the mime type used when uploading a file. mguillem
add JavaScript: add support for the htmlElement.attributes collectio n. sdanig
add Add WebClient.setUseInsecureSSL(boolean): forces the client to trust all hosts, regardless of their certificates. Makes it easy to work around servers with expired or misconfigured certificates. sdanig
add JavaScript: make focus and blur available on HtmlElement. Thanks to Sam Hough. mguillem
fix Don't use custom RetryHandler anymore to allow standard retry when server drops the connection which caused NoHttpResponseException. (see http://jakarta.apache.org/httpcomponents/httpclient-3.x/exception-handling.html). mguillem
fix Make the loading of external .js files referenced via script tags listen to WebClient.getPrintContentOnFailingStatusCode() and WebClient.isThrowExceptionOnFailingStatusCode(). sdanig
add Add support for CDATA sections of xml documents. mguillem
add Add facility method DomNode.getFirstByXPath(xpathExpr). mguillem
add JavaScript exceptions: line number information now relative to the page. mguillem
add Add HtmlPage.executeJavaScript to inject JavaScript code in a page. mguillem
add JavaScript: add support for element.dispatchEvent(event) (Firefox only). sdanig
add Cache JS server responses to avoid useless requests (script caching will come l ater). mguillem
fix Don't load the originally specified source of a frame, when its location has already been changed by JavaScript. mguillem
add Add primitive support for document.styleSheets (#1805817). asashour
add Add support of setExpression and removeExpression for element and style (#1809522). asashour
update Update window.frames so it does not throw ClassCastException (#1802836). asashour
update JavaScript: document.all('notExistingElement') now returns null as IE does. mguillem
fix Fix loading content containing 'Content-Type' header with quoted charset (#1797235). asashour
update Upgrade Jetty to 6.1.5. asashour
fix JavaScript: XMLDocument should not ignore descendants non-empty DomText in IE. asashour
fix JavaScript: loadXML() supports relative URLs in ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only). asashour
add Add basic support for attributes of XML elements. asashour
add Added FalsifyingWebConnection, a WebConnection wrapper that provides facility methods to provide other content than the "real" one. mguillem
add JavaScript: added backgro undImage to allowed style properties. mguillem
add JavaScript: added Document.createRange() and basic support for Range (Firefox only). mguillem
add JavaScript: add selectNodes() and selectSingleNode() (IE only), getElementsByTagName() and .tagName property for XML elements. asashour
add JavaScript: add basic support of setProperty() function and .preserveWhiteSpace property for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only). asashour
update DomNode.getByXPath() with 'id()' function should return empty list instead of throwing an exception (#1790308). asashour
add WebClient.loadWebResponse should not be final. mguillem
add JavaScript: add UIEvent.initUIEvent() (FF only). sdanig
add Allow HTTP methods DELETE, HEAD, OPTIONS, PUT and TRACE (in WebClient.getPage(WebRequestSettings) and in XMLHttpRequest). mguillem
add JavaScript: add XMLSerializer (FF), and .xml property for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). asashour
add JavaScript: add DOMParser, with implementation of parseFromString() (FF only). asashour
add JavaScript: add loadXML() and selectNodes() for ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE only). asashour
update JavaScript: ignore text nodes of loaded XML by ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). asashour
update Move getWebClient() from HtmlPage to SgmlPage. asashour
update JavaScript: correctly handle 'documentElement' property for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). asashour
add JavaScript: add load() and getElementsByTagName() for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). asashour
add JavaScript: add support for function element.fireEvent() (IE only). Thanks to Rob Di Marco. sdanig
add JavaScript: add support for function mouseEvent.initMouseEvent() (FF only). Thanks to Rob Di Marco. sdanig
update ActiveXObject (XmlHttp): should not be created by case-sensitive string. (#1784330). Thanks to Dan Fabulich. asashour
update Add support for keypress and keyup events (keydown is already supported). Deprecate HtmlElement.keyDown() methods in favor of HtmlElement.type() methods which simulate user typing rather than a single event type. sdanig
add Add SgmlPage: moving towards having fully fledged XmlPage. asashour
fix Regular Expressions: allow 'undefined' pattern, and tolerate improper patterns ( trigger warning). asashour
update Upgrade Rhino to 1.6R7. asashour
add JavaScript: add support for function event.initEvent() (FF only). Thanks to Rob Di Marco. sdanig
fix Fix document.createEvent() and document.createEventObject(): set event prototypes correctly. sdanig
add JavaScript: add 'async' property for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). asashour
add JavaScript: add support for read-only attributes uiEvent.detail and uiEvent.view (FF only). Thanks to Rob Di Marco. sdanig
update JavaScript: fixed bug in String.replace (due to custom RegExp proxy) when first arg is a String with special characters and not a RegExp. mguillem
add JavaScript: add basic support for 'document.implementation.createDocument()' (FF), and ActiveXObjects: 'Microsoft.XmlDom' and 'MSXML.DOMDocument' (IE). asashour
update JavaScript: select.size is used when only needed. asashour
update Upgrade HttpClient to 3.1. asashour
add JavaScript: document.createElement() to accept html as a valid parameter (IE only). asashour
add JavaScript: Make event.shiftKey, event.ctrlKey and event.altKey IE-only attributes; add m ouseEvent.shiftKey, mouseEvent.ctrlKey, mouseEvent.altKey and mouseEvent.metaKey FF-only attributes. sdanig
add JavaScript: add support for read-only attributes event.timeStamp, event.bubbles and event.cancelable and event.eventPhase (FF only). Thanks to Rob Di Marco. sdanig
add JavaScript: document.createElement() to accept " < tagName > " as a valid parameter. asashour
update JavaScript: element.setAttribute() sets corresponding event handler onXXX if found (FF only). asashour
add JavaScript: add primitive support for document.elementFromPoint (IE only). asashour
add Add namespace support for attributes: DomNode.getnamespaceURI, getLocalName, getPrefix, setPrefix, hasAttributes, HtmlElement.getAttribute, getAttributeNS, hasAttributes, hasAttribute, hasAttributeNS, setAttribute, setAttributeNS, setAttributeValue(NS), and removeAttributeNS. (#1747878). dktaylor
add JavaScript: add support for element.uniqueID (IE only). asashour
update Deprecate unused class MapEntryWrappingIterator. (#1747878). dktaylor
update Deprecate String-to-String attribute map for HtmlElement. Add initial support for namespaces for attributes. (#1747878). dktaylor
update Deprecate HtmlAttr implementing Map.Entry that conflicts with W3C DOM API. Replac e uses of Map.Entry with HtmlAttr. Add HtmlAttr.getName. (#1747878). dktaylor
add New interface com.gargoylesoftware.htmlunit.OnbeforeunloadHandler with associated WebClient getter and setter, to support 'onbeforeunload' event (#1498419). asashour
add JavaScript: document.getElementById() must not return elements added to newly created ones (not yet added to document). asashour
add JavaScript: add support for 'onunload' event handler. asashour

Release 1.13 - Aug 17, 2007

Type Changes By
update Add document.createEvent() and document.createEventObject(). Thanks to Rob Di Marco. sdanig
update HtmlElement.asXml(): separate lines for empty element and the one after. asashour
fix JavaScript: element.appendChild() and insertBefore() must recursively maintain document.getElementById() contract. asashour
add WebRequestSettings: add getter and setter of CookiePolicy. asashour
update JavaScript: for element.appendChild(), .insertBefore(), .innerHTML, and .innerText: if the element parentNode is null, create a DocumentFragment to be the parentNode (IE only). asashour
update Deprecated methods that conflict with W3C DOM API: DomTest.splitText, HtmlPage.getDocumentElement, createElement, createElementNS, HtmlAttr.getValue, set Value, DomNode.getLastChild, getParentNode, getPreviousSibling, getNextSibling, getFirstChild, cloneNode, appendChild, HtmlElement.cloneNode. Added replacement Dom or Html methods. Renamed HtmlPage.createDocumentFragment to createDomDocumentFragment. (#1747878). dktaylor
update Deprecated DomNode.XXXX_NODE. asashour
update Change DomNode.ATTRIBUTE_NODE to be 2 in order to match W3C DOM Node.ATTRIBUTE_NODE. asashour
add JavaScript: add support for document.createDocumentFragment(). asashour
add JavaScript: add basic support for element.getBoundingClientRect() and element.getClientRects(). asashour
add JavaScript: add support for node.isSameNode(). asashour
remove WebClient: Remove deprecated moveFocusFromElement(), moveFocusToElement(), and getElementWithFocus(). asashour
update HtmlTitle.asXml(): empty tag is expanded as required by Internet Explorer. asashour
update JavaScript: if window object could not find a property or function, it returns 'undefined' instead of null (#1771549). asashour

Release 1.12 - Aug 10, 2007

Type Changes By
add Add method HtmlPage.getHtmlElementsByName(String). sdanig
fix HtmlSelect (in single-selec tion mode) selects the first option if none is selected. asashour
add JavaScript: add basic support for element.runtimeStyle. mguillem
update JavaScript: add basic support for document.createStyleSheet (when emulating IE only). mguillem
update JavaScript: implemented a workaround for Rhino bug in string primitive resolution (Rhino bug 374918). mguillem
update Deprecate HtmlForm.submit(). asashour
update Deprecate HtmlForm.fakeCheckedRadioButton(). asashour
update The method element.style.getPropertyValue('foo') should expect property names to be delimiter-separated (ie 'font-size') rather than camel case (ie 'fontSize'). sdanig
add Basic document.implementation: hasFeature(). asashour
update Add support for oncontextmenu event type. asashour
update Fix element.innerHTML, element.innerText, element.outerHTML: uppercase tag names when emulating IE; don't quote attributes when they don't contain whitespace and we're emulating IE; always use separate open and close tags (even if the tag is empty); escape XML characters inside text nodes. sdanig
add HtmlElement: add rightClick(). asashour
update JavaScript added minimal support for MouseEvent properties clientX, clientY, pageX, pageY, screenX, screenY coherent with position of event's target. mguillem
update Set Referer header for requests from XMLHttpRequest. mguillem
update First option in a single-selection select input gets selected by default. sdanig
update Add implementation of element.style.filter attribute (when emulating IE only). sdanig
add JavaScript: added support for properties "button" and "which" on mouse events. mguillem
add Add initial support for IE conditional compilation @if, @elif, @else, @end and @set instructions as well as for conditional compilation variables. mguillem
update Fix getElementsByTagName('*') at the document level (it was returning an empty collection). sdanig
add JavaScript: add support for style.getPropertyValue() (#1759750). asashour
update JavaScript: fixed eval scope bug when used within function. mguillem
add Add an optional (disabled by default) debugger implementation which can make it easier to debug complex interactions between HtmlUnit and JavaScript. sdanig
add Deprecate BrowserVersion constants for Mozilla 1.0, Netscape 4.7.9 and Netscape 6.2.3; add MSIE 7 and Firefox 2. sdanig
add JavaScript: add basic support for element.currentStyle and window.getComputedStyle. asashour
update BrowserVersion: add equals() and hashCode(). Thanks to Matt Ryall. asashour
add HtmlElement: add mouseOver(), mouseMove(), mouseOut(), mouseDown(), and mouseUp(). asashour
update JavaScript: implement navigator.cookieEnabled to match WebClient#isCookiesEnabled(). asashour
add Add empty implementation for table.refresh() (#1742662). asashour
update HTMLCollection: cache getElements() for better performance (#1751756). asashour
add Experimental: added AjaxController and NicelyResynchronizingAjaxController. mguillem
update JavaScript: added support for window.captureEvents (FF). mguillem
update JavaScript: fixed addEventListener cannot be called twice. mguillem
update JavaScript: added support for event capturing and bubbling phases. mguillem
update JavaScript: added support for Event.stopPropagation() (FF) and Event.cancelBubble() (IE). mguillem
update JavaScript: added support for window.onclick and window.ondblclick. mguillem
update Ignore < base > if inside < body > (#1579707). asashour
fix FailingHttpStatusCodeException is thrown for failing frame (#1065041). asashour
update JavaScript: use custom JDK based regular expression evaluation for String.replace to avoid Rhino problems (speed and wrong evaluation). mguillem
update Elements inside < noscript > are ignored if isJavaScriptEnabled() (#1186639). asashour
update Version: add getProductName(), getProductVersion() and getCopyright() (#1748672). asashour
add DomNode: add/remove DomChangeListener. asashour
remove Remove deprecated WebClient.getThrowExceptionOnFailingStatusCode and BaseFrame.FrameWindow. asashour
update HtmlImageInput, HtmlResetInput and HtmlSubmitInput can be clicked if exist outside an enclosing form. (#1747454). asashour
add JavaScript: allow FormField.onchange, form.onsubmit and frame.onload to be set to null (#1745024). asashour
add JavaScript: Add table.cellSpacing and table.cellPadding. asashour
add HtmlElement and HtmlPage: add/remove HtmlAttributeChangeListener (#1124781). asashour
add JavaScript: Implement insertAdjacentElement(). asashour
update HtmlSubmitInput: set ting value to "Submit Query" if not specified, associated with asText(), asXml(), and submitValue changes. asashour
add HTMLElement.scrollIntoView() is added as an empty implementation (#1740086). Thanks to Bruce Chapman. asashour
fix DomNode.asText() now correctly handles style elements (e.g. < i > , < b > , and < font > ) (#1731042). Thanks to Rodney Gitzel. asashour
fix HtmlPage.clone() doesn't share idMap_ with original (#1708397). Thanks to Bruce Chapman. asashour
add ClickableElement: Add dblClick() (#1385295). asashour
add JavaScript: Add document.createElementNS(), element.namespaceURI, element.prefix, and element.localName (#1521790). asashour
add HtmlPage supports Serialization (#1685311). asashour
add Add partial support for IE Conditional Compilation (#1680026). asashour
update Meta Refresh: tolerate spaces before the semicolon (#1549916). Thanks to Andre Soereng. asashour
update Allow setChecked of < input type="radio" > which is outside any < form > (#1587962). asashour
update Deprecated HtmlForm#getRadioButtonInput(String,String) and HtmlForm#setCheckedRadioButton(String,String). Use #getByXPath instead. asashour
fix Allow HtmlFileInput to handle values starting with "file:/" (#1513928). asashour
update Align node types numeric values to W3C values. mguillem
fix JavaScript: allow comment nodes to be retrieved mguillem
update HtmlSelectElement: ignores setting 'selectedIndex' to more than or equal to options size. asashour
add HtmlForm: #getTextAreaByName and #getButtonByName (#1713515). Thanks to Philip Graf. asashour
add Add UTF-16BE, and UTF-16LE charset detection (#1729467). Thanks to Karel Kolman. asashour
update Use WebRequestSettings#getCharset() as the encoding of pages instead of "ISO-8859-1" (#1483301). asashour
fix Proper handling of & nbsp; in DomNode#asText() (#1549745). Thanks to Kristian Muntau. asashour
update JavaScript: Simulate browser behavior for comments that have last line of "statement-- > ", but not "statement//-- > ". asashour
add JavaScript: Add support for location.toString() (#1725742). asashour
update asXml() now expands tags for div, iframe and script to make generated xml interpretable as html by browsers. mguillem
add Add support for table.width (#1691024). asashour
update HtmlInput (HtmlCheckBoxInput and HtmlRadioButtonInput): #setChecked now returns Page (#1724889). asashour
fix Javascript: Correct handling of comments (#1725162). asashour
update JavaScript [internal ] : use Context.call(ContextAction) for faster JavaScript execution. mguillem
update Meta Refresh empty URL is handled (#1722665). asashour
add JavaScript: add support for textarea.selectionStart, textarea.selectionEnd, and textarea.textLength (#1714772). asashour
update DomNode#getAllHtmlChildElements() now returns Iterator. asashour
update Fixed exception occurring handling script tag with one line content starting with < !-- and without closing --! > . mguillem
update JavaScript: allow function named onload. mguillem
update JavaScript: made equality tests on functions working. mguillem
update JavaScript: don't allow usage of write(ln) detached from document object when simulating Firefox. mguillem
update JavaScript [internal ] : large refactoring for a better Rhino usage. mguillem
add JavaScript: Add support for event.shiftKey, event.ctrlKey, and event.altKey. asashour
update Tolerate URL starting with http:/ and http: in Firefox. asashour
update Added IncorrectnessListener to get notified of things that HtmlUnit cope with but that don't respect standards. mguillem
update JavaScript: provide the event object to onreset handlers. mguillem
update Added ScriptException.printScriptStackTrace to retrieve the stack trace of the script execution. mguillem
add WebClient can now enable/disable cookies support. asashour
update JavaScript: allow to set window.onload to something else than a function. mguillem
update DomNode.DescendantElementsIterator.remove() now throws UnsupportedOperationException (previous behavior was not correct). Thanks to Bruce Chapman. mguillem
update JavaScript: added support for label property on Option objects. mguillem
update JavaScript: added support for defaultSelected property on Option objects. Thanks to Bruce Chapman. mguillem
update JavaScript: allow selected and defaultSelected attribute in Option constructor. Thanks to Bruce Chapman. mguillem
update INCOMPATIBLE CHANGE: Remove HtmlOption#getValue() (deprecated nearly two years ago), remove FailingHttpStatusCodeException#FailingHttpStatusCodeException(int, String) (deprecated over a year ago), remove ScriptException#getEnclosedException() (deprecated over a year ago). sdanig
update JavaScript: Add support for script.src, script.type, script.readyState and script.onreadystatechange. sdanig
update When cloning nodes, clone the id attribute as well. Thanks to Bruce Chapman. sdanig
update Avoid NPEs for responses with null bodies (ie 304 Not Modified responses). Thanks to mtamme. sdanig
update JavaScript: Cloning a script node should not execute the script. Thanks to Bruce Chapman. sdanig
update JavaScript: Don't run scripts after the window location changes. sdanig
update Verify correct behavior of HtmlSelect#asText() with multiple selections, fix JavaDoc. sdanig
update JavaScript: add support for frameset.rows and frameset.cols properties. Thanks to Bruce Chapman. sdanig
update JavaScript: ignore invalid script.src attribute used by jQuery ("//:"). sdanig
update Trim whitespace off of anchor href attributes. sdanig
update JavaScript: add support for event.type property. sdanig
update Fixed NPE exception triggered by invalid iframe/frame src attribute. sdanig
update Fixed infinite loop triggered by recursive iframe/frame src attribute. sdanig
update JavaScript: fixed set innerHTML uses 8bits for all chars and ignores some HTML. Thanks to Sam Hough and Ahmed Ashour. mguillem
update JavaScript: handle out of bound indexes on options as browsers do (undefined when too high and exception when negative). mguillem
update Added (limited) support for client side map. Thanks to Ahmed Ashour. mguillem
update Don't execute JavaScript in < noframes > and < iframe > . Thanks to Ahmed Ashour. mguillem
update Set Referer header on outgoing requests. Thanks to Ahmed Ashour. mguillem
update JavaScript: setting innerHTML to null shouldn't create any text node for Firefox. Thanks to Ahmed Ashour. mguillem
update JavaScript: fixed remaining problem of submitted select values when select.selectedIndex = -1 has been used before setting an other value. mguillem
update JavaScript: setting innerHTML to empty string shouldn't create any text node. Thanks to Ahmed Ashour. mguillem
update JavaScript: added support for property parentElement on DOM nodes (IE specific). Thanks to Ahmed Ashour. mguillem
update JavaScript: configure correctly the prototype hiera rchy on created host objects. mguillem
update JavaScript: fixed non executed scripts added wit document.write. Thanks to Karel Kolman. mguillem
update JavaScript: "this" should be the window and not the current node in JavaScript href of link and area as well as in JavaScript action of forms. mguillem
update Fixed wrong parsing order of comment and text nodes. Thanks to Karel Kolman. mguillem
update JavaScript: added support for following properties on HtmlAnchor: hash, host, hostname, pathname, port, protocol, search and target. Thanks to Bruce Chapman. mguillem
update Handle correctly anchors (alias reference) in URLs after form submission. mguillem
update JavaScript: XMLHttpRequest now encodes post body in UTF-8. mguillem

Release 1.11 - Mar 15, 2007

Type Changes By
update Respect non proxy hosts in redirects from a host using proxy. mguillem
update JavaScript: resolve relative locations from the originating page for Location's href, replace and assign. mguillem
update Renamed frame host class to avoid conflict when a frame has 'Frame' as name. mguillem
update Form should not send push buttons on submit. mguillem
update Added facility method DomNode.getByXPath(xpathExpr). mguillem
update JavaScript: Option.setAttribute now works even if option has not yet been added to a select. mguillem
update Parse as html all responses with content type ending with "xhtml+xml" like XHTML mobile profile documents (application/vnd.wap.xhtml+xml). mguillem
update Improved HtmlPage.getAnchors's javadoc. mguillem
update Added support for server side map (HtmlImage.click(int, int)). mguillem
update Allow redirections to the same URL with a maximal number of 20. mguillem
update Fixed HtmlHtml.getXmlLangAttribute(). mguillem
update Upgraded dependencies to Jaxen 1.1, commons-lang 2.2, rhino 1.6R5, commons-io 1.3. mguillem
update Changing element id should not impact child nodes. Thanks to kkolman. mguillem
update JavaScript: provide event object as argument when calling onload listeners attached with attachEvent (Internet explorer). mguillem
update JavaScript: provide the event object to onsubmit handlers. mguillem
update Set cookies defined in meta tags with http-equiv equals to set-cookie. mguillem
update Fixed NullPointerException occurring while submitting a from which onsubmit handler returns null. Thanks to Andre Soereng. mguillem
update JavaScript: fixed bad initialisation of JavaScript context when window content changes (was introduced since last release in fixed for bug 1040244). mguillem
update JavaScript: ensure that script execution is synchronized on the owning html page (for instance using XMLHttpRequest asynchronously). mguillem
update JavaScript: made ThreadManager thread safe. Thanks to kkolman. mguillem
update JavaScript: perform correct setup of context for asynchronous execution of XMLHttpRequest. Thanks to Deryk Sinotte. mguillem
update JavaScript: don't wrap JavaScript primitive types when returned from a Java method. mguillem
update Fixed Non-html reply in window.open() doesn't create window object by restricting initialization of windows and pages. Added line/column numbering of HTML elements for embedded script names that are easier to debug. dktaylor
update JavaScript: fixed regression introduced in 1.10 on window.eval for local scope. mguillem
update JavaScript: provide the event object to onfocus and onblur handlers. mguillem
update Moved focus related methods from WebClien t to HtmlPage and deprecated them on WebClient. mguillem
update Fixed AREA elements can't handle JavaScript hrefs by copying code from anchor element. dktaylor
update Fixed frames[i ] return null for frames generated by document.write by allowing JavaScript Window object to be properly initialized with JavaScriptEngine. dktaylor
update Fixed document.write problem when < a... > written in 2 times by checking for complete HTML tags before parsing. dktaylor
update Fixed document.write() does not keep ending spaces by reducing text of adjacent text nodes as a whole instead of separately. dktaylor
update JavaScript: handle comments in event handlers. Thanks to Andre Soereng. mguillem
update JavaScript: if window with name 'myOldWin' exists, window.open('', 'myOldWin') should retrieve it rather than opening a new one. mguillem
update Fixed asText() for style node. Now returns an empty string. mguillem
update JavaScript: fixed select.selectedIndex = -1 should not be irreversible. mguillem
update JavaScript: setting option's selected status to false when it is already false shouldn't reset the whole select. mguillem
update JavaScript: fixed java.util.ConcurrentModificationException occurring when some onload event is removed during execution of an onload event. mguillem
update JavaScript: second argument DOM node's insertBefore is now optional when simulating Internet Explorer. mguillem
update Added support for comments: < !-- some comment -- > . Patch from Karel Kolman. Thanks to Karel Kolman. mguillem
update JavaScript: added XMLHttpRequest.overrideMimeType. mguillem
update JavaScript: fixed bug preventing to set non String style properties. mguillem
update JavaScript: allow to add options to a select with an index as second argument when simulating Internet Explorer. mguillem
update Ignore invalid URLs specified in < base href="..."/ > . mguillem

Release 1.10 - Nov 03, 2006

Type Changes By
update Fixed asText() for script node. Now returns an empty string. mguillem
update Removed ":" in project id to avoid problems on Windows with plugins like idea. mguillem
update Upgraded jaxen to 1.1-beta-11 (even if it's a "beta", this is the version recommended by jaxen developers). mguillem
update Added Maven compliant scopes in project.xml. mguillem
update JavaScript: added minimal support for navigator.mimeTypes (Firefox). mguillem
update Fixed select's faked selections are ignored, if select is empty. mguillem
update Fixed asText() for hidden input. Now returns an empty string. mguillem
update JavaScript: only style's built in properties are of type String (with empty string as default value) mguillem
update Use MultiThreadedHttpConnectionManager (avoids problems with requests started asynchronously from JavaScript). mguillem
update JavaScript: property "all" now available on all html element (Internet explorer). mguillem
update Fixed incorrect handling of web connections (missing call to releaseConnection()). mguillem
update JavaScript: item(xx) method now works correctly on node list. mguillem
update JavaScript: improved support for addEventListener on DOM nodes (Mozilla) and added support for attachEvent (Internet explorer). Thanks to Daniel Gredler. mguillem
update JavaScript: build XMLHttpRequest for all ActiveX names starting with "Msxml2.XMLHTTP". mguillem
update JavaScript: fixed bug in table.insertRow with empty tbody. mguillem
update Follow redirection to the same Url if original method was a POST. Handle redirections like browsers do rather than according to the RFC. mguillem
update JavaScript: allow script to set a "javascript:..." location. mguillem
update JavaScript: use of HTMLElement.innerHTML should not cause registration of a WebWindow. mguillem
update JavaScript: window.eval now evaluates in the right window scope. mguillem
update JavaScript: added basic support for addEventListener on DOM nodes (Mozilla). mguillem
update JavaScript: added support for window.createPopup (Internet Explorer). mguillem
update Added FrameWindow.getFrameElement and support for Javascript's frameElement property on windows. mguillem
update Parser: automatically add an < head > element if none present in html source (as done by Internet Explorer and Firefox). mguillem
update JavaScript: Location.replace wrongly loaded new URL in top window. mguillem
update XPath: fixed wrong behavior with following axis. mguillem
update JavaScript: fixed double execution of external JavaScript files occurring when text contained between < script src=... > and < /script > . mguillem
update JavaScript: allow to specify a maximal script execution time. Thanks to Andre Soereng. mguillem
update INCOMPATIBLE CHANGE: OK button is now simulated for JavaScript confirm calls when no ConfirmHandler is installed (it was was the Cancel button previously). mguillem
update Removed Jelly support. mguillem
update Updated doc to reflect migration from CVS to SVN. mguillem
update Do not submit reset buttons in forms. yourgod
update Transparently decompress server response if gzipped for transfer. Thanks to Daniel Gredler. mguillem
update JavaScript: fixed default String conversion of objects (like table, table row, table cell, collection). mguillem
update JavaScript: XMLHttpRequest.responseXml NodeList elements now accessible by index. mguillem
update JavaScript: take expiration date into account when creating cookies. Thanks to Andre Soereng. mguillem
update JavaScript: cells collection for rows now takes th into account. mguillem
update JavaScript: table/tbody.deleteRow(-1) will now delete the last row yourgod

Release 1.9 - Jun 27, 2006

Type Changes By
update Upgraded commons-collections to version 3.2 yourgod
update Upgraded commons-logging to version 1.1 yourgod
update Upgraded commons-io to version 1.2 yourgod
update JavaScript: added support IE style of events (window.event). mguillem
update Added possibility to configure NTLM credentials for the DefaultCredentialsProvider. mguillem
update Added facility method WebClient.getPage(String). mguillem
update Upgraded jaxen to 1.1-beta-9 (even if it's a "beta", this is the version recommended by jaxen developers). mguillem
update JavaScript: set form as parent scope for form fields (allows handlers to call directly form methods like submit()). mguillem
update XmlPage: parse xml pages namespace aware. mguillem
update JavaScript: ensure that the page being loaded has not already been replaced in its window by a new one through JavaScript before executing onload handlers. mguillem
update Use Byte Order Mark to recognize UTF-8 content when no charset header is provided. mguillem
update JavaScript: added addEventListener/attachEvent, removeEventListener/detachEvent to Window, allowing to register load events on a window. mguillem
update Upgraded commons-httpclient to version 3.0.1. mguillem
update JavaScript: added support for properties defaultView (Mozilla) and parentWindow (IE) on Document. mguillem
update JavaScript: added support for property ownerDocument on HtmlElements. mguillem
update DomText.asText() now cleans up & nbsp; and multiple blanks as other DomNodes do. mguillem
update Added facility methods HtmlOption.getEnclosingSelect() and HtmlLabel.getReferencedElement(). mguillem
update Fixed HtmlTable.getCellAt when table contains a rowspan. Thanks to Julien Henry. mguillem
update Proxy settings now respected to load external JavaScript files. mguillem
update HtmlCheckBoxInput.setChecked() now fires the JavaScript onchange event. yourgod
update Implemented window.setTimeout(function, int) and window.setInterval(function, int) yourgod
update HtmlOption.asText() now respects the label attribute as browsers do. yourgod
update Encode path part of URLs containing illegal characters. mguillem
update Added support for firing onkeydown events. Thanks to Brad Murray. mguillem
update HtmlElement.getAttributeEntriesIterator now returns the attributes in the order in which they appear in the html source code. mguillem
update HttpWebConnection now allows extensions to simply override HttpClient creation. mguillem
update Use configured proxy when performing a request after a redirection. mguillem
update Allow < button... > s located outside of a form to be clicked and their onclick handler to be called. mguillem

Release 1.8 - Feb 17, 2006

Type Changes By
update Cookies can now be shared between HTTP and HTTPS. mguillem
update HttpWebConnection now uses a single instance of HttpClient (as it can now handle multiple connections). mguillem
update Throw ScriptException (unless WebClient.isThrowExceptionOnScriptError() is false) when the source of an external script can't be loaded. mguillem
update Deprecated ScriptException.getEnclosedException. Use getCause instead. mguillem
update Added URL of the failed request in message of FailingHttpStatusCodeException. mguillem
update Fixed a bug that could cause a ConcurrentModificationException when navigating away from a page with JavaScript running in the background. yourgod
update Default PageCreator now builds an XmlPage and not a TextPage for responses with content type "text/vnd.wap.wml". mguillem
update JavaScript: fixed parent scope wrongly set on Style object. mguillem
update FailingHttpStatusCodeException now contains the failing WebResponse. mguillem
update Modified XmlHttpRequest to use new thread management API for async requests. yourgod
update JavaScript: fixed exception in access to a DOM node when the page contains a custom object with the same name as the one used by htmlunit for the host object (caused error like: "Form" is not a constructor). mguillem
update Fixed bad handling of comma in Location header of redirections (30x) mguillem
update Implemented setInterval/clearInterval and thread management for setTimeout and setInterval threads. Thanks to Steven Grimm and Daniel Gredler for patches that were helpful in the implementation. yourgod
update JavaScript: added support for properties target and srcElement on events. Thanks to Stefan Anzinger. mguillem
update Upgraded commons-httpclient to version 3.0. mguillem
update Fixed NPE thrown when JS error occurs on click when ThrowExceptionOnScriptError is false. Thanks to Paul King. mguillem
update Added HtmlAnchor.openLinkInNewWin dow() yourgod
update JavaScript: changes on form's action attribute in onSubmit were ignored. mguillem
update Allow external scripts to be loaded using file protocol. mguillem
update JavaScript: added support for property cellIndex on td and th eleements. Thanks to Mark van Leeuwen. mguillem
update BaseFrame.FrameWindow has been deprecated and replaced with a top level FrameWindow class. yourgod
update JavaScript: fixed exception occurring when addBehavior is called twice for the same behavior. mguillem
update JavaScript: Implement add() method for OptionsArray to avoid TypeError. Thanks to Bruce Faulkner. mguillem
update JavaScript: added the full URL of the file containing the script being executed in the exception message when a script error occurs. mguillem
update JavaScript: made Location properties writable. Thanks to Daniel Gredler. mguillem
update Added possibility to bypass configured proxy for some hosts. Thanks to Daniel Gredler. mguillem
update Fixed support for NTLM proxy. Thanks to Vikram Shitole / Daniel Gredler. mguillem
update JavaScript: setting options' length to a value greate r than current. size fills option array with empty options. mguillem
update Fixed mangled binary files loaded with the file protocol for non ISO-8859-1 default system file encoding. Thanks to Paul King. mguillem
update Upgraded commons-io to 1.1. mguillem
update Form's name now writable (both in DOM and in Javascript). mguillem
update Javascript: getElementsByTagName now returns an ElementArray (instead of a NativeArray) for html elements allowing expressions like "myForm.getElementsByTagName('input')['one' ] ". mguillem
update JavaScript: when simulating IE, options collection delegates to select when the requested property/method doesn't exist. Thanks to Daniel Gredler. mguillem
update Consider inputs with invalid type as text inputs. mguillem
update JavaScript: responses to XMLHttpRequest don't disturb window contents anymore. mguillem
add All code deprecated prior to 1.6 has been removed yourgod
add JavaScript: added implementation of IE behavior "#default#download". Thanks to Stefan Anzinger. mguillem
update Fixed HtmlSelect.getSelectedOptions to return an empty list if select has no option. JavaScript: fixed select.value to return an empt y string when select has no option. mguillem
update HtmlOption.click() now returns correctly the page loaded by an onchange event. mguillem
update Fixed requested URL for post form with empty action and original page containing a query string or action containing only a query string. Thanks to ianzlovejoy. mguillem
update Upgraded jaxen to 1.1-beta-8 (even if it's a "beta", this is the version recommended by jaxen developers). mguillem
update JavaScript: added support for property contentWindow on (i)frames. mguillem
update Upgraded rhino JavaScript library to 1.6R2. Noteworthy is that the JavaScript stack trace is now added in the normal Java stack trace (bug 274467 reported by Daniel Gredler, see http://www.mozilla.org/rhino/rhino16R2.html for full change log). mguillem
update Fill frame windows with about:blank when the declaring tag is found to allow JavaScript to run on it before the real content is loaded. mguillem
update Upgraded commons-httpclient to version 3.0rc4 in ant as well. Made HtmlForm.submit(SubmittableElement) public to simulate keyboard submits (more to come later). yourgod
update JavaScript: XMLHttpRequest.send now accepts null as parameter and fails when simulating Mozilla if called with no parameter like the browser does. mguillem
update Upgraded commons-httpclient to version 3.0rc4. mguillem
update Javascript: allow to set current node's property within onclick event handler. mguillem
update Javascript: XMLHttpRequest now accepts non xml responses. mguillem
update Javascript: allow to change selected attribute of options created with document.createElement('option') and not yet added to a select. mguillem
update Load frames content first after the page is loaded to allow access to the whole page for scripts contained in the frames. mguillem
update JavaScript: added support for document.frames (specific to IE). mguillem
update JavaScript: when simulating IE, second parameter in Select.add can be omitted.