*** Release 3.3.0 – June 04, 2023 *** Type Changes By Update core-js: Reflect implementation added (only construct() support is missing). rbri Fix " Dialog tag method and properties added. Fixes 598. rbri Fix core-js: optimization - replace some language version checks with constant values rbri Fix core-js: the PropertyDescriptor has an setter slot even if no setter function is available rbri Fix core-js: the order of slots in the PropertyDescriptor is no in sync with the spec/browsers rbri Update Use Objects.equals() instead of StringUtils.equals(). rbri Fix HtmlForm.getInputByValue and HtmlForm.getInputsByValue have to use the value instead of the value attribute (regression in 3.0.0). Fixes 602. rbri Add core-js: Support for Array.at added. RhinoTeam Add core-js: Support for Array.flat added. RhinoTeam Fix nodeList[Symbol.iterator] === nodeList.values has to be true. Lai Quang Duong Update Symbol.iterator property is now available on URLSearchParams. Lai Quang Duong Update Putting both the @JsxSymbol and @JsxFunction annotations on the same method works properly. Lai Quang Duong Fix Reflect's properties having an incorrect scope. Lai Quang Duong Update Some fixes for TextEvent and more tests. rbri Update Remove the no longer available properties ondevicelight, ondeviceproximity, and onuserproximity from window (FF). rbri Update KeyboardEvent which property is IE only. rbri Update Body onmessageerror property has to be writeable in FF too. rbri Update Introduce AbstractRange and move the properties collapsed, startContainer, endContainer, startOffset, and endOffset. rbri Update Meta media property has to be writeable in FF. rbri Update Marquee properties height, width, and bgColor are avilable in FF also. rbri Update Event type property is read-only. rbri Update ScreenOrientation onchange property has to be writeable. rbri Update Support of form property relList added. rbri Update Setter for form property rel added. rbri Update Nearly all screen properties are read-only. rbri Update Link relList property is setable. rbri Update Anchor relList property is setable. rbri Update Remove the superfluous origin setter for anchors. rbri Update The which property is moved up to the UIEvent for Chrome/Edge and FF. rbri Update MouseEvent which property is only available in IE. rbri Update The head property is defined on Document and not on HtmlDocuent. rbri Update Frameset onmessageerror property is setable in FF also. rbri Update neko: minor optimization of avoid object creation and some not required method calls. rbri Update Upgrade Apache commons-io to 2.12.0. rbri Fix SOCKS proxy setup fixed. Vadzim Miliantsei *** Release 3.2.0 – May 15, 2023 *** Type Changes By Fix Fix for the dom construction in some edge cases (oss-fuzz). rbri Add RTCSctpTransport stub added. rbri Add URLSearchParams.size property added. rbri Add SubmitEvent support added. rbri Update Avoid usage of org.w3c.dom.ranges.Range - this is not available on android. rbri Add Support unicode property escapes in regular expressions. Fixes 583. rbri Update cssparser: Custom properties without values are valid. rbri *** Release 3.1.0 – April 16, 2023 *** Type Changes By Remove INCOMPATIBLE CHANGE: CookieManager.getPort(URL) removed. Looks like is solved. rbri Fix core-js: Handling of java primitive types in EqualObjectGraphs are fixed. RhinoTeam Fix neko: mention CVE-2023-26119 on the github page. rbri Fix neko: HtmlTagBalancer.reset() now resets the whole state. rbri Fix neko: fix search for message bundles (regression in 3.0.0). rbri Fix Calls to hasOwnProperty() and getOwnPropertyDescriptor now taking care of form elements accessible from the form object. Fixes 578. rbri Fix Document.getSelection() is defined for Firefox and IE also. rbri Fix Document.getElementsByName() is defined for Firefox also. rbri Fix Document.getElementsByName() returns a NodeList instead of a HTMLCollection. rbri Add HTMLCollections are iterable now - you can use them in for..of loops. Fixes 576. rbri Fix Regexp "[^]" and "[^]" break translation of later char ranges in the regex. Lai Quang Duong Add window.isSecureContext added. Fixes 573. rbri Fix neko: Template tags are valid inside the head. rbri Fix neko: Script tags are valid inside select's. rbri Fix neko: The dialog tag closes a p tag. rbri Fix NPE fix for CSSStyleDeclaration.getPropertyPriority(). Lai Quang Duong Fix Incorrect placement of character data outside the form if there is no closing form tag (regression in 3.0.0). Thanks to Lai Quang Duong. rbri Fix Regexp "[^]" should match any character, including new line. Lai Quang Duong Fix XMLHttpRequest post request for the same origin must include the cookies (regression in 3.0.0). Fixes 565. rbri Fix Use 'keep-alive' instead of 'Keep-Alive' for the connection header. rbri *** Release 3.0.0 – March 19, 2023 *** Type Changes By Update INCOMPATIBLE CHANGE: Value processing for input controls changed; typing now ONLY changes the value but not the value attribute. As consequence all calls to setValueAttribute(..) hve to be replaced by setValue() or type(). rbri Update INCOMPATIBLE CHANGE: HtmlButton.getAttribute() now returns the plain attribute value also for 'type' attribute instead of returning 'submit' in case the attribute is not set. rbri Update INCOMPATIBLE CHANGE: xpath: All packages renamed from net.sourceforge.htmlunit.xpath to org.htmlunit.xpath. rbri Update INCOMPATIBLE CHANGE: neko: All packages renamed from net.sourceforge.htmlunit.cyberneko to org.htmlunit.cyberneko and net.sourceforge.htmlunit.xerces to org.htmlunit.xerces. rbri Update INCOMPATIBLE CHANGE: cssparser: All packages renamed from net.sourceforge.htmlunit.cssparser to org.htmlunit.cssparser. rbri Update INCOMPATIBLE CHANGE: core-js: All packages renamed from net.sourceforge.htmlunit.corejs to org.htmlunit.corejs. rbri Update INTERNET_EXPLORER is deprecated. rbri Fix core-js: Function.toString() now returns the source of the function without any reformating. Fixes 552. rbri Fix DocumentFragment methods childElementCount(), firstElementChild(), and lastElementChild() are ignoring non element nodes. rbri Fix Document readystatechange event was not triggered on page loading. Fixes 561. rbri Fix Style.item() function fixed. rbri Fix Prevent sending cookies with preflight and cross-origin requests. Lai Quang Duong Update Remove well known ports from the WebRequest url. Lai Quang Duong Fix Fix incorrect splitting of URLSeachParams when parameters contain url-encoded required characters like "&". Lai Quang Duong Add Implementation of URLSeachParams.forEach() added. Lai Quang Duong Add Implementation of Blob.stream() stub added; just throws UnsupportedOperationException. Lai Quang Duong Add Implementation of Blob.arrayBuffer() added. Lai Quang Duong Update xpath: again some unused code removed. rbri Fix Always throw an UnsupportedEncodingException from all DataUrlDecoder methods to not bypass the general exeption handling. rbri Fix StringIndexOutOfBoundsException when parsing invalid data url's (oss-fuzz). rbri Fix Style and template tags are valid table childs. rbri Update Implement handling of the Cache-Control: no-cache directive. Lai Quang Duong Update Upgrade Jetty to 9.4.51.v20230217. rbri Fix CSS selectors filtering the type attribute like button[type='submit'] fixed. Fixes 555. rbri Fix Fix NullPointerException when parsing using html with ignored head tags (oss-fuzz). rbri Fix core-js: Setter function from property descriptor has to convert the args. Fixes 550. rbri Fix core-js: Preserving cause, when a JavaException is rethrown in JavaScript. RhinoTeam Fix core-js: Fix name property for bound functions. rbri Fix Document.evaluate() and XPathEvaluator.evaluate() now failing with a js exception if something is wrong with the xpath. rbri Fix Remove support for xpath function lower-case as this is not available in real browsers. rbri Add Take all Access-Control-Allow-Headers into account during XMLHttpRequest preflight auth. Fixes 549. rbri Fix neko: source/param/track are body tags. rbri Fix neko: noscript can be part of the header also. rbri Add neko: Add audio/bdi/canvas/data/datalist/dialog/mark/meter/picture/progress/slot/time/output/video tag support. rbri Fix neko: Select tags can only contain option/optgroup/template tags and text. rbri Fix neko: Content inside the noembed tag is handled as text. rbri Fix Fix ClassCastExceptions while parsing wrong html tags inside svg elements (e.g.
) (oss-fuzz). rbri Fix Class com.gargoylesoftware.htmlunit.html.XmlSerializer is now public. rbri Fix Bunch of fixes to attach input controls to the correct form during dom creation. Atsushi Nakagawa Fix Many corrections for the dom generation for misplaced form or form controls inside tables. rbri Fix neko: Close forms directly if they are at the wrong place inside a table. rbri Update neko: Augmentations converted into a tagging interface. rbri Update neko: code cleanup and unused features removed. rbri Fix Enable FEATURE_SECURE_PROCESSING for the XSLT processor. rbri Add Document disabling of website certificate check in the FAQ. rbri *** Release 2.70.0 – January 22, 2023 *** Type Changes By Fix neko: Refactor XMLAttributes/XMLAttributesImpl to use a simple ArrayList as backend. rbri Fix neko: Fix ArrayOutOfBoundsException when parsing using JDK 17 (oss-fuzz). rbri Fix DocumentType properties entities and notations are only available in IE. rbri Add Methods append/prepend/replaceChildren added to Element. Fixes 544. rbri Fix Element.replaceWith() fixed for the case this was called without any new elements. rbri Fix Another Xerces detection fix for JDK 17. Fixes 541. rbri Add Missing properties addedNodes, removedNodes, previousSibling, and nextSibling added to MutationRecord. rbri Add Anchors are now taking care of the rel="noreferrer" attribute. Fixes 546. rbri Add Form ref attribute implemented (Chrome and Edge) rbri Update Method com.gargoylesoftware.htmlunit.html.HtmlImage.getImageReader() is depracated (Android compatibility). rbri Update Package package com.gargoylesoftware.htmlunit.javascript.host.canvas.rendering renamed to package com.gargoylesoftware.htmlunit.platform.canvas.rendering. rbri Update Package package com.gargoylesoftware.htmlunit.javascript.host.canvas.rendering renamed to package com.gargoylesoftware.htmlunit.platform.canvas.rendering. rbri Remove Methods com.gargoylesoftware.htmlunit.css.CssStyleSheet.parseSelectors(String) and com.gargoylesoftware.htmlunit.javascript.host.css.CSSStyleSheet.parseSelectors(String) removed. rbri Fix Reports generated by ElementOwnPropertiesTest and ElementPropertiesTest fixed. rbri Fix Methods createGain() and decodeAudioData() moved from AudioContext to BaseAudioContext. rbri Update cssparser: many, many updates for parsing the :not() pseudo selector done - they are now first class citicens for the parser and also for handling the selectors. rbri Fix Fixed url parameter processing in history.replaceState() / history.pushState(). Lai Quang Duong Remove Deprecated constants ABOUT_SCHEME, ABOUT_BLANK, and URL_ABOUT_BLANK removed from WebClient. rbri Update Class com.gargoylesoftware.htmlunit.html.DomTreeWalker is deprecated (Android compatibility). rbri Update Method com.gargoylesoftware.htmlunit.SgmlPage.createTreeWalker(Node, int, NodeFilter, boolean) is deprecated (Android compatibility). rbri Update New class com.gargoylesoftware.htmlunit.platform.dom.traversal.DomTreeWalker; this class can only be used with standard jdk - not on Android. rbri Add Fixed definition of the Location properties (they are defined on the object itself instead on the prototype). Fixes 528. rbri Fix WebClient#loadHtmlCodeIntoCurrentWindow() now uses the html parser instead of the xhtml parser. rbri Fix neko: Fix Exception when parsing a template tag as first node (oss-fuzz). rbri Fix Fix Exception when parsing documents with ignored head tags (oss-fuzz). rbri *** Release 2.69.0 – January 05, 2023 *** Type Changes By Fix Xerces detection fixed. rbri Add " HtmlUnit is now regulary tested by Google OSS-Fuzz. Fixes 531. rbri Fix " neko: Fix ArrayIndexOutOfBoundsException when parsing a incomplete entity reference at the end (oss-fuzz). rbri Fix " Fix ClassCastException when parsing svg body tag (oss-fuzz). rbri Fix " Fix ClassCastException when parsing base element with namespace (oss-fuzz). rbri Fix core-js: fix scope for bound functions called inside Promise.then(). Fixes 522. rbri Fix Cached location.hash was not updated by history.replaceState() / history.pushState(). Fixes 523. rbri Fix The url was not encoded by history.replaceState() / history.pushState(). Fixes 523. rbri Fix Inconsistent use of UrlUtils.encodeAnchor() / UrlUtils.encodeHash(). rbri Update neko: more unused code removed. rbri Update xpath: again some unused code removed. rbri *** Release 2.68.0 – Dezember 28, 2022 *** Type Changes By Fix cssparser: typo when skipping a rule containing em values. rbri Fix core-js: Many fixes for Object.assign(). RhinoTeam Fix Replace \n in console output with real line break. rbri Fix core-js: Make sure the placeholder replacements of console.log() is also done for ConsStrings. rbri Fix core-js: console.log() ignores %c styling but updates the param count to not disturb further replacements. rbri Add Support for unicode point escapes added when converting regex from js to java. Fixes 535. rbri Fix Minor fixes for unicode handling when converting regex from js to java. rbri Fix RequestParameter normalization should not replace KeyDataPair by NameValuePair. Fixes 533. Michael Lueck Add Minor fixes for radio button validation to fit Chrome/Edge/FF instead of IE. Fixes 530. rbri Add cssparser: support case-insensitively syntax for attribute values (https://www.w3.org/TR/selectors-4/#attribute-case). Fixes 530. rbri Fix Fix prototype for Intl.Collator, Intl.DateTimeFormat, Intl.NumberFormat, and Intl.v8BreakIterator (regression from 2.64.0). Fixes 529. rbri Fix Browsers using windows-1252 if the content type header is charset=ascii. Fixes 525. rbri Add Crypto.randomUUID() added. rbri Fix neko: Fix handling of parser inserted tbody tags inside templates. rbri Update Upgrade Jetty to 9.4.50.v20221201. rbri Fix Process cookies with negative max-age values to make sure the cookie store gets updated (in fact this deletes an existing cookie). Fixes 524. rbri Update Upgrade Apache HttpComponents to 4.5.14. rbri Fix core-js: Constructor properties fixes. Fixes 238. rbri Update Upgrade Apache commons-net to 3.9.0. rbri Fix core-js: Descriptor of Function.length should be configurable. Fixes 521. rbri Fix neko: Use our own fork of xerces to get rid of some classpath problems because of the xml-api dependency. Fixes 521. rbri *** Release 2.67.0 – November 20, 2022 *** Type Changes By Update Support sameSite attribute when constructing a cookie. rbri Update Cookie toString() includes sameSite attribute if set. rbri Fix Treat localhost as secure origin when processing cookies. rbri Update Avoid usage of interfaces from java.util.function for Android 6. rbri Fix Take care of the fixed position style attribute at some places. rbri Fix Remove some not required string operations from the DOMTokenList code. rbri Fix Fixing change notification for the DOMTokenList in some situations. rbri Fix DOMTokenList no longer adds an attribute to the dom node if remove is called an there was no attribute so far. rbri Fix AnimationEvent construction fixed. rbri Fix core-js: classCastException in hasOwnProperty on NativeJavaObject fixed. RhinoTeam Fix XPathResult determination of the resultType fixed. rbri Fix numberValue() and stringValue() for an empty XPathResult fixed. rbri Fix XPathResult.booleanValue() fixed. rbri Fix xpath: correct return value when substring() is used with a negative length rbri Fix xpath: fix error handling for invalid function arg count rbri *** Release 2.66.0 – October 22, 2022 *** Type Changes By Fix core-js: RegEx - fix the error message in case the quantifier maximum (second value) is smaller than the minimum (first value) rbri Fix core-js: Remove usage of putIfAbsent() in the Hashmap class. This method does not exist on many old Android releases and there's no real downside to removing it. RhinoTeam Fix core-js: parent relationship in TaggedTemplateLiteral fixed. RhinoTeam Fix StaticDomNodeList has to be serializable. Fixes 513. rbri Fix Lambda functions used by Element have to be serializable. Fixes 513. rbri Fix FunctionWrapper has to be serializable. Fixes 511. rbri Update Avoid usage of ThreadLocal#withInitial for Android 7. rbri Update NamedNodeMap moved from com.gargoylesoftware.htmlunit.javascript to com.gargoylesoftware.htmlunit.javascript.host. rbri Add HTMLMediaElement.load() implemented as NoOp. Fixes 504. rbri Add Support for HTMLMediaElement.src and HTMLMediaElement.currentSrc properties added. Fixes 504. rbri Fix nodeType and nodeName moved to HTMLMediaElement. Fixes 504. rbri Add Simple mock for Performance getEntries()/getEntriesByName()/getEntriesByType() added. rbri Add htmx version 1.8.2 testsuite added. rbri Fix HTMLMediaElement.canPlayType() now returns more realistic results. This might help for some pages where the player src attribut is set from js only if the media type is supported. Fixes 504. rbri Add Method DomElement.setInnerHtml(String) added. Fixes 505. rbri Fix Fix generation of test-javadoc. rbri Add First simple implementation of NumberFormat.format() and NumberFormat.resolvedOptions() added. Fixes 501. rbri Fix Fix one more xsl transform issue when running without Xalan. rbri *** Release 2.65.1 – October 03, 2022 *** Type Changes By Fix Wrong dependency to htmlunit-xpath snapshot rbri Fix There was still a dependency to Xalan. rbri *** Release 2.65.0 – October 03, 2022 *** Type Changes By Update FF_ESR updatade from version 91 to 102. rbri Remove com.gargoylesoftware.htmlunit.util.TextUtils removed. rbri Update Switch from xalan to htmlunit-xpath. rbri Update Upgrade Jetty to 9.4.49.v20220914. rbri Add Introducing a PrintHandler configurable at the WebClient. You can provide your own Window.print() implementations if required. Fixes 501. rbri Fix A bug in one faq sample code that might result in wrong encoding is fixed. rbri Update Bunch of code cleanup for CSS handling. rbri *** Release 2.64.0 – August 18, 2022 *** Type Changes By Update CSS pseudo selector :invalid improvements. rbri Fix Number control processing of whitespace fixed. rbri Fix Url/Email control processing of whitespace fixed. rbri Fix Email control takes care of the min/max length property during validation. rbri Fix Improved implementation of the ValidityState.isTooShort property. rbri Fix Fix maxlenght validation if the initial value is longer. Fixes 496. rbri Update Upgrade salvation lib to salvation2 3.0.1. rbri Add Screen/ScreenOrientation property onchange added. rbri Add Screen property isExtended (Chrome/Edge) added. rbri Add Screen property orientation (and mozOrientation for FF) added. rbri Add ScreenOrientation properties angle and type added. rbri Update Various minor optimizations and some code cleanup. rbri Remove Deprecated class SimpleScriptable removed. rbri Remove Deprecated constant BrowserVersion.FIREFOX_78 removed. rbri Remove Deprecated methods CSSStyleSheet.selects(BrowserVersion, Selector, DomElement, String, boolean) and CSSStyleSheet.selects(BrowserVersion, Condition, DomElement, boolean) removed. rbri Fix Various NullPointerExceptions fixed when calculation style properties for the html node itself. Fixes 488. rbri *** Release 2.63.0 – July 10, 2022 *** Type Changes By Fix window.event is a replaceable property. Fixes 487. rbri Fix window.event should return undefined if called outside an event handler rbri Fix Replace all XPath usages from our code because this might be called during dom tree consturction and XPath sometimes fails if the tree got changed during xpath evaluation. Fixes #385. rbri Update A bunch of code refactorings to avoid making inconsistent dom nodes visible in the dom tree. rbri Update Spotbugs annotations used in the code to supress some warnings. rbri Update Upgrade Apache log4j-api to 2.18.0. rbri*** Release 2.62.0 – June 02, 2022 *** Type Changes By Add Introduce HtmlInput.getValue() and HtmlInput.setValue(String). rbri Fix core-js: Fix Object.getOwnPropertyDescriptors by fixing missing scope definitions. Thanks to Rural Hunter. rbri Fix core-js: Fix ClassCastException when using StringBuilder/Buffer. RhinoTeam Fix core-js: Fix typeof for native classes with shared global scope. RhinoTeam Add Introduce new abstract class HtmlSelectableTextInput to to share text selection and typing support. rbri Fix Correct the length of the resulting ArrayBuffer for XMLHttpRequest having a response type of 'arraybuffer' if the response is gzip compressed. This also fixes an ArrayIndexOutOfBounds exception. rbri Update WebRequest.getParameters() normalizes null values to empty strings. Fixes 223. rbri Fix WebRequest.getParameters() now takes care of explicit set parameters for get requests also. Fixes 223. rbri Fix Ignore invalid css selectors (inside pseudo not) instead of throwing an exception. Fixes 483. rbri Fix core-js: Code cleanup and minor optimizations. rbri Fix core-js: Better handling of Callables in NativeConsole. rbri Fix Node.getRootNode() fixed for DocumentFragment itself and fragment children. rbri Fix Window is no longer a callable. Fixes 482. Thanks to Rural Hunter. rbri Fix Window.postMessage now supports arbitary js objects as message instead of converting them into strings. Thanks to Thorsten Wendelmuth. rbri *** Release 2.61.0 – April 25, 2022 *** Type Changes By Add String.toLocaleLowerCase() takes care of provided locale. rbri Add Button/Input formNoValidate propery added. rbri Fix ValidityState.patternMismatch fixed. rbri Fix Dispatching custion events now works for all DomNode's. This fixes also a NPE when running the htmx 1.7.0 test suite. rbri Add Node.getRootNode() added. rbri Add Support for :focus-within and :focus-visible pseudo selectors added. rbri Fix core-js: Did another hack in the code to tread const in for-of loop's like let. Fixes 449. rbri Fix neko: Some missing end-of-file checks added (this fixes possible IndexOutOfBounds exceptions). rbri Fix neko: Possilbe OOM exception with broken input fixed. rbri Fix core-js: JSON.stringify() fixes. rbri Remove HTMLCollection IE only methods nextNode() and reset() removed. rbri Fix Bunch of fixes for HTMLCollection and NodeList properties. rbri Update Use NativeConsole from core-js instead of our own implementation. As a side effect, WebConsole.Formatter is no longer supported. rbri Fix core-js: Using subarray() on a subarray produces incorrect results. Fixes 476. Thanks to Rural Hunter. rbri Fix Add missing delegate methods to WebResponseWrapper. Fixes 471. Thanks to Rural Hunter. rbri Update Improved method and vaiable naming at some places. Thanks to Bharatwaaj Shankaranarayanan. rbri Update INCOMPATIBLE CHANGE: Class MediaList was moved from package com.gargoylesoftware.htmlunit.javascript.host.dom into package com.gargoylesoftware.htmlunit.javascript.host.css. Fixes 360. rbri Add New method WebRequest.getParameters() returning all parameters (from the url and the body if available). This change was required to fix some issues with Spring MockMVC. Fixes 223. rbri Add Implementation of CSSPageRule selectorText setter added. Fixes 360. rbri Add cssparser: Support page rule setSelectorText(). rbri Fix docu: various fixes regarding using the sonatype snapshot repository. rbri Fix Running the test suite fails on some newer maschines because Jetty is not happy with tread pool limits setups in use. Fixes 462. Thanks to Rural Hunter. rbri Fix 'Origin' header added to same-origin non-GET requests. Fixes 461. Thanks to Rural Hunter. rbri *** Release 2.60.0 – March 20, 2022 *** Type Changes By Fix core-js: ES2017 Object.getOwnPropertyDescriptors() implemented. RhinoTeam Fix core-js: Fix Object.assign when undefined value and inextensible. RhinoTeam Fix Worker.terminate() stub added. rbri Fix CanvasRenderingContext2D ignores unknown colors. rbri Fix HtmlFileInput.setValueAttribute(String) now handles an empty input as no file. Fixes 383. rbri Fix Make sure template content is not added to the dom during parsing; only to the content document fragment. Fixes 455. rbri Fix Image.prototype setup fixed. Fixes 451. rbri *** Release 2.59.0 – March 5, 2022 *** Type Changes By Update Polyfill support documented. rbri Update Dedicated documentation of the WebClient/WebClientOptions and some more documentation updates. rbri Add Make sure to read sufficient byte for the encoding sniffer when the response is gzip encoded. Fixes 452. rbri Add Handle bom header also for gzip'ed responses. Fixes 450. rbri Add New web client option setProxyPolyfillEnabled() to automatically load a polyfill for the proxy api into the client. rbri Fix core-js: regex sticky support împlemented. rbri Fix core-js: improved error msg about unsupported regex flags. rbri Fix Jobs sheduled with the same targetExecutionTime are now processed in sheduling order. Fixes 369. rbri Add New web client option setFetchPolyfillEnabled() to automatically load a polyfill for the fetch api into the client. rbri Fix FileReader readAsArrayBuffer() and readAsText() are working for blobs also. rbri Update Upgrade commons-codec to 1.15. rbri Add Introducing a ClipboardHandler configurable at the WebClient. If you need clipboard support for entry fields set this to an AwtClipboardHandler. rbri Add Element.toggleAttribute() added. Thanks to Anton Demydenko. rbri Update Upgrade Jetty to 9.4.45.v20220203. rbri Fix Document.body setter accepts Framesets. Fixes 441. rbri *** Release 2.58.0 – February 4, 2022 *** Type Changes By Update neko: Switch to xerces 2.12.2. rbri Fix asNormalizedText() uses the default style to determine blocks if css is disabled. Fixes 439. rbri Update HtmlUnitScriptable code cleanup. rbri Update SimpleScriptable is deprecated, please use HtmlUnitScriptable instead. rbri Fix Various fixes for the handling of select options when the select property changes. rbri Fix checkValidity returns correct value for radiobuttons checked by js or the user. rbri Fix checkValidity returns correct value if the checkbox was checked by js or the user. Fixes 438. rbri Add core-js: Object.hasOwn added. RhinoTeam Fix core-js: Support optional variable binding in catch. RhinoTeam Fix core-js: RegEx handles {0} quantifier with max of zero correctly. RhinoTeam Add core-js: Date ctor now respects the timezone. Fixes 423. rbri Add core-js: Promise.allSettled() added. RhinoTeam *** Release 2.57.0 – January 23, 2022 *** Type Changes By Add Quota simulation added to localStorage. rbri Fix innerText ignores title content in most cases. rbri Fix NPE when using the console in a special scenario fixed. rbri Fix Formaction, formmethod, formtarget and formenctype no longer ignored on button without type attribute. Fixes 436. rbri Fix Fix duplicate classes inside our javadoc. Fixes 435. rbri Fix The caching algorithm now observe the max-age headers. Fixes 432. Ashley Frieze Add HTMLOutputElement form property added. rbri Update htmx testsuite changed to version 1.6.1 added. rbri Update Flash is no longer available in IE. rbri Fix innerText ignores script children. rbri Fix Script tags in DOMParser-created documents are not executed when adding to pages. rbri Add setCustomValidity() added. rbri Fix Button of type submit/reset button does not submit if the onclick handler disables the button for Chrome/Edge. rbri Fix Submit/Reset button does not submit if the onclick handler disables the button. rbri Add Form noValidate property added. rbri Fix Fix validation of decimal min/max/step values in number input. Michael Lueck Add Element.closest() function added. rbri Update Some text added to the web page to clarify js disable option. rbri Add willValidate property added. rbri Add htmx testsuite version 1.5.0 added. rbri Fix Adjust selection if the selected option gets removed. rbri Fix Fix validation for email input fields. Michael Lueck Fix The browser locale (language) is now forwarded to the JS engine; this fixes String.toLocaleLowerCase() if the locale is different from en. rbri Update File.lastModifiedDate uses the browser locale (language); same for Date.toLocalDateString and toLocalTimeString. rbri Update Upgrade Apache log4j-api to 2.17.1. rbri *** Release 2.56.0 – December 12, 2021 *** Type Changes By Fix Fix charCode/keyCode for KeyPressEvent's when simulating Firefox. rbri Fix core-js: Fix Array.from when called with a sparse array. RhinoTeam Update core-js: Improved BitInt support. RhinoTeam Fix core-js: Fix return value of __lookupSetter__ with prototypes. RhinoTeam Fix core-js: Fix regression when setting __proto__. RBRi Fix core-js: Fix some potential NPEs in Parser.java. RhinoTeam Fix core-js: Fix invalid single quotes in French messages. RhinoTeam Fix Some fixes for the code samples on the getting started page. Thanks to Harald Albers. rbri Add cssparser: Support for dimensions turn and quater added. rbri Add cssparser: hsl/hsla support added. rbri Update cssparser: Improved color parsing for rgb/rgba. rbri Fix Fix request url encoding for script src. Thanks to leeyazhou. rbri Update FIREFOX_78 is now deprecated, use FIREFOX_ESR instead. rbri Update FIREFOX_ESR updated to Firefox 91. rbri Fix core-js: Fix for compilation or try statements. RhinoTeam Fix Links to issues and pulls on htmlunit webpage changes-report.html corrected. Fixes 405. rbri *** Release 2.55.0 – November 14, 2021 *** Type Changes By Update core-js: Fix problems with null "this" parameters in Function.prototype.call, Function.prototype.apply, Function.prototype.toString, and Object.prototype.toLocaleString. RhinoTeam Update core-js: Messages now fall back to en in every case. RhinoTeam Update core-js: Fix support for BigInt in Hashtable RhinoTeam Update core-js: Improved JDK 17 support. RhinoTeam Update core-js: Replace 'new Integer/Double/Long' by Integer/Double/Long.valueOf. RhinoTeam Update neko: Switch to xerces 2.12.1. rbri Fix Text content based width calculations in ComputedCSSStyleDeclaration now using the getVisibleText() method to come closer to real browsers (e.g. whitespace is now removed). Fixes 384. rbri Update neko: Switch to jUnit 5. rbri Remove SimpleScriptable#setHtmlElement removed. rbri Remove Deprecated method DomNode.asText() removed. rbri Add HTMLElement enterKeyHint property added. rbri Update HtmlSerializerVisibleText is now a bit more customizable. Fixes 399. Thanks to cdalexndr. rbri Fix Plus sign was replaced by a blank when found inside a data url. Fixes 403. rbri Fix HtmlSerializerVisibleText handling of different white-space style definitions improved. Fixes 397. Thanks to cdalexndr. rbri Add Separate documentation page for proxy setup and authentication. rbri Add Support socks proxy authentication. Fixes 394. rbri *** Release 2.54.0 – October 17, 2021 *** Type Changes By Update core-js: Improve compile speed in some cases. RhinoTeam Update core-js: Avoid unnecessary arrayCopy in Kit.readStream, when initialBufferCapacity matches stream length. RhinoTeam Update core-js: Classcache must honor current security context. RhinoTeam Update core-js: Optimized XmlProcessor toXmlNewlines. RhinoTeam Fix Fix innerText when the element has svg children. rbri Add HTMLElement.outerText added. rbri Fix Fix innerHTML and outerHTML if one child node is a template. rbri Fix neko: Fix some problems when parsing template content. rbri Add Navigator.languages added. rbri Add A short section about 'Multithreading/Threads Pooling' added to the web page. rbri Add WebClient.setExecutor(ExecutorService) addet to make treading more flexible. rbri Update Use a CachedThreadPool instead of a FixedThreadPool for our executor service because the number of WebSocket threads might block the whole execution otherwise. Fixes 390. Thanks to Dennis Duysak. rbri Fix Add missing support for XmlHttpRequees responseType and response properties. Fixes 388. rbri Fix Add missing request browser headers when setting location from js. Fixes 386. Thanks to Rural Hunter. rbri Fix Xpath case sensitive processing was broken if an string inside the xpath contains []() or @. Fixes 386. rbri Fix Setting the value of an file input to an empty string should not trigger the on change. Fixes 383. rbri Fix core-js: Fix processing of SCRIPTABLE_UNDEFINED when used in string concatenation. rbri *** Release 2.53.0 – September 18, 2021 *** Type Changes By Fix XMLHttpRequest.send() has to serialize the body value if it is Document. Fixes 374. rbri Fix Finally support getting and setting style properties via elem.style['property-name'] notation. rbri Fix Style property vertical-align now accepts also "baseline", "sub", "super", "text-top", "text-bottom", "middle", "top", "bottom", "inherit", "initial", "revert"and "unset". Fixes 380. rbri Fix NativeMap's Map.entries() emulation no longer returns NativeMap.NULL_VALUE instead of actual null instance. rbri Fix Use the CssErrorHandler configured at the WebClient for parsing inline styles also. Fixes 378. rbri Fix Assigning URL.search has to encode the given string. rbri Fix If an URLSearchParams object is constructed from an URL all the changes have to update the url also. Thanks to cdalexndr. rbri Fix URLSearchParams js object misses initialization of parent and prototype. Thanks to cdalexndr. rbri Fix Fix detail value for PointerEvents. rbri Update Dependency HttpClient test-jar no longer required for the test suite. rbri *** Release 2.52.0 – July 25, 2021 *** Type Changes By Add More detailed tests and some fixes for HtmlArea processing. rbri Update core-js: Two minor code optimizations regarding ConsString handling. rbri Update core-js: Delegator handling required for HtmlUnit is now part of Rhino. rbri Update core-js: Remove some no longer required changes from our Rhino fork. rbri Update Use our own simple Shape2D classes to reduce the java.awt dependencies. rbri Update Use our own simple color class to reduce the java.awt dependencies. rbri Remove Element behaviors and HTML components (HTCs) have been removed from the code base. It was removed more than 5 years ago from IE10. (https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/compatibility/hh801216(v=vs.85)?redirectedfrom=MSDN) rbri Update The new Apache commons-io to 2.11.0 is available but we are still at 2.20.0 because the new version seems to have an regression (https://issues.apache.org/jira/browse/IO-744). rbri Update SVGMatrix no longer requires java.awt.geom.AffineTransform. Hope that helps a bit on android. rbri Fix CSSImportRule.styleSheet now returns the imported style sheet instead of the importing one. Fixes 360. Thanks to Frank Danek. rbri Add CSS.supports() added - returns always true for now. rbri Update Inline styles are now parsed by the htmlunit-cssparser. rbri Update Upgrade Jetty to 9.4.43.v20210629. rbri Fix CSSStyleDeclaration.item property added. Fixes 360. Thanks to Frank Danek. rbri Fix CSSStyleDeclaration.length is now correct for stylesheets. Fixes 360. Thanks to Frank Danek. rbri Fix CSSGroupingRule.insert() now sets the parent rule for the inserted rule. Fixes 360. Thanks to Frank Danek. rbri Add PageRule style and selectorText property added. Fixes 360. Frank Danek Fix Improved PageRule support. Fixes 360. Frank Danek Add CSSStyleDeclaration.parentRule property added. Fixes 360. Frank Danek Fix Various CSS formatting fixes. Fixes 360. Thanks to Frank Danek. rbri Fix XMLHttpRequest-abort() triggers an error in Chrome/Edge if the send is aborted. Fixes 365. rbri *** Release 2.51.0 – July 04, 2021 *** Type Changes By Fix XMLHttpRequest-abort() sets the state back to 0 and the webResponse to a network error. Fixes 365. rbri Fix core-js: Various fixes for undefined. RhinoTeam Fix core-js: Support ES2019 JSON superset. RhinoTeam Fix core-js: globalThis implemented. RhinoTeam Fix core-js: Fix bug when calling function on custom global object. RhinoTeam Add CSSConditionRule.conditionText added (for CSSMediaRule). Fixes 360. Thanks to Frank Danek. rbri Add CSSGroupingRule.cssRules, .insertRule() and .deleteRule() added (for CSSMediaRule). Fixes 360. Thanks to Frank Danek. rbri Fix CssParser: bring formatting closer to the browser. rbri Fix MediaList default toString() now prints the media text. Fixes 360. Thanks to Frank Danek. rbri Fix Assigning a value to CSSRule.cssText is a no op. Fixes 360. Thanks to Frank Danek. rbri Add HtmlImage.getSrc() added. Thanks to Frank Danek. rbri Add HtmlInput.getSrc() and HtmlImageInput.getSrc() added. Thanks to Frank Danek. rbri Fix INCOMPATIBLE CHANGE: HtmlImageInput.getSrcAttribute() returns the plain value of the source attribute. Use HtmlImageInput.getSrc() if you need the full qualified url. If your code uses HtmlImageInput.getSrcAttribute() you have to replace this with HtmlImageInput.getSrc(). Thanks to Frank Danek. rbri Fix XMLHttpRequest preserves the content type header if sending a file an the header was set from the javascript. Fixes 359. rbri Fix Improved ComputedCSSStyleDeclaration regarding height and width for empty span's. Thanks to Alex Gorbatovsky. rbri Fix Improved ComputedCSSStyleDeclaration regarding image height and width. Thanks to Alex Gorbatovsky. rbri Fix Improved ComputedCSSStyleDeclaration regarding image height and width. Thanks to Alex Gorbatovsky. rbri Add HtmlImage.getWidthOrDefault() and HtmlImage.getHeightOrDefault() added. rbri Fix Frameset/HTMLTableSectionElement/HTMLTableCaptionElement outerHTML property is setable. rbri Fix Translate response charset GB2312 to GBK like browsers do. Fixes 358. Thanks to tyuxue. rbri Fix Setting window.clientInformation now works correct for Chrome/Edge and IE. rbri Fix Setting window.innerHeight was broken because of an typo for a long time. rbri Fix Properties without a setter defined are no longer setable - this was a hack introduced for IE6 and is no longer valid. rbri Fix Document.body is setable. rbri Fix AudioParam value property is writable. rbri Add core-js: All "new Error" instances have a "stack" even if they are not thrown. RhinoTeam Fix core-js: A number of small spec compliance issues with all the Error classes are fixed. RhinoTeam Fix core-js: Make sure that the "name" and "length" properties of BaseFunction can have their attributes be modified and be deleted if so configured. RhinoTeam Add core-js: Template support added. Fixes 296. RhinoTeam Fix core-js: Object.seal/freeze/isSealed/isFrozen logic got a few fixes. RhinoTeam Fix core-js: Support indexed accessor properties. RhinoTeam Add core-js: Object.values / Object.entries / Object.fromEntries added. RhinoTeam Update core-js: Refactoring of the slot implementation. RhinoTeam Update Upgrade Apache commons-io to 2.10.0. rbri Fix Page type detection was wrong if no content type header was set and some unicode chars are present in the first bytes of an document. Fixes 357. Thanks to Antoni Reus. rbri Fix ComputedCSSStyleDeclaration height property now returns "auto" for invisible elements. rbri Add A simple version of getInnerHTML added for Chrome/Edge. rbri Fix Console.trace() now prints the call stack. Fixes 179. rbri Update Upgrade Jetty to 9.4.41.v20210516. rbri Fix Fix a possible resource leak if ThreadDeath is thrown when closing the script executor. Thanks to Sergio Moreno. rbri *** Release 2.50.0 – May 16, 2021 *** Type Changes By Fix HTMLElement.innerText implementation is now closer to the spec. rbri Fix core-js: Optimization of the + operator. RhinoTeam Fix core-js: Small optimization for the increment/decrement operator. RhinoTeam Fix core-js: Small optimization for the increment/decrement operator. RhinoTeam Fix Document.contains(node) fixed. rbri Fix Node.contains(node) returns false for null and undefined parameter values. rbri Fix Error.stack lines are separated by LF only. Fixes 284. rbri Add Some links to the 'The Java Web Scraping Handbook' added. rbri Fix No longer throw an exception when DOM event name is used as function name. Fixes 347. rbri Fix core-js: fix duplicate entries of source files in htmlunit-core-js-2.x.0-sources.jar. RhinoTeam Update core-js: toNumeric speed improved. rbri Fix core-js: Number.parseInt and Number.parseFloat are the same as the global functions. RhinoTeam Add core-js: Number.EPSILON implemented. RhinoTeam Add core-js: String.raw implemented. RhinoTeam Fix core-js: Improve LengthOfArrayLike to operate on XMLObject. RhinoTeam Add core-js: BigInt support. RhinoTeam Add Anchor.protocol, Anchor.hostname fixes for various border cases. rbri Add URL properties hash, host, hostname, href, password, pathname, port, protocol, search, username and function toJSON added. Thanks to cdalexndr. rbri Fix core-js: Support numeric separator '_'. rbri Fix URL.toString() now returns the same value as implicit converting. rbri Fix URLSearchParams.toString() now returns the same value as implicit converting. rbri Update Upgrade Jetty to 9.4.40.v20210413. rbri Fix Selection.toString() now returns the same value as implicit converting. Fixes 319. rbri Fix core-js: Improved JSON.stringify() implementation. RhinoTeam Fix core-js: NPE fixed for code like for ({};;); RhinoTeam Fix core-js: Improved shorthand assignment support RhinoTeam Add MediaDevices.getUserMedia() added - but other than in real browsers this always throws an error because MediaStream's are not supported at the moment. rbri Add Navigator.mediaDevices property added. rbri Add Support for https proxies - the Webclient constructors are supporting a proxyScheme now. Fixes 340. rbri Fix Synchronize access to the WebSocketClient from the JettyWebSocketAdapter to avoid NPE. Fixes 310. rbri*** Release 2.49.1 – April 11, 2021 *** Type Changes By Fix Clicking an anchor was always calling the attachment handler (if set). This was a regression from anchor download attribute support. rbri *** Release 2.49.0 – April 11, 2021 *** Type Changes By Fix Fix :required and :optional pseudo classes to work with all html elements supporting the 'required' attribute. rbri Fix HtmlDetails.asNormalizedText() and HtmlDetails.asVisibleText() fixed. rbri Add Support for the CSS3 ':invalid' pseudo class added. Thanks to Uberto Barbini. rbri Add HTMLDetailsElement supports setting the open property. Fixes 334. rbri Add Method HtmlFileInput.setDirectory(File) added to support input elements with type file and webkitdirectory attribute. Fixes 248. rbri Fix Cookies generated from client code now sent to subdomains also. Fixes 333. rbri Update Anchors having the download attribute set are now passing the response into the AttachmentHandler if there is one defined. rbri Fix core-js: Make variable which has been defined null available in script. RhinoTeam Fix core-js: Speed of bitwiseNOT improved. RhinoTeam Fix core-js: Copying nodes in an XML tree no longer removes the source node. RhinoTeam Fix core-js: Object.assign fixed. RhinoTeam Update Documentation for the animation frame support added. rbri Update Upgrade Jetty to 9.4.39.v20210325. rbri Fix Execution of deferred scripts might fail if one script removes another. rbri *** Release 2.48.0 – March 20, 2021 *** Type Changes By Fix HtmlNumberInput checkValidity() fixes. rbri Update Upgrade Apache log4j-api to 2.14.1. rbri Add CI build for pull requests is available at https://jenkins.wetator.org/job/htmlunit/view/change-requests/. rbri Update Upgrade Apache commons-lang3 to 3.12.0. rbri Update Upgrade Jetty to 9.4.38.v20210224. rbri Fix core-js: Array length limit check fixed. RhinoTeam Add core-js: Exponentiation operator support added. RhinoTeam Add FAQ updates. rbri Add Documentation for image file format support added. rbri Update A bunch of improvements for the CanvasRenderingContext2D.drawImage() implementations. rbri Fix Improved handling of floats in CSSStyleDeclaration during value conversion. Fixes 302. Dennis Duysak Fix core-js: Addition with string literal is now closer to the ECMAScript spec. RhinoTeam Update Upgrade Apache commons-net to 3.8.0. rbri Add DomNode#asNormalizedText() added to provide a more meaningful and stable normalization. DomNode#asText() is now deprecated. rbri Update HtmlSerializerVisibleText moved into separate package 'com.gargoylesoftware.htmlunit.html.serializer'. rbri Add Image comparison integrated into our test environment based on https://github.com/romankh3/image-comparison. We are able now to run the CanvasRenderingcontext2D test now as part of our CI build (and found already some issues) rbri Fix Fix the font size used by the AwtRenderingBackend implementation. rbri Fix Fix the AwtRenderingBackend implementation of clearRect to make it transparent instead of white. rbri Add Two convenience methods added: WebClient.loadHtmlCodeIntoCurrentWindow(String) and WebClient.loadXHtmlCodeIntoCurrentWindow(String). Fixes 271. rbri Fix Handle the anchor download property like Shift/Ctrl click - open a new window containing the downloaded content as UnknownPage. Fixes 309. rbri Fix HTMLInputElement.src is now setable also. Fixes 309. rbri Fix HTMLInputElement.src now returns the value in the context of the page. rbri *** Release 2.47.1 – February 7, 2021 *** Type Changes By Fix neko: Fix a regression from the improved table parsing done in 2.44.0. rbri *** Release 2.47.0 – February 7, 2021 *** Type Changes By Fix Defer attribute of scripts was ignored. RBRi Fix Window.scroll()/scrollTo()/scrollBy() now triggers a scroll event. Fixes 282. RBRi Fix core-js: Reject old octal's in property names. RhinoTeam Fix Location.reload() reloads to the wrong address when invoked across frames. Thanks to Atsushi Nakagawa. RBRi Fix Return a rejected Promise rather than throw errors for all the methods in SubtleCrypto. Thanks to Atsushi Nakagawa. RBRi Fix InputEvent constructor fixed. rbri Fix core-js: Make property __proto__ writable for functions also. Thanks to Atsushi Nakagawa. RBRi Fix core-js: Make property only having a getter readonly. RhinoTeam Fix core-js: Make message handling variadic. RhinoTeam Fix KeyboardEvent constructor fixed. Fixes 293. Thanks to Joerg Werner. rbri Fix Fixes for (re) attaching iframes. Fixes 285. rbri Fix Fix handling of removal of the src attribute from frames. rbri Fix Referer header url is without ref part. rbri Fix Improved content sniffing for html pages. rbri Fix The invocation order of events added to XMLHttpRequest, through both addEventListener() and on-handlers is fixed, to be more consistent with major browser such as Chrome / FF / IE, as well as other events already implemented in HtmlUnit that use EventTarget's framework. Thanks to Atsushi Nakagawa. rbri Fix Properties oncopy, oncut, onpaste, classList and hasAttribute, onselectionchange, ontransitioncancel,ontransitionend,ontransitionrun and ontransitionstart fixed for many elements. rbri Fix Various fixes for body element properties. rbri Fix Setting onload attribute on body forwards to window. rbri Remove Deprecated method HtmlLabel.getReferencedElement() removed. rbri *** Release 2.46.0 – January 2, 2021 *** Type Changes By Fix core-js: Fix bug with node position in labeled loops. RhinoTeam Fix core-js: JSON.stringify with no arguments should return undefined. RhinoTeam Fix core-js: JSON.stringify with more than 3 arguments should respect the first 3 arguments. RhinoTeam Fix Fix detection of supported javascript types. rbri Add OWASP dependency-check added to the build process. rbri Fix Document.cookies setter called with with blank does not reset the cookies in CHROME/EDGE. rbri Fix core-js: Fix handling of MemberBox functions in getOwnPropertyDescriptor. rbri Fix core-js: Fix Error.captureStackTrace(myError). rbri Fix core-js: Fix __lookupGetter__/__lookupSetter__ implementation. rbri Add Support individual timeout settings for XMLHttpRequest. rbri Update Processing of href changes is synchronous if only the hash was changed. rbri Update Improved performance due to avoiding Script conversion into String only for naming the action. Markus Heiden Fix core-js: Fix comment parsing in try and catch statements. RhinoTeam Fix core-js: Make type checking and casting a bit more generic to provide better error messages. rbri Fix Various fixes for handling of xml nodes by css selectors. rbri Fix Element.getElementsByTagName is case sensitive for xml nodes. rbri Fix CSS tag name selector is case sensitive for xml nodes. rbri Fix CSS selector for hyphen separated attribute values '|=' now works as specified. rbri Fix core-js: Fix parameter handling for Object.assign. rbri Fix core-js: Fix the (confusing) exception msg if Object.prototype.setPrototypeOf is called with less than two parameters. rbri Fix core-js: Fix JSON.stringify on a RegExp object; RegExp object is no longer callable. RhinoTeam Fix core-js: Math.max/min - each element coerced. RhinoTeam Add Support setting the USER_AGENT header per WebRequset. Thanks to Dargonfly. rbri Add Constructor improved for StorageEvent, TimeEvent, TouchEvent, TrackEvent, TransitionEvent and WheelEvent. rbri *** Release 2.45.0 – November 12, 2020 *** Type Changes By Update INCOMPATIBLE CHANGE: Method signature for AbstractJavaScriptEngine.initialize(WebWindow, Page) changed, the method requires now the page as second parameter. rbri Add Property composed added to Event. rbri Fix Properties linkColor, aLinkColor, vLinkColor, bgColor, and fgColor moved from HtmlDocument to Document. rbri Fix CssParser: Generate correct type for rem dimensions. rbri Add CssParser: Support for the dimensions 'ch', 'vw', 'vh', 'vmin' and 'vmax' added. rbri Update CssParser: Back to JavaCC 7.0.4. rbri Update DeviceMotionEvent is available in IE also. rbri Update Upgrade Jetty to 9.4.34.v20201102. rbri Add Thenable prototypes support added. Thanks to Rural Hunter. rbri Add MouseEvent.buttons property added. rbri Update UIEvent handling of view property improved. rbri Fix Event, UIEvent and MouseEvent construction via new now handles the details dictionary more correct. rbri Fix MouseEvent properties clientX. clientY and button are readonly. rbri Add AudioBufferSourceNode.start(), AudioNode.connect(). rbri Add AudioContext.createBufferSource() moved up to BaseAudioContext. rbri Add BaseAudioContext.createBuffer() added. rbri Add GainNode gain property added. rbri Add AudioParam value, defaultValue, maxValue and minValued added. rbri Fix Promise.then() now supports also Thenables. Fixes 260. rbri Fix Validation pattern has to be ignored for empty values. Fixes 261. rbri Add New configuration option AcceptLanguageHeader for the BrowserVersion. rbri Fix Document.open() does not change the location of about:blank pages in FF. rbri Fix Function clear() moved from HtmlDocument to Document. rbri Fix Property all moved from HtmlDocument to Document. rbri Fix Functions captureEvents() and releaseEvents() moved from HtmlDocument to Document for Chrome/Edge/FF/FF78. rbri Fix Properties body, designMode, domain, forms, embeds, links, images, plugins, scripts, anchors and applets moved from HtmlDocument to Document for FF/FF78. rbri Fix Functions execCommand(), queryCommandEnabled() and queryCommandSupported() moved from HtmlDocument to Document for FF/FF78. rbri Fix Property parentWindow moved from HtmlDocument to Document for IE. rbri Fix Property onreadystatechange and readyState removed from HtmlScript for IE. rbri Update Upgrade Apache commons-net to 3.7.2. rbri Fix Property onshow is not available in Chrome/Edge. rbri Fix Make sure the js initialization of the new page is finished before the page is visible as enclosed page to the outside. Fixes #68. rbri Add PointerEvent supports altitudeAngle and azimuthAngle property for Chrome/Edge. rbri Update Upgrade Apache HttpComponents to 4.5.13. rbri Fix Method getPage(WebWindow, WebRequest, boolean) has to handle NoHttpResponseException because this internal call is used by the WebDriver (regression from 2.44.0). rbri Update Upgrade Apache log4j-api to 2.14.0. rbri *** Release 2.44.0 – October 3, 2020 *** Type Changes By Update Upgrade Apache commons-net to 3.7.1. rbri Update Upgrade Jetty to 9.4.32.v20200930. rbri Fix Fix Rhino setup to avoid placing lazy load references to 'XML', 'XMLList', 'Namespace', and 'QName' in the window scope. rbri Fix Improved page cleanup when closing the WebClient; there was a leak if the enclosed page has an onbeforeunload handler in place that avoids page unloading). rbri Fix Fix some possible NPE when calling toString from js for Range or Location objects. rbri Update The console.log() output of Promise objects is now similar to Chrome. Thanks to Rural Hunter. rbri Fix core-js: Add missing attribute escaping for String.prototype.big and similar calls. rbri Fix core-js: Make sure the this object is coercible for String.prototype.big and similar calls. rbri Fix core-js: Object() constructor fix for non extensible functions. rbri Fix core-js: TypedArray.prototype.subarray() should not throw an exception if called without parameters. rbri Update CssParser: JavaCC 7.0.9. rbri Update CssParser: JDK 1.8 is now required. rbri Update CssParser: var() support added. Thanks to Christian Morgner. rbri Update CssParser: calc() support added. Thanks to Christian Morgner. rbri Fix Take care of the body if a post request is redirected based on a 307/308 response. Thanks to Anton Demydenko. rbri Fix Setup of the js engine for the DedicatedWorkerGlobalScope improved/fixes. Some strange js errors for scripts running inside the workers are now hopefully gone. Fixes #233. rbri Fix Scripts nodes are not moved out of tables. rbri Fix neko: Fixes for tables inside tables and forms inside tables. rbri Add Added validation based on minlength/maxlength for input types password, search, tel, text, url. Thanks to Anton Demydenko. rbri Add Added validation based on min/max for input types date, datetime-local, month, number, range, time, week. Thanks to Anton Demydenko. rbri Add Added validation based on pattern for input types date, email, password, search, tel, text, url. Thanks to Anton Demydenko. rbri Add Event processing for XMLHttpRequest is rewritten. Events defined using addEventListener are now supported and the triggered events are more correct. Thanks to Thorsten Wendelmuth. rbri Fix Fix NPE during checkbox/radiobutton event handlers without JS engine. Fixes #227. rbri Fix Parameter encoding for string representation of URLSearchParams fixed. rbri Fix core-js: Make __proto__ more closely match the spec. rhino Fix core-js: NativeArrayBuffer slice() length is 2. rbri Fix Possible NPE in HtmlPage.setFocusedEvent() fixed. Fixes #217. rbri Fix DOMParser.parseFromString no longer tries to execute script tags contained in the given input. Fixes #216. rbri Add Support for placeholder-shown / -ms-input-placeholder added. Fixes #212. Thanks to Thorsten Wendelmuth. rbri Update Bunch of updates to be back in sync with the IE11 DateTimeFormat handling. rbri Update Improved height calculation; for elements having a fixed width we will do word wrapping to generate a better height values. Fixes #124. rbri Update Upgrade salvation lib to salvation2 3.0.0. rbri Add Support to send blobs via XMLHttpRequest.send() added. Fixes #209. Thanks to Thorsten Wendelmuth. rbri Add FileReader.readAsDataURL() now works for Blob's also. rbri Add Blob.slice() supported. rbri Add Initial support for new Blob(bits[, options]);. rbri Add FormData.entries() support added. Fixes #205. Thanks to Thorsten Wendelmuth. rbri Fix neko: Setting innerHtml produces sometimes a stack overflow. rbri *** Release 2.43.0 – August 8, 2020 *** Type Changes By Add Initial support for new File(bits, name[, options]);. Thanks to Thorsten Wendelmuth. rbri Fix File.lastModifiedDate is no longer available in FF. rbri Add Using a node list directly inside a for..of operation is now supported like 'for (var entry of nodeList) {...}'. rbri Update URLSearchParams migrated to Rhino iterators also. Our own iterator implementation is now history. Fixes #200. rbri Update Major rework for our NodeList implementation. The methods entries(), keys(), and values() returning a better iterator implementation (now uses ES6Iterator from Rhino). Outside of some minor fixes this implements for..of support. rbri Update Minor changes of AbstractJavaScriptConfiguration better encapsulate the used maps; internal maps are now concurrent maps and no longer encapsulated as unmodifiable to make access faster. rbri Update ClassConfiguration is changed a bit, the fields propertyMap_, functionMap_, staticPropertyMap_, staticFunctionMap_ and constants_ are now lazy initialized to save some memory. rbri Update Simulated screen resolution is now 1920x1080. rbri Fix Fix prototype of parentElement property for IE. Fixes #199. rbri Fix core-js: Throw if the lastIndex prop of an regex is readonly. rbri Fix core-js: Support RegEx[Symbol.match]() and RegEx[Symbol.search](). rbri Fix core-js: Object.setPrototypeOf() arg[0] has to be coercible. rbri Fix core-js: Reduce auto boxing, make some more methods static and general code cleanup. rbri Fix core-js: String.prototype[Symbol.iterator].call(undefined) has to throw because undefined is not coercible. rbri Fix core-js: Fix String.indexOf and String.includes when searching for an empty string. rbri Fix DOMParser.parseFromString now supports the creation of HTMLDocuments also. Fixes #193. rbri Fix HtmlLink no longer stores the web response. Fixes #195. rbri Fix Improved encoding and BOM handling when loading a stylesheet. Fixes #192. rbri Remove FF60 support removed. rbri *** Release 2.42.0 – July 11, 2020 *** Type Changes By Fix core-js: Fix wrong start object for getter in Object.assign(). rbri Fix core-js: No longer inherit strict mode when parsing a function body. rbri Fix Fix NPE in XMLSerializer.serializeToString(). Fixes #191. rbri Fix Make sure XMLSerializer.serializeToString() serializes all elements of a given document fragment. rbri Fix Respect button 'formnovalidate' attribute. Fixes #189. rbri Fix core-js: Did a dirty hack in the code to disable parts of Rhino's const handling. Hopefully a futher Rhino version will make some progress here and we get real up to date const support. rbri Update core-js: Improved regex range handling. rbri Add core-js: String.trimStart String.strimEnd added. rbri Add core-js: String.fromCodePoint() added. rbri Update core-js: Bunch of fixes for JDK 11. rbri Update core-js: Regular expressions are not functions in the context of string replace. rbri Update core-js: Class 'BodyCodegen' moved into a file. rbri Update core-js: TypedArray constructors are only callable via new. rbri Update core-js: Improved handling of negative ArrayBuffer size. rbri Update core-js: code cleanup; use the RangeError construction helper, avoid autoboxing and new Double() calls. rbri Fix Fix ClassCastException in Document.firstElementChild and Document.lastElementChild for documents with doctype. Fixes 182. rbri Fix Document.readyState should be interactive in DOMContentLoaded event handler. Fixes 180. Thanks to Rural Hunter. rbri Fix The method Crypto.getRandomValues misses a ArrayBufferView byte length check. rbri Fix The method Crypto.getRandomValues has to return the modified array. Fixes 183. rbri Update Upgrade Jetty to 9.4.30.v20200611. rbri Update core-js: Support for ES6 generators was added to Rhino. rbri *** Release 2.41.0 – June 6, 2020 *** Type Changes By Fix core-js: It should be not possible to change the prototype of a non-extensible object. rbri Fix core-js: Fix handling of undefined parameter value in String.normalize(). rbri Fix core-js: Improved regexp parser. rbri Fix core-js: Function.__proto__ property ignores write access. rbri Fix core-js: Fix Object.getOwnPropertyDescriptor for index properties on native strings. rbri Fix Invoking getImageData with coordinates outside the drawing area no longer produces exceptions. Fixes 178. rbri Add Support for setTimeout and setInterval added to DedicatedWorkerGlobalScope. Fixes 177. Thanks to Rural Hunter. rbri Update Maven Fluido Skin used for the web page updated to version 1.9. rbri Fix core-js: Fix for a side effect between different regular expressions. rbri Fix core-js: Many fixes for array calls using this pattern Array.prototype.foo.call(null, ....);. rbri Fix core-js: Do not save/share an instance of NativeArrayBuffer in a static variable because this creates side effects. rbri Fix core-js: An error should be thrown when defining a property for a read-only variable in strict mode. rbri Fix core-js: The values of present properties of a sealed object can be changed as long as they are writable. Fixes 174. rbri Fix core-js: Symbol.length should be 0. rbri Fix core-js: Calling String.substr with undefined as length fixed. rbri Fix core-js: Using a regex like a function should throw a TypeError. rbri Fix core-js: Calling String.split with zero as limit fixed. rbri Update Upgrade Apache commons-io to 2.7. rbri Update Upgrade Jetty to 9.4.29.v20200521. rbri Fix WebResponse.getContentAsString() fails for compressed responses because of the BOM header detection. Fixes 175. rbri Fix Possible ArrayIndexOutOfBoundsException fixed. Fixes 173. rbri Fix HTMLTemplateElement.outerHTML() fixed. rbri Fix Properly print HtmlTemplate's children via asXml. Thanks to Ronny Shapiro. rbri Fix Document getElementById(..) now returns null for elements inside a template tag. Thanks to Ronny Shapiro. rbri Fix Fix NPE getting event handlers without JS engine. Thanks to Ronny Shapiro. rbri *** Release 2.40.0 – May 2, 2020 *** Type Changes By Add New WebClientConfiguration option ConnectionTimeToLive added. Fixes 161. rbri Fix Fix for removing event listener from body. rbri Fix Improve focus and blur handling. fdanek Fix HtmlLabel.getReferencedElement() is now deprecated. Use HtmlLabel.getLabeledElement() instead. fdanek Fix Label form property has to work based in it's own form in IE11. fdanek Fix Label control property has to look for a nested labelable control as fallback if no for attribute is given. Additionally it is not available in IE11. fdanek Fix Better handling of recursive iframes content. Fixes 156. rbri Fix Fix exception when handling invalid body element with no JS engine. Thanks to Ronny Shapiro. rbri Fix Fix frameset exception with no JS engine. Thanks to Ronny Shapiro. rbri Fix Label form property has to work based on the element labeled by the label. rbri Fix Fix possible ConcurrentModificationException when cloning an HtmlPage / HtmlElement. Thanks to Ronny Shapiro. rbri Add Respect Content-Security-Policy: frame-ancestors when loading frame content. rbri Add Respect X-Frame-Options: DENY when loading frame content. rbri Fix Fix SvgScript NPE when script engine not available. Fixes #155. Thanks to Ronny Shapiro. rbri Update Upgrade Jetty to 9.4.28.v20200408. rbri Fix Fix NPE in image onload handler processing. rbri Add HTMLFormElement.requestSubmit() for FF and CHROME added. rbri Add New method AttachmentHandler.handleAttachment(WebResponse) added. By implementing your own AttachmentHandler you now can process the attachment response by your code without opening a new WebClinet window. rbri *** Release 2.39.0 – April 5, 2020 *** Type Changes By Fix Neko: fix encoding of blanks in file uri's. rbri Fix DedicatedWorkerGlobalScope now extends EventTarget. Fixes #150. rbri Update Upgrade Apache commons-lang3 to 3.10. rbri Add Functions atob() and btoa() added to the worker scope. rbri Add FrameContentHandler added to support stop loading of frame content. rbri Fix Make the shutdown processing of the JavaScriptEngine more robust to avoid exceptions when accessing the engine while the shutdown was already triggered. Fixes #136. rbri Add CanvasRenderingContext2D transformation handling fixed. rbri Add AwtRenderingBackend log improved, every backend is now identified by an unique number. rbri Add Detailed debug log added to the AwtRenderingBackend. rbri Fix Text positioning in CanvasRenderingContext2D.fillText() fixed. rbri Fix CanvasRenderingContext2D.save() does not set the saved values to defaults. rbri Fix CanvasRenderingContext2D.save() / restore() takes care of the clip region. rbri Remove Enum com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName removed. rbri Add FIREFOX (latest) support added. Like we already do for CHROME we will support the recent version of Firefox in addition to at least one ESR version. rbri Fix HtmlLabel.getReferencedElement() now also supports HtmlButton, HtmlMeter, HtmlOutput, HtmlProgress, HtmlSelect and HtmlTextArea in nested variant and ignores not labelable elements in both variants. fdanek Fix WorkerGlobalScope.importScripts() now checks the content type of the script to import. Fixes #140. rbri Add First simple implementation for the anchor download and shape property added. rbri Update BrowserVersion FIREFOX_60 is now deprecated. rbri Remove Deprecated constructor WebRequest.WebRequest(URL, String) removed. rbri *** Release 2.38.0 – March 8, 2020 *** Type Changes By Update Upgrade Apache HttpComponents to 4.5.12. rbri Fix Improved color parsing to support hsl colors also for CanvasRenderingContext2D strokeStyle and fillStyle property. Fixes #140. rbri Fix Make the type() processing more robust if the value of the control was changed directly without updating the selection. Fixes #142. rbri Fix Major parts of CanvasRenderingContext2D.clip implemented. Fixes #140. rbri Fix Use the correct color table for CanvasRenderingContext2D.fillStyle and CanvasRenderingContext2D.strokeStyle. Fixes #140. rbri Fix Fix StringIndexOutOfBoundsException when calculation text for dom nodes. Fixes #134. rbri Fix Support linking of submittable elements to a form via the form attribute. Fixes #132. rbri Fix Methods firstElementChild() and lastElementChild() are no longer failing because of a ClassCastException when calling for an xml document. rbri Add CanvasRenderingContext2D.putImageData() implemented. Fixes #140. rbri Add ImageData constructor implemented. rbri Add CanvasRenderingContext2D.createImageData(ImageData) implemented. Fixes #140. rbri Add CanvasRenderingContext2D.createImageData(width, height) implemented. Fixes #140. rbri Fix CanvasRenderingContext2D.getImageData() takes a snapshot of the current context. rbri Add Support for link property 'relList' implemented. rbri Add Support for area property 'relList' implemented. rbri Add Support for area property 'rel' added. rbri Add Support for anchor property 'relList' implemented. rbri Add Support for anchor property 'username' and 'password' added. rbri Fix HtmlNumberInput accepts decimals. Fixes #123. rbri Add New switch WebClientOptions.isWebSocketEnabled() added. This removes the WebSocket slot from the Window object. If you disable WebSocket support for your client, the jetty libraries are no longer requires. Fixes #122. rbri Fix AttachmentHandler.isAttachment(WebResponse) has to check case insensitive. rbri Fix Neko: Make sure rewind is working in all cases. Fixes neko #5. rbri *** Release 2.37.0 – January 28, 2020 *** Type Changes By Fix Security: prevent Rhinos access to Java resources; e.g. call java methods. rbri Update Upgrade Apache HttpComponents to 4.5.11. rbri Fix XSLTProcessor now respects the xsl:output indent='yes' setting when simulating chrome. Fixes #118. rbri Update Upgrade Jetty to 9.4.26.v20200117. rbri Add DocumentFragment.getElementById() added. rbri Fix DocumentFragment methods childElementCount(), firstElementChild(), and lastElementChild() are no longer failing because of a ClassCastException. rbri Update Resync core-js with rhino trunk (2019-11-25). This includes some improvements to iterable processing. rbri Fix The entity processing was broken if an '&' was in front of a tag like &X. Fixes #79. rbri Fix Promise.all() and Promise.race() are now able to work with iterables instead of only supporting arrays. Fixes #114. rbri Update Upgrade Jetty to 9.4.25.v20191220. rbri Update Try to make stopping of the WebSockets more robust. rbri Add Some documentation added for file upload. Fixes #112. rbri Update Upgrade Apache log4j-api to 2.13.0. rbri Add CanvasRenderingContext2D.globalAlpha implemented. rbri Fix Angle handling for CanvasRenderingContext2D ellipse and arc fixed. rbri Fix No longer use annotations for the implementation of isReadOnlySettable to make the code simpler and faster. Fixes #107. rbri Add CanvasRenderingContext2D.ellipse(..) implemented. Fixes #92. rbri Update DOMRectList is visible. rbri Update Resync core-js with rhino trunk (2019-11-25). This fixes a bug regarding isExtensible handling. rbri Fix Browser specific vAling handling fixed. rbri Fix Do not create js peers during html parsing if js is disabled. rbri Update Some neko updates and some caching to use less objects and memory during html parsing. rbri Add Firefox 68 ESR simulation now available. rbri Fix More robust color parsing. Fixes #98. rbri Add CanvasRenderingContext2D.closePath() implemented. Fixes #92. rbri Update Upgrade Jetty to 9.4.24.v20191120. rbri Add MockWebConnection.getRequestedUrls() added. Fixes #91. rbri Fix Respect form 'novalidate' attribute. Fixes #75. rbri Update Resync core-js with rhino trunk (2019-10-19). rbri Fix Img elements in forms are accessible directly using the name also when nested. rbri Fix WebClient#openWindow no longer throws a ClassCastException when called from a non html page. Fixes #84. rbri Fix Wrong encoding used in window.atob(). Fixes #80. Thanks to Rural Hunter. rbri Fix File input with required attribute now validates correctly. Fixes #76. rbri Update Upgrade Apache HttpComponents to 4.5.10. rbri *** Release 2.36.0 – August 24, 2019 *** Type Changes By Update INCOMPATIBLE CHANGE: WebConnection.close() and WebConnectionWrapper.close() are throwing an IOException instead of an Exception now. Thanks to Le Stephane. rbri Update Method isAttachment(WebResponse) moved from Attachment to the AttachmentHandler interface as default method. Based on this you can now overwrite the isAttachment(WebResponse) implementation with your own. rbri Update FIREFOX_52 is deprecated. rbri Fix Correct handling of media properties without values. rbri Add Console.assert(..) added. Fixes #66. rbri Fix Do not start the (Default)JavascriptExecutor if javascript is disabled for the client. Fixes #65. rbri Add New method com.gargoylesoftware.htmlunit.Cache.clearOutdated() to remove outdated entries. rbri Fix Make responses cachable in case the Cache-Control header with max-age or s-maxage overrules the Expires header. Fixes #62. rbri Remove Javascript Proxy stub removed. The class is only a stub an might confuse feature detections code that only checks for existence. Fixes #61. rbri Add Brotli support added. rbri Update Class XPathUtils renamed to XPathHelper. rbri Update Class XmlUtil renamed to XmlUtils and moved to com.gargoylesoftware.htmlunit.util. rbri Update Class TextUtil renamed to TextUtils and moved to com.gargoylesoftware.htmlunit.util. rbri Add ArchUnit added. rbri Fix Log no longer a warning for not supported link types. Instead log more detailed debug messages for this case. Fixes #53. rbri Fix Fix NPE for some unsupported css hacks. rbri Add Add a save() method in TextPage, which knows to save in the same charset as was received in the response. Thanks to Le Stephane. rbri Update Upgrade Apache commons-text to 1.7. rbri Fix HtmlPage.save(File) no longer fails if some linked resources are not available. Fixes #57. rbri Fix Link to sourceforge mailing lists fixed. Fixes #54. rbri Fix MessageEvent.initMessageEvent() port parameter checking fixed. rbri Fix Improved offsetTop calculation. Fixes #48. rbri Fix Trigger the correct event listener if a script tag points to an url that returns 204 (no content). rbri Fix WebSocket onOpen event handler is called with the event as parameter. Fixes #43. Thanks to James Kleeh. rbri Fix WebSocket events are initialized with correct srcElement and origin. rbri Update Cleanup our logging setup; slf4j dependencies removed, log4j2 is now used for all the tests of log output. rbri Fix Fix the referrer and origin header when the request was created from window.location.reload(). Fixes 2015. rbri Add AudioContext.createBufferSource and a simple AudioContext.decodeAudioData added. rbri Fix Revert a minor change to ensure backward compatibility with older jetty versions. Fixes #36. rbri Fix neko: Handle the (invalid) comment close tag '--!>' like the valid one regarding to the spec (https://html.spec.whatwg.org/multipage/parsing.html#comment-end-bang-state). Fixes #38. rbri Fix XMLHttpRequestEventTarget has no ctor. rbri Update Properties onError and onLoad moved from XMLHttpRequest up to XMLHttpRequestEventTarget. rbri Fix Clicking a label with a valid for attribute does not forward the click to the target if the target is disabled. rbri Update Code cleanup and some resource handling fixes for HttpWebConnection. rbri *** Release 2.35.0 – April 15, 2019 *** Type Changes By Update Upgrade Apache commons-lang3 to 3.9. rbri Update Upgrade Apache HttpClient to 4.5.8. rbri Update StackOverflowError during javascript processing are now handled like other javascript errors. Only the JavaScriptErrorListener gets informed. Fixes #24. rbri Update Make the processing of request headers more correct and document the general idea. Fixes #27. Thanks to Joerg Werner. rbri Update Log a warning, if click() is a no-op because the target element is disabled or not displayed. Fixes #28. rbri Fix Fix an error in the url circle detection when loading frame content. Fixes #22. rbri Fix Avoid scientific notation when converting float back to strings (CSSParser) rbri Update Logging documentation updated. rbri Update INCOMPATIBLE CHANGE: JavaScriptErrorListener interface defines one new method warn(String, String, int, String, int). Please add an implementation to your own implementations of this interface. rbri Update INCOMPATIBLE CHANGE: DefaultJavaScriptErrorListener now logs all messages. rbri Add Class SilentJavaScriptErrorListener added. rbri Fix JavaScriptErrorListener is no longer saved from the HtmlUnitContextFactory to be sure to use always the currently configured one. rbri Remove Class com.gargoylesoftware.htmlunit.javascript.StrictErrorHandler removed. rbri Remove Class com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter removed. rbri Fix core-js: some array length border cases fixed rbri Fix core-js: array length null/undefined fixed rbri Add core-js: array includes added rbri Add core-js: array padStart and padEnd added rbri Fix Image handler are processed (again) if an image is imported into a new document. rbri Fix Page of the imported node fixed when importing. rbri Fix There is no need for a window if constructing a new event handler. Fixes 2008. rbri Fix Fix NPE when getting the baseUrl from a page created using DOMImplementation.createHTMLDocument(). rbri Fix Invalid urls with the about protocol (e.g. about:htmlunit) are now throwing a MalformedURLException to be handled like any other IOException. rbri Fix HtmlRangeInput improvements. Fixes 19. rbri Fix Input element with type date now stores the value typed in. Fixes 1923. rbri *** Release 2.34.1 – March 4, 2019 *** Type Changes By Fix Fix insert position for elements with contenteditable='true'. rbri Fix Send 'image/png' as mime type when uploading a png file. Fixes 18. rbri *** Release 2.34.0 – Feb 28, 2019 *** Type Changes By Fix CSS declarations in CDATA sections are not processed for XHtml and Xml pages. rbri Fix Script code in CDATA sections are not processed for XHtml and Xml pages. Fixes 2012. rbri Fix Neko-HtmlUnit parser: entity reference handling rewritten according to the spec. All specified character references are now supported and a bunch of fixes where also made for numeric references. Fixes 2011. rbri Fix ClassList.toggle/add/remove should take care of the HtmlAttributeChangeListener. Fixes 17. rbri Fix Audio node created from js now supports nodeType and nodeName property. Fixes 2010. rbri Update Upgrade Apache HttpClient to 4.5.7. rbri Update Avoid the try to add a response to cache if the response is already from cache or an redirect. rbri Fix Fix caching for redirected calls. Fixes 14. rbri Fix Some fixes for broken attribute processing done in neko-htmlunit. Fixes 258. rbri Update JavaScriptExecutor is no longer serializable. rbri Add FileReader.readAsText() added. Fixes 2007. rbri Update Major cleanup of the htmlunit-cssparser; all the references to the w3c classes are removed. This avoid a lot of instanceof/cast processing and will make it simpler to enhance the parser in the future. rbri Add New method Window.animateAnimationsFrames(). Use this to force one animation cycle. rbri Add Huge improvement for CanvasRenderingContext2D; we have working path handling and transformations now. rbri Update Another Rhino update; Array.fill, Array.keys, Array.entries, and Array.values is now supported. rbri Fix HtmlPage.save(File) and XmlSerializer.save(SgmlPage, File) are using the correct file encoding. rbri Fix No longer fail if the generated bytecode for method exceeds 64K limit; we (Rhino) will fall back to the interpreter mode. Fixes #1989. rbri Update We are using the Map/Set/WeakMap/WeakMap implementation from Rhino now, our own impl is gone. rbri Fix Improved support for insecure socket connections; InsecureTrustManager now extends X509ExtendedTrustManager instead of implementing only X509TrustManager. rbri Fix Fix Promise.resolve() called with an object having no 'then' slot. rbri Fix Fix handling of invalid values in media queries. rbri Fix Browsers are supporting GMT time format for cookie expires parsing. Fixes 1998. Thanks to Rural Hunter. rbri Fix Fix calculation of absolute url from relative one if dots present. Fixes 1995. Thanks to Joerg Werner. rbri Fix Setting the innerHtml has to clear the computed styles to force recalculation based on the new content. Fixes 1993. rbri Fix Map and Set forEach() are using undefined as this context in strict mode. rbri Add Stub impl of DateTimeFormat.resolvedOptions() added. rbri Fix Correct handling of content type 'no-gzip' and 'gzip-only-text/html'. rbri Update Reworked JS event listeners implementation; many incompatibilities with all supported browsers are fixed. Fixes 1984. Thanks to Atsushi Nakagawa. rbri Update Maven Fluido Skin used for the web page updated to version 1.7 rbri *** Release 2.33 – Sep 12, 2018 *** Type Changes By Update Source repository is on GitHub now. rbri Fix Input tel/search/number now fires the oninput event. Fixes 256. rbri Update Reworked JS event listeners implementation; many incompatibilities with all supported browsers are fixed. Fixes 1984. Thanks to Atsushi Nakagawa. rbri Update Maven Fluido Skin used for the web page updated to version 1.7 rbri Update Improved calculation of the left offset. Fixes 1986. rbri Update We are using the typed array implementation from Rhino now, our own impl is gone. rbri Update Method Date.toUTCString() is available in Rhino; remove our own impl. rbri Fix Fix the order of the windows returned by WebClient.getTopLevelWindows() to be again the same as WebClient.getWebWindows(). Fixes 1979. Thanks to Atsushi Nakagawa. rbri Fix Improved support for javascript named function expressions (core-js). Fixes 1980. Thanks to Atsushi Nakagawa. rbri Fix DomNodeIterator no longer traverses uncles of root node. Fixes 1982. Thanks to Steve Harney. rbri Fix Add missing default delegating methods getContentLength(), cleanUp(), and defaultCharsetUtf8() to WebResponseWrapper. Fixes 1978. Thanks to Atsushi Nakagawa. rbri Update Major cleanup for neko and switch to xerces 2.12.0 rbri *** Release 2.32 – July 29, 2018 *** Type Changes By Fix Event listeners had to be functions, other types are ignored. Fixes 1976. rbri Fix Setting window.clientInformation is ignored in IE. rbri Fix HTMLxxxInput.reset() results in a wrong state of the selection delegate. Fixes 1969. rbri Add FF60 ESR support. rbri Remove FF45 support removed. rbri Fix Many fixes for document.createEvent('xxx') to support the various UI events. rbri Fix Correct handling of additional parameters provided in functions setTimeout/setInterval. Fixes 1966. Thanks to Atsushi Nakagawa. rbri Fix NPE in HtmlTextArea.removeFocus(). Fixes 1964. rbri Fix WebClient default request header should not overwrite request-specific ones. Fixes 1970. rbri Fix Various fixes for the selector specificity calculation (CssParser). Fixes 1962. rbri *** Release 2.31 – May 22, 2018 *** Type Changes By Update core-js is now in sync with the latest Rhino codebase. rbri Update Use Rhino/core-js now es2 mode (instead of using rhinos outdated default mode). rbri Update Use Rhino/core-js Symbol implementation instead of our own one. rbri Fix Various updates/fixes for the typed array support. rbri Fix Set constructor now supports parameters of type iterator also. rbri Add document.fonts added. rbri Update BrowserVersion: deprecate FIREFOX_45. rbri Fix Navigator.doNotTrack fixed, property is available in Chrome too, Window.doNotTrack added for is available for IE. rbri Update Special handling of the GAE environment is no longer required, the JDK8 at GAE has no longer any restrictions. rbri *** Release 2.30 – March 25, 2018 *** Type Changes By Fix Improved clone implementation to take care of references. Fixes 1959. rbri Fix Setting the Map size property is now ignored (or throws a Type error in strict mode). Fixes 1956. rbri Fix Setting the CSSStyleDeclaration length property is now ignored (or throws a Type error in strict mode). Fixes 1956. rbri Add Setters for window.innerWidth/Height and window.outerWidth/Height added. rbri Fix Redirect of head requests should be head requests also. Fixes 1957. rbri Add Use the correct content type when guessing from the '.js' file extension. Fixes 1954. rbri Major refactoring of the css handling (selector processing). Every style sheet now has a selector index to speed up style processing. rbri We have now our own cssparser (a cleaned up version of the cssparser we have used so far) to be able to change the model classes to better support our use cases. rbri getArttibute is optimized for speed in some special cases. rbri Local files are now cached using the same rules as server requests (cacheable if date-modified is more than ten minutes in the past) rbri Add Our page cache now takes care of Cache Control headers. Fixes 1952. Thanks to Anton Demydenko. rbri Fix Fix incorrect encoding of consecutive '%' characters in url's. Fixes 1951. Thanks to Hartmut Arlt. rbri Fix RegExp: fix processing of /[]/ and /[^]/. Fixes 1949. Thanks to Atsushi Nakagawa. rbri Handling of invalid processing instructions fixed in neko. rbri Fix Fix some problem to be able to run our test suite with edge. Thanks to Frank Danek. rbri Add JavaScript: WeakSet and WeakMap constructor now supports user defined iterators also. rbri Fix Doing Ctrl+Click on an anchor now opens a new window also if the href is javascript based. rbri Add JavaScript: Setter for history.scrollRestoration added. rbri Fix Fix the broken initialization of the canvas context that empties the canvas every time canvas.getContext("2d") was called. Fixes 1674. rbri Add JavaScript: Set and Map constructor now supports user defined iterators also. rbri Add JavaScript: Array.from() now supports user defined iterators also. rbri Samples on page Get Started updated. rbri Fix NPE in com.gargoylesoftware.htmlunit.html.HtmlPage.cleanUp(). Fixes 1946. rbri Add JavaScript: URLSearchParams implementation finished (entries(), keys(), values()). rbri Fix JavaScript: URLSearchParams parser fixed (handling of '=' as first char of a part). rbri Fix JavaScript: Invalid 'Origin' header was sent as part of XMLHttpRequest if the request url was absolute and the page contains a base tag. Fixes 1944. rbri Fix JavaScript: CSSStyleSheet#addRule fixed error handling. Fixes 1943. rbri Fix JavaScript: CSSStyleSheet#addRule fixed return value when simulating ie rbri Fix JavaScript: CSSStyleSheet#insertRule improved error handling rbri Fix JavaScript: CSSStyleDeclaration#cssText throws an NPE when in stylesheet mode rbri Fix JavaScript: CSSStyleDeclaration#cssText usually return a ';' after the last rule rbri *** Release 2.29 – December 28, 2017 *** Type Changes By Add JavaScript: TextEncoder/TextDecoder impl added. rbri Fix JavaScript: MutationObserver fires callbacks asynchronously. Fixes 1940. Thanks to Atsushi Nakagawa. rbri Fix JavaScript: Promise has to provide the same context setup as the rest and call processPostponedActions afterwards. Fixes 1941. rbri Fix If the coords of an image map entry are not valid ignore this entry. Fixes 1939. rbri Fix JavaScript: calling click() from js should always work even if the control is not visible. Fixes 1939. rbri Add JavaScript: Crypto.subtle added. Fixes 1936. rbri Add WebClient.setWebStartHandler() and the interface WebStartHandler added. Create your implementation of this interface to support WebStart links. rbri Add JavaScript: CanvasGradient.addColorStop() added rbri Fix JavaScript: CanvasRenderingContext2D.createRadialGradient() now returns an CanvasGradient rbri Fix JavaScript: CanvasRenderingContext2D.createLinearGradient() now returns an CanvasGradient rbri Fix Check option cssEnabled before downloading a css file (regression from 1927). Fixes 1935. rbri Fix JavaScript: Error.captureStackTrace is not available in FF and IE. Fixes 1840. rbri Fix JavaScript: location.reload uses the same request method like the original request. Fixes 1840. rbri Fix JavaScript: WebSocket constructor call failed with a NPE when called during page construction. rbri Fix JavaScript: fix Number.toLocaleString() to be able to support locale strings like 'en-US'. Fixes 1932. rbri Add JavaScript: performance.navigation.toJSON() added. rbri Add JavaScript: URL.searchParams added. rbri Add New configuration settings webSocketMaxTextMessageSize, webSocketMaxTextMessageBufferSize, webSocketMaxBinaryMessageSize, and webSocketMaxBinaryMessageBufferSize. rbri Add JavaScript: URL constructor and origin property added. rbri *** Release 2.28 – November 12, 2017 *** Type Changes By Fix The link tag now supports the onLoad and the onError handler. Fixes 1927. rbri Fix The link tags are now loaded at page initialization. Fixes 1927. rbri Fix Link tags added to the page from javascript are now resolved directly. Fixes 1927. rbri Update CSS: cssparser updated to 0.9.24. rbri Add JavaScript: document.currentScript added. rbri Fix Selector specificity calculation fixed for selectors using the general sibling combinator (~). Fixes 1925. rbri Fix JavaScript: window.onerror provides now a valid error object. Fixes 1924. Thanks to Colin Alworth. rbri Fix JavaScript: throw a type error if the url property is requested from the WebSocket prototype. rbri Add JavaScript: simple impl for CanvasRenderingContext.fillText added. rbri Fix JavaScript: various fixes for the Promise implementation. rbri Fix JavaScript: writing to an iFrame triggers the onload event now for chrome also rbri Fix JavaScript: navigator.productSub now returns the same value as simulated browsers rbri Fix JavaScript: fix for a strange side effect in Range.getClientRects() and Range.getBoundingClientRect(). Both calls have removed all nodes inside the range from the document. rbri Fix JavaScript: fix handling of negative buffer sizes for the ArrayBuffer ctor. rbri Add JavaScript: getComputedTextLength() support added for svg text elements. rbri Fix JavaScript: document.createElementNS is now able to create svg elements also. rbri Add JavaScript: support NetworkInformation (Chrome only at the moment). rbri Add JavaScript: support FileReader.readAsArrayBuffer(). Fixes 1913. rbri Add JavaScript: support FileReader.readAsDataURL(). Fixes 1912. asashour Fix ProxyAutoConfig: fix isInNet(). Fixes 1911. asashour Fix There is an option for IE that enables/disables the sending of the complete file path when uploading a file. Starting with this version we simulate this in disabled state like the default setting for the internet zone. Fixes 1908. rbri Fix BrowserVersion.clone now copies the system-timezone attribute. rbri Remove INCOMPATIBLE CHANGE: BrowserVersion is final now and all constructors are removed. The only way to create new customized Browser versions is by using the BrowserVersionBuilder. Fixes 1890. rbri BrowserVersion setter methods are fluent now. Fixes 1890. rbri Fix DomElement: Fix .getChildElements(). Fixes 1905. asashour Remove Remove deprecated HtmlFileInput.setValueAttribute(String[]), HtmlInput.click(int,int), SgmlPage.getPageEncoding(), WebRequest.setCharset(String) and WebResponse.getContentAsString(String). asashour Fix Fix Location header if it has non-ASCII characters. Fixes 1898. asashour Fix JavaScript: fix ClassCastException in Array.from. rbri Add Support for form attributes formaction, formmethod, formtarget and formenctype added. Fixes 1884. Thanks to Anton Demydenko. rbri Fix JavaScript: fix ClassCastException when calculating offsetHeight. Fixes 1899. Thanks to Christian Rösch. rbri Fix Take care of label elements during event bubbling; they have to trigger a click event for the associated element. rbri Fix JavaScript: fix window.getComputedStyle() pseudo handling if pseudo param starts with double colon. rbri Update We are simulating the 64 bit version of Firefox 52 ESR and CHROME now. rbri Update More appropriate browser appVersion. rbri Fix JavaScript: fix Number.toLocaleString(). Fixes 1892. asashour Add JavaScript: SVGMatrix operations (flipX, flipY, inverse, multiply, rotate, rotateFromVector, scale, scaleNonUniform, skewX, skewY, translate) implemented. rbri *** Release 2.27 – June 4, 2017 *** Type Changes By Add JavaScript: implement Array.from(). Fixes 44336828. asashour Update CSS: cssparser updated to 0.9.23. rbri Add JavaScript: implement Element.matches(). asashour Add JavaScript: implement .before(), .after() and .replaceWith(). asashour Add Simulated system time zone is now configurable (BrowserVersion.setSystemTimezone()). Fixes 1827. rbri Fix JavaScript: fix Set/Map with undefined value. Fixes 1886. asashour Fix Stack property was not set when new Error() was called from js. Fixes 1606. asashour Fix Fixed wrong dom tree because of duplicated head element. Fixes 1863. rbri Fix Avoid CCE in innerText when the element contains a SvgElement. Fixes 1883. rbri Fix Various fixes for javascript encoding detection. rbri Fix NPE in StyleSheetList.equivalentValues(). Fixes 1881. Thanks to Carsten Steul. rbri Add HtmlImageInput: add .saveAs(). Fixes 43854916. asashour Fix JavaScript: MouseEvent to support .pageX and .pageY for all browsers. Fixes 1877. asashour Fix JavaScript: fix Object.assign(). Fixes 1875. asashour Fix JavaScript: fix .set() of Typed Arrays. Fixes 1873. asashour Fix JavaScript: fix Typed Arrays construction with null. Fixes 1872. asashour Update WebClientOptions: deprecate .getPrintContentOnFailingStatusCode(). asashour Add JavaScript: implement Audio. Fixes 246. asashour Fix JavaScript: Selection.type implementation fixed for Chrome. rbri Fix JavaScript: document.baseURI calculation fixed for relative href. Fixes 1870. Thanks to Joerg Werner. rbri Fix JavaScript: fix setting .innerHTML. Fixes 43482935. asashour Add JavaScript: implement NodeList.entries(), keys(), values() and forEach(). asashour Fix Neko: fix handling of strange comment syntax supported by browsers. Fixes 1862. rbri Fix JavaScript: fix AbstractList iteration. Fixes 43394489. asashour Fix Neko: fix handling of invalid numeric entity references inside attributes. Fixes 1869. rbri Add JavaScript: add basic support for Range.getClientRects(). rbri Fix JavaScript: fix Map and Set iterator prototype. Fixes 1868. asashour Fix RegExp: fix translation of \0 at the end. Fixes 1867. Thanks to Leszek Hoppe. asashour Add Method HtmlPage.getElementsById(String) added to make simple to detect duplicate id's. rbri Fix JavaScript: fix parameter checking for MutationObserver.observe(). rbri Fix HtmlScript: charset attribute should not be considered. asashour Fix JavaScript: CSSRuleList.item() is supported in all browsers. asashour Remove Remove HtmlKeygen. asashour Add JavaScript: support Object.getOwnPropertySymbols(). Fixes 43263382. asashour Fix HtmlOption: fix .setSelected(). Fixes 1864. asashour *** Release 2.26 – April 4, 2017 *** Type Changes By Fix Handle infinite meta refresh. asashour Fix HtmlOption: fix clicking. asashour Fix HttpWebConnection: fix User-Agent header of CONNECT request. Fixes 1861. asashour Add Applet: initial javascript interaction support added; it is now possible to use the JSObject from the applet to call javascript functions or set attributes. rbri Fix JavaScript: fix __proto__ of the top level object. Fixes 1856. asashour Fix JavaScript: fix Object.getPrototypeOf(). Fixes 1855. asashour Add WebClient: add .getInternals() to listener to WebSockets. Fixes 42982495. asashour Add JavaScript: Set and Map to support .forEach(). asashour Add Object tag now has some applet support. rbri Fix CSS: fix handling :target pseudo class. Fixes 46. asashour Update Deprecate HtmlImage.getComplete(). asashour Update Deprecate HtmlKeygen. asashour Fix JavaScript: WebSocket onError processing was missing. rbri Fix Fix detection of HtmlInput types (IE). asashour Fix Correct file type detection for files with css suffix. Fixes 1858. Thanks to Joerg Werner. rbri Add JavaScript: simple implementation for MediaSource.isTypeSupported added (returns always false). rbri Add WebClientOptions: add option for screen width/height. asashour Update Reduce the number of temp files created when asking images for width/height. rbri *** Release 2.25 – February 23, 2017 *** Type Changes By Update Deprecate SgmlPage.getPageEncoding() and WebResponse.getContentAsString(String) variants. asashour Update INCOMPATIBLE CHANGE: change return type of WebRequest.getCharset, WebResponse.getContentCharset() and getContentCharsetOrNull(). asashour Fix JavaScript: correct handling of window.onbeforeunload. asashour Add Encoding support for DataURl added. rbri Update INCOMPATIBLE CHANGE: PromptHandler.handlePrompt() has a third parameter. asashour Add WebClientOptions: add option to automatically download images. asashour Fix Browsers are storing cookies with a dot at the start of the domain. rbri Fix HtmlAnchor: handle clicking page with shift or ctrl keys. asashour Update INCOMPATIBLE CHANGE: change the return type of DomNode.getByXPath. asashour Add Add HtmlSlot. asashour Update DomElement: .click() should does nothing when the element is not displayed. asashour Add Table elements now supporting the summary and rules attribute. rbri Remove Remove deprecated HtmlElement.getHtmlElementsByTagName(), .getHtmlElementsByTagNames() and CSSStyleSheet.modifyIfNecessary(). asashour Remove BrowserVersion: remove deprecated INTERNET_EXPLORER_11. asashour Update HtmlFileInput: deprecate .setValueAttribute(), use .setFiles() instead. asashour Fix JavaScript: nowrap property support added for div, dd, and dt elements (IE only). rbri Fix FormData now also respects configured mime type for uploading a file. rbri Add Reintroduce ScriptPreProcessor. Fixes 1818. asashour Fix JavaScript: fix Symbol creation. Fixes 1852. asashour Fix HtmlOption: clicking should unselect other options, even if the parent select is 'multiple'. asashour Fix JavaScript: WebSocket constructor should report an js error if the provided url is empty/null or invalid. rbri Update HtmlInput: deprecate .click(int, int). asashour Fix JavaScript: EventHander set at window-level only on setting it by attribute. asashour Fix Elements with 'tabindex' are focusable. asashour Add JavaScript: implement HTMLInputElement.checkValidity(). asashour Update HtmlInput: .setValueAttribute() no longer executes onchange event handler. asashour Fix JavaScript: HTMLInputElement: fix .value for file types. asashour Fix Minor java code issue from our get started page fixed; sample for using getElementsByTagName added. rbri Add Add HtmlEmailInput, HtmlTelInput and HtmlUrlInput. Fixes 1848. asashour Remove INCOMPATIBLE CHANGE: remove SvgPage and InteractivePage, use HtmlPage instead. Fixes 1830. asashour Add SgmlPage to implement DocumentTraversal. Fixes 240. asashour Fix SgmlPage: fix getElementsByTagName() and add .getElementsByTagNameNS(). Fixes 1849. asashour Remove BrowserVersion: remove deprecated FIREFOX_38. asashour Fix JavaScript: fix NullPointerException in MutationObserver. Fixes 1811. asashour Add DomNode: implement .getUserData() and .setUserData(). Fixes 239. asashour Update Mandate Java 8 as a minimum requirement. asashour *** Release 2.24 – January 9, 2017 *** Type Changes By Update XmlPage: to ignore ByteOrderMark at the beginning of file. asashour Update CSS: cssparser updated to 0.9.21. rbri Fix Do not trigger mouse events for the associated element when clicking a label. rbri Fix JavaScript: the Map constructor accepts maps. rbri Fix JavaScript: the set constructor accepts array buffers, string, sets and maps. rbri Update Class JavasScriptPage removed. Real browsers are handling this page as simple HtmlPage containing only a script tag in the header. rbri Fix If there is no content type, the browser will look inside the content for a script tag. Fixes 1844. rbri Fix Conversion of ordered list to text has to take care of all children not only list items. Fixes 1845. Thanks to Rob Kodey. rbri Fix JavaScript: FF45 triggers mouse events also for disabled buttons and input elements. rbri Fix DL tag should close containing tags. Fixes 1842. rbri Fix JavaScript: Missing clear property added for headline, paragraph, and pre tags (IE only). rbri Fix Ignore the charset when checking the content type header for CORS requests. Fixes 1839. rbri Add WebClientOptions: add 'HistoryPageCacheLimit' to allow specifying the number of page references stored in history. If this value is smaller than the configured HistorySizeLimit than HtmlUnit will only use soft references for the first historyPageCacheLimit entries in the history. For older entries only the url is saved; the page will be (re)retrieved on demand. Fixes 1836. rbri Fix JavaScript: HTMLElement.getClientRects() returns an empty list for "display: none". Fixes 1834. rbri Fix HtmlImage.saveAs(File) no longer parses the image. Fixes 1833. rbri Fix JavaScript: throw JS runtime exception instead of Java IllegalArgumentException when method is called on incorrect objects. mguillem Add JavaScript: referrerPolicy property now supported for anchors (Chrome only). rbri Fix Many minor js class hierarchy fixes and missing constants added for IE. rbri Update Upgrade Apache log4j-api to 2.7. rbri Update Upgrade Apache commons-lang to 3.5. rbri Add JavaScript: missing property content added for template elements. rbri Add CSS: Support for css pseudo classes 'required' and 'optional' added. Fixes 1829. rbri Fix NPE in native arrays if typed array has a null value. Fixes 1828. Thanks to Michael Rimov. rbri Fix asText() now includes the content of iframe elements. Fixes 1824. rbri Add JavaScript: CanvasRenderingContext2D simple implementation for clearRect, fillRect, strokeRect. rbri Add JavaScript: CanvasRenderingContext2D support for transparency added. rbri Fix JavaScript: CanvasRenderingContext2D background color fixed. rbri Add JavaScript: simple implementation of CanvasRenderingContext2D.measureText() added rbri Fix Value of the Script#readyState property (IE only) fixed for nodes created from js. Fixes 1824. rbri Fix Page#toXML() no longer produces self closing form tags for empty forms. Fixes 1490. rbri Add JavaScript: console.timeStamp() added rbri Fix Parameter processing fixed for our FloatXX/IntXX Array slice. rbri Fix Value processing fixed for our FloatXX/IntXX Array constructor. The conversion for the values of the provided array works now; there is no longer a NPE. rbri Fix XPath attribute query has to take care of case for xml files. Fixes 1820. rbri Add Simple impl for SVGMatrix flipX/flipY/scale added. rbri Fix JavaScript: CSSStyleDeclaration fix handling of null and NaN for length properties. Fixes 1813. rbri Fix JavaScript: fix element.removeChild() when it is inside XMLDocument. Fixes 1815. asashour Fix Browsers are accepting arbitrary url's when the scheme is 'about'. Fixes 1813. rbri Add WebClientOptions: add 'localAddress' to allow specifying a network interface. asashour Fix XMLHttpRequest.getAllResponseHeaders() now uses the correct delimiter and more minor fixes. rbri Fix Implementation of event.stopImmediatePropagation() added. Fixes 1810. rbri Fix Authentication used for a first site was unnecessary sent to a second web site. Fixes 1729. Thanks to Hartmut Arlt. rbri Add JavaScript: Reflect.has() implemented. rbri Fix Support the special replacement patterns for the replacement string if replace was called for a string like 'abcd'.replace('cd', 'x$&'). rbri *** Release 2.23 – July 27, 2016 *** Type Changes By Fix ClientWidth is not correctly calculated for div with 'position: absolute'. Fixes 1669. rbri Fix Use soft references for storing the page as part of the history to avoid OOMExceptions. Fixes 1805. rbri Fix Do not save any history entries if HistorySizeLimit is less than 1. Fixes 1805. rbri Update CSS: cssparser updated to 0.9.20. rbri Fix HtmlPage: .save() to handle relevant HtmlLink protocols. asashour Fix Fix handling return statements in URL starting with "javascript:". asashour Fix Take care of the font size when calculating the offsetWidth for text. rbri Fix ReferenceError after calling Object(FrameWindow). Fixes 1804. Thanks to Carsten Steul. rbri Fix IllegalStateException adding an option to a select. Fixes 1803. Thanks to Carsten Steul. rbri New class DefaultJavaScriptErrorListener added. This listener will be always used of no specific listener is defined. The logging of js errors was moved to this class. If you like to have the logging and your own JavaScriptErrorListener than subclass or decorate this. Fixes 1620. rbri Fix Computing of the current css styles now takes mouseOver into account. Fixes 1065. rbri Fix IndexOutofRangeException fixed in com.gargoylesoftware.htmlunit.attachment.Attachment.getSuggestedFilename(). rbri Fix JavaScript: scrollHeight, scrollWidth implementation improved. rbri Fix JavaScript: Window to throw Exception during construction by JavaScript. Fixes 1779. asashour Fix JavaScript: string.repeat() is not available in IE. rbri Fix JavaScript: string.includes() is not available in IE and FF38. rbri Add JavaScript: implement Object.assign(). Fixes 1797. asashour Fix JavaScript: string.startsWith(), and .endsWith() are not available in IE. rbri Update BrowserVersion: deprecate FIREFOX_38. asashour Fix NPE in CSSStyleSheet.fixIndex(). Fixes 1791. Thanks to Carsten Steul. rbri *** Release 2.22 – May 27, 2016 *** Type Changes By Fix Use our own implementation of URL.sameFile to avoid excessive number of DNS lookups and and support path normalization before doing the comparison. Fixes 1787. rbri Add Keyboard: to have a parameter which allows typing to start at the text end. asashour Update CSS: cssparser updated to 0.9.19. rbri Fix HtmlElement: do not trigger keypress if keydown.preventDefault() is true. asashour Remove Remove deprecated DomNode.getScriptObject(), WebWindow.getScriptObject(), HtmlElement.type() methods and HtmlPage constructor with 'originatingUrl'. asashour Add WebClient: supports a registry of known file extensions used to determine the content type when uploading files. rbri Add WebClientOptions: .setSSLClientCertificate() supports InputStream. Fixes 231. asashour Fix DataUrlDecoder.decodeUrl() no longer replaces '+' with a space character. Fixes 1769. Thanks to Carsten Steul. rbri Update Dependency to gsbase library removed. rbri Add JavaScript: Simple implementation of URL.createObjectURL and URL.revokeObjectURL added. rbri Fix JavaScript: 'in' operator now works for FileList. rbri Fix JavaScript: DOMTokenList as an array. Fixes 1783. Thanks to Marek Gawlicki. asashour Update INCOMPATIBLE CHANGE: modify BrowserVersion.browserVersionNumeric from float to int. asashour Fix JavaScript: clear cached Symbols on closing the page. Fixes 1781. asashour Add WebClientOptions: add setHistorySizeLimit(). Fixes 175. Thanks to Madis Pärn. asashour Fix CSS: fix value verification for length property setters (e.g. width, height,...). rbri Fix HtmlForm: to include Accept and Accept-Encoding headers on submission. Fixes 1777. asashour Fix JavaScript: window.getComputedStyle() should use sheets of the element.document. asashour Fix JavaScript: fix HTMLElement.style setter. asashour Fix JavaScript: fix HTMLElement.offsetLeft. Fixes 1626. asashour Fix CSS: fontSize influences the calculated height. Fixes 1776. asashour Fix HttpWebConnection no longer removes 'Content-Length', 'Content-Encoding' and 'Content-MD5' HTTP headers. Fixes 1774. Thanks to Hartmut Arlt. rbri Update BrowserVersion: Chrome is the BEST_SUPPORTED. asashour Add JavaScript: support Document.adoptNode. Fixes 228. Thanks to Madis Pärn. asashour Fix DomNode: .asText() to handle CSS styles. Fixes 1770. asashour Add JavaScript: add primitive support for SVGElement.getBBox(). Fixes 1506. asashour Add JavaScript: Promise supports .reject() and .catch(). asashour Fix JavaScript: IE supports the data URIs. asashour Fix JavaScript: fix caching of computed styles. Fixes 1768. asashour Fix DomNode: fix .asText() for some special spaces. Fixes 1764. asashour Fix Fix CSS selector regression introduced during handling pseudo element in window.getComputedStyle(). asashour *** Release 2.21 – Apr 6, 2016 *** Type Changes By Update Use Neko-HtmlUnit fork. asashour Fix JavaScript: window.getComputedStyle() to handle pseudo element. Fixes 1765. asashour Fix Malformed HTML: handle unterminated attribute value. Fixes 889. asashour Fix JavaScript: fix .offsetWidth, .offsetHeight, .clientWidth and .clientHeight of unconnected elements. asashour Add WebSocket support for binary data added. Thanks to Madis Pärn. rbri Add JavaScript: datetime property added for time elements. rbri Fix JavaScript: do not execute iframe onload handle if set while the element is attached to page (Chrome). asashour Fix JavaScript: CSSStyleDeclaration to return lower-case values (Chrome and IE). asashour Fix WebSocket event handling fixed, open event now fired, tests added. Fixes 1762. Thanks to Madis Pärn. rbri Add Improved MessageEvent implementation. rbri Fix JavaScript: Event.eventPhase is supported by Chrome. asashour Update HtmlElement: deprecate .getHtmlElementsByTagName() and .getHtmlElementsByTagNames(). asashour Add JavaScript: add .labels property for HTMLButtonElement, HTMLInputElement, HTMLKeygenElement, HTMLMeterElement, HTMLOutputElement, HTMLProgressElement, HTMLSelectElement and HTMLTextAreaElement. asashour Fix DomElement: fix .getElementsByTagName(). Fixes 1723. asashour Add Improved CloseEvent implementation; properties reason, code and wasClean are available now. Thanks to Madis Pärn. rbri Fix JavaScript: fix document.all when called with invalid index (Chrome). asashour Fix JavaScript: fix table.innerText. asashour Fix Fix XML attributes order. Fixes 1576. asashour Remove JavaScript: StaticNodeList removed. rbri Fix JavaScript: HTMLCollection and HTMLAllCollection function like access implementation improved (Chrome). rbri Fix JavaScript: wordSpacing property support percent values for FF45. rbri Add JavaScript: HTMLLabelElement.control property added (FF and Chrome). rbri Add JavaScript: FormData delete, get, getAll, set and has functions added. rbri Update History processing changed; now HtmlUnit remembers pages instead of requests. rbri Fix Pages are not loaded after History.pushState call. Fixes 1759. rbri Fix JavaScript: fix XMLHttpRequest CORS handling (Chrome). asashour Fix JavaScript: fix setting .innerText to null (Chrome). asashour Fix Fix handling of empty Cookies (Chrome). asashour Remove BrowserVersion: remove deprecated FIREFOX_31. asashour Add JavaScript: limited support for css @keyframes rules added. rbri Fix JavaScript: CSSRuleList ignores unsupported rules. rbri Fix JavaScript: Element.baseURI. asashour Fix JavaScript: XMLHttpRequest.overrideMimeType(). asashour Fix JavaScript: fix XMLDocument.getElementsByTagName(). asashour Add JavaScript: support window.performace.timing. Fixes 1756. rbri Add JavaScript: support HTMLAnchorElement.ping. Fixes 1755. asashour Add Firefox 45 ESR support added. asashour Add HtmlPage: add setElementFromPointHandler() for manually handling JavaScript document.elementFromPoint(). Fixes 1736. asashour Add JavaScript: add value property support for HTMLDataElement (FF only). rbri Add JavaScript: add initial support for HTMLStyleElement.scoped. rbri Add JavaScript: add support for HTMLStyleElement.disabled. asashour Update JavaScript: add support for Node.remove(). mguillem Update INCOMPATIBLE CHANGE: change BrowserVersion.INTERNET_EXPLORER nickname to "IE". asashour Update JavaScript: update Date.toLocaleDateString() and .toLocaleTimeString() to use en_US locale. asashour Add JavaScript: simple implementation of SVGPathElement.getTotalLength() added. rbri Fix JavaScript: ClassCastException in DOMTokenList#updateAttribute(). Fixes 1752. rbri Fix JavaScript: HTMLCollection to enumerate children names (Chrome). asashour Fix XPath: fix attribute case sensitivity (Chrome). asashour Fix JavaScript: fix PopStateEvent.state to be clone (Chrome and IE). asashour Fix JavaScript: fix Selection.rangeCount for Chrome. asashour Fix CSS: Chrome doesn't support 'target' selector or computed 'zIndex' property. asashour Fix JavaScript: fix location.hash. asashour Fix JavaScript: HTMLTableElement.innerText should not be read-only (Chrome). asashour Remove Remove deprecated WebClient.closeAllWindows(), HttpWebConnection.shutdown(), SgmlPage.createDomDocumentFragment(), XmlPage.getContent(), XmlPage.createXmlElement(), XmlPage.createXmlElementNS() and XmlPage.getXmlElementDescendants(). asashour Update SubmittableElement: rename getSubmitKeyValuePairs() to getSubmitNameValuePairs(). asashour *** Release 2.20 – Feb 28, 2016 *** Type Changes By Fix JavaScript: correct calculation of clientWidth and .clientHeight styles. asashour Fix WebSocket: fix duplicate cookies sent with requests. rbri Fix JavaScript: Doctype properties prefix, localName and namespaceURI returning undefined for Chrome. rbri Fix JavaScript: Location should change immediately when calling history.pushState. Fixes 1749. Thanks to Adam Afeltowicz. rbri Fix HtmlPage.asXml(): expand empty I, BUTTON and unknown nodes to make generated XML readable as HTML on browsers. mguillem Fix JavaScript: FormData.append now supports the optional filename parameter. rbri Update BrowserVersion: deprecate INTERNET_EXPLORER_11, use INTERNET_EXPLORER instead. asashour Fix JavaScript: FormData constructor should support form parameter. Fixes 1751. Thanks to Frank Danek. rbri Fix JavaScript: XMLHttpRequest.upload is available in IE also. rbri Fix HtmlImage: to be serializable. Fixes 1750. asashour Fix JavaScript: HTMLElement.getBoundClientRect throws an error for IE if the element is not connected to a page. rbri Add JavaScript: implement ClientRectList methods. rbri Add JavaScript: implement Symbol.for. asashour Fix JavaScript: set prototype for objects constructed without 'new' keyword. asashour Fix Do not explicitly send the port 443 for HTTPS connections. Fixes 1741. rbri Fix Use the right keyCode when simulating enter. Fixes 1694. rbri Fix Setting the text property of an option creates a label attribute if there is no label defined so far. rbri Fix Origin attribute for anchors now works (FF, Chrome). rbri Fix SVGElements are supporting querySelector() and querySelectorAll(). Fixes 1742. rbri Fix id property was missing for SVGElements. rbri Fix Element.className no longer trims whitespace for Chrome. rbri Fix HashChangeEvent.initHashChangeEvent() not supported by Chrome. rbri Fix Applet is no longer supported by Chrome. rbri Fix Implementation of option.text is now in sync with latest Chrome. rbri Fix Properties clientLeft and clientTop are available in Chrome also. rbri Fix Add properties name, value, type, valuetype support to HTMLParamElement. Fixes 1740. rbri Fix Fix really weird IE behavior when applying a CSS3 pseudo selector to an detached node. This fixes the 'Invalid selector' output for the :enabled and :checked selector for pages using jQuery. rbri Fix Paragraph with style visibility:collapse is invisible in IE11 also. rbri Fix Document baseURI property is not available for IE. rbri Fix Improved asynchronously loading of scripts with async attribute. mguillem Fix Improved simulation of double click. rbri Fix Improving null handling when setting the value of text areas and input elements. rbri Fix Setting the width of a table column to null now works correct for FF/Chrome also. rbri Fix Fix our simulation of setting table caption/tHead/tFoot for Chrome. rbri Fix For Chrome className returns an empty string if the value of the class attribute is blank. rbri Fix Fixed document.all.namedItem for Chrome when parameter is a form name. rbri Fix Chrome ignores the target attribute if the href starts with 'javascript:'. rbri Fix Fix form processing for urls containing anchors when simulating chrome. rbri Fix Result of innerText fixed for Chrome. rbri Fix Fix return value of getAttributeNS when attribute is not defined. rbri Fix Option.text returns always the label if defined in Chrome. rbri Fix CSS :lang selector now works correct if the lang was defined at the parent. rbri Fix Empty form actions are not expanded by FF. rbri Fix Type attribute is case sensitive for input elements. rbri Add Implementation of Performance.now() added. rbri Fix Improved clientHeight calculation when height is set to auto. rbri Fix Updates on event handling, mouse-over for option and select elements are more correct now. rbri Fix IE never triggers a mouseover event for select options. rbri Fix FF triggers a mouseover event for select options even if the option is disabled. rbri Fix GAE support is back. rbri Fix Function document.open(..) returns the opened document. Fixes 1730. rbri Fix Browsers do not escape double quote and backslash in cookie values. rbri Fix Fix for possible StringIndexOutOfBoundsException in HtmlUnitBrowserCompatCookieSpec. Fixes 1735. rbri Add Fix NPE in FormData#append when calling with null or undefined as value. rbri Fix Fix redirect handling for status code 301, 302 and 307 (POST); add support for status code 308. Fixes 1733. rbri Fix Bring the implementation of special key support (e.g. VK_DELETE) for password input and textarea control in sync with the input text control. rbri Add BrowserVersion BEST_SUPPORTED added. This is (for now) a shortcut for FIREFOX_38. Thanks to mguillem. rbri Fix Area elements are not focusable if no href attribute defined. rbri Fix Anchors are not focusable if no href attribute defined. rbri Fix Basic authentication credentials in the URL could get lost. Fixes 1731. Thanks to Joerg Werner. rbri Add DefaultCredentialsProvider: to have .removeCredentials(). asashour Update Dependency to Commons Collections removed. rbri Fix HtmlPage: fix base URL with leading whitespace. Fixes 1728. Thanks to Joerg Werner. asashour *** Release 2.19 – Nov 12, 2015 *** Type Changes By Add JavaScript: support document.hasFocus(). asashour Update INCOMPATIBLE CHANGE: Cache.cacheIfPossible() to return boolean and rename .isDynamicContent() to isCacheableContent(). asashour Fix CSSStyleSheet: response is cleaned up when it is not cached. asashour Add JavaScript: Support for History.pushState() and History.replaceState(). Fixes 1681. Thanks to Adam Afeltowicz. rbri Fix SgmlPage: fix .getElementsByTagName(). Fixes 1723. asashour Add JavaScript: Empty dummy implementations for MediaQueryList#addListener and MediaQueryList#removeListener added. rbri Update HttpWebConnection: deprecate .shutdown(). asashour Update INCOMPATIBLE CHANGE: WebConnection to extend AutoCloseable. Fixes 1727. asashour Fix JavaScript: Removing the active element from the DOM tree should reset the activeElement property. rbri Fix JavaScript: fix HTMLFormElement.action when the attribute is not defined. Fixes 1726. asashour Fix JavaScript: When an element inside an iframe becomes the active one, the iframe element also becomes the active one of his enclosing document. rbri Fix JavaScript: Improved simulation of onfocusin/out events. rbri Fix HtmlPage: fix synchronization for .addAutoCloseable(). Fixes 1725. asashour Update Enhance performance of DomNode.asText(). asashour Fix WebSocket: to be closed once the window is closed. Fixes 1715. asashour Fix JavaScript: Missing property HTMLElement.oninput added. Fixes 1702. rbri Fix Correctly handle redirection with broken gzip content. Fixes 1724. asashour Add CSS: support for Media Query feature 'max-resolution', 'min-resolution', and 'resolution' added. rbri Add CSS: support for Media Query feature 'max-device-width', 'min-device-width', 'max-height', 'min-height', 'max-device-height' and 'min-device-height' added. rbri Add CSS: support for Media Query 'not' operator added. rbri Add CSS: support for Media Query feature 'orientation'. rbri Fix CSS: initial support for Media Query features 'max-width' and 'min-width'. Fixes 1721. asashour Fix JavaScript: fix Promise.resolve() with empty parameters. asashour Update JavaScript: XMLHttpRequest.onerror is available in CHROME too. rbri Update JavaScript: XMLHttpRequest.onerror handler will be called with a ProgressEvent as parameter. rbri Add JavaScript: support for ProgressEvent properties lengthComputable, loaded, and total added. rbri Update JavaScript: add minimal WebWorker support. mguillem Update DomNode and WebWindow: deprecate .getScriptObject(). asashour Fix JavaScript: collections to be iterated using the default Symbol.iterator. Fixes 1699. asashour Fix ComputedCSSStyleDeclaration: fix StackOverflowError on calculating 'top' value. Fixes 1233. Thanks to Adam Afeltowicz. asashour Fix JavaScript: XMLHttpRequest.overrideMimeType() is available in IE11 too. rbri Fix JavaScript: XMLHttpRequest.overrideMimeType() does some state checking for IE11 and CHROME. rbri Update Upgrade Apache HttpComponents to 4.5.1. asashour Fix JavaScript: Event.stopPropagation() is available in Chrome too. rbri Fix Load asynchronously scripts with async attribute. mguillem Fix JavaScript: WebSocket to handle insecure SSL. Fixes 1720. asashour Fix Various fixes for our checkbox and radiobutton simulation. This also fixes css selectors working with the checked attribute. rbri Fix Do not click surrounding anchor for 'checkbox' and 'radio' input (Chrome). asashour Fix JavaScript: fix document.forms.form_name with prefixed forms. asashour Fix JavaScript: fix result value for title.text property for empty title tags (IE8). rbri Fix JavaScript: delays execution of Promise.then arguments. mguillem Fix JavaScript: fix CSSStyleRule.selectorText. asashour Fix CSS: only FF supports CSSCharsetRule. asashour Fix JavaScript: fix MediaList.item() and MediaList.mediaText results for media queries. rbri Update CSS: cssparser updated to 0.9.18. rbri Fix JavaScript: Property style.boxSizing is available in Chrome and FF too. rbri Fix CSS: fix @font-face for Chrome. asashour Fix Fix base tag for relative URI. Fixes 1718. Thanks to Adam Afeltowicz. asashour Fix JavaScript: TextArea now works correct if the children are manipulated from js. Fixes 1719. rbri Fix JavaScript: Window.top property is only writable in IE. rbri Add JavaScript: window.onsubmit support added. rbri Fix Correctly handle script when src attribute is only "://". asashour Fix JavaScript: process scripts with 'application/javascript' type (add IE11). asashour Fix JavaScript: Iterating through the .attributes property modifies outerHTML result. Fixes 1716. rbri Fix Cookies: fix handling of two digits expiry date in Chrome. asashour Add JavaScript: add .placeholder property (HTMLInputElement and HTMLTextAreaElement). asashour Fix JavaScript: textContent property is writable for table elements in Chrome also. rbri Fix JavaScript: HTMLScriptElement.src should return complete URL if src was defined. rbri Fix Correct simulation of type handling for input tags without type attribute being set. rbri Fix Handle typing in inputs of type search like in inputs of type text. mguillem Fix RegExp: fix translation of \0 when translating a js regexp into a java one. Fixes 1713. rbri Add JavaScript: label property implemented for menu element. rbri Add JavaScript: type property implemented for menu element. rbri Fix JavaScript: fix FormData to correctly handle File. asashour Add JavaScript: add window.location.origin. asashour Fix JavaScript: OptionsCollection length setter fix (Chrome). rbri Fix JavaScript: mouse events fixed when clicking an option (Chrome). rbri Add JavaScript: added support for Window.crypto.getRandomValues. mguillem Add JavaScript: added dummy implementations of Window.requestAnimationFrame and Window.cancelAnimationFrame. mguillem Fix Reflect fix done in latest Chrome for Node.compareDocumentPosition. rbri Fix Node.removeChild now throws a javascript exception if the node to be removed is not a descendant of the receiver. rbri Fix Node.insertBefore now throws a javascript exception instead of an DOMException. rbri Fix Improved width calculation if the style defines the width using a percent value. Fixes 1700. rbri Add Index property for HTMLOptionElement added. rbri Fix Consider base tag even when misplaced within body. mguillem Add Added HtmlPage.getBaseURL and HTMLDocument.baseURI. mguillem Fix INCOMPATIBLE CHANGE: The usual isXxxxEnabled() methods are added to the Interface WebConsole.Logger for better performance. rbri Fix String substitution in window.console.log fixed (handing of special chars like $, escaped percent sign, handling of missing replacement parameters). Fixes 1711. rbri Fix Window.dump() is available in FF only. rbri Fix XMLHttpRequest: call onload handler with a ProgressEvent parameter. asashour Fix Support for text property removed from HTMLTimeElement. rbri Fix Fix ClassCastException when triggering a click event for SVG elements. Fixes 1495. rbri Fix Correct handling of file URL's containing encoded character. Fixes 1708. rbri Fix Simulated Shockwave Flash plugin info updated to current version. rbri Fix Version property added to plugin. Fixes 1707. rbri Fix RegExp: there was a mutable 'singleton' shared between different regex results; this introduces strange side effects. Fixes 1706. Thanks to Carsten Steul. rbri Fix Return value of CSSStyleDeclaration.removeStyleAttribute() fixed when simulating Chrome. rbri Add Dummy implementation for History.state together with some more tests added. rbri Fix Latest FF versions are no longer defining these methods: History.next, History.current, History.previous. rbri Fix Cookies: quote only if the cookie was sent with quotes. Fixes 1705. rbri Fix Stylesheet list contains only active style sheets when simulating Chrome. rbri Fix File.lastModifiedDate now produces the correct output in all browsers. rbri Fix File.lastModified is not available in FF31. rbri *** Release 2.18 – July 26, 2015 *** Type Changes By Add Introduce AbstractPage. asashour Update HtmlPage: change return type of .getFocusedElement() to DomElement. asashour Fix Cache: clean up cached WebResponse only when it moves out of cache. asashour Update XmlPage: deprecate .getContent(), .createXmlElement(), .createXmlElementNS() and .getXmlElementDescendants(). asashour Add Add SvgPage. asashour Add JavaScript: primitive implementation of XMLHttpRequestUpload. asashour Add JavaScript: implement FormData. asashour Fix Fix detection of standards mode for DocType with empty name (IE8). asashour Fix JavaScript: DocumentFragment: add .URL property and fix its default value (IE8). asashour Update SgmlPage: deprecate createDomDocumentFragment(). asashour Update HtmlPage: deprecate getFocusedElement() as its return type will change to DomElement. asashour Fix JavaScript: do not trigger events if the element is detached from page. asashour Fix JavaScript: Node.cloneNode() should return a node with a parent (IE8). asashour Add DomElement: now handle events (e.g. .click(), .focus()) to support SVG interaction. asashour Fix SVG: fix SVG element creation. asashour Add JavaScript: support HTMLInputElement.files. asashour Fix JavaScript: WebClient.getPage should trigger hashchange event when called for with the same URL but different hash than the current page. mguillem Fix DomNode: .setTextContent() should add child only if the text is not empty. asashour Fix JavaScript: XMLHttpRequest CORS handling for PUT and POST. Fixes 1698. asashour Fix JavaScript: fix Map, Set, WeakMap and WeakSet with empty constructor. Fixes 1699. asashour Add XmlPage: implement getElementsByTagName(). asashour Add Support PATCH Method for HTTP. Fixes 222. Thanks to Joerg Werner. asashour Fix JavaScript: properly handle event handlers as a property of document body. asashour Fix Typing: support clipboard copy, cut and paste. asashour Fix ImageData: reuse data property, to preserve setting the values. asashour Update Rename SelectionDelegate to SelectableTextSelectionDelegate, and add SimpleSelectionDelegate. asashour Add JavaScript: initial implementation of performance.navigation. asashour Fix Regex: back references to optional groups are corrected (e.g. /(a)?xyz\1/). rbri Update HtmlElement: Deprecated type() with shift, control and alt parameters. asashour Fix Properly handle cookies for unqualified hostname. Fixes 1697. asashour Add HtmlElement: add type(Keyboard). asashour Fix Mocked ActiveX objects have to be able to deal with unknown/unsupported properties. Thanks to Frank Danek. rbri Fix Regex: back references to enclosing groups are ignored by js regex (e.g. /(a)(b\2)/). rbri Fix Regex: minor improvements for the octal detection when converting a js regex into java regex. rbri Fix Fix an IllegalStateException when parsing ajax response containing an object tag. rbri Fix JavaScript: Limited support for CSSStyleRule.readonly added (property is available in IE only). rbri Fix JavaScript: fix KeyboardEvent constants. asashour Fix JavaScript: trigger SHIFT keydown/keyup events when "upper" characters are typed. asashour Add JavaScript: implement HTMLElement.contentEditable and isContentEditable. asashour Add JavaScript: implement TextRange.compareEndPoints() and .move(). asashour Fix HtmlTextInput: handle typing arrow keys. asashour Fix JavaScript: initial support for MutationObserver. Fixes 1691. asashour Add DomNode: add/remove CharacterDataChangeListener. asashour Update Upgrade Apache HttpComponents to 4.5. asashour Remove HtmlElement: mark .fireEvent() as internal API. asashour Remove Remove deprecated BrowserVersion.FIREFOX_24, ProxyAutoConfig, HttpWebConnection.downloadContent(), Event, KeyboardEvent and MouseEvent. asashour *** Release 2.17 – Jun 3, 2015 *** Type Changes By Update CSS: cssparser updated to 0.9.16. asashour Update Update htmlunit-core-js to Rhino head of 03.06.2015 + custom patches. asashour Fix JavaScript: fix WebSocket.readyState. Fixes 1689. asashour Add Firefox 38 ESR support added. rbri Update BrowserVersion: deprecate FIREFOX_31. rbri Fix Button tag submits a form if type is unknown. rbri Add Initial support for HTML5 Input Types. asashour Add JavaScript: add HTMLInputElement.min and .max. asashour Add Add HtmlTemplate element. asashour Fix CSS: fix default attribute values. asashour Fix JavaScript: Typed Arrays to tolerate out of range. asashour Add JavaScript: implement style.setProperty(). rbri Add JavaScript: implement style.getPropertyPriority(). rbri Add JavaScript: implement CanvasRenderingContext2D.getImageData(). asashour Add JavaScript: support image.naturalWidth and .naturalHeight. asashour Add JavaScript: support CustomEvent. asashour Fix JavaScript: Element lookup by CSS class name does not always work. Fixes 1685. rbri Fix History: support POST requests. asashour Fix JavaScript: fix setting HTMLOptionElement.label. Fixes 1687. asashour Fix JavaScript: arbitrary elements are defined as JavaScript properties (only in IE8). asashour Add JavaScript: HTMLInputElement: support minLength (Chrome). asashour Add JavaScript: implement window.matchMedia() and .styleMedia. asashour Add JavaScript: implement Map, Set, WeakMap and WeakSet. asashour Fix JavaScript: handle events with functions bound to null. asashour Fix JavaScript: execute onload handlers for dynamically created iframe as well when src is set to about:blank. mguillem Add JavaScript: implement MessageChannel. Fixes 1680. asashour Add Support for 'hidden' HTML5 attribute added (method HtmlElement.isDisplayed() takes care of this). rbri Remove Remove deprecated JavaScriptEngine.shutdownJavaScriptExecutor() and CookieManager.getCookies(). asashour Add JavaScript: implement NodeIterator. asashour Update Upgrade Xalan to 2.7.2. *** Release 2.16 – Apr 20, 2015 *** Type Changes By Fix CSS selectors checking for an empty attribute (e.g. [data-section='']) are checking now the existence of the attribute also. rbri Update Upgrade NekoHtml to 1.9.22. asashour Add HTMLTextAreaElement: maxLength property support added. Fixes 1677. Thanks to Carsten Steul. rbri Fix JavaScript: Missing setter for style.media added. rbri Add JavaScript: implement Promise.resolve(). asashour Fix An Ajax request running in parallel to a form submit might influence the headers send by the submit. rbri Fix JavaScript: rename host class CharacterDataImpl to CharacterData, and ProcessingInstruction to extend CharacterData. asashour Update Upgrade Apache commons-lang to 3.4. rbri Fix JavaScript: type property for anchor elements implemented. Fixes 1675. rbri Fix Window: fix how events are handled in when a child iframe 'src' is empty. Fixes 1655. asashour Fix HTMLIFrameElement: once the document is open()ed, then the location should be the same as the enclosing page. Fixes 1655. asashour Fix JavaScriptEngine: hasAttribute is available in IE8 also. rbri Add HTMLScriptElement: support 'onload' event (Chrome). Fixes 1655. asashour Update XMLHttpRequest: handle incorrect HTTP method name. Fixes 1665. asashour Fix JavaScriptEngine: fix synchronization case. Fixes 1668. Thanks to Carsten Steul. asashour Update Upgrade Apache HttpComponents to 4.4.1 rbri Add JavaScript: initial support for "Intl" namespace. asashour Update CSS: cssparser updated to 0.9.15. rbri Fix JavaScript: fix the prototype of HTMLQuoteElement and HTMLInlineQuotationElement. Fixes 1671. Thanks to Carsten Steul. asashour Fix HtmlButton: 'type' attribute defaults to 'button' in quirks mode only (IE8). asashour Fix JavaScript: fix HTMLImageElement.src attribute. asashour Fix XSLTProcessor is not available in IE11. rbri Update BrowserVersion: deprecate FIREFOX_24 and remove deprecation of INTERNET_EXPLORER_8. asashour Add Initial support for HtmlBidirectionalIsolation, HtmlCommand, HtmlDetails, HtmlDialog, HtmlLayer, HtmlMain, HtmlMenuItem, HtmlNoLayer, HtmlSummary and HtmlTrack elements. asashour Update WebClient: deprecate .closeAllWindows(), use .close() or try-with-resources statement. asashour Fix Avoid exception when handling URLs with unknown protocols. mguillem Add JavaScript: added basic support for Notification. mguillem Add Package 'httpclient' added for our customizations of HttpClient. rbri Fix JavaScript: fix many host class names. asashour Fix Use the same parser for cookies when set from javascript as we use for cookies in the http header. rbri Fix Use the same parser for cookies when set via meta tag as we use for cookies in the http header. This fixes the missing support for various cookie attributes when set by meta tag (e.g. domain). rbri Fix Iterator and StopIteration are only available in FF. rbri Fix Event.metaKey is available in CHROME also. rbri Fix MouseEvent.keyCode fixed for IE8 and CHROME. rbri Fix JavaScript: Window is defined in Standards Mode (IE8). asashour Update Upgrade Apache HttpComponents to 4.4 asashour Fix JavaScriptEngine: consider false jsObject. asashour Add JavaScript: XSLTProcessor supported methods (Chrome). asashour Fix JavaScript: most elements prototype should be functions (Chrome and FF). asashour Fix INCOMPATIBLE CHANGE: SVG: Rename SvgMpath to SvgMPath. asashour Fix JavaScript: FunctionObject to also enumerate IDs of the parent objects. asashour Fix JavaScript: do not set the window.location when triggered by anchor onclick (Chrome and FF). asashour Fix JavaScript: Node.compareDocumentPosition() to handle argument which is not Node (Chrome). asashour Fix JavaScript: constants should not be overwritten or deleted. asashour Fix JavaScript: Node.insertBefore() throw exception for Chrome when second parameter is missing. asashour Fix JavaScript: handle Node, Element, CSSValue and CSSPrimitiveValue as function not object (Chrome, FF). asashour Fix Browsers are ignoring line breaks inside the src attribute of script/image/frames tags. Fixes 1663. rbri Add JavaScriptJobManager interface enhanced to support filtered access to the jobs. This helps to filter out heartbeat jobs while waiting for the background jobs to finish. rbri Add Mock implementation of element.setCapture(), element.releaseCapture() and document.releaseCapture() added. rbri Fix JavaScript: DocumentType: support 'publicId' and 'systemId', while 'prefix' is undefined in Chrome. asashour Update Upgrade Jetty to 9.2.10.v20150310. Fixes 1656. Thanks to David Ostrovsky. asashour Fix Wrong encoding used by StringWebReponse if charset placed in content. Fixes 1660. Thanks to Carsten Steul. rbri Fix Fix handling nameless cookie. asashour Fix Results for css selectors startsWith/endsWith/contains fixed for IE8 when searching with an empty string. rbri Fix Result of document.all.namedItem('name') for many hits fixed when simulating IE. rbri Fix Correct results when accessing window.ActiveXObject in IE11. rbri Fix Boolean(document.all) fixed for FF and IE11 (core-js fix). rbri Fix Many fixes for the select option javascript functions and the OptionsCollection. Fixes 1653. rbri Fix WebResponse used for 'about:blank' was shared between different windows. Because the object is not immutable this produces strange side effects. Fixes 1652. rbri Fix Possible NullPointerException in ProxyAutoConfig.isInNet fixed. Fixes 1649. rbri Fix Wrong activeElement for iFrames and their parents. Fixes 1648. Thanks to Carsten Steul. rbri Fix CSS pseudo selector ':checked' selects also selected options. rbri Fix JavaScript: Support event parameter for event handlers created implicit by setAttribute. Fixes 1647. Thanks to Carsten Steul. rbri Add AppletConfirmHandler added. It is possible to define this handler for a web client. This handler is called before an applet code download. By implementing this handler you can restrict the download per applet (like the confirm dialog in the browser). Fixes 1637. rbri Fix Method isDisplayed() now works correct for HtmlImage, HtmlMap and HtmlArea. rbri Fix WebClient.closeAllWindows() now kills the thread, if join does not succeed. This might happen, if one of the javascript jobs runs in an endless loop. rbri Fix WebClient.closeAllWindows() now stops the JS thread also of some onunload handler opens new windows or refreshes iframes. Fixes 1638. rbri Fix JavaScript: DOMTokenList#remove method remains tail-whitespace when the last token was removed. Fixes 1643. rbri Update Mandate Java 7 as a minimum requirement. asashour Fix JavaScript: document.importNode() is supported in Chrome. rbri Fix JavaScript: Improved width calculation if style is set to 'auto'. Fixes 1642. Thanks to Carsten Steul. rbri Fix JavaScript: Simplified synchronization in JavaScriptJobManagerImpl.waitForJobs methods. Fixes 1640. Thanks to Carsten Steul. rbri Fix Fix asText() of HtmlPreformattedText. rbri Fix JavaScript: fix Storage prototype properties. Fixes 1639. asashour Add BrowserVersion: introduce .setHeaderNamesOrdered() to guide the order of the request HTTP headers. asashour Fix JavaScript: fix writing to a read-only property in the prototype. Fixes 1633. Thanks to Jake Cobb. asashour Add Firefox 31 ESR support added. Fixes 1636. rbri Update Upgrade Apache HttpClient to 4.3.5. rbri Fix JavaScript: HTMLStyleElement.getSheet() is supported in Chrome. asashour Fix Many minor fixes for implementation.hasFeature (retested with ff24, ff31 and Chrome added). rbri Fix JavaScript: document.createNSResolver() and .evaluate() are supported in Chrome. asashour Fix JavaScript: window.atob(), .btoa() and .getSelection() are supported in Chrome. asashour Fix JavaScript: CSSStyleDeclaration.getPropertyCSSValue() is supported in Chrome. asashour Fix Many minor fixes for the screen object (setters implemented, more testcases, Chrome support added). rbri Update ProxyAutoConfig package fixed (moved from com.gargoylesoftware.htmlunit.javascript to com.gargoylesoftware.htmlunit). There is still a deprecated class at the original location for backward compatibility. rbri Fix Anchor or form did not load a page if the target URL differs from the current URL and ends with "#". Fixes 1628. rbri Fix HtmlNoScript: expand empty tag. Fixes 1624. asashour Fix JavaScript: fix class name of unknown elements with hyphen in their tag name. asashour Update Upgrade commons-logging to 1.2. rbri Fix JavaScript: default value for XMLHttpRequest.open's async parameter is true. Fixes 1625. Thanks to Jake Cobb. mguillem Fix JavaScript: XMLHttpRequest: overrideMimeType() to handle charset (Chrome and FF). asashour Fix Window.external implementation fixed; the property is available in FF and Chrome also. Additionally we added stubs for the functions AddSearchProvider and IsSearchProviderInstalled. rbri Fix Missing event listener functions addEventListener, removeEventListener and dispatchEvent added to applicationCache. Fixes 1613. Thanks to Jake Cobb. rbri Fix Width and height of file inputs should be greater than zero. Fixes 1622. Thanks to Hartmut Arlt. rbri Fix JavaScript: XMLDocument.getElementById(): to return XML elements (Chrome). Fixes 1618. asashour Fix JavaScript: XMLHttpRequest: support .onload for Chrome. Fixes 1618. asashour Fix Methods setExpression and removeExpression are only available in IE8. rbri Fix Image downloading: try to download only if the src attribute is not empty. rbri Fix Unexpected POST parameters in case of malformed HTML. Fixes 1619. Thanks to Carsten Steul. rbri Fix JavaScript: ensure that values returned by __lookupG(S)etter__ are normal JavaScript objects. Fixed related Rhino warning messages on System.err. (FF) mguillem Add JavaScript: Image.complete support added. Fixes 1617. rbri Fix URISyntaxException thrown while trying to load valid URL (invalid percent sign escaping) Fixes 1587. Thanks to Hartmut Arlt. rbri Fix Improved processing of malformed html. Fixes 1610. Thanks to Carsten Steul. rbri Fix JavaScript: button.type result fixed. rbri Fix JavaScript: function.apply() to handle usual objects. Fixes 1615. asashour Add JavaScript: implement .style.length and indexed value. Fixes 1615. asashour Add JavaScript: .querySelector() is supported in Chrome. asashour Fix JavaScript: .addEventListener() to handle native EventListener objects. Fixes 1614. asashour Add WebClientOptions: add .get and .setMaxInMemory(). Fixes 219. asashour Add WebClientOptions: add .setSSLTrustStore(). Fixes 1611. Thanks to Carsten Steul. asashour Remove BrowserVersion: remove deprecated INTERNET_EXPLORER_9 and FIREFOX_17. asashour Remove KeyDataPair: remove deprecated .getContentType(). asashour Fix HttpWebConnection: Java 7: handle "handshake alert: unrecognized_name" with insecure SSL. Fixes 1612. asashour Update Upgrade Apache HttpComponents to 4.3.4. asashour Fix Fix EOFException when processing responses with broken gzip'ed content. Fixes 1609. rbri *** Release 2.15 - Jun 2, 2014 *** Type Changes By update Upgrade NekoHtml to 1.9.21. asashour fix Fix NPE when processing postMessage(). Fixes 1589. rbri fix JavaScript: document and element .querySelectorAll() is supported in Chrome. Fixes 1597. asashour fix Some changes of the SOCKS proxy settings are ignored for HTTPS. Fixes 1579. rbri fix Avoid exception if the content-length provided by the server is not correct. Fixes 1608. Thanks to Carsten Steul. rbri fix HtmlUnitRegExpProxy: better performance, as String.substring() implementation was changed in Java 7. asashour fix NoSuchElementException when parsing malformed HTML. Fixes 1605. Thanks to Carsten Steul. rbri update JavaScriptEngine: deprecate .shutdownJavaScriptExecutor(). asashour fix JavaScriptEngine: removes all postponed actions on webClient.closeAllWindows(); Fixes 1604. asashour fix JavaScript: handle RegExp constructed with 'undefined'. Fixes 1599. asashour add WebClientOptions: add .setSSLClientProtocols(), .setSSLClientCipherSuites() and .setSSLInsecureProtocol(). Fixes 1600. asashour fix ConcurrentModificationException in WebWindowImpl.destroyChildren(). Fixes 1602. rbri fix JavaScript: fix .offsetHeight for empty
. asashour fix HTML parsing: move illegal content found within a table before the table. Fixes 1598. mguillem add JavaScript: Node.textContent can be set in Chrome. asashour update JavaScript: ComputedCSSStyleDeclaration.getPropertyValue is supported in Chrome. asashour update KeyDataPair: marked as internal API. asashour fix HttpWebConnection: set socket timeout also (regression in 2.14). Fixes 1593. rbri fix HtmlButton.getAttribute("type") now returns the correct value if no type was specified. rbri fix JavaScript: Function evaluate now returns the correct result when called with XPathResult.BOOLEAN_TYPE as result type. rbri fix JavaScript: table.insertRow was broken when trying to insert a row directly before the last one. rbri add JavaScript: Window.name implementation fixed for IE11. Thanks to Frank Danek. rbri add JavaScript: add support for the bgColor attribute on thead and tfoot element. rbri update CookieManager: deprecate getCookies(URL). rbri fix Cookies: Different path interpretation done by IE11 fixed. rbri fix JavaScript: Some event definitions ignored when simulating IE11. rbri fix HashMap corruption (leads to an endless loop) because of concurrent access. rbri fix Cookies: Some fixes for the parsing of the expires date in IE11. rbri fix HttpWebConnection: socket reuse (regression in 2.14). Fixes 1577. asashour fix JavaScript: allow use of "in" operator with indexes for StaticNodeList and Attr. Fixes 1559. mguillem fix File upload content type shouldn't contain charset. Fixes 1585. Thanks to Jakub Kotasek. rbri fix JavaScript: setting outerHTML now works also for detached elements. Fixes 1584. rbri add JavaScript: window.navigate(url) for IE browsers added. rbri fix Optimized image data handling; the finalizer needed for the ImageInputStream no longer stops the image node itself from being gc'ed. Fixes 1583. Thanks to Carsten Steul. rbri update INCOMPATIBLE CHANGE: All public methods of CookieManager are taking care of the isCookiesEnabled() state. Subclasses have to do the same. This was done as part of the migration to the new HttpClient api. rbri fix HTML parsing: unknown closing tags can't close any other unknown tags. Fixes 1562. mguillem add JavaScript: type property now supported by ul and ol tag. rbri fix JavaScript: Fix handling of coordinate parameters when clicking on an image input. Fixes 1581. rbri fix JavaScript: fix setting value to toString() function. asashour update Upgrade Apache commons-lang to 3.3.2. asashour fix JavaScript: Wrong charCode reported by the onKeyPress keyboard event for the space key. Fixes 1578. rbri fix JavaScript: Fix our implementation of innerText for table elements. Fixes 1580. rbri update Upgrade Apache HttpComponents to 4.3.3. asashour fix JavaScript: The javascript inside the href attrib of an anchor executes in the context of the anchors target. *** Release 2.14 - Feb 17, 2014 *** Type Changes By update Upgrade NekoHtml to 1.9.20. mguillem fix Sanitize filenames constructed from URL's. Fixes 1574. rbri fix JavaScript: Use the correct url for checking if the origin header has to be added to a XMLHttpRequest. Fixes 1575. rbri fix JavaScript: Property contentDocument (Frame/iFrame) is available in IE8 also. rbri fix GAEJavaScriptExecutor is public again but marked as part of the internal api. Fixes 1503. rbri fix JavaScript: Fix encoding of innerHTML result for script content. Fixes 1509. rbri fix JavaScript: handle 'arguments' as a parameter. Fixes 1572. asashour fix JavaScript: Internal cleanup and some fixes for the innerHTML/outerHTML/insertAdjacentHTML. Fix appendChild/insertBefore/replaceChild also. Additionally trigger the correct notifications to inform about dom changes. Thanks to Frank Danek. rbri fix HtmlParser fixed for pages with scripts outside the html tag. rbri add HtmlFileInput: ability to upload multiple files using setValueAttribute(String []). Fixes 215. asashour fix HTMLObjectElement: classid could be affected by webClient.setActiveXObjectMap(). asashour fix Load iframe content when iframe is child of a node added by setting innerHTML. Fixes 1544. rbri fix JavaScript: body.background property handling fixed for FF. rbri fix JavaScript: Missing enctype property support added to forms. rbri fix JavaScript: Attr firstChild/lastChild fixed when no child at all (FF). rbri fix JavaScript: CORS handling is different in IE11 for the 'about:' protocol. Thanks to Frank Danek. rbri fix JavaScript: Window many property fixes for IE11 and Chrome. Thanks to Frank Danek. rbri fix JavaScript: CSSFontFace rule cssText property fixed for IE11. Thanks to Frank Danek. rbri fix JavaScript: style zIndex is of type integer in IE11. Thanks to Frank Danek. rbri fix JavaScript: DOMParser.parseFromString() type checking fixed. Thanks to Frank Danek. rbri fix JavaScript: Function HTMLelement.insertAdjacentText added (IE, Chrome). Thanks to Frank Danek. rbri update BrowserVersion: deprecate INTERNET_EXPLORER_8 and INTERNET_EXPLORER_9. asashour fix JavaScript: improved width and height processing for html elements when simulating FF. rbri fix Fix IllegalArgumentException occuring for entities with invalid UTF16 code. Fixes 1564. mguillem update Upgrade Apache HttpClient to 4.3.2. asashour fix CSS: Parsing of the :not pseudo class fixed, only simple selectors are allowed. This was a problem with CSSParser and is fixed in version 0.9.13. rbri add JavaScript: ClientRect: add 'width' and 'height' properties. Fixes 1570. asashour fix CSSStyleDeclaration: fix serialization of StyleElement. Fixes 1569. asashour fix JavaScript: enumerating ordered numbers first (Chrome, FF and IE11). asashour fix Do not change the active element when the content of an iframe was changed. Fixes 1568. rbri fix JavaScript: conversion of anchor element into strings fixed. rbri fix JavaScript: hashChangeEvent processing fixed. Thanks to Frank Danek. rbri add JavaScript: New event class PointerEvent and BeforeUnloadEvent (required for IE11). Thanks to Frank Danek. rbri update CSS: cssparser updated to 0.9.12. rbri fix JavaScript: window.getComputedStyle and CSSStyleDeclaration.getPropertyValue() are supported starting IE9. Fixes 1566. asashour update BrowserVersion: deprecate FIREFOX_17, FIREFOX_24 is our preferred Firefox for the next months. rbri fix JavaScript: Document.inputEncoding and Document.characterSet are doing some kind of normalization on the encoding string starting with FF24. rbri update Upgrade Apache commons-lang to 3.2.1. rbri fix JavaScript: Window.opener is settable from javascript (FF24). rbri fix JavaScript: Node.attributes is no longer supported (since FF22). rbri fix JavaScript: XMLHttpRequest event processing fixed for FF24. rbri fix Return value fixed for element.height and element.width when element is not attached to the page. rbri add JavaScript: String.contains() added for FF18 and later. rbri fix Return value fixed for element.height and element.width when element is not attached to the page. rbri fix Element.currentStyle returns null for elements not attached to the page. rbri update Upgrade commons-codec to 1.9. rbri fix Some more tests converted into WebDriverTestCase. Thanks to Frank Danek. rbri fix Improved HTML parsing to be more compatible with real browsers. Thanks to Frank Danek. rbri fix JavaScript: Processing of events for checkbox, radiobutton and select fixed. Thanks to Frank Danek. rbri fix JavaScript: namespaceURI returns the correct value for html elements. Thanks to Frank Danek. rbri fix JavaScript: fix parseInt() when the value has a leading 0. Fixes 1563. asashour add JavaScript: node and window.addEventListener() and .removeEventListener() are supported starting IE 9. Fixes 1536. asashour fix JavaScript: XMLDocument.firstChild() is now enabled to support more nodes at the root level like ProcessingInstruction, Comment. Thanks to Frank Danek. rbri fix JavaScript: DomCharacterData.deleteData no longer wipes the string when called with an invalid offset. Also the error handling is fixed. Thanks to Frank Danek. rbri fix Use the same accept headers as browsers do. Fixes 1245. rbri fix Possible dead lock in CSSStyleDeclaration fixed. Fixes 1530. rbri fix JavaScript: Setting the value property of a select element does not trigger the onfocus event handler. Fixes 1558. rbri fix JavaScript: Fixed enctype form property default value. Fixes 1560. rbri fix JavaScript: location.hash returns '#' in ie mode if the location url ends with '#' (e.g. http://localhost/something/#). rbri fix CSS: correct behavior of setting a style value to null. asashour fix WebClient: .closeAllWindows() to delete all temporary files. asashour add JavaScript: add missing MessageEvent properties. asashour fix JavaScript: fix window.postMessage() to verify protocol, port and hostname. asashour fix JavaScript: XMLHttpRequest CORS handling fixed, some new tests added and implementation fixed. rbri fix JavaScript: Simplified/fixed implementation of the onReadyStateChange handler call. rbri fix JavaScript: XMLHttpRequest status and statusText throws an exception in IE8 depending on the state of the request. rbri fix JavaScript: XMLHttpRequest property 'withCredentials' is not setable in sync mode (browsers specific). rbri fix JavaScript: XMLHttpRequest property 'withCredentials' is not available in IE8. rbri fix JavaScript: element.setAttributeNode() applies to XML as well. Fixes 1553. asashour fix JavaScript: HTMLElement.insertAdjacentHTML() is available in FF since version 8. rbri add JavaScript: Embed now supports the width and height property. rbri fix JavaScript: send the correct Referer header when changing the location property. Fixes 1551. rbri fix SSL: use default algorithm for fetching the KeyManagerFactory. asashour remove BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 and INTERNET_EXPLORER_7. asashour remove HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), and remove UrlUtils.encodeUrl(). asashour *** Release 2.13 - Oct 11, 2013 *** Type Changes By update HtmlImage: close imageReader in finalize(). Fixes 1541. asashour update Upgrade NekoHtml to 1.9.19. mguillem update CSS: cssparser updated to 0.9.11. rbri fix Fixed wrong scripting scope assignment when handling attachments. mguillem add JavaScript: TextRange: add getBookmark() and moveToBookmark(). Fixes 1499. asashour fix JavaScript: .outerHTML don't check for correct tag closing in FF mode. rbri fix IEConditionalCompilationScriptPreProcessor fix when evaluated to false. Fixes 1502. asashour add JavaScript: add SVGSVGElement.createSVGRect(). Fixes 1538. asashour fix JavaScript: .innerHTML to correctly process nested SVG elements. Fixes 1548. asashour fix Date.toUTCString and Date.toGMTString now returns the correct format in IE mode. rbri fix Date.toLocaleTimeString fixed in IE8 mode. rbri fix Some debug log output added if HTMLDocument.canAlreadyBeParsed(String) returns false. Fixes 1524. rbri update Deprecate KeyDataPair. asashour fix JavaScript: array.sort() to use Arrays.LegacyMergeSort with Java 7. Fixes 1511. asashour add JavaScript: support click method on any element for FF10+ too. mguillem add JavaScript: window.localStorage and .sessionStorage are supported in Chrome. Fixes 1539. asashour add JavaScript: node and window.addEventListener() and .removeEventListener() are supported in Chrome. Fixes 1545. asashour fix CSS: Support selectors with more than one pseudo element (like '#list li:not(#item_1):not(#item_3)'). This was a problem with CSSParser and is fixed in version 0.9.11. rbri fix JavaScript: HTMLStyleElement.type is writable. asashour fix JavaScript: Missing setter for element.outerHTML in FF17 fixed. rbri update Upgrade Apache HttpClient to 4.3.1. asashour update KeyDataPair: deprecate getContentType(). asashour fix JavaScript: fixed ClassCastException on TypedArray creation with start offset specified. Fixes 1542. mguillem add Correct processing of the target window for anchors with hash-only href attribute. Fixes 1537. rbri add JavaScript: added support for the 'type' and 'media' property of style elements. rbri fix WebClient.getTopLevelWindows() now returns a snapshot of the list of top level windows to avoid ConcurrentModificationExceptions while using this list. Fixes 1534. rbri fix In case the server reports an error via HTTP error code, the current page content was not replaced with the content of that error page if the error was the result of a form submit or an anchor click. rbri fix JavaScript: added (simple) support for window.postMessage. Fixes 1481. mguillem fix XMLHttpRequest open(..) methods failed when called with null for userid/password. Fixes 1532. Thanks to Sebastian Cato. rbri fix XMLHttpRequest open(..) methods delivers wrong credentials. Fixes 1531. Thanks to Sebastian Cato. rbri fix attr.baseURI not supported for FF. rbri fix node.baseName not supported for XML nodes (IE). Fixes 1525. rbri fix node.text is unsupported for text nodes in XML documents. Fixes 1523. Thanks to Chuck Dumont. rbri fix XPathEvaluator.evaluate() ignores namespace resolver. Fixes 1528. Thanks to Chuck Dumont. rbri fix XPathResult types STRING_TYPE, NUMBER_TYPE and BOOLEAN_TYPE don't work. Fixes 1527. Thanks to Chuck Dumont. rbri fix Method document.createStyleSheet is more compatible with the IE; now the associated link node is also created and inserted at the right place in the header. The new link node is the ownerNode of the stylesheet. Fixes 1520. rbri fix Using a wrong index when addressing an StyleSheetList always throws an Exception in IE. rbri fix Fix the way we search for some java methods when creating a XML document from ActiveXObject. This should work with all JavaVMs now. Fixes 1521. rbri fix Improved namespace support for XPath expressions. Fixes 1519, 1522. Thanks to Chuck Dumont. rbri update Upgrade Apache HttpClient to 4.2.5. rbri fix Support for the label property added to the optgroup element. rbri update Ensure that onchange event isn't called at focus lost after usage of HtmlInput.setValueAttribute. Fixes 1518. mguillem update JavaScript: add support for XPathEvaluator (FF & Chrome). Fixes 1516. mguillem fix The display property now returns the correct default value for all HTML tags. rbri fix Respect the media type when processing the import rules from a CSS style sheet. Fixes 1515. Thanks to Guy Burton. rbri fix JavaScript: add basic support for window.navigator.security (FF only). mguillem fix Make the handling of empty responses more error proof. Fixes 1510. rbri fix Textarea cols() and rows() property processing fixed. rbri fix Basefont support removed from Firefox after 3.6. rbri fix Adjust the window.outherHeight for the newer FF versions. rbri fix Use the correct frame/iframe for a given target if more than one exists for the given name. Fixes 1488. rbri fix The value of input controls changes when the defaultValue was changed in IE8ff. rbri fix The default value of input-file is no longer empty in IE8ff. rbri fix Checked state of radio buttons and checkboxes changes when setting defaultChecked in IE8. rbri update Upgrade commons-codec to 1.8. rbri fix JavaScript: fix the mousedown/mouseup events triggered when clicking on an option. rbri fix JavaScript: starting with IE8 the radio button checked state is reseted to false when adding to page. rbri fix JavaScript: load the source of a dynamically created HTML(I)FrameElement first when it is added to the DOM. mguillem fix JavaScript: IE 9 supports String.trim(). Fixes 1501. rbri update Upgrade commons-logging to 1.1.2. rbri fix Proxy configuration now respects the bypass host also after the proxy was used for another host before. Fixes 1486. Thanks to John J Murdoch. rbri fix JavaScript: image.width() and image.height() are returning now the correct image size. Fixes 1476. rbri fix JavaScript: DOMTokenList now works like in FF (different from spec). Some NPE exceptions are fixed, separator chars are fixed, and we are able to create an attribute if needed. rbri fix JavaScript: Removing frame tag removes the associated FrameWindow also. Fixes 1497. rbri fix HtmlPage.getElementById: always return the first element in document order (and not the first parsed one). mguillem fix DomNode.querySelectorAll: return nodes matched by many selectors only once. mguillem fix JavaScript: JS click() method triggers onchange handler on checkbox and radio button. mguillem fix DomNode.removeAllChildren should not detach nested children from their parent node. Fixes 1494. mguillem update WebRequest: deprecate constructor (WebRequest, URL). rbri fix JavaScript: Attribute.expando now returns the correct value instead of the so far hard coded true (IE only). Fixes 1493. Thanks to Barry Pitman. rbri remove WebClient: remove deprecated setPrintContentOnFailingStatusCode(), getPrintContentOnFailingStatusCode(), setThrowExceptionOnFailingStatusCode(), isThrowExceptionOnFailingStatusCode(), setJavaScriptEnabled(), isJavaScriptEnabled(), setCssEnabled(), isCssEnabled(), setAppletEnabled(), isAppletEnabled(), setPopupBlockerEnabled(), isPopupBlockerEnabled(), getHomePage(), setHomePage(), getProxyConfig(), setProxyConfig(), setRedirectEnabled(), isRedirectEnabled(), setUseInsecureSSL(), setActiveXNative(), isActiveXNative(), getTimeout(), setTimeout(), isThrowExceptionOnScriptError(), setThrowExceptionOnScriptError() and setSSLClientCertificate(). asashour remove Remove deprecated BaseFrame, Htmlpage.getElementByAccessKey(), HtmlPage.getElementsByAccessKey(). asashour *** Release 2.12 - Mar 6, 2013 *** Type Changes By update BrowserVersion: support FF17, deprecate FF3.6. mguillem fix JavaScript: add support for window.onchange handler (FF10+ and Chrome). Fixes 1484. Thanks to Hartmut Arlt. mguillem fix Fixed synchronization problem causing a task triggered by setTimeout to be executed to early, before event handlers. mguillem fix CookieManager: changed getCookies to return a copy of the current set of cookies to avoid ConcurrentModificationException. mguillem fix JavaScript: add empty implementations of CanvasRenderingContext2D methods createImageData, createPattern, createRadialGradient, fillText, getImageData, getLineData, isPointInPath, measureText, putImageData, rect, rotate, setTransform, strokeText, and transform (FF). mguillem fix Support for CSS pseudo selector ':target' added. rbri add JavaScript: add DocumentFragment.querySelectorAll()/DocumentFragment.querySelector(). rbri fix JavaScript: move method contains to Node, throw runtime exception on invalid argument. Fixes 1480. mguillem fix Method innerHTML does not encode entities for style tags. rbri add Initial support for HtmlMeter (FF 17). mguillem fix JavaScript: fixed exception occurring while testing window or document == "some string". Fixes 1479. mguillem fix Support for CSS pseudo selector ':focus' added. Fixes 1478. rbri fix When simulating IE, the initial focus for a page is on the html element. rbri fix JavaScript: fixed hanging problem (infinite loop) after Object function was called with a window as parameter. mguillem fix JavaScript: determine default path for cookies set with document.cookie from current URL. Fixes 1458. mguillem fix JavaScript: place document before window in scope chain for event handlers defined in HTML attributes. Fixes 898. mguillem add JavaScript: added basic support for SVGAngle and SVGMatrix. mguillem fix JavaScript: HTMLDocument.createElementNS can create SVG elements. mguillem add JavaScript: add support for SVGSVGElement's style property and basic support for methods createSVGMatrix and getScreenCTM. mguillem fix JavaScript: add support for CanvasRenderingContext2D.quadraticCurveTo (FF). mguillem fix JavaScript: execute onload handler of pages loaded in a frame, replacing a previous content. Fixes 1443. mguillem update Upgrade Apache HttpClient to 4.2.3. rbri fix JavaScript: elements nested within an element with "display: none" have offsetHeight = offsetWidth = 0. mguillem fix JavaScript: fixed wrong trigger of focus event in special cases when field loses focus. mguillem fix JavaScript: ignore invalid indexes for History.go. mguillem fix Some more elements to close "p": address, center, dd, dir, dl, dt, fieldset, listing, li, menu, ol, pre, ul and xmp. asashour update Set max number of simultaneous connections per server to 6. mguillem fix Handle pages with "application/javascript" content type as JavaScriptPage. Fixes 1471. asashour add CSS: support Selectors Level 3. asashour update JavaScript: fix document/element . querySelectorAll()/querySelector() (IE8). asashour add JavaScript: add document.documentMode (IE). asashour fix Fix URL handling of local files in Windows, if they have folders starting with dot. asashour add JavaScript: add document.implementation.createDocument for Chrome. asashour update UrlUtils: deprecate encodeUrl(URL, boolean). asashour fix Fix the encoding of clicked links to match the enclosing page (FF). Fixes 1402. asashour update Upper-case the charset detected from "meta" tag. asashour update JavaScript: adjust availability of window.console (Firefox 4+, IE9+ and Chrome). mguillem fix Fixed typo in method names of com.gargoylesoftware.htmlunit.WebConsole.Formatter. mguillem add JavaScript: add document.charset, .characterSet, .defaultCharset and .inputEncoding. asashour fix CSS: fix DirectAdjacentSelector (E + F). asashour fix JavaScript: fix the value of "(i in x)" for NodeList, HTMLCollection and CSSRuleList. Fixes 1456. asashour update HtmlElement: deprecate getElementById() and hasHtmlElementWithId(). asashour update BrowserVersion: deprecate INTERNET_EXPLORER_6, INTERNET_EXPLORER_7, FIREFOX_10, CHROME_16, and make INTERNET_EXPLORER_8 the default one. Add INTERNET_EXPLORER_9, FIREFOX_17 and CHROME. asashour fix JavaScript: fix Date.toLocaleDateString() and .toLocaleTimeString(). Fixes 1467. asashour add Add BrowserVersion.clone(). mguillem fix Fix a potential ConcurrentModificationException, on calling WebClient.getWebWindows(). asashour fix WebClient.closeAllWindows() to delete all temporary created big files. Fixes 1344. asashour fix JavaScript: .outerHTML of "basefont", "col", "embed" and "wbr" have forbidden end tag (FF). asashour fix Escape "%%" in query string to avoid IllegalArgumentException. mguillem add JavaScript: initial support for HTMLBGSoundElement (IE). asashour fix JavaScript: HTMLElement.outerHTML use lower case for unknown, "spacer" and "multicol" elements (IE). asashour fix Fix URL manipulation (UrlUtils) for file URLs containing drive letter. rbri fix JavaScript: fix handling relations of document type comment with element (IE). asashour fix JavaScript: properties of Array.prototype should be defined in standards mode (IE). asashour fix JavaScript: correctly process null function handlers. asashour fix JavaScript: correct select.value after enclosing form.reset(). asashour fix JavaScript: XML: element.removeAttribute() is case-sensitive. asashour fix Correctly handle local file URL if it is in a separate driver (Windows). Fixes 1464. asashour fix JavaScript: fix the return value of element.getAttribute() in standards mode (IE). asashour fix JavaScript: element.set/getAttribute() should fix the name (e.g. "className") only in quirks mode (IE). asashour fix Cookies: use 1970 as two digits year start for the expiration date. mguillem fix Cookies: accept more non standard date formats for the expiration date. mguillem fix Properly handle spaces after elements: "abbr", "acronym", "basefont", "bdo", "big", "blink", "cite", "code", "del", "dfn", "em", "ins", "kbd", "label", "map", "nobr", "q", "s", "samp", "small", "strike", "sub", "sup", "tt" and "var". Fixes 1463. asashour fix JavaScript: element.outerHTML should throw an error if the provided value closes the parent. Fixes 1452. asashour fix JavaScript: element.outerHTML should not print end tag if it is forbidden. asashour Change default RefreshHander to a NiceRefreshHandler(2). Fixes 1126. mguillem fix Support Internationalized Domain Name (IDN). Fixes 1459. asashour Change default network timeout from infinite wait to 90 seconds. mguillem fix JavaScript: function name referenced before its declaration should be visible (IE). asashour fix JavaScript: function name referenced before its declaration should throw an exception (FF). asashour fix JavaScript: prevent infinite loop during adding a DomNode to itself. Fixes 1253. asashour fix JavaScript: don't enumerate function properties "arguments" and "caller". mguillem fix JavaScript: handle definition of "function object.property() {}" (IE). asashour add JavaScript: implement property HTMLElement.dataset (FF10). asashour remove JavaScript: remove "constructor" property of host objects (IE). Fixes 1420. asashour remove Cookie: remove deprecated (String name, String value) constructor. asashour *** Release 2.11 - Nov 6, 2012 *** Type Changes By update Upgrade NekoHtml to 1.9.17. mguillem fix JavaScript: remove unneeded global properties ("java", "Packages" and "getClass") (FF). asashour add JavaScript: implement "constructor" property of all host objects (FF). Fixes 1420. asashour fix Properly handle spaces after "strong", "b", "i" and "u" elements. Fixes 1451. asashour fix JavaScript: node.outerHtml not allowed for body and head nodes. rbri fix JavaScript: "this === window" should be true. asashour update CSS: cssparser updated to 0.9.8. rbri fix Avoid double form submission when the onclick handler of a submit button calls form.submit() and the submission is answered by a redirect. mguillem add JavaScript: implement window.dispatchEvent() (FF only). Fixes 1439. asashour fix JavaScript: Some more fixes for correct calling of the Image onload handler. Fixes 1339. rbri fix In some cases the javascript execution context was overwritten. This produces side effects like the one in this issue. Fixes 1433. rbri update Handle NoHttpResponseException like an HTTP error and ignore it when option throwExceptionOnFailingStatusCode is set to true. mguillem fix Handle 'deflate' Content-Encoding with content compressed using GZip compatible mode. mguillem fix JavaScript: setting iframe.src to 'about:blank' should not load the page. Fixes 1441. asashour fix JavaScript: iframe.src should point to the related page. Fixes 1441. asashour add HtmlEmbed: add saveAs(File). Fixes 147. asashour add JavaScript: XMLHttpRequest: support Cross-Origin Resource Sharing (CORS). Fixes 1356. asashour fix JavaScript: Image onload not called after src change (using setAttribute('src', ) instead of src property). Fixes 1435. rbri update DomNode: make .querySelectorAll() and .querySelector() public. Fixes 141. asashour fix JavaScript: 'focus' and 'blur' event is triggered for 'document' descendants (FF and Chrome). Fixes 1314. asashour fix Cookies: fix year with two digits. asashour fix IE Conditional comments: handle "downlevel revealed" conditional cases. Fixes 1436. asashour fix JavaScript: allow re-declaration of undefined, NaN and Infinity. Fixes 1399. mguillem fix JavaScript: allow assignment to undefined, NaN and Infinity (FF3.6 and IE). mguillem add JavaScript: implement Typed Arrays, namely ArrayBuffer, DataView, Float32Array, Float64Array, Int16Array, Int32Array, Int8Array, Uint16Array, Uint32Array, Uint8Array and Uint8ClampedArray. Fixes 1429. asashour fix JavaScript: document.domain now allows the change from localhost to a different domain. Fixes 1340. rbri fix JavaScript: exception.stack should not be defined in IE. asashour add JavaScript: WebWindow: add getters and setters for window width and height. asashour add JavaScript: add support for HTMLMediaElement.canPlayType(). asashour fix Fixed NPE in HtmlPage.getTitleText() and WebClient.closeAllWindows() occurring when document.documentElement has been removed. Fixes 1154. mguillem fix JavaScript: add support for CSSFontFaceRule (Firefox). mguillem fix JavaScript: ensure that property "argument" of a function is null outside of it's scope. mguillem fix JavaScript: add support for getAttributeNS, hasAttributeNS, removeAttributeNS, and setAttributeNS on Element (Firefox). Fixes 154. Thanks to lexicore. rbri fix Missing synchronization in StorageImpl fixed. Fixes 1437. rbri fix NPE fix for Range.htmlText. rbri fix NPE fix for Range.parentElement(). rbri fix Empty responses marked as GZip encoded no longer throwing an error. Fixes 1434. rbri fix UrlUtils: fix an infinite loop when base URL is relative. Fixes 1431. asashour fix JavaScript: ClassCastException in Window.jsxFunction_open() fixed. Fixes 1432. rbri fix Timeout configuration changes are now taken into account. mguillem update WebClient: deprecated setTimeout() and getTimeout(). Use webClient.getOptions() instead. mguillem fix JavaScript: HTMLTableElement.refresh is only available when simulating IE. rbri fix JavaScript: HTMLTableElement.moveRow, HTMLTableSectionElement.moveRow, Tfoot.moveRow, and THead.moveRow are only available when simulating IE. rbri update INCOMPATIBLE CHANGE: WebResponseDate.getInputStream(), BinaryPage.getInputStream(), UnexpectedPage.getInputStream(), WebResponse.getContentAsStream(), and WebResponseWrapper.getContentAsStream() are throwing an IOException now. rbri fix JavaScript: fixed namespace handling for nodes imported from an xml document via document.importNode(). Fixes 1427. rbri fix DebuggingWebConnection: fixed IOException occurring while working with gzip encoded JavaScript responses. mguillem update JavaScript: disabled (limited) JavaScript execution in HtmlPage instances that are not "active" anymore. mguillem fix JavaScript: improved verifications to avoid that background tasks continue to run when page has been unloaded. mguillem fix Google App Engine support: don't follow redirects automatically in UrlFetchWebConnection. Fixes 1425. mguillem add Add SOCKS proxy support for HTTPS. Fixes 1206. mguillem update HttpWebConnection: removed setUseInsecureSSL. Settings is now read from WebClientOptions. mguillem update INCOMPATIBLE CHANGE: The interface HTMLParserListener is enhanced to be able to handle the html source when parsing a snippet. asashour update WebClient: getWebConnection() and setWebConnection() are part of the public APIs. asashour fix JavaScript: remove customized "eval", and depend on core-js. Fixes 1130. asashour fix BackgroundJavaScriptFactory is now configurable. Fixes 208. rbri fix JavaScript: function.arguments can be read-only (Chrome). asashour add JavaScript: align property support added to heading elements rbri fix JavaScript: setting script.text re-executes the script (IE) (in IE mode). Fixes 1078. rbri fix JavaScript: fix various problems with re-execution of script Fixes 1416. rbri fix JavaScript: event handler functions should have a name. asashour add JavaScript: implement function.arguments, and correct Arguments default value. Fixes 1421. asashour update JavaScript: let event.type and .button, .clientX, .clientY to have setters. asashour fix JavaScript: fix cases when trying to set a read-only attribute. Fixes 1422. asashour add Add support for "Do Not Track" feature (FF10 only). asashour update WebClient: deprecate setJavaScriptEnabled(), isJavaScriptEnabled(), setThrowExceptionOnScriptError(), isThrowExceptionOnScriptError(), setThrowExceptionOnFailingStatusCode(), isThrowExceptionOnFailingStatusCode(), setCssEnabled(), isCssEnabled(), setAppletEnabled(), isAppletEnabled(), setPopupBlockerEnabled(), isPopupBlockerEnabled(), setRedirectEnabled(), isRedirectEnabled(), setUseInsecureSSL() and setSSLClientCertificate(), setHomePage(), getHomePage(), setPrintContentOnFailingStatusCode(), getPrintContentOnFailingStatusCode(), getProxyConfig(), getProxyConfig(), setActiveXNative(), isActiveXNative(). Use webClient.getOptions() instead. asashour add JavaScript: implement navigator.buildID, .oscpu, .vendor and .vendorSub. asashour fix JavaScript: fix document.bgColor, .fgColor, body.aLink, .bgColor, .link, .text and .vLink. asashour add JavaScript: implement document.getSelection(), .head, .alinkColor, .linkColor, .vlinkColor, and window.dump(). asashour add DOM: implement text.getWholeText(). asashour fix JavaScript: fix navigator.appMinorVersion, .cpuClass, .systemLanguage and .userLanguage values. asashour add Geolocation: primitive support (FF only). Fixes 1331. asashour add Implement WebConsole and JavaScript Console (FF only) Fixes 1397. Thanks to Andrea Martino. asashour add JavaScript: implement element.classList (FF only). asashour add JavaScript: add element.children (FF), it was implemented for only IE. asashour update JavaScript: separate NodeList from previously existing HTMLCollection. asashour add JavaScript: add node.attributes and element.baseURI. asashour fix JavaScript: incompatible objects with the respective BrowserVersion should be HTMLUnknownElement. asashour add Initial support for HtmlProgress (FF 10). asashour add JavaScript: implement document.scripts for FF 10 (in addition to already implemented IE). asashour add JavaScript: implement node.parentElement (FF 10). asashour add Initial SVG support. asashour update INCOMPATIBLE CHANGE: rename IElementFactory to ElementFactory, and change the return type of its methods from HtmlElement to DomElement. asashour fix HtmlPage: cloneNode() should clone the underlying ScriptObject. asashour add HtmlElement: support special keys for .type(int). asashour update BaseFrame: is now deprecated, please use BaseFrameElement instead. asashour fix BaseFrameElement: create a WebWindow for the new clone instance. Fixes 1195. asashour fix Cookies: enable cookies after being disabled, should work. Fixes 1235. asashour add DomElement: now implements ElementTraversal, with the corresponding JavaScript getters (FF only). Fixes 1141. asashour add JavaScript: implement more Range methods. Fixes 1209. Thanks to James Phillpotts. asashour fix JavaScript: document.getElementById() finds non-HTML elements. Fixes 1295. asashour update HtmlPage: deprecate .getElementByAccessKey(), use .getHtmlElementByAccessKey() instead. asashour update INCOMPATIBLE CHANGE: change the return type of HtmlPage.getElementById(), .getElementByName(), .getElementsByName(), .getElementsByTagName(), .getElementsByIdAndOrName() and HtmlElement.getChildElements() from HtmlElement to DomElement. asashour update Mandate Java 6 as a minimum requirement. asashour fix Delete temporary generated files on page.cleanUp(). Fixes 1344. Thanks to Nicolas Belisle. asashour fix JavaScript: DocType is handled as Comment (IE only). asashour update JavaScript: HTMLGenericElement instead of HTMLUnknownElement, and HTMLCommentElement instead of Comment (IE only). asashour fix JavaScript: object default value to contain the name, in strict mode (IE only). asashour fix JavaScript: Node should not define '.innerText'. asashour fix JavaScript: comments are elements, most properties implemented (IE8 only). asashour fix JavaScript: document.getElementById() should not search by name, with strict mode (IE8 only). asashour add JavaScript: initial WebSocket support. asashour remove Remove deprecated BrowserVersion.FIREFOX_3. asashour *** Release 2.10 - Jul 21, 2012 *** Type Changes By fix CSS: handling attributes which do not need explicit values, e.g. [disabled]. asashour fix Google App Engine support: allow frame loading. Fixes 1418. mguillem fix Cookie: null path is treated as "/" in .equals() and .hashCode() asashour update Upgrade Apache HttpClient to 4.2.1. rbri add JavaScript: window.onhashchange support added. Fixes 1410. asashour update DomNode: fix potential NPE in DomNode.DescendantElementsIterator. Fixes 1404. asashour add JavaScript: add window.mozInnerScreenX, .mozInnerScreenY and .mozPaintCount (FF only). Fixes 1410. asashour update WebRequest: add default value for "Accept-Encoding" HTTP header. asashour fix Fixed error processing when the onerror handler throws an error. Fixes 1406. Thanks to Hartmut Arlt. rbri update JavaScript: add DocumentFragment.createAttribute(), createComment(), createDocumentFragment(), createElement() and createTextNode() (IE only) Fixes 1408. asashour fix Some more style properties are now supported; IE8 simulation now supports the same set of properties like the real one. rbri fix Correct the formating of the opacity style value. Fixes 1405. rbri fix Correct the handling of unsupported style properties when simulating IE. rbri fix Truncate file names in HtmlPage.savePage and DebuggingWebConnection to avoid exception due to too long file names. mguillem fix JavaScript: querySelector(All) throws for invalid selectors. mguillem fix Java 7: fix SSLPeerUnverifiedException for valid certificates when WebClient.setUseInsecureSSL(true) is used. mguillem update Upgrade commons-codec to 1.6 rbri update Upgrade Apache HttpClient to 4.2. asashour add WebClient: add .setSSLClientCertificate() for client certificate authentication. Thanks to Martin Huber. asashour fix CSS: The ':disabled' and the ':enabled' selector now works for all HtmlElements implementing the DisabledElement interface. Now the selector also checks e.g. Button and Textarea elements. rbri fix JavaScript: handle out of bound moves for TextRange (IE only). Fixes 1357. Thanks to David Gileadi. mguillem fix Google App Engine support: added basic cookie support. Fixes 1335. Thanks to Pieter Herroelen. mguillem fix Fix XHR.onreadystatechange now supplies an event argument if simulating FF. Fixes 1365. rbri update Unauthorized response should be received only once, and subsequent requests should have the Authentication string. asashour update INCOMPATIBLE CHANGE: do not allow WebClient.addRequestHeader("Cookie", value) and Cookie must have a domain. asashour fix Fix default content encoding for XML files. Fixes 1311. rbri fix JavaScript: don't restrict XMLHttpRequest to same origin for FF 3.6 and upper. Fixes 1388. Thanks to James Phillpotts. mguillem update Upgrade CSS Parser to 0.9.7. asashour fix Fix missing support for different handling of self closing tags in HTML and XHTML. Fixes 1219. rbri fix Fixed cookie threading issue. Fixes 1388. Thanks to James Phillpotts. mguillem fix Fix a possible performance problem caused by a code fragment no longer needed after the update to HttpClient 4.1. Thanks to Gareth Doutch. rbri update Upgrade Apache commons-io to 2.2. rbri fix Check the onclick event for preventDefault/returnValue also when the handler produces no result. rbri fix Don't create a new Attr when setAttributeNode(Attr) is called. This fixes jQuery.attr for IE browsers. Fixes 1375. rbri fix HtmlElement attributes collection returns an empty attr for 'class' if simulating IE. rbri fix Ignore gzip encoding problems when downloading external css content. Fixes 1389. rbri fix Methods element.getElementsByTagName() and XMLDocument.getElementsByTagName() are now namespace aware. rbri fix Method element.querySelectorAll() now only selects descended nodes of the element. rbri update Upgrade Apache HttpClient to 4.1.3. rbri fix Call onload event for frames in the correct order. Fixes 925. rbri fix Implement some more fixes for handling of '!important' rules. Fixes 1386. rbri fix Avoid calling class.getPackage() because of broken class loader implementation in ColdFusion. Fixes 1385. rbri fix JavaScript: CSSStyleDeclaration.removeProperty is now available in FF mode. rbri fix Some not needed exception declarations are gone. Fixes 1380. rbri fix isDisplayed() has to return false for hidden form fields. Fixes 1376. Thanks to Hartmut Arlt. rbri fix Cookies: add support for Set-Cookie attribute httpOnly. Fixes 1374. mguillem fix JavaScript: fix strange return value 'net.sourceforge.htmlunit.corejs.javascript.UniqueTag.NOT_FOUND' of ComputedStyle.getPropertyValue. rbri fix JavaScript: make Element.getBoundingRect available when simulating FF too. mguillem fix If JavaScript is disabled, don't download the image even if an onload handler is defined. Fixes 1221. rbri fix JavaScript: document.forms(0) is not valid in FF. Fixes 985. rbri fix JavaScript: Initialization of the popup window misses some steps. Fixes 1134. rbri fix JavaScript: Remove also the node parents from style cache when changing a node, because some styles have an effect for the parent properties also (e.g. height, width). Fixes 1021. rbri fix JavaScript: script.text works correct now for script nodes with more than one child node. rbri fix JavaScript: possible ClassCastException fixed in JavaScriptExecutionJob. Additionally cleaned up the code a bit and some more details added to the error messages. Fixes 1354. Thanks to rmillet42. rbri fix JavaScript: StyleSheet insertRule/addRule and deleteRule/removeRule exception handling fixed. Now we reporting syntax errors back to javascript. rbri update CSS: cssparser updated to 0.9.7-SNAPSHOT. rbri update Upgrade Apache commons-lang to 3.1. rbri fix JavaScript: document.getElementsByClassNameNS("*", "html") now returns the HTML tag for a page. Fixes 1363. Thanks to Daniel Wagner-Hall. rbri fix JavaScript: concatenate all text nodes under a