Repository navigation
Releases: astral-sh/astral-html
Releases · astral-sh/astral-html
Release list
astral-html v0.0.4
Immutable
release. Only release title and notes can be modified.
Released on 2026-10-20.
Bug fixes
- Select text modes according to SVG and HTML integration context so well-formed
SVG no longer causesReaderorDocumentto consume following HTML as text
(astral-sh/astral-html#85) - Honor self-closing SVG elements so they no longer remain open and incorrectly
exhaustDocument's depth limit
(astral-sh/astral-html#85) - Preserve CDATA sections as text while parsing SVG content
(astral-sh/astral-html#85) - Close an immediately open HTML
aoroptionwhen another start tag has the
same name, preventing sibling runs from incorrectly hittingDocument's depth
limit
(astral-sh/astral-html#86)
Performance
- Borrow unchanged comment text during tokenizer recovery, avoiding allocations
unless newline or NUL normalization is required
(astral-sh/astral-html#75)
Other changes
- Document where
ReaderandDocumentdiffer from browser parsing and warn
against using their output to approve HTML for rendering
(astral-sh/astral-html#78) - Clarify that
Doctype::force_quirks == falsedoes not by itself indicate
standards mode
(astral-sh/astral-html#78) - Add README highlights for the crate's runtime dependency, unsafe-code policy,
and html5lib tokenizer test coverage
(astral-sh/astral-html#77) - Round README benchmark results to match their measurement precision
(astral-sh/astral-html#83)
astral-html v0.0.3
Immutable
release. Only release title and notes can be modified.
Released on 2026-10-05.
Performance
- Speed parsing after tags with many attributes by discarding oversized
deduplication tables instead of repeatedly clearing them
(astral-sh/astral-html#72)
Other changes
- Make parser performance easier to compare with benchmark tables covering link
extraction and document construction across five workloads
(astral-sh/astral-html#71)
astral-html v0.0.2
Immutable
release. Only release title and notes can be modified.
Released on 2026-10-05.
Other changes
- Show the full repository README, including examples and benchmarks, on
crates.io
(astral-sh/astral-html#69)
astral-html v0.0.1
Immutable
release. Only release title and notes can be modified.
Released on 2026-10-05.
This is the first release of astral-html, a high-performance HTML parser
designed for document traversal.
Enhancements
- Add read-only document and element views with attribute lookup, descendant
iteration, text extraction, and configurable resource limits
(astral-sh/astral-html#8) - Add a streaming event reader that automatically selects the correct text mode
for HTML elements
(astral-sh/astral-html#7) - Add a UTF-8 tokenizer that borrows unchanged input and supports data, RCDATA,
raw-text, script, plaintext, and CDATA states
(astral-sh/astral-html#5) - Decode named and numeric HTML character references according to their text or
attribute context
(astral-sh/astral-html#3) - Allow documents with any number of attributes while retaining input, node, and
nesting limits
(astral-sh/astral-html#34) - Add the initial
astral-htmlcrate without unsafe code or a mandated
allocator
(astral-sh/astral-html#2)
Bug fixes
- Treat text-mode closing tags with non-letter names as text, matching HTML
tokenizer rules
(astral-sh/astral-html#10)
Performance
- Reduce routine parsing allocations by reusing attribute storage and borrowing
unchanged comments, decoded strings, and common normalized names
(astral-sh/astral-html#16)
(astral-sh/astral-html#21) - Make unknown and unterminated named references substantially faster with early
attribute-context rejection and a compact trie
(astral-sh/astral-html#45)
(astral-sh/astral-html#52) - Borrow unchanged punctuation-heavy comments instead of allocating strings for
them
(astral-sh/astral-html#55) - Normalize newlines and NUL characters in script, raw-text, and plaintext
content in a single pass
(astral-sh/astral-html#54) - Coalesce runs of literal
<characters, sharply reducing memory use for
adversarial text
(astral-sh/astral-html#24) - Reuse owned buffers when replacing NUL characters, reducing peak memory use
for large tokens
(astral-sh/astral-html#30) - Normalize comment newlines while scanning to avoid a second full-buffer
allocation
(astral-sh/astral-html#28) - Release excessive capacity after character-reference decoding so small results
do not retain input-sized allocations
(astral-sh/astral-html#27) - Avoid indexing balanced open elements until malformed nesting requires
recovery
(astral-sh/astral-html#53) - Scan comment and script content in bulk
(astral-sh/astral-html#36) - Delay attribute-name indexing until it is beneficial and reuse its allocation
between tags
(astral-sh/astral-html#38)
(astral-sh/astral-html#46) - Speed named-reference decoding with direct handling for common names and
narrower searches for uncommon names
(astral-sh/astral-html#39)
(astral-sh/astral-html#44) - Reuse the tokenizer’s first character-reference offset instead of rescanning
unchanged text prefixes
(astral-sh/astral-html#40) - Avoid rescanning tag, attribute, and doctype names already marked for
normalization
(astral-sh/astral-html#56) - Speed element and attribute queries for short normalized names
(astral-sh/astral-html#58) - Reduce buffered token-dispatch overhead in
ReaderandTokenizer
(astral-sh/astral-html#57) - Use compact parent indices to reduce each document node by eight bytes on
64-bit platforms
(astral-sh/astral-html#42) - Avoid allocating names when entering built-in script, raw-text, and RCDATA
modes
(astral-sh/astral-html#43)