Skip to content

Bump AngleSharp from 1.8.3 to 1.9.1 - #58

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

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

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updated AngleSharp from 1.8.3 to 1.9.1.

Release notes

Sourced from AngleSharp's releases.

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

1.8.5

Released on Thursday, October 15 2026

What's Changed

  • Fixed select selectedness and option dirtiness across mutations, reset and cloning (#​1384) @​PrzemyslawKlys
  • Fixed fragment parsing losing the context document's quirks and limited-quirks modes (#​1382) @​PrzemyslawKlys
  • Fixed :lang() inheritance and namespace precedence in HTML and foreign content (#​1379) @​PrzemyslawKlys
  • Fixed URLSearchParams cutting values at a second = such as token=abc== (#​1385) @​NotAFlightRisk
  • Released 1.8.5 by @​FlorianRappl in Release 1.8.5 AngleSharp/AngleSharp#1386

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

1.8.4

Released on Wednesday, October 7 2026

What's Changed

  • Improved selection when parsing <select> (#​1364) @​PrzemyslawKlys
  • Updated constraint validation eligibility of fieldset and output elements (breaking behavior change) (#​1373) @​PrzemyslawKlys
  • Fixed change of <select> value (IsSelected) (#​1365) @​PrzemyslawKlys
  • Fixed indeterminate input state when cloning (#​1367) @​PrzemyslawKlys
  • Fixed <select> form submission including unselected options and options in disabled groups (#​1366) @​PrzemyslawKlys
  • Fixed option indexes inside option groups (#​1368) @​PrzemyslawKlys
  • Fixed selecting an option leaving other single-select options selected (#​1372) @​PrzemyslawKlys
  • Fixed validity checks for controls excluded from validation (#​1370) @​PrzemyslawKlys
  • Fixed template content document when adopting a subtree (#​1374) @​PrzemyslawKlys
  • Fixed checking a radio leaving other group members checked (#​1371) @​PrzemyslawKlys
  • Fixed parsed radio checkedness depending on attribute order @​PrzemyslawKlys
  • Fixed SVG annotation-xml elements being treated as HTML integration points @​NotAFlightRisk
  • Fixed required radio validation across group members (#​1369) @​PrzemyslawKlys
  • Released 1.8.4 by @​FlorianRappl in Release 1.8.4 AngleSharp/AngleSharp#1377

New Contributors

Full Changelog: AngleSharp/AngleSharp@v1.8.3...v1.8.4

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.9.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 4, 2026
@coderabbitai

coderabbitai Bot commented Nov 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fd33e8d7-3e9a-4f8f-8ed8-b539c07669c8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

This branch has not been deployed

No deployments
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