Skip to content

Bump AngleSharp and AngleSharp.Css - #1966

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/multi-65f7c4ec17
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/multi-65f7c4ec17

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updated AngleSharp from 1.8.6 to 1.9.0.

Release notes

Sourced from AngleSharp's releases.

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

Commits viewable in compare view.

Updated AngleSharp.Css from 1.2.0 to 1.3.2.

Release notes

Sourced from AngleSharp.Css's releases.

1.3.2

Released on Tuesday, November 3 2026.

What's Changed

  • Improved the parser with a nesting limit for values and conditions (MaxValueNestingDepth) (#​260) @​michaelthyregod
  • Improved indexing rules with deeply nested :is(), :where(), or :matches() (#​261) @​michaelthyregod
  • Improved reading inherited properties on deep trees (e.g. visibility in IsVisible and GetInnerText) (#​263) @​michaelthyregod
  • Fixed min(), max(), and clamp() being rejected in line widths such as border-width and the border shorthand
  • Fixed only and the names of unknown schemes being rejected in color-scheme
  • Fixed the default style of form controls to use the text color (not inherited, except for file inputs), font (13.3333px Arial, with a normal line height), padding, margins, and box-sizing of browsers, and added the one of progress and meter
  • Fixed font-size keywords being relative to the parent's size, instead of absolute sizes matching browsers (x-small 10px, small 13px, large 18px, ...)
  • Fixed min(), max() and clamp() being rejected in grid tracks and background-size/mask-size
  • Fixed computing a box-shadow or text-shadow without a color throwing
  • Added the default border of iframe and its frameborder attribute
  • Added the presentational hints cellspacing, cellpadding, border, align, valign, nowrap, background, hspace, vspace, size and face of fonts and rules, type of lists, and the margin attributes of the body
  • Added the quirks mode sheet of documents without a doctype (tables not inheriting font and alignment, the bottom margin of forms) and lengths without units and colors without a hash there
  • Added -webkit-center, -webkit-left and -webkit-right for text-align (used for <center>) and -webkit-baseline-middle for vertical-align
  • Released 1.3.2 by @​FlorianRappl in Release 1.3.2 AngleSharp/AngleSharp.Css#265

Full Changelog: AngleSharp/AngleSharp.Css@v1.3.1...v1.3.2

1.3.1

Released on Sunday, November 1 2026.

What's Changed

  • Improved the parser with a nesting limit for rules (MaxNestingDepth) (#​258) @​michaelthyregod
  • Updated to use a minimum of AngleSharp 1.9 (#​257) @​michaelthyregod
  • Added Render(element, parent) to the window, rendering the subtree of an element again below its parent's render node from an earlier render tree (e.g. after its inline style changed)
  • Added trimming and Native AOT compatibility (#​257) @​michaelthyregod
  • Added a trim-safe generic Css overload; the Object overload is obsolete (#​257) @​michaelthyregod
  • Released 1.3.1 by @​FlorianRappl in Release 1.3.1 AngleSharp/AngleSharp.Css#259

New Contributors

Full Changelog: AngleSharp/AngleSharp.Css@v1.3.0...v1.3.1

1.3.0

Released on Wednesday, October 28 2026.

What's Changed

  • Improved the render tree to inherit declarations from the parent's style instead of copying them to every element (e.g. thousands of custom properties on :root)
  • Improved merging declarations in the cascade, which was quadratic in the number of declarations
  • Improved blockifying (e.g. position: absolute or float) to not merge all inherited declarations into the element's computed style
  • Improved the cascade to also group rules by an attribute their subject requires (e.g. [data-color-mode]) and by the arguments of :is(), :where(), and :matches(), and to skip rules with an invalid selector
  • Improved substituting variables by reusing the parsed shorthand (e.g. border: var(--w) solid var(--c)) and the tokens of custom properties across elements
  • Improved matching ::before and ::after by grouping the rules targeting pseudo-elements by the id, class, or tag name of the element they belong to, instead of matching all of them against every element
  • Improved reading a property of a computed style that is neither declared nor inherited (e.g. border-bottom-width), which looked through the declarations of all ancestors, and of the shorthands containing it, only to discard what it found
  • Improved serializing lists of a single entry or two (e.g. one background layer), which needed no buffer
  • Improved evaluating media queries, which serialized and parsed the value of every feature (e.g. (min-width: 768px)) again for each style computation
  • Improved the cascade to leave out a style sheet linked again later (e.g. dev.to links each of its style sheets twice), which the later copy overrides anyway
  • Fixed a declaration starting with * (the IE7 hack *zoom: 1) being taken for a nested rule that swallowed the following declarations or the rest of the style sheet; it is dropped up to its semicolon
  • Fixed a background shorthand with a single position keyword followed by another value (e.g. background: url(i.svg) center no-repeat or center red) being dropped as invalid
  • Fixed forms having a vertical margin (1.12em), which only quirks mode gives them
  • Added CssParserOptions.IsNotResolvingRelativeUrls to prevent resolving the relative URLs in linked and imported style sheets
  • Added font-variant-east-asian (normal, jis78/jis83/jis90/jis04/simplified/traditional, full-width/proportional-width, ruby), which used to be dropped as an unknown property
  • Added innerWidth, innerHeight, and devicePixelRatio to the window, taken from the render device
  • Released 1.3.0 by @​FlorianRappl in Release 1.3.0 AngleSharp/AngleSharp.Css#256

Full Changelog: AngleSharp/AngleSharp.Css@v1.2.2...v1.3.0

1.2.2

Released on Sunday, October 25 2026.

What's Changed

  • Improved the cascade to only match the rules that can apply to an element (grouped by the id, class, or tag name of their subject)
  • Improved the render tree to skip computing ::before and ::after without a content declaration
  • Improved the lookup of property declarations
  • Fixed stack overflow for rem in the font-size of the root element (now refers to the initial font size)
  • Fixed media queries in the range syntax of Media Queries 4 ((width >= 600px), (400px < width <= 700px)), which never matched
  • Fixed media queries combined with or, nested conditions ((a) and ((b) or (c))), and not applying to the whole query
  • Fixed media queries with math functions as values ((width < calc(50rem + 2rem))), which were invalid
  • Fixed var() substitution separating tokens with comments where they could not merge (e.g. minmax(/**/15rem/**/,1fr)), which made grid track lists invalid
  • Fixed gap with a single value (e.g. gap: 8px or gap: var(--gap)) not setting column-gap
  • Fixed flow-relative properties (e.g. padding-inline, margin-inline-end, inset-inline-start, inline-size) not applying to the physical sides; they are now mapped according to writing-mode and direction, sharing one cascade with the physical properties
  • Fixed orientation media feature to follow the viewport instead of the device
  • Fixed matchMedia throwing for an invalid query instead of evaluating it as not all
  • Fixed the pseudo-elements of CSS 2 written with a single colon (e.g. li:after) not applying to the pseudo-element
  • Fixed pseudo-classes before a pseudo-element (e.g. li:first-child::after) being matched against the pseudo-element instead of its originating element
  • Fixed the background shorthand not accepting currentcolor as its color
  • Fixed aspect-ratio not accepting a single number (e.g. aspect-ratio: 1.8, meaning 1.8 / 1)
  • Fixed grid area and line names (e.g. grid-area: leadingVisual) and other custom identifiers (view-transition-name, anchor-name, position-anchor, animation-timeline, font-palette) being lowercased, so they no longer matched case-sensitive names like the ones of grid-template-areas
  • Fixed em and percentage lengths throwing for an element with font-size: 0 or an empty box (e.g. in translate())
  • Added cascade layers (@​layer) to the cascade, whose rules were ignored before
  • Added shadow trees to the render tree: a shadow host renders its shadow tree (styled by the shadow root's style sheets, with the host as scope for :host) with slots showing their assigned nodes, unless hidden
  • Added :host rules of a shadow tree styling the shadow host in the render tree; they lose against the author rules of the host's own tree unless important
  • Added the presentational hints of HTML elements to the cascade: dimension attributes (e.g. <img width=40 height=30>, <td width>) and bgcolor/text/color attributes map to their CSS properties, before all author rules
  • Released 1.2.2 by @​FlorianRappl in Release 1.2.2 AngleSharp/AngleSharp.Css#255

Full Changelog: AngleSharp/AngleSharp.Css@v1.2.1...v1.2.2

1.2.1

Released on Friday, October 23 2026.

What's Changed

  • Fixed computed display not blockified for floats
  • Fixed computed display not blockified for absolutely positioned boxes
  • Fixed computed display not blockified for the root element
  • Added support for ::placeholder
  • Released 1.2.1 by @​FlorianRappl in Release 1.2.1 AngleSharp/AngleSharp.Css#254

Full Changelog: AngleSharp/AngleSharp.Css@v1.2.0...v1.2.1

Commits viewable in compare view.

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)

Bumps AngleSharp from 1.8.6 to 1.9.0
Bumps AngleSharp.Css from 1.2.0 to 1.3.2

---
updated-dependencies:
- dependency-name: AngleSharp
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: AngleSharp.Css
  dependency-version: 1.3.2
  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 3, 2026

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