Skip to content

build: Bump AngleSharp from 1.8.5 to 1.10.1 - #487

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/AngleSharp-1.10.1
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/AngleSharp-1.10.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 9, 2026

Copy link
Copy Markdown
Contributor

Updated AngleSharp from 1.8.5 to 1.10.1.

Release notes

Sourced from AngleSharp's releases.

1.10.1

Released on Saturday, November 7 2026.

What's Changed

  • Fixed module scripts of the parser (<script type="module">) running right away instead deferring
  • Fixed a script inserted without text not waiting for the text to be set before running
  • Improved the loader to dispose the responses of followed redirects (#​1409) @​michaelthyregod
  • Released 1.10.1 by @​FlorianRappl in Release 1.10.1 AngleSharp/AngleSharp#1411

Full Changelog: AngleSharp/AngleSharp@v1.10.0...v1.10.1

1.10.0

Released on Friday, November 6 2026.

What's Changed

  • Fixed addedNodes and removedNodes of a MutationRecord being null instead of an empty list
  • Fixed document.open throwing in a top-level browsing context or without a resource loader, stopping the event loop, and document.write after loading losing what was written: it is parsed on close or when the current task ends
  • Fixed a frame without src or srcdoc having no document and window, and it not firing load when inserted by a script
  • Fixed getElementsByClassName, getElementsByTagName, getElementsByTagNameNS and getElementsByName not being live, which made a loop like while (list.length) list[0].remove() run forever
  • Fixed previousNode of a TreeWalker never returning for a node with a previous sibling
  • Fixed the detail of a CustomEvent and the relatedTarget of a FocusEvent being lost when given to their constructors by script
  • Fixed ctrlKey, shiftKey, altKey and metaKey of a KeyboardEvent always being false, also for initKeyboardEvent and the wheel
  • Fixed the options of KeyboardEvent, MouseEvent and WheelEvent for script not taking ctrlKey and the like, code, buttons or relatedTarget
  • Fixed URLSearchParams keeping the leading ? of the string it is created from as part of the first name
  • Fixed ErrorEvent initialized with its details having no type, so that it never reached listeners of error
  • Fixed ErrorEvent.Message throwing without an error
  • Fixed the same listener being called repeatedly when added repeatedly for a type and capture; this includes += on the events of the DOM
  • Fixed a and area elements not having the stringifier of the DOM: ToString gives their href
  • Fixed the document of a frame getting lost when its download finished while the element was still being set up
  • Fixed contains of a node throwing for null
  • Fixed replaceWith of nodes only being known as replace
  • Fixed scripts running with IsScripting = false when the browsing context has a scripting service: such a document runs none of its scripts, not even those inserted later, so a custom parser with default options needs IsScripting = true to run scripts
  • Added CreateDocumentOptions.IsScriptingDisabled to create a document without scripting, as DOMParser requires
  • Added the options of addEventListener and removeEventListener: capture, once, passive and signal, where a signal is an IAbortSignal
  • Added CreateDocumentOptions.IsNavigationDisabled to create a document without it becoming the active document of its context or entering the session history, as DOMParser requires
  • Added the sandbox attribute of iframe applying to its browsing context (IBrowsingContext.Security), together with the flags of what is around it
  • Added isConnected of nodes and toggleAttribute of elements
  • Added custom elements: customElements of the window with define, get, getName, whenDefined and upgrade, as well as the :defined pseudo class; the scripts are run through ICustomElementHost, which can hold back the reactions until a call of a script returns; createElement with is and adoptedCallback included
  • Added support for ::selection pseudo element
  • Added X-Frame-Options and the frame-ancestors directive of Content-Security-Policy, against every document around a frame: a frame refusing to be shown gets no document
  • Added replaceChildren as an extension of IParentNode
  • Added entries, keys, values and forEach to URLSearchParams
  • Added IScriptValueCloner for keeping what script gives without its engine
  • Added getRootNode as an extension of INode
  • Added toJSON to DOMRect and DOMPoint
  • Added getAttributeNames, hasAttributes, insertAdjacentElement, insertAdjacentText and inert to elements, isSameNode to nodes and replace and value to DOMTokenList
  • Added PointerEvent, code and isComposing to KeyboardEvent, x and y to MouseEvent, cancelBubble and returnValue to Event
  • Added the constructor of EventTarget, which isn't abstract any more
  • Added scrollingElement, hidden, visibilityState and charset to documents
  • Added requestSubmit to forms, reportValidity to inputs, item to selects and decode, decoding, loading and referrerPolicy to images
  • Added SubmitEvent and requestSubmit validation, cancellation, and submitter reporting to forms
  • Added movementX and movementY to MouseEvent
  • Added handling of popover attribute (popover API)
  • Released 1.10.0 by @​FlorianRappl in Release 1.10.0 AngleSharp/AngleSharp#1407

New Contributors

Full Changelog: AngleSharp/AngleSharp@v1.9.1...v1.10.0

1.9.1

Released on Sunday, November 1 2026.

What's Changed

  • Improved performance of inserting a newly created node (AppendChild, InsertBefore, ...) into a deep tree (#​1401) @​michaelthyregod
  • Fixed classList.toggle(token, false) adding an absent token instead of removing it: the DOM's toggle is now DomTokenListExtensions.ToggleToken
  • Fixed exponential matching of nested :nth-child(… of …) selectors (#​1403) @​michaelthyregod
  • Improved handling of deeply nested selector functions (#​1402) @​michaelthyregod
  • Released 1.9.1 by @​FlorianRappl in Release 1.9.1 AngleSharp/AngleSharp#1404

Full Changelog: AngleSharp/AngleSharp@v1.9.0...v1.9.1

1.9.0

Released on Friday, October 30 2026.

What's Changed

  • Improved performance of TextContent, :contains(), GetElementById, GetElementsByName, GetElementsByClassName, GetElementsByTagName and Normalize, which also continue with an explicit stack below 128 levels instead of recursing (#​1389) @​michaelthyregod
  • Improved performance of IHtmlParser.ParseFragment and of inserting many nodes at once (Append, Prepend, ...): finding a template's host no longer scans the whole document, and removing a node's last child no longer scans its siblings
  • Improved performance of removing or inserting a node's first child, which no longer shifts all its siblings, so moving every child of a large node one by one (or replacing it via innerHTML) takes linear time; each node with children also allocates one object less
  • Improved quadratic parse time on hostile markup: elements and text foster-parented out of a table, a text run split by ignored end tags (x</q>x</q>...), and repeated html / body start tags piling up attributes; attribute name lookups on elements with many attributes no longer scan them
  • Improved performance of :has(): relative arguments only walk what they can reach (:has(> a) the descendants, :has(+ a) / :has(~ a) the following siblings) instead of the parent's whole subtree, the walk no longer allocates, and a :has() is tested after the rest of its compound and its ancestor chain, so rules such as .tree :has(.skeleton):hover only walk subtrees of hovered elements inside .tree
  • Fixed setInterval with a delay of 0 never yielding: every round completed synchronously and queued tasks until memory ran out; a negative delay of setTimeout or setInterval threw instead of counting as 0 (nested intervals now wait at least 4ms, as in browsers)
  • Fixed fragment parsing (ParseFragment, innerHTML) to break out of svg / math on HTML start tags such as p, b or div, which previously stayed foreign elements
  • Fixed CreateElement<TElement>() depending on reflection that trimming can break; IElement, IHtmlElement and ISvgElement now throw instead of returning an arbitrary element @​michaelthyregod
  • Fixed IHtmlParser.ParseFragment to keep an SVG or MathML context element in its namespace (and an annotation-xml context's encoding), instead of parsing as if the context were an HTML element of the same name, and to find a form ancestor of the context, so a nested <form> start tag is ignored as with innerHTML
  • Fixed inserting a detached template into its own contents not throwing a HierarchyRequestError
  • Fixed AwaitEventAsync removing its listener off-thread while a dispatch was still running (#​1397) @​michaelthyregod
  • Fixed event listener registration racing a dispatch on another thread @​michaelthyregod
  • Fixed IHtmlSelectElement.SelectedIndex gaining a setter; set Options.SelectedIndex to change the selection (#​1395) @​SimonCropp
  • Added AwaitEventAsync overload taking a CancellationToken @​michaelthyregod
  • Added trimming and Native AOT compatibility (IsAotCompatible) for the .NET 8 and .NET 10 targets (#​1398) @​michaelthyregod
  • Added trim-safe generic overloads of SubmitAsync, Attr, VirtualResponse.Headers and ToDictionary, which calls with an anonymous object bind to when recompiled; the Object overloads are now obsolete @​michaelthyregod
  • Released 1.9.0 by @​FlorianRappl in Release 1.9.0 AngleSharp/AngleSharp#1399

New Contributors

Full Changelog: AngleSharp/AngleSharp@v1.8.6...v1.9.0

1.8.6

Released on Sunday, October 25 2026

What's Changed

  • Removed temporary copies when serializing text that needs no HTML escaping @​perfloop-agent in Avoid rebuilding unescaped text during HTML serialization AngleSharp/AngleSharp#1388
  • Fixed INode.Equals (isEqualNode) to compare what the DOM spec compares: character data, doctype identifiers, processing instructions, element prefixes and attribute local names, no longer base URLs, without overflowing the stack on deep trees
  • Fixed IAttr.Equals comparing the prefix instead of the local name
  • Fixed IDocument.Import (importNode) returning nodes owned by the source document instead of the importing one
  • Fixed IDocument.Import accepting a shadow root instead of throwing NotSupported
  • Fixed INode.Clone and Import overflowing the stack on deeply nested trees and templates
  • Fixed a shallow clone of a <template> copying its contents
  • Fixed serializing < and > in attribute values unescaped, which let markup break out when reparsed under different rules (mutation XSS); they are now written as &lt; and &gt; like browsers do since the HTML spec change of May 2025
  • Fixed IRange.CopyContent and ExtractContent overflowing the stack on deeply nested ranges
  • Fixed Dispatch (dispatchEvent) returning true for a canceled event
  • Fixed MutationObserver not observing a document itself and throwing for one without a root element
  • Fixed MutationObserver.Disconnect keeping the previous targets for a later Connect
  • Fixed a failing navigation or submission from DoClick crashing the process; it is reported as a context error
  • Fixed URLSearchParams treating non-ASCII values as single bytes and leaving + undecoded @​NotAFlightRisk in Decode URLSearchParams as UTF-8 and treat + as a space AngleSharp/AngleSharp#1390
  • Added the IHtmlSelectElement.SelectedIndex setter
  • Added HtmlParserOptions.MaximumDepth (default 512) to stop deeply nested markup from building trees that overflow the stack
  • Added focusing of elements with a tabindex and blurring of any focused element
  • Added DoClickAsync to await a click's navigation or form submission
  • Added toggling the parent <details> when clicking its <summary>
  • Added declarative shadow DOM: the parser attaches <template shadowrootmode="open"> (or closed) as the shadow root of its parent
  • Added :host(<compound>), and selectors in a shadow tree reaching its host (only through :host)
  • Released 1.8.6 by @​FlorianRappl in Release 1.8.6 AngleSharp/AngleSharp#1391

New Contributors

Full Changelog: AngleSharp/AngleSharp@v1.8.5...v1.8.6

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: AngleSharp
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

🤖 Dependabot triage

🧑 Needs a human — infra-secret.

Both failures are unrelated to the AngleSharp version bump: the shell lint job flags pre-existing shellcheck SC2329 infos in .claude/hooks/coding-rules.sh (unrelated script, not touched by this PR), and the auto-merge workflow fails because the repository does not allow merge commits ("Merge method merge commits are not allowed on this repository"), which is a repository/workflow configuration issue. Neither is fixable by editing the dependency bump itself.

No dependency version was changed. See doc/handwritten/for-maintainers/workflows/dependabot-autofix.en.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants