Skip to content

Allow JSON.jl 1.x - #246

Merged
pfitzseb merged 1 commit into
JuliaDocs:masterfrom
tanmaykm:json1-compat
Sep 10, 2026
Merged

pfitzseb merged 1 commit into
JuliaDocs:masterfrom
tanmaykm:json1-compat

Conversation

@tanmaykm

Copy link
Copy Markdown
Contributor

Widens the JSON compat to JSON = "0.21, 1" so the package can be used in environments that have moved to JSON.jl 1.x. Version 0.8.5.

JSON is used in two places: JSON.parse of the Nanosoldier PkgEval db.json in get_pkg_eval_data, and JSON.json(meta) when writing pkg.json (run/generate_json.jl also calls JSON.print, which 1.x keeps). The parsed report is only indexed and checked with haskey, and the per-package entry is extended with report_url/log_url before meta goes through TOML.print and JSON.json. JSON 1.x returns a JSON.Object instead of a Dict, which supports all of that. Verified by loading the package against JSON 0.21.4 and 1.8.0, fetching the live report through get_pkg_eval_data() on each, and running the mutation plus TOML.print and JSON.json on the result.

CI gains a json matrix dimension with an explicit Pkg.add(JSON@…) pin step, since the resolver alone would only ever exercise one major. Julia 1.9 runs 0.21 only (JSON 1.x needs 1.10).

JSON is used to parse the Nanosoldier PkgEval report and to write pkg.json.
The parsed report is only indexed, checked with haskey and extended with two
URLs before going through TOML.print and JSON.json, all of which behave the
same on JSON.Object as on Dict. Widen compat to JSON = "0.21, 1" and test
both majors in CI; version 0.8.5.
@pfitzseb
pfitzseb merged commit 5d64048 into JuliaDocs:master Sep 10, 2026
11 of 15 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