Skip to content

Upgrade Sourcemeta dependencies - #940

Merged
jviotti merged 2 commits into
mainfrom
benchmark-bump
Sep 21, 2026
Merged

jviotti merged 2 commits into
mainfrom
benchmark-bump

Conversation

@jviotti

@jviotti jviotti commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Review in cubic

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 197 files

Re-trigger cubic

@augmentcode

augmentcode Bot commented Sep 21, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR upgrades the vendored Sourcemeta Core and Blaze dependencies.

Changes:

  • Updates the root dependency pins for Core and Blaze, and aligns Blaze's nested Core manifest.
  • Adds CMake package discovery for a Core installation shipped alongside Blaze.
  • Refreshes Blaze canonicalization and Draft 3 compiler behavior for assertions and unrestricted types.
  • Adds cycle protection to unevaluated-keyword dependency discovery.
  • Extends schema conversion across 2019-09 and 2020-12, including vocabulary synthesis and anchor handling.
  • Updates Core JSON Schema framing, formatting, URI escaping, UTF-8 validation, DNS, and email utilities.
  • Replaces the vendored cmark-gfm implementation with Core's in-tree Markdown parser and renderer.
  • Introduces Core's in-tree benchmark framework and removes the vendored Google Benchmark source tree.
  • Reworks Core HTML escaping, buffering, and writer internals used by the new Markdown renderer.
Technical Notes: The bulk of the change is an upstream dependency snapshot; it also removes large third-party source trees now superseded by native Core components.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

/// Get the number of bytes accumulated so far
[[nodiscard]] SOURCEMETA_FORCEINLINE auto size() const noexcept
-> std::size_t {
return static_cast<std::size_t>(this->cursor_ - this->begin_);

@augmentcode augmentcode Bot Sep 21, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HTMLBuffer starts with both begin_ and cursor_ null, so this pointer subtraction is undefined before its first allocation (and again after take()). grow() calls size() on the first append, while str() and write() can call it on an empty writer, so ordinary Markdown/HTML rendering invokes UB and fails under UBSan.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit 53eadaa into main Sep 21, 2026
14 checks passed
@jviotti
jviotti deleted the benchmark-bump branch September 21, 2026 13:33
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