chore(deps): update dependency oasdiff/oasdiff to v1.18.1#103
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency oasdiff/oasdiff to v1.18.1#103renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Upstream OpenAPI specAPI Changelog v1 vs. v1No changes detected |
|
The OpenAPI spec, once API Changelog v1 vs. v1No changes detected |
47ac43a to
efa376a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.16.0→1.18.1v1.18.3(+1)Release Notes
oasdiff/oasdiff (oasdiff/oasdiff)
v1.18.1Compare Source
What's changed
Patch release focused on
--allow-external-refshandling.--allow-external-refs=falseis now honored on the git-revision input path (#974). Previously the setting was enforced when loading specs from files and URLs, but a spec loaded via therev:pathgit form could still resolve external$refs. The behavior is now consistent across all input forms; intra-repository relative$refs continue to resolve viagit showand are unaffected.$ref(#975). When--allow-external-refs=falseblocks an external reference, oasdiff now exits with code123(distinct from the generic load-failure code102), so tooling can detect this specific case by exit code rather than by parsing the error message.Security
This release fixes GHSA-2jcc-mxv7-p3f9. Before v1.18.1,
--allow-external-refs=falsewas not enforced on the git-revision input path (rev:path), so external$refs could still be resolved there when processing untrusted specs (SSRF / local file read). See the advisory for impact, affected versions, and workarounds.No changes to diff/breaking/changelog output. The
--allow-external-refsdefault is unchanged (true).Full Changelog: oasdiff/oasdiff@v1.18.0...v1.18.1
v1.18.0Compare Source
Annotation-only
allOffalse-positive fixed,--openmode-aware filtering, and the media-type walker migration completesThe user-visible headline is in
breaking: adding anallOfsubschema whose body is only annotation keywords no longer flags as a breaking change. Under the hood, the media-type walker migration that started in PRs #940–#952 finishes in this release; every checker that operates on request- or response-body schemas now runs through one uniform shape.CLI changes
Detection rules
allOfadditions are no longer reported as breaking (#964). Adding anallOfsubschema whose body is only annotation keywords (title,description,examples,default,externalDocs,$comment) does not reject any previously-valid instance, so it is not a wire-contract change. Per the "Diff is Schema-Shape, Breaking is Wire-Contract" split,oasdiff diffcontinues to surface the structural addition unchanged, whileoasdiff breakingno longer fails CI gates with--fail-on WARNon what is purely a documentation edit.oasdiff changelogstill records the change at INFO under eight new check IDs covering the request × response × body × property × add × remove matrix (e.g.request-body-all-of-added-annotation-only), so audit-trail consumers see the document-level change instead of it silently disappearing. Constraint-bearingallOfadditions, and mixed sets that contain at least one constraint-bearing subschema, still fire at their original severities. Motivated by OAS discussion #3793 (handrews).--openflagoasdiff breaking --opennow filters the rendered page to breaking-only (#958). The web view previously showed every change including INFO regardless of which subcommand opened it, which did not match the visitor's terminal output. The CLI now forwardsmode=breakingormode=changelogas a form field on the upload, and the rendered page filters severity to match. Backward compatible in both directions: older CLI against a newer service is treated aschangelog(today's behavior), and a newer CLI against an older service has the field silently ignored. Other filtering flags (--fail-on,--level,--include-checks) are still treated as interactive concerns of the web UI and remain ignored by--open.Localization
exclusiveMinimum/exclusiveMaximum(#969). 162 message strings (54 per locale across theexclusive-minandexclusive-maxfamilies and their-descriptionand-commentsiblings) translated by extending the already-mergedmin/maxpatterns. The OpenAPI keywordsexclusiveMinimum/exclusiveMaximumstay in their canonical English casing inside the translated sentence, matching the JSON Schema specification terminology and the existing convention forallOf,oneOf,anyOf,$ref. Cuts the English-identical entries per non-English locale from 302 to 248.Docs
docs/GIT-DIFF-DRIVERheading typo fix (#959). One section title said "GET" (autocorrect from "cat"), with no referent in the body. Now reads correctly. Thegit-diff-driversubcommand itself shipped in v1.17.0.Internal cleanup: media-type walker migration completes
The migration introduced by #940 moved per-checker
path → operation → requestBody|response → content → mediaType → schematraversal boilerplate into a single helper. This release lands the final seven batches and removes the last in-scope checkers from the queue:became_required/became_optionalresponse pairwrite-only/read-onlytriplet (request property + response optional + response required)containspairRoughly 1300 lines net removed across the full series. Per-checker function shape is now uniform; new checks added in the future drop into the same shape. No behaviour change for users — checks emit the same change IDs at the same severities. The remaining unmigrated checkers all operate on parameters / headers and would need a separate parameter walker; that work is tracked separately and is not in this release.
Auto-changelog below.
v1.17.0Compare Source
Two new CLI surfaces (
git-diff-driver,--open), header-default flip, walker foundationThis release adds two ways to see OpenAPI changes outside the terminal.
oasdiff git-diff-driverturnsgit log --patchandgit diffinto a human-readable changelog, and a new--openflag onchangelogandbreakinguploads the comparison to oasdiff.com and opens a side-by-side review in your browser. Both work against any spec in any git repo, public or private. Also: a default flip for header comparison, plus a foundation refactor (media-type walker) that shipped behind the scenes.CLI changes
New subcommands and flags
git-diff-driversubcommand (#954, inspired by Jamie Tanna's post). Wire oasdiff into git as an external diff driver, andgit log --patch --ext-diffrenders a human-readable OpenAPI changelog inline instead of a raw YAML text diff. Two config lines:abc1234:openapi.yaml) instead of git's tempfile paths. Full setup in docs/GIT-DIFF-DRIVER.md.--openflag onchangelogandbreaking(#955, #956). After printing the changelog, uploads the comparison to oasdiff.com and opens the rendered side-by-side review in your browser. First run signs in with GitHub (minimal scopes, norepoaccess) and stores a token locally; subsequent runs skip. The resulting URL is shareable for 7 days, so reviewers can open it without installing the CLI themselves. Filtering and presentation flags (--fail-on,--format, etc.) apply only to terminal output; semantic flags (--flatten-params,--match-inline-refs, etc.) are forwarded to the web review so it matches what you saw locally.Detection rules
--case-insensitive-headersnow defaults to true (#939). HTTP header names are case-insensitive per RFC 7230; oasdiff has supported the case-insensitive comparison via flag since v1.x, but the default until now was case-sensitive, so a change betweenContent-Typeandcontent-typewas still flagged as breaking. The default flips to case-insensitive in this release. Pass--case-insensitive-headers=falseto opt back into the previous behavior.$ref-equivalent subschemas now match (#938, plus an earlier round in #930, thanks @kesha1225). Refactoring an inline schema to a$refof an equivalent component, or vice versa, no longer produces false "removed subschema" / "added subschema" findings onanyOf/oneOf. The matcher recognizes structurally-equivalent variants regardless of which form they're written in.response-property-became-nullable/-not-nullablechanges had asymmetric source-location attachment between matched-pair directions; both sides now attach to the property location consistently.changelog/breakingoutputoasdiff diff(#946). Whenoasdiff changelogorbreakingfinds no significant differences but the underlying diff has document-level changes (info.contactedits, etc.), the CLI hints to tryoasdiff difffor the full document-level view. JSON / YAML output also surfaces this via a top-leveldiff_emptyfield.Misc
ERRORS.mdis linked from thevalidatecommand's help and error output (#934).Go package changes
Public
validatepackagegithub.com/oasdiff/oasdiff/validatepackage (#944). The spec-validation logic thevalidatesubcommand uses is now an independent package; library callers can import it directly without going through the CLI.validate.Validate(spec, sourcePath)returns aFindingslist (each with a stable rule ID, severity, message, and origin when the loader provides line / column info).Media-type walker foundation
Loader: blob-hash git refs
<ref>:<path>syntax now accepts blob SHAs in addition to commit / tag refs (#954). Required bygit-diff-driverbecause git's external-diff protocol passes blob hashes, not commit refs. Existing commit / tag / branch ref behavior is unchanged.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.