Skip to content

Test JSON 2 and 3 in CI while retaining Ruby 2.7 support - #325

Merged
dblock merged 1 commit into
codegram:masterfrom
dblock:dblock/json-2-and-3
Oct 4, 2026
Merged

dblock merged 1 commit into
codegram:masterfrom
dblock:dblock/json-2-and-3

Conversation

@dblock

@dblock dblock commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Select JSON per CI entry: Ruby 2.7 / JSON 2; Ruby 3.2 / JSON 2 and 3; Ruby 3.4, 4.0, ruby-head, and jruby-head / JSON 3.
  • Allow local JSON selection through JSON_VERSION and document compatibility requirements.
  • Add regression coverage for HAL/JSON response parsing and malformed JSON.
  • Upgrade RuboCop to 1.91.0 because 1.89.x restricts JSON to 2.x.

Root cause

The failure reported in #324 came from JSON 3 requiring keyword parser options while Faraday 2.14.3 passed a positional hash. Faraday 2.14.4 already fixes this upstream. Fresh CI bundles select that fix without changing the existing faraday >= 2 dependency or adding custom middleware. Older Faraday remains usable with JSON 2.

Validation

Both JSON 2.21.2 and JSON 3.0.2 passed 159 unit tests and 32 Spinach steps on Ruby 3.3.5 with Faraday 2.14.4. RuboCop 1.91.0 passed. Verified the seven explicit CI entries.

Prepared by Copilot on behalf of @dblock.

@github-actions

github-actions Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Danger Report

No issues found.

View run

@coveralls

coveralls commented Oct 4, 2026 •

Copy link
Copy Markdown

Coverage Status

coverage: 100.0%. remained the same — dblock:dblock/json-2-and-3 into codegram:master

@dblock
dblock force-pushed the dblock/json-2-and-3 branch 4 times, most recently from 5b6f6f0 to 060e8e4 Compare October 4, 2026 14:07
Add JSON response parsing regressions and upgrade RuboCop to permit JSON 3. Keep Faraday unconstrained beyond its existing minimum; current releases fix JSON 3 keyword parser options.

Co-authored-by: Copilot <[email protected]>
@dblock
dblock force-pushed the dblock/json-2-and-3 branch from 060e8e4 to f5081f4 Compare October 4, 2026 14:07
@dblock
dblock merged commit da2d0ad into codegram:master Oct 4, 2026
11 checks passed
@dblock
dblock deleted the dblock/json-2-and-3 branch October 4, 2026 14:08
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.

2 participants