Skip to content

Harden YAML scalar rendering#46

Merged
koxudaxi merged 1 commit into
mainfrom
harden-yaml-scalar-rendering
Jul 3, 2026
Merged

Harden YAML scalar rendering#46
koxudaxi merged 1 commit into
mainfrom
harden-yaml-scalar-rendering

Conversation

@koxudaxi

@koxudaxi koxudaxi commented Jul 3, 2026

Copy link
Copy Markdown
Owner

No description provided.

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@koxudaxi, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 59 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ebbfc9c0-a33f-47dd-b66d-3a345943e4e6

📥 Commits

Reviewing files that changed from the base of the PR and between 5eba8e3 and 77092b7.

📒 Files selected for processing (6)
  • rust/tstring-core-rs/src/lib.rs
  • rust/tstring-pyo3-bindings/src/lib.rs
  • rust/tstring-pyo3-bindings/src/toml.rs
  • rust/tstring-pyo3-bindings/src/yaml.rs
  • toml-tstring/tests/test_toml_tstring.py
  • yaml-tstring/tests/test_yaml_pep750_binding_regressions.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch harden-yaml-scalar-rendering

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@koxudaxi
koxudaxi merged commit c6fdb38 into main Jul 3, 2026
13 checks passed
@koxudaxi
koxudaxi deleted the harden-yaml-scalar-rendering branch July 3, 2026 13:43
@github-actions github-actions Bot added breaking-change-analyzed PR has been analyzed for breaking changes breaking-change PR contains breaking changes labels Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Breaking Change Analysis

Result: Breaking changes detected

Reasoning: The PR changes how floats and structural-character-containing interpolations are rendered in both YAML and TOML output. Float values like 1.0 now always include the decimal point (1.0 instead of 1), and -0.0 is preserved. Additionally, YAML plain scalars with interpolations that produce structural characters are now quoted. These output format changes could break code that compares exact output strings or depends on the previous rendering behavior.

Content for Release Notes

Generated Output Changes

  • Float interpolations now render with explicit decimal notation - Floats like 1.0 are now rendered as 1.0 instead of 1, and -0.0 is now preserved as -0.0. This affects both YAML and TOML output when interpolating Python float values. (Harden YAML scalar rendering #46)
    value = 1.0
    # Before: value: 1
    # After:  value: 1.0
  • YAML plain scalar interpolations with structural characters are now quoted - When interpolated values concatenated with literal text produce content containing YAML structural characters (: , #, newlines, or leading indicators like -, ?, :, [, {, etc.), the result is now JSON-quoted to prevent parsing ambiguity. (Harden YAML scalar rendering #46)
    colon = "foo: bar"
    t"key: pre{colon}"
    # Before: key: prefoo: bar  (ambiguous YAML)
    # After:  key: "prefoo: bar"

This analysis was performed by Claude Code Action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change PR contains breaking changes breaking-change-analyzed PR has been analyzed for breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant