feat(docker): bump spec version to v1.55 - #275
Conversation
Regenerate the client from Docker Engine API v1.55.
Spec changes:
- new endpoint GET /images/{name}/attestations (in-toto attestation
statements) with AttestationStatement model
- Topology: additionalProperties map replaced by a Segments property,
which yields a dedicated Topology model
- SwarmJoin body now requires ListenAddr, RemoteAddrs and JoinToken
src/ is unchanged; the DTO layer insulates callers from the model churn.
Verified with a live-socket smoke test (docker:list-containers) and
composer qa (cs-fixer, tests, phpstan max).
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe repository adds Docker Engine API v1.55 Swagger and patched OpenAPI specifications, updates the configured specification path and patch script defaults, and documents the revised conversion and patching workflow. ChangesDocker API v1.55
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
spec/UPDATE.md (1)
7-7: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winInconsistent working directory across the copy-paste steps.
Step 3 writes
docker-v1.55-patched.yaml(repo-root-relative), but steps 4a/4b act onspec/docker-v1.55-patched.yaml. Running the block verbatim from the repo root leaves the converted file outsidespec/.📝 Suggested fix
- npx -p swagger2openapi swagger2openapi --yaml -t 3.1.0 --outfile docker-v1.55-patched.yaml docker-v1.55.yaml + npx -p swagger2openapi swagger2openapi --yaml -t 3.1.0 --outfile spec/docker-v1.55-patched.yaml spec/docker-v1.55.yaml🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@spec/UPDATE.md` at line 7, Update the swagger2openapi command in the step 3 copy-paste instructions so its input and output paths consistently target the spec directory used by steps 4a and 4b, preserving the existing conversion options.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@spec/docker-v1.55-patched.yaml`:
- Around line 16249-16272: Correct the YAML indentation under the AccessMode
schema so MountVolume’s properties contain FsType and MountFlags, while
BlockVolume remains a sibling property of MountVolume rather than part of its
description scalar. Preserve the existing types and descriptions.
---
Nitpick comments:
In `@spec/UPDATE.md`:
- Line 7: Update the swagger2openapi command in the step 3 copy-paste
instructions so its input and output paths consistently target the spec
directory used by steps 4a and 4b, preserving the existing conversion options.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 4375dd6a-f0f4-40bf-a6b9-5f9a5c79d952
⛔ Files ignored due to path filters (20)
generated/Client.phpis excluded by!**/generated/**generated/Endpoint/ImageAttestations.phpis excluded by!**/generated/**generated/Exception/ImageAttestationsBadRequestException.phpis excluded by!**/generated/**generated/Exception/ImageAttestationsInternalServerErrorException.phpis excluded by!**/generated/**generated/Exception/ImageAttestationsNotFoundException.phpis excluded by!**/generated/**generated/Exception/ImageAttestationsNotImplementedException.phpis excluded by!**/generated/**generated/Exception/NotImplementedException.phpis excluded by!**/generated/**generated/Model/AttestationStatement.phpis excluded by!**/generated/**generated/Model/ClusterVolumeInfo.phpis excluded by!**/generated/**generated/Model/ClusterVolumeSpecAccessModeAccessibilityRequirements.phpis excluded by!**/generated/**generated/Model/ImageInspect.phpis excluded by!**/generated/**generated/Model/SwarmJoinPostBody.phpis excluded by!**/generated/**generated/Model/Topology.phpis excluded by!**/generated/**generated/Normalizer/AttestationStatementNormalizer.phpis excluded by!**/generated/**generated/Normalizer/ClusterVolumeInfoNormalizer.phpis excluded by!**/generated/**generated/Normalizer/ClusterVolumeSpecAccessModeAccessibilityRequirementsNormalizer.phpis excluded by!**/generated/**generated/Normalizer/ImageInspectNormalizer.phpis excluded by!**/generated/**generated/Normalizer/JaneObjectNormalizer.phpis excluded by!**/generated/**generated/Normalizer/SwarmJoinPostBodyNormalizer.phpis excluded by!**/generated/**generated/Normalizer/TopologyNormalizer.phpis excluded by!**/generated/**
📒 Files selected for processing (5)
.jane-openapispec/UPDATE.mdspec/docker-v1.55-patched.yamlspec/docker-v1.55.yamlspec/patch.py
## [1.5.0](1.4.5...1.5.0) (2026-07-30) ### Features * **docker:** bump spec version to v1.55 ([#275](#275)) ([3f08ab2](3f08ab2))
|
🎉 This PR is included in version 1.5.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Regenerates the client from Docker Engine API v1.55 (was v1.54).
Spec changes (143 lines raw diff)
GET /images/{name}/attestations— in-toto attestation statements, plusAttestationStatementmodel and its error responses (incl.501for the legacy graphdriver store).Topology—additionalProperties: stringreplaced by aSegmentsproperty, which yields a dedicatedTopologymodel.SwarmJoinbody — now declaresrequired: [ListenAddr, RemoteAddrs, JoinToken].ImageInspect.Identityreordered only (no shape change).Process
Followed
spec/UPDATE.md:spec/docker-v1.55.yamlswagger2openapi --yaml -t 3.1.0→spec/docker-v1.55-patched.yamlspec/patch.py— idempotency verified (second run is byte-identical); patch markers match v1.54 (31xformat: dateTime, 0xnullable: true, 0xformat: date-time).jane-openapipointed at the new patched filecomposer generateAlso bumped the version references in
spec/UPDATE.mdandpatch.py's fallback path, and documented theuv run --with ruamel.yaml python3 spec/patch.pyfallback for whenruamel.yamlis not installed system-wide.Verification
bin/docker-api docker:list-containers -vv— real containers listed,NetworkSettings.Networksdenormalized correctly, no validation violations.composer qa: php-cs-fixer 0 fixes / 852 files, 11/11 tests pass, phpstan level max[OK] No errors.src/is untouched — the DTO layer insulates callers from generated model churn.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.