Skip to content

Bump bundled gomc-rest to v1.7.0 and move the client pin to 1.x - #13

Merged
Moge800 merged 2 commits into
mainfrom
claude/gomc-rest-v1.7.0
Sep 12, 2026
Merged

Moge800 merged 2 commits into
mainfrom
claude/gomc-rest-v1.7.0

Conversation

@Moge800

@Moge800 Moge800 commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

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-client pin to 1.x (it released 1.0.0, which the old <0.11 cap excluded).

1. Bundled server → v1.7.0

Upstream: K notation for bit devices on /read and /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.0
  • checksums/v1.7.0.sha256 added (verified against upstream checksums.txt)

Drop-in, verified against the real v1.7.0 assets:

Check Result
SHA-256 (linux-amd64, darwin-arm64) match upstream checksums.txt
linux-amd64 glibc still GLIBC_2.34 → manylinux_2_34 tag unchanged
darwin-arm64 min OS / signing still minos 12.0 + ad-hoc signed → macosx_12_0 tag unchanged

No release.yml platform-tag changes needed.

2. Client pin → >=1.0,<2

The client's 1.0.0 is a license bump, not an API break — PyPI metadata shows license_expression going 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)
  • All imported exceptions present: GomcRestBusyError, GomcRestPLCProtocolError, GomcRestUnauthorizedError
  • All called methods present: health, is_supported_version, version, __exit__, read, write
  • base_url and _auth_headers (asserted in tests/test_connect.py) intact
  • MINIMUM_SUPPORTED_GOMC_REST_VERSION still v1.4.0 — satisfied by the bundled v1.7.0

This 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 <2 and 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 by is_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

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
@Moge800 Moge800 changed the title Bump bundled gomc-rest to v1.7.0 Bump bundled gomc-rest to v1.7.0 and move the client pin to 1.x Sep 10, 2026
@Moge800
Moge800 merged commit 030b872 into main Sep 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants