← Back to issue list

Update jsonschema

View original Github issue

Metadata

Project
snapcraft
Number
#5230
Type
issue
State
open
Author
lengau
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

Enhancement to update the ancient pinned jsonschema==2.6.0 dependency and fix breakages. Triaged by maintainers; the pin is still in pyproject.toml at HEAD, and the work is being pursued via follow-up issues replacing jsonschema with pydantic.

Suggested action: keep open

Reason: The issue is triaged (Status: Triaged, Type: Enhancement) and a maintainer (mr-cal, 2025-05-22) confirmed the pin was only for linters and 'I'm not convinced there was a critical reason to keep the packaged pinned to such an old version.' The pin jsonschema==2.6.0 is still present in pyproject.toml at HEAD, and the chosen path forward — replacing jsonschema with pydantic — lives in open follow-up issues #5653 and #5655, so the work remains valid and unaddressed.

Impact: 35 Quick Win: 15.75 Staleness: 70 Complexity: 55 Confidence: 80 Support Request: 0

Issue body

### What needs to get done Update jsonschema and fix related breakages ### Why it needs to get done We currently depend on an ancient version of jsonschema that wasn't even the latest version back in 2021: https://github.com/canonical/snapcraft/pull/3519

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 15.75
Staleness: 70
Complexity: 55
Confidence: 80
Support Request: 0
keep open Enhancement to update the ancient pinned jsonschema==2.6.0 dependency and fix breakages. Triaged by maintainers; the pin is still in pyproject.toml at HEAD, and the work is being pursued via follow-up issues replacing jsonschema with pydantic.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 45
Confidence: 85
Support Request: 10
keep open Enhancement to update the outdated jsonschema dependency and fix related breakages. Currently triaged and awaiting implementation, with maintainer discussion confirming the version pin is no longer necessary.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 50
Confidence: 90
Support Request: 5
keep open Triaged enhancement to update the pinned jsonschema dependency to a modern version and fix related breakages. Currently inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 40
Confidence: 85
Support Request: 5
keep open Update the jsonschema dependency to a newer version and fix related breakages. Pinned to an outdated release since 2021. The issue is triaged and labeled as an enhancement, currently awaiting implementation or assignment.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/snapcraft#5506 (confidence 80%)

    Renovate PR to update jsonschema, closed and superseded by #5653/#5655 after CI failures; referenced in this issue's last comment.

  • Related To: canonical/snapcraft#5653 (confidence 75%)

    Open follow-up: use pydantic instead of jsonschema for legacy project parsing; the direct jsonschema bump PR #5506 was closed as superseded by this work.

  • Related To: canonical/snapcraft#5655 (confidence 75%)

    Open follow-up: migrate legacy store channel_map.py (still using jsonschema.validate at HEAD) from jsonschema to Pydantic models.

Related issues

Issue Project State Summary Similarity
#5654 Use pydantic instead of jsonschema for legacy project snapcraft closed Abandoned. Closed without implementation or associated pull request. The legacy codebase retains the pinned jsonschema dependency, and no migration to Pydantic models was executed.
72%