Skip to content

feat: port googleauth from multi_json to standard lib json#575

Merged
quartzmo merged 6 commits into
googleapis:mainfrom
quartzmo:migrate-to-stdlib-json
Jun 4, 2026
Merged

feat: port googleauth from multi_json to standard lib json#575
quartzmo merged 6 commits into
googleapis:mainfrom
quartzmo:migrate-to-stdlib-json

Conversation

@quartzmo

@quartzmo quartzmo commented Jun 2, 2026

Copy link
Copy Markdown
Member
  • googleauth is now guaranteed to use the standard library JSON engine
    natively, providing absolute consistency regardless of user configurations.
  • Remove multi_json's possible dispatch overhead and lock/mutex contention.
  • Slightly reduce overall memory footprint per request.
  • Add pstore to gemspec for Ruby 4.0 compatibility.
  • Tests under multi_json already enforced the use of the json gem.
  • Wrap JSON::ParserError in Google::Auth::InitializationError at main entry points.

fixes: #572

@quartzmo quartzmo requested a review from a team as a code owner June 2, 2026 17:17

@aandreassa aandreassa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks great! Thanks for all your work

@quartzmo quartzmo merged commit 5fe4ed9 into googleapis:main Jun 4, 2026
15 checks passed
@quartzmo quartzmo deleted the migrate-to-stdlib-json branch June 4, 2026 16:18
quartzmo added a commit to googleapis/signet that referenced this pull request Jun 4, 2026
* Wrap JSON::ParserError in Signet::ParseError in parse_credentials.
* signet is now guaranteed to use the standard library JSON engine
  natively, providing absolute consistency regardless of user configurations.
* Remove multi_json's possible dispatch overhead and lock/mutex contention.
* Slightly reduce overall memory footprint per request.
* Tests were previously already using the json gem.
* Remove multi_json runtime dependency from gemspec.

refs: googleapis/google-auth-library-ruby#572
refs: googleapis/google-auth-library-ruby#575

fixes: #272
panterch added a commit to panterch/future_kids that referenced this pull request Jun 4, 2026
- ruby-vips: required by image_processing/Active Storage for variant transforms,
  triggered by new browser specs that render pages with image attachments
- multi_json: workaround for googleauth 1.17.0 bug where the gem was removed
  from the gemspec but require calls remain in the source code
  (googleapis/google-auth-library-ruby#575)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Rycieos

Rycieos commented Jun 4, 2026

Copy link
Copy Markdown

This change has broken the google-apis-core gem:
googleapis/google-api-ruby-client#26611

I think it should be fixed there, not here, but mentioning it for visability.

panterch added a commit to panterch/future_kids that referenced this pull request Jun 4, 2026
- ruby-vips: required by image_processing/Active Storage for variant transforms,
  triggered by new browser specs that render pages with image attachments
- multi_json: workaround for googleauth 1.17.0 bug where the gem was removed
  from the gemspec but require calls remain in the source code
  (googleapis/google-auth-library-ruby#575)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
quartzmo added a commit to googleapis/google-api-ruby-client that referenced this pull request Jun 8, 2026
…representable (#26612)

* multi_json was removed from upstream dependencies googleauth (googleapis/google-auth-library-ruby#575) and signet (googleapis/signet#273).
* representable documents that if you use representable/json, you must include multi_json in your own dependencies.
* Fix CI loading of local changes to google-apis-core.
* Run rubocop -a to reformat and sort google-apis-core.gemspec.

fixes: #26611
fixes: #26613
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.

Replace deprecated "MultiJson" by "MultiJSON"

3 participants