happy-dom

A JavaScript implementation of a web browser without its graphical user interface

MIT License

Downloads
4.1M
Stars
3K
Committers
123

Bot releases are visible (Hide)

happy-dom - v15.6.0 Latest Release

Published by github-actions[bot] about 2 months ago

🎨 Features

  • Adds support for the selectors :focus and :focus-visible - By @capricorn86 in task #1515

👷‍♂️ Patch fixes

  • Changes wrong property name "inputmode" to "inputMode" in HTMLInputElement and HTMLTextAreaElement - By @capricorn86 in task #1487
happy-dom - v15.5.0

Published by github-actions[bot] about 2 months ago

🎨 Features

  • Adds support for Blob.stream - By @betterqualityassuranceuser in task #1500
happy-dom - v15.4.3

Published by github-actions[bot] about 2 months ago

👷‍♂️ Patch fixes

  • Adds support for supporting new lines and tabs as white-space character in CSS selectors - By @syi0808 in task #1414
happy-dom - v15.4.2

Published by github-actions[bot] about 2 months ago

👷‍♂️ Patch fixes

  • Typo in CORS rejection error message - By @rexxars in task #1485
happy-dom - v15.4.1

Published by github-actions[bot] about 2 months ago

👷‍♂️ Patch fixes

  • Throw error in FormData.append() when value parameter type is incorrect - By @btea in task #1484
happy-dom - v15.4.0

Published by github-actions[bot] about 2 months ago

🎨 Features

  • Adds support for the CSS font-face rule - By @m-shaka in task #1441
happy-dom - v15.3.2

Published by github-actions[bot] about 2 months ago

👷‍♂️ Patch fixes

  • Fixes the HTMLInputElement.indeterminate, so that it behaves correctly - By @malko in task #1439
happy-dom - v15.3.1

Published by github-actions[bot] about 2 months ago

👷‍♂️ Patch fixes

  • Fixes issue with matching a nested element using ">" as combinator in selectors (e.g. ".x > .x") in Element.matches() and Element.closest() - By @ocavue in task #1472
happy-dom - v15.3.0

Published by github-actions[bot] about 2 months ago

🎨 Features

  • Adds support for the static method AbortSignal.timeout() - By @ezzatron in task #1470
happy-dom - v15.2.0

Published by github-actions[bot] about 2 months ago

🎨 Features

  • Adds support for the static method AbortSignal.any() - By @ezzatron in task #1468
happy-dom - v15.1.0

Published by github-actions[bot] about 2 months ago

🎨 Features

  • Refactor internal logic related to injecting the Window context for classes that can be constructed using the "new" operator - By @capricorn86 in task #1332
  • Improves the way classes can access the Browser context internally - By @capricorn86 in task #1332
  • Refactor of the logic for EventTarget.dispatchEvent() to better handle the event phases "none", "capture", "atTarget" and "bubbling" - By @capricorn86 in task #1332
  • Adds support for HTMLInputElement.popoverTargetElement, HTMLInputElement.popoverTargetAction, HTMLButtonElement.popoverTargetElement and HTMLButtonElement.popoverTargetAction - By @capricorn86 in task #1332
  • Adds support for HTMLElement.popover - By @capricorn86 in task #1332
  • Adds support for PerformanceObserver, PerformanceEntry and PerformanceObserverEntryList - By @capricorn86 in task #1332

👷‍♂️ Patch fixes

  • Makes it possible for a polyfill to replace NodeList[Symbol.iterator]() with Array.prototype.values() - By @capricorn86 in task #1332
  • Adds logic for canceling any request to start new async tasks while the Window is closing (e.g. using setTimeout() or fetch()) - By @capricorn86 in task #1332
  • Fixes issues with errors exiting the browser when using the setting "errorCapture" set to "processLevel" - By @capricorn86 in task #1332
    • Refactor internal logic, so that thrown errors are instances of unique error classes assigned to the Window, which makes it possible for BrowserExceptionObserver to know which Window the error originated from
  • Changes Event.composedPath() to not return the Window object if the event type is "load", which is the same behaviour as the browser - By @capricorn86 in task #1332
    • This means that "load" events will not bubble up to the Window object
happy-dom - v15.0.0

Published by github-actions[bot] about 2 months ago

💣 Breaking Changes

  • Drops offical support for Node.js 16.x and 17.x - By @capricorn86 in task #1332
  • A lot of internal logic has been refactored, so if you rely on internal APIs, this release may break your code - By @capricorn86 in task #1332

🎨 Features

  • Adds support for HTMLAreaElement, HTMLBodyElement, HTMLQuoteElement, HTMLBRElement, HTMLTableCaptionElement, HTMLTableColElement, HTMLTableColElement, HTMLDataElement, HTMLDataListElement, HTMLModElement, HTMLDetailsElement, HTMLDivElement, HTMLDListElement, HTMLEmbedElement, HTMLFieldSetElement, HTMLHeadingElement, HTMLHeadElement, HTMLHRElement, HTMLHtmlElement, HTMLModElement, HTMLLegendElement, HTMLLIElement, HTMLMapElement, HTMLMenuElement, HTMLMeterElement, HTMLObjectElement, HTMLOListElement, HTMLOutputElement, HTMLParagraphElement, HTMLParamElement, HTMLPictureElement, HTMLPreElement, HTMLProgressElement, HTMLQuoteElement, HTMLSourceElement, HTMLSpanElement, HTMLTableElement, HTMLTableSectionElement, HTMLTableSectionElement, HTMLTitleElement, HTMLTableRowElement, HTMLTrackElement, HTMLUListElement - By @capricorn86 in task #1332
  • Adds basic support for HTMLCanvasElement - By @capricorn86 in task #1332
  • Adds support for History API - By @capricorn86 in task #1332
  • Adds cache to CSSStyleDeclaration, querySelector(), querySelectorAll(), getElementById(), getElementsByClassName(), getElementsByTagName(), getElementsByTagNameNS(), getElementsByClassName() - By @capricorn86 in task #1332
  • Uses proxy for NodeList, HTMLCollection, DOMTokenList, TextTrackList, HTMLFormElement, HTMLSelectElement
  • Makes HTMLCollection objects returned by getElementsByClassName(), getElementsByTagName(), getElementsByTagNameNS() and getElementsByClassName() live - By @capricorn86 in task #1332
  • Improves support for HTMLMediaElement - By @capricorn86 in task #1332
    • It now supports all methods and properties of the HTMLMediaElement interface
  • Adds support for MediaStream, MediaStreamTrack, RemotePlayback, TextTrack, TextTrackCue, TextTrackCueList, TextTrackList, VTTCue, VTTRegion, CanvasCaptureMediaStream, ImageBitmap, OffscreenCanvas - By @capricorn86 in task #1332
  • Adds basic support for IntersectionObserver - By @capricorn86 in task #1332
  • Uses Array for nodes and elements in the DOM-tree to leverage the JiT compiler better - By @capricorn86 in task #1332
  • Adds support for HTMLInputElement.list - By @capricorn86 in task #1332
  • Improves support for ShadowRoot (it now supports clonable, serializable and slotAssignment) - By @capricorn86 in task #1332
  • Adds support for Element.getHTML() - By @capricorn86 in task #1332
  • Improves performance for some pseudo query selectors - By @capricorn86 in task #1332
  • Improves support for HTMLSlotElement - By @capricorn86 in task #1332
    • It now supports assign(), assignedNodes(), assignedElements() and the slotchange event

👷‍♂️ Patch fixes

  • Attributes and text data wasn't escaped correctly in XMLSerializer (used by features such as innerHTML) - By @capricorn86 in task #1265
  • waitForNavigation() would not resolve when navigating to some URLs (e.g. "javascript" or "about:blank") - By @capricorn86 in task #1332
  • CSS rules for gradients where not parsed correctly - By @capricorn86 in task #1332
  • Updates to CSSStyleDeclaration would not trigger listeners for the "style" attribute - By @capricorn86 in task #1332
  • Attributes where added to elements after they were added to the DOM during parsing, causing problems for elements loading resources - By @capricorn86 in task #1332
  • Attr.cloneNode() would not clone internal values - By @capricorn86 in task #1332
  • Document.title included text data inside child elements, which it shouldn't - By @capricorn86 in task #1332
  • Event.preventDefault() shouldn't cancel the default behaviour if cancelable is not sent as an option in EventTarget.dispatchEvent() - By @capricorn86 in task #1332
  • Source attributes containing URLs would not be resolved correctly in some elements - By @capricorn86 in task #1332
  • Changes name on TimeRange to TimeRanges - By @capricorn86 in task #1332
  • Window.parent and Window.top would not be set correctly in some scenarios - By @capricorn86 in task #1332
happy-dom - v14.12.3

Published by github-actions[bot] 4 months ago

👷‍♂️ Patch fixes

  • Fixes bug related to Node.insertBefore() handling the scenario where the reference node equals the new node to be added incorrectly - By @juandiegombr in task #1429
happy-dom - v14.12.2

Published by github-actions[bot] 4 months ago

👷‍♂️ Patch fixes

  • Fixes problem related to the cookie container using the wrong path when caching cookies - By @matcic in task #1455
happy-dom - v14.12.1

Published by github-actions[bot] 4 months ago

👷‍♂️ Patch fixes

  • Fixes problem related to React click handler with preventDefault not preventing navigation - By @amitdahan in task #1464
happy-dom - v14.12.0

Published by github-actions[bot] 5 months ago

🎨 Features

  • Makes it possible to configure timer settings to improve performance - By @capricorn86 in task #1451
    • Read more about the new settings in the Wiki
  • Groups timers with a delay of 0 into one timer to improve performance and make waitUntilComplete() less likely to resolve too early - By @capricorn86 in task #1451
happy-dom - v14.11.4

Published by github-actions[bot] 5 months ago

👷‍♂️ Patch fixes

  • Fixes bug where waitUntilComplete() was resolved to early when many micro tasks are used - By @capricorn86 in task #1447
    • The patch in v14.11.3 didn't completely resolve the issue
happy-dom - v14.11.3

Published by github-actions[bot] 5 months ago

👷‍♂️ Patch fixes

  • Fixes bug where waitUntilComplete() was resolved to early when many micro tasks are used - By @capricorn86 in task #1447
happy-dom - v14.11.2

Published by github-actions[bot] 5 months ago

👷‍♂️ Patch fixes

  • Adds fix to update CSS rules in HTMLStyleElement sheet when editing the data of a child Text node - By @capricorn86 in task #1445
happy-dom - v14.11.1

Published by github-actions[bot] 5 months ago

👷‍♂️ Patch fixes

  • Adds a temporary fix where waitUntilComplete() will hook into promises returned by connectedCallback() until Happy DOM has support for waiting for dynamic imports - By @capricorn86 in task #1442
    • It is common do make dynamic imports in connectedCallback() of web components. As Happy DOM doesn't have support for dynamic imports in waitUntilComplete(), a temporary fix has been added to hook into promises returned by connectedCallback().