chore: track Dashboard API 1.74 and add the model gap diff - #415
Open
danielabbatt wants to merge 4 commits into
Open
chore: track Dashboard API 1.74 and add the model gap diff#415danielabbatt wants to merge 4 commits into
danielabbatt wants to merge 4 commits into
Conversation
version.json moves from 1.70 to 1.74, the version of the Dashboard API this library now tracks. v1.74.0 is the latest stable tag in meraki/openapi, published 2026-09-02. This resets the Nerdbank.GitVersioning height, so builds go from 1.70.138 to 1.74.x rather than continuing to 1.70.139. The bump asserts which spec version the library is measured against, not that every 1.74 endpoint is implemented. Find-MissingModelMembers.ps1 measures the actual distance: it reflects over the compiled Refit interfaces, matches each method's verb and path to a spec operation, and walks every 2xx JSON response schema in parallel with the C# return type, comparing spec property names against [DataMember] names. Dictionary-typed models, non-generic Task returns and purely numeric property names are excluded, because the spec describes those as ordinary properties while the models correctly represent them as open-ended maps or as no payload. Against v1.74.0 it reports 155 unmapped response members across 86 types, 140 spec operations not implemented, and 214 library endpoints matching no spec path. gap-report-v1.74.0.md is that run, checked in and broken down by product area so the work can be split into reviewable pull requests. SKILL.md now points at the script rather than leaving the comparison to a narrative read of the changelog.
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| ErrorProne | 2 medium |
AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
Find-MissingModelMembers.ps1 compares names one way, so a wrong return type shows up as a pile of missing members and a misspelt [DataMember] name never shows up at all. Find-ModelShapeMismatches.ps1 asks the two questions that cannot: does each 2xx schema's top-level shape agree with the Refit return type, and is any [DataMember] name absent from the spec but within edit distance 2 of an unmapped spec property at the same level. Against v1.74.0 it reports 30 shape mismatches, 17 likely typos, 6 methods that discard a documented body and 1 that expects a body the spec does not send. Object-versus-list findings need checking against observed responses, because the Meraki spec sometimes documents a list endpoint's item rather than the array.
danielabbatt
force-pushed
the
chore/update-to-latest-meraki-api
branch
from
September 9, 2026 15:35
e3bc382 to
46f973a
Compare
This was referenced Sep 9, 2026
Open
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.
What
Two things, no library code changes:
version.jsonmoves from1.70to1.74. v1.74.0 is the latest stable tag inmeraki/openapi, published 2026-09-02 (v1.73.0 was 2026-08-05). This resets the Nerdbank.GitVersioning height, so builds jump from1.70.138to1.74.xrather than continuing to1.70.139. The1.70.138section stays in the changelog as history — it is accurate for whatmainbuilt as at84a0c39b.A repeatable model gap diff,
.github/skills/meraki-api-update/Find-MissingModelMembers.ps1, plus its checked-in outputgap-report-v1.74.0.md.The bump asserts which spec version the library is measured against. It does not claim every 1.74 endpoint is implemented — the report below is exactly how far off that is.
How the diff works
It reflects over the compiled Refit interfaces, matches each method's verb and path template to a spec operation, then walks every 2xx JSON response schema in parallel with the C# return type, comparing spec property names against
[DataMember]names.Three classes of legitimate mismatch are excluded, because the spec describes them as ordinary properties while the models correctly represent them as open-ended maps or as no payload:
Task.Each of those was a false positive observed in a real run before being filtered; without them the count is 234 rather than 155.
What it found against v1.74.0
118 of the 155 are scalars; 37 objects and 23 arrays need roughly 57 new nested classes alongside them.
Spot-checked and real:
SwitchPort.stpPortFastTrunk,Ssid.campusGatewayand.wlanIdentifier,Vlan.sgt,Client.cdp, andSmVppAccountmissing 13 of its fields.Reproduce
Verification
Merge with a merge commit for the
1.74.5changelog label to be correct; a squash makes it1.74.4.Follow-up
The 155 members land as one PR per product area, largest first, each with its own changelog entry and regression tests.
Notes
SKILL.mdnow tells the reader to run the diff rather than read the changelog narratively, and warns that a full run finds more than one release introduced.