Skip to content

Upgrade Sourcemeta dependencies#922

Merged
jviotti merged 1 commit into
mainfrom
upgrade-tidy
Jun 24, 2026
Merged

Upgrade Sourcemeta dependencies#922
jviotti merged 1 commit into
mainfrom
upgrade-tidy

Conversation

@jviotti

@jviotti jviotti commented Jun 24, 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 157 files

Note: This PR contains a large number of files. cubic only reviews up to 100 files per PR, so some files may not have been reviewed. cubic prioritizes the most important files to review.
On a pro plan you can use ultrareview for larger PRs.

Re-trigger cubic

@augmentcode

augmentcode Bot commented Jun 24, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR updates vendored Sourcemeta dependencies (Core + Blaze) and incorporates new upstream functionality and canonicalization/compilation improvements.

Changes:

  • Bumps pinned revisions for sourcemeta/core and sourcemeta/blaze (plus updated dependency manifests).
  • Extends Blaze canonical meta-schemas (notably enum typing constraints) and refactors Draft-3 canonical schema definitions.
  • Adds new Blaze canonicalizer rules (disallow_double_negation, enum_split_by_type) and wires them into the alterschema pipeline.
  • Adds compiler support for selectively emitting annotations in exhaustive mode via Tweaks::annotations and centralizes the gating logic.
  • Improves Blaze schema walking/framing to detect embedded meta-schemas in nested resources.
  • Upgrades Core with new text utilities (ASCII is_alpha/is_digit/is_alphanum) and introduces a new langtag component for BCP 47 validation.
  • Enhances Core URI handling with IRI support (parse/recompose/canonicalize), adds utf8_decode, and updates URI equality/ordering semantics.
  • Adds URITemplateRouter::describes / view equivalent to query whether a path is covered by registered routes.
  • Improves thread-safety of Markdown rendering by serializing cmark-gfm parser construction/teardown.

Technical Notes: Most code changes are vendored upstream improvements (explicit lambda return types, designated initializers, and safer string-view handling) with a few notable behavioral additions around IRIs, routing introspection, and annotation emission control.

🤖 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. 2 suggestions posted.

Fix All in Augment

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


return result;
return result;
} catch (const YAMLParseError &error) {

@augmentcode augmentcode Bot Jun 24, 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.

vendor/core/src/core/yaml/yaml.cc:44 — Catching YAMLParseError and rethrowing YAMLFileParseError will erase more-specific derived exceptions (e.g. ones carrying extra context like an anchor name), potentially reducing diagnosability. Consider whether you want to preserve specialized error details while still attaching the path.

Severity: medium

Other Locations
  • vendor/core/src/core/yaml/yaml.cc:81

Fix This in Augment

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

} else if (character == sourcemeta::core::URI_SLASH ||
sourcemeta::core::uri_is_pchar(character)) {
++index;
} else if ((static_cast<unsigned char>(character) & 0x80U) != 0U) {

@augmentcode augmentcode Bot Jun 24, 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.

vendor/core/src/core/uri/path.cc:35 — canonicalize_path now accepts literal non-ASCII (RFC 3987) bytes, but it still only percent-decodes RFC 3986 unreserved characters, so semantically equivalent IRI paths like /caf%C3%A9 vs /café may not compare the same in strip_path_prefix/rebase_path. Consider whether these helpers should normalize percent-encoded UTF-8 iunreserved sequences consistently when Unicode is allowed.

Severity: medium

Fix This in Augment

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

@jviotti jviotti merged commit ddd13fa into main Jun 24, 2026
13 checks passed
@jviotti jviotti deleted the upgrade-tidy branch June 24, 2026 15:52
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