Skip to content

Release/v0.7.2 - #60

Merged
vagetman merged 1 commit into
mainfrom
release/v0.7.2
Aug 20, 2026
Merged

Release/v0.7.2#60
vagetman merged 1 commit into
mainfrom
release/v0.7.2

Conversation

@vagetman

@vagetman vagetman commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Release v0.7.2

Bug Fixes

Preserve incomplete elements across stream chunks — Fixed a bug in process_stream where HTML or ESI tags span across chunk boundaries were silently dropped. This is especially visible with smaller chunk sizes. When the streaming parser returned Incomplete, the unconsumed bytes were lost because the split buffer was empty; now the incomplete input is preserved so the next iteration can append to it and retry parsing. Similarly, the recoverable parse-error path also now correctly passes through the frozen bytes instead of the already-cleared buffer. Thanks @prk-Jr for the report and the fix! (4c53fea)

Features

Add <!--esi ...--> comment block parsing — Implemented support for ESI comment blocks per W3C ESI spec §3.7. <!--esi ...--> delimiters are now stripped and the inner content is parsed as ESI markup (e.g. <esi:include>, <esi:vars>). Regular HTML comments continue to pass through unchanged. Matching is case-sensitive (<!--ESI --> is treated as a regular comment). Thanks to @tomchappell for the report! (b61f8bf, 3ed3a71)

Tests

  • Streaming tests for elements larger than the chunk size, including multi-element and varied chunk-size parameterized tests
  • Parse-error recovery test ensuring non-EOF errors pass through bytes correctly
  • <!--esi --> comment block unit tests covering includes, vars, plain HTML, streaming incomplete, case sensitivity, and regular comment passthrough

@vagetman
vagetman marked this pull request as ready for review August 20, 2026 14:38
@vagetman
vagetman merged commit 1852808 into main Aug 20, 2026
3 checks passed
@vagetman
vagetman deleted the release/v0.7.2 branch August 20, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant