Repository navigation
Bump bundled gomc-rest to v1.7.0 and move the client pin to 1.x - #13
Merged
Merged
Conversation
Upstream v1.6.0 -> v1.7.0: K notation for bit devices on /read and /write, and state events refactored to attach run IDs only to state-specific events. No CLI/env changes affecting this wrapper. Drop-in — verified against the real v1.7.0 release assets: - SHA-256 of linux-amd64 and darwin-arm64 match upstream checksums.txt. - linux-amd64 still needs GLIBC_2.34 -> manylinux_2_34 tag unchanged. - darwin-arm64 still minos 12.0 + ad-hoc signed -> macosx_12_0 tag unchanged. - launch() reports server version v1.7.0; 5 tests pass. gomc-rest-client's minimum supported server stays v1.4.0, so the existing dependency pin still holds. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQbVkPEprK2ebcjck5ouUy
The client released 1.0.0, which the previous >=0.10.0,<0.11 cap excluded. Verified 1.0.0 against everything this package uses before widening the pin: - PLCClient.__init__ signature unchanged (base_url, timeout, session, token). - All imported exceptions present (Busy, PLCProtocol, Unauthorized). - All called methods present (health, is_supported_version, version, __exit__, read, write); base_url and _auth_headers (asserted by tests/test_connect.py) intact. - MINIMUM_SUPPORTED_GOMC_REST_VERSION still v1.4.0, satisfied by the bundled v1.7.0. - Full suite passes and launch() works against client 1.0.0 + v1.7.0. Cap at <2 rather than <1.1: the old tight cap matched 0.x, where minor bumps carry breaking changes. From 1.0 the client follows semver, so the major boundary is the right one, and a 1.x release that raises its minimum server version is still caught loudly at startup by is_supported_version(). READMEs updated to state that accurately. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQbVkPEprK2ebcjck5ouUy
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.
Summary
Track upstream on both sides: bundle gomc-rest v1.7.0 (released Aug 1; we were on v1.6.0) and widen the
gomc-rest-clientpin to 1.x (it released 1.0.0, which the old<0.11cap excluded).1. Bundled server → v1.7.0
Upstream: K notation for bit devices on
/readand/write; state events refactored to attach run IDs only to state-specific events. Nothing touching this wrapper's CLI/env surface.GOMC_REST_VERSION→ v1.7.0checksums/v1.7.0.sha256added (verified against upstreamchecksums.txt)Drop-in, verified against the real v1.7.0 assets:
checksums.txtGLIBC_2.34→manylinux_2_34tag unchangedmacosx_12_0tag unchangedNo
release.ymlplatform-tag changes needed.2. Client pin →
>=1.0,<2The client's 1.0.0 is a license bump, not an API break — PyPI metadata shows
license_expressiongoing MIT (0.10.0) → Apache-2.0 (1.0.0). That matches the measured API delta of zero:PLCClient.__init__signature unchanged:(base_url, timeout, session, token)GomcRestBusyError,GomcRestPLCProtocolError,GomcRestUnauthorizedErrorhealth,is_supported_version,version,__exit__,read,writebase_urland_auth_headers(asserted intests/test_connect.py) intactMINIMUM_SUPPORTED_GOMC_REST_VERSIONstillv1.4.0— satisfied by the bundled v1.7.0This also lines the family up on one license: gomc-rest (v1.5.0+), gomc-rest-client (1.0.0+) and this package are all Apache-2.0.
Why
<2and not<1.1: the old tight cap matched 0.x, where minor bumps can carry breaking changes. From 1.0 the client follows semver, so the major boundary is the right one — and the residual risk (a 1.x client raising its minimum server version) is already caught loudly at startup byis_supported_version(). READMEs updated to state that accurately rather than overclaiming what the cap prevents.Verified end to end
launch()reports server v1.7.0 running against client 1.0.0; full suite 5 passed;pip install -e .resolves with no dependency conflict.🤖 Generated with Claude Code
https://claude.ai/code/session_01SQbVkPEprK2ebcjck5ouUy