Skip to content

fix(deps): bump ijson-jcs to 03df9ed for RFC 8785 number ties - #261

Open
hyperpolymath wants to merge 1 commit into
mainfrom
claude/gallant-bell-4bo4oy-h-ijson-jcs-pin
Open

hyperpolymath wants to merge 1 commit into
mainfrom
claude/gallant-bell-4bo4oy-h-ijson-jcs-pin

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Closes the "ijson-jcs tie case" follow-up from #237/#247.

Problem

The pinned ijson-jcs (3a9a4ee) built ECMAScript number output by rearranging Rust's float formatting. Rust doesn't guarantee ECMAScript's choice on a decimal tie, so RFC 8785 Appendix B vector 0x43143ff3c1cb0959 came out as 1424953923781206.3. JCS requires 1424953923781206.2. A report or attestation holding such a float would hash differently from other JCS implementations.

Fix

Bump to ijson-jcs main (03df9ed). It now formats numbers with ryu-js, which implements ECMAScript Number::toString, and passes every Appendix B vector (cargo test --test rfc8785 in ijson-jcs: 5/5). The fix was already upstream, so only the pin needed to move. The lockfile was updated with cargo update -p ijson-jcs.

Validation

  • New test json::tests::numbers_follow_rfc_8785_on_decimal_ties pins the vector. It fails on the old pin with left: "1424953923781206.3\n" and passes on the new one.
  • cargo fmt --check, plus cargo clippy --locked --all-targets -D warnings with and without --all-features: clean.
  • cargo test --locked --all-features: all suites green (lib: 524 passed).
  • cargo audit: no new advisories; only the four known upstream unmaintained warnings remain, tracked as W1/W2 in standards' upstream-dependency watch.
  • New transitive dependency: ryu-js 1.0.3, licensed Apache-2.0 OR BSL-1.0, which is compatible with MPL-2.0.

Existing golden fixtures are unchanged: none of them hold a tie-case float.


Generated by Claude Code

The pinned ijson-jcs (3a9a4ee) rearranged Rust's float formatting and
printed RFC 8785 Appendix B vector 0x43143ff3c1cb0959 as
1424953923781206.3. JCS requires 1424953923781206.2: ECMAScript
Number::toString chooses the even digit on a decimal tie. ijson-jcs main
now formats with ryu-js, the ECMAScript algorithm, and passes every
Appendix B vector.

A test in crate::json pins the vector; on the old pin it fails with
the .3 output. New transitive dependency: ryu-js 1.0.3
(Apache-2.0 OR BSL-1.0). cargo audit: no new advisories.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PFaqv6iBXrt3W5Akd1Fq5k
Copilot AI balanced review requested due to automatic review settings November 5, 2026 00:01
@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 5, 2026 00:01

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@coderabbitai

coderabbitai Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 20 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: ea3dff39-f9aa-4761-94fe-58a13778cb70
Commits

Reviewing files that changed from the base of the PR and between 5175a68 and c65c983.

Files ignored due to path filters: 1
  • Cargo.lock is excluded by !**/*.lock
Files selected for processing: 3
  • CHANGELOG.adoc
  • Cargo.toml
  • src/json.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-05T00:03:13.967971Z c65c983 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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.

3 participants