• v1.3.1 c7cc369074

    json-schema-diff v1.3.1
    All checks were successful
    tests / test (3.14) (push) Successful in 1m16s
    release / release (push) Successful in 1m20s
    tests / test (3.8) (push) Successful in 1m24s
    Stable

    CanuteTheGreat released this 2026-10-28 05:32:51 -07:00 | 3 commits to master since this release

    • --fail-on-breaking (the 1.x flag) is now listed in --help as a documented alias for the default gate; behaviour unchanged.

    Install

    pipx install git+https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff.git@v1.3.1
    # or the wheel attached to this release:
    pipx install https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.3.1/json_schema_diff-1.3.1-py3-none-any.whl
    # or the single file (stdlib-only Python 3):
    curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.3.1/schema_diff.py
    

    SHA-256

    328d6114a5834f72a8288304126dd3e11de4ebc26c415428605fc3a158fd61bf  schema_diff.py
    f82f63e8e338dff84fbd0a61d1a9e4c0bef3331e7d2f2e7123a09cd482d3c1dd  json_schema_diff-1.3.1-py3-none-any.whl
    279d24d210efac8425be1bea6f0f1dc8bd8d88a47f3719ef94f559f348b01417  json_schema_diff-1.3.1.tar.gz
    
    Downloads
  • v1.3.0 caf835aee6

    json-schema-diff v1.3.0
    All checks were successful
    tests / test (3.8) (push) Successful in 35s
    tests / test (3.14) (push) Successful in 37s
    release / release (push) Successful in 23s
    Stable

    Ghost released this 2026-10-18 14:30:57 -07:00 | 6 commits to master since this release

    • $refs to other local files (common.json#/$defs/Id, ./schemas/user.json, refs between those files,
      loops included): they're resolved relative to the file that contains them, so a schema or OpenAPI spec split
      across files is compared as a whole and a change in a shared file is reported where it's used. A missing
      referenced file exits 2. Remote http(s):// refs are still never fetched (the tool stays offline).

    Install

    pipx install git+https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff.git@v1.3.0
    # or the wheel attached to this release:
    pipx install https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.3.0/json_schema_diff-1.3.0-py3-none-any.whl
    # or the single file (stdlib-only Python 3):
    curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.3.0/schema_diff.py
    

    SHA-256

    5e7ba097afadb6c0411bb6b9c5ad90800b0f398bb65012cd85f9b928838624bd  schema_diff.py
    b4a2b7fc1f9949bfee0f1df30560df15a3a90c40b0208adccfdfd6f77fc3f534  json_schema_diff-1.3.0-py3-none-any.whl
    b43170292b53f38473a67d27a4cef86ecd01a3bf3298572d80e918fc6c126bc0  json_schema_diff-1.3.0.tar.gz
    
    Downloads
  • v1.2.2 bd3019cff8

    json-schema-diff v1.2.2
    Some checks failed
    tests / test (3.14) (push) Has been cancelled
    tests / test (3.8) (push) Has been cancelled
    release / release (push) Successful in 20s
    Stable

    Ghost released this 2026-10-17 05:02:19 -07:00 | 16 commits to master since this release

    • Swagger 2.0: renaming the in: body parameter (its name never goes over the wire) is no longer reported as a
      "new parameter" -- with required: true it was a false BREAKING "new required parameter". Request bodies are
      compared as bodies, as before.
    • Tests: contract suite pinning every OpenAPI 3 / Swagger 2 operation-level finding, oneOf/anyOf/allOf variant
      pairing (by $ref, title, const, discriminator, type) and the text/Markdown/JSON outputs and exit codes.

    Install

    pipx install git+https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff.git@v1.2.2
    # or the wheel attached to this release:
    pipx install https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.2.2/json_schema_diff-1.2.2-py3-none-any.whl
    # or the single file (stdlib-only Python 3):
    curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.2.2/schema_diff.py
    

    SHA-256

    0717599c8b7f50e042a7a8eab4cd03689836c320fe93688918e0234a54d4238c  schema_diff.py
    4f84ed58a4de40476ac27c8e479fb7dc98809a36382d3c25de667f1c215bb202  json_schema_diff-1.2.2-py3-none-any.whl
    377a20de4a019eb1a36e340b8acbd46e14b481639a7ec6e7eca2ee7861952450  json_schema_diff-1.2.2.tar.gz
    
    Downloads
  • v1.2.1 7178c01ead

    json-schema-diff v1.2.1
    Some checks failed
    tests / test (3.14) (push) Has been cancelled
    tests / test (3.8) (push) Has been cancelled
    release / release (push) Successful in 15s
    Stable

    Ghost released this 2026-10-17 01:50:07 -07:00 | 18 commits to master since this release

    • minimum/exclusiveMinimum and maximum/exclusiveMaximum are judged together: exclusiveMinimum: 0 -> minimum: 0 is a relaxation (was reported BREAKING as "minimum newly added"), and a rewrite with the same effect is info.
    • Tests: oracle-based accuracy suite (~30 edits x request/response/undo, judged by jsonschema against a document pool), mutation testing (nightly), claims ledger.

    Install

    pipx install git+https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff.git@v1.2.1
    # or the wheel attached to this release:
    pipx install https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.2.1/json_schema_diff-1.2.1-py3-none-any.whl
    # or the single file (stdlib-only Python 3):
    curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.2.1/schema_diff.py
    

    SHA-256

    88d18eb5d7cedc50504145094bf8d13afc9f4b40d3f6e2e13c20440db20f92c7  schema_diff.py
    7eb99ddd87fb8e8282f57362e21cd8909d7ecb2022a9a8f8a9c37b8d9fdb8dc0  json_schema_diff-1.2.1-py3-none-any.whl
    168c8db3d060e66561553291ccd9c336885c6775917dfd26b652afe76b9a6461  json_schema_diff-1.2.1.tar.gz
    
    Downloads
  • v1.2.0 2e451be116

    json-schema-diff v1.2.0
    All checks were successful
    tests / test (3.13) (push) Successful in 20s
    tests / test (3.8) (push) Successful in 21s
    release / release (push) Successful in 23s
    Stable

    Ghost released this 2026-10-16 19:57:56 -07:00 | 24 commits to master since this release

    • OpenAPI 3.x and Swagger 2.0 input: paths, operations, parameters, request bodies and responses are compared,
      with request schemas judged from the client's side and response schemas from the consumer's side.
    • oneOf/anyOf/allOf/not, const, nullable, dependentRequired/dependencies, exclusive bounds and
      min/maxProperties; composition variants are paired by $ref name, title, const or type so changes inside
      them are reported.
    • --markdown changelog output.
    • Exit codes now follow the shared convention: BREAKING changes exit 1 by default (--fail-on, default
      breaking; never for report-only). 1.x exited 0 unless --fail-on-breaking was given.
    • MIT license and pay-what-you-want sections in the README.
    • Installable as a package: pipx install git+https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff.git
      puts a json-schema-diff command on PATH (pyproject.toml, MIT license metadata).
    • --version flag.
    • Exit codes follow the shared convention: 0 = clean, 1 = findings at/above the gate, 2 = error or bad usage.
    • Every tag now publishes a Forgejo release with this changelog, the wheel, the sdist and SHA256SUMS.
    • CI installs the package with pip in a clean venv and checks --version/--help on every push.

    Install

    pipx install git+https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff.git@v1.2.0
    # or the wheel attached to this release:
    pipx install https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.2.0/json_schema_diff-1.2.0-py3-none-any.whl
    # or the single file (stdlib-only Python 3):
    curl -fsSLO https://git.canutethegreat.com/CanuteTheGreat/json-schema-diff/releases/download/v1.2.0/schema_diff.py
    

    SHA-256

    895990c2eb96f5241d7e68805471f1d858b1b216516c1232f1f446415a27b48f  schema_diff.py
    62047b69927fb885b9fc996c6a5ad69f588a91a150a4aac50ac8bb73283c6ab3  json_schema_diff-1.2.0-py3-none-any.whl
    c88bba49a2ca4b796418ab5cb27e23337b065881a0c23dbd080a4f876a3f1785  json_schema_diff-1.2.0.tar.gz
    
    Downloads