Understand the Meraki Dashboard API Python Library versioning rules
mainThe library follows specific versioning rules based on the target branch and the underlying Meraki API releases. The source of truth for the current minor version is the pyproject.toml file on the respective branch.
Branch-specific versioning
- GA (General Availability) on
mainbranch: When a new API release is detected, the library minor version is bumped and the patch is reset (e.g.,X.Y.ZbecomesX.(Y+1).0). GA releases always bump the minor version, even after manual patches. - Beta releases on
betabranch: The library patch and beta number mirror the API release.- Library patch = API patch (e.g., API
1.81.2-beta.0$\rightarrow$ library patch2). - Library beta number = API beta number (e.g., API
1.81.2-beta.3$\rightarrow$b3). - A new API minor version bumps the library minor version.
- Library patch = API patch (e.g., API
- Dev releases on
httpxbranch: Follows the same logic as Beta releases but is generated using the-b httpxflag and a specific test organization ID.
Key Rules
- API Version Mapping: The API version is the OpenAPI tag with the
vprefix stripped (e.g.,v1.71.0-beta.2becomes1.71.0-beta.2). - Manual Releases: Patches or fixes can be released manually at any time by updating
pyproject.toml. The next automated release will use this manual version as its baseline. - No Version Reuse: If a manual release occupies the next expected version, the automated release will skip to the following version.
|
| Event | API Version | Library Version | Branch |
| --- | --- | --- | --- |
| `v1.71.0-beta.0` detected | `1.71.0-beta.0` | `3.2.0b0` | `beta` |
| (same trigger) | `1.71.0-beta.0` | `4.1.0b0` | `httpx` |
| `v1.71.1-beta.0` detected | `1.71.1-beta.0` | `3.2.1b0` | `beta` |
| (same trigger) | `1.71.1-beta.0` | `4.1.1b0` | `httpx` |
| Manual bugfix (no API change) | `1.70.0` | `3.1.1` | `main` |
| `v1.71.0` detected (GA) | `1.71.0` | `3.2.0` | `main` |
|