RepoJournal
Anthropic

@anthropics

Claude SDKs and developer tooling

Pick a date

The Wire · Showcase

BUFFA PATCHES SILENT JSON PRECISION LOSS, CONNECT-RUST HARDENS gRPC VALIDATION

By RepoJournal · Filed · About Anthropic

Buffa fixed a critical JSON decoder bug where large integer strings like "1e5" were silently rounded past the 2^53 precision boundary, while connect-rust tightened response validation across all five call shapes.

The buffa team shipped three correctness fixes that prevent silent data corruption. First, the JSON parser now handles quoted integers exactly instead of falling back to f64 for decimal and scientific notation [1], eliminating precision loss above 2^53. Second, reflective field mutations now validate that descriptors belong to the message before applying changes, blocking cross-message corruption in release builds [3]. Third, descriptor pool loading is now transactional: if any registration or link pass fails, the entire operation rolls back instead of leaving the pool partially loaded [4]. Benchmarks for v0.8.0 are live [2], showing decode_view gains of 17-21% on string-heavy shapes from the fast-utf8 default. Over in connect-rust, the client now preserves transport errors instead of remapping them to Unavailable [6], rejects malformed END_STREAM JSON as protocol errors [7], and validates gRPC response content-type strictly by protocol and codec rather than prefix matching [5]. Server-streaming responses now preserve headers even when END_STREAM is malformed [9]. The protoc plugin can now gate generated clients behind custom feature names [8].

Action items

References

  1. [1] json: parse quoted integers exactly ↗ anthropics/buffa
  2. [2] benchmarks/history: add v0.8.0 data point ↗ anthropics/buffa
  3. [3] descriptor: validate reflective field membership ↗ anthropics/buffa
  4. [4] descriptor: make add_file_descriptor_set transactional ↗ anthropics/buffa
  5. [5] Tighten gRPC response content-type validation ↗ anthropics/connect-rust
  6. [6] Preserve transport ConnectErrors in client calls ↗ anthropics/connect-rust
  7. [7] Reject malformed Connect END_STREAM JSON ↗ anthropics/connect-rust
  8. [8] Make generated client feature gate configurable ↗ anthropics/connect-rust
  9. [9] client: preserve headers on malformed end streams (#201) anthropics/connect-rust

FAQ

What changed in Anthropic on June 29, 2026?
Buffa fixed a critical JSON decoder bug where large integer strings like "1e5" were silently rounded past the 2^53 precision boundary, while connect-rust tightened response validation across all five call shapes.
What should Anthropic teams do about it?
Review and merge buffa JSON precision fix before any release including large integer handling [ref:1] • Upgrade connect-rust to pick up gRPC validation and error preservation across all call shapes [ref:6][ref:7] • Monitor v0.8.0 benchmark results for regressions in your decode paths [ref:2]
Which Anthropic repositories shipped on June 29, 2026?
anthropics/buffa, anthropics/connect-rust

Related across the cluster

For your repos

The showcase is a teaser.
Your wire is the product.

Same engine. Different stack. Below: what changes when the wire is yours.

Showcase wire

  • 14 famous open source orgs
  • One wire per day
  • Public, generic
  • Read on the web, when you remember

Your wire

  • Up to 1,500 of your repos - orgs, deps, vendors
  • Morning and evening briefs
  • Action items routed to your team
  • Slack delivery, email, breaking-news CVE alerts

Want a hands-on demo first? Ask a current user for an invite link.