Skip to content

Pin json below 3 to unblock CI - #655

Merged
bastelfreak merged 1 commit into
OpenVoxProject:mainfrom
miharp:pin-json-below-3
Sep 7, 2026
Merged

bastelfreak merged 1 commit into
OpenVoxProject:mainfrom
miharp:pin-json-below-3

Conversation

@miharp

@miharp miharp commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Part of #654.

json 3.0.0, released 2026-09-07, makes every option a keyword argument and removes JSON::PRETTY_STATE_PROTOTYPE and JSON.pretty_unparse. The Gemfile declares json without a constraint and Gemfile.lock is not tracked, so every CI run since then resolves 3.0.0 and Puppet::Util::Json raises on every JSON.parse call. The ruby 3.4 job on #653 had 1590 spec failures from this.

This pins json below 3 in the :packaging group, which is the only place it is declared. It is not a gemspec runtime dependency, so this changes nothing for installed agents; they keep using the json bundled with their Ruby.

The constraint also gives Dependabot something to propose bumping. It couldn't open a PR for an unconstrained gem with no lockfile, which is why this wasn't caught.

Porting Puppet::Util::Json to the json 3 API is tracked in #654 and should follow, since a future Ruby release will ship json 3 as its default gem.

Verification

  • bundle check resolves with the pin. The local lockfile already had json 2.20.0, so nothing else moves.
  • CI on this PR is the real test.

Assisted by Claude.

json 3.0.0, released 2026-09-07, makes every option a keyword argument
and removes JSON::PRETTY_STATE_PROTOTYPE and JSON.pretty_unparse. The
Gemfile declares json without a constraint and Gemfile.lock is not
tracked, so CI now resolves 3.0.0 and Puppet::Util::Json fails on
every JSON.parse call, taking about 1590 specs with it.

Constrain it below 3 until Puppet::Util::Json is ported to the new API.
The constraint also gives Dependabot something to bump, so the port
gets a PR to land against.

Part of OpenVoxProject#654

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Michael Harp <mike@mikeharp.com>
@bastelfreak
bastelfreak merged commit 818e1a8 into OpenVoxProject:main Sep 7, 2026
20 checks passed
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