From fbc03dc0dd8a6a5396694c088d3872647ba40f8f Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 10 Sep 2026 13:38:02 +0000 Subject: [PATCH 1/2] Bump bundled gomc-rest to v1.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_01SQbVkPEprK2ebcjck5ouUy --- GOMC_REST_VERSION | 2 +- README.md | 2 +- README_JP.md | 2 +- checksums/v1.7.0.sha256 | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 checksums/v1.7.0.sha256 diff --git a/GOMC_REST_VERSION b/GOMC_REST_VERSION index b7c0a9b..a20e2d8 100644 --- a/GOMC_REST_VERSION +++ b/GOMC_REST_VERSION @@ -1 +1 @@ -v1.6.0 +v1.7.0 diff --git a/README.md b/README.md index d767cd3..2372c61 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ boundary is the trust boundary here. ## Versions -This package bundles a pinned `gomc-rest` binary (currently **v1.6.0**, set in +This package bundles a pinned `gomc-rest` binary (currently **v1.7.0**, set in `GOMC_REST_VERSION`) that must satisfy `gomc-rest-client`'s `MINIMUM_SUPPORTED_GOMC_REST_VERSION`; `launch()` verifies this on startup. The `gomc-rest-client` dependency is capped (`>=0.10.0,<0.11`) so a future client diff --git a/README_JP.md b/README_JP.md index 2e1743a..3f1072c 100644 --- a/README_JP.md +++ b/README_JP.md @@ -117,7 +117,7 @@ finally: ## バージョン 同梱するgomc-restのバージョンは `GOMC_REST_VERSION` で固定しています -(現在は **v1.6.0**)。`launch()` は起動時に、サーバーが +(現在は **v1.7.0**)。`launch()` は起動時に、サーバーが `gomc-rest-client` の `MINIMUM_SUPPORTED_GOMC_REST_VERSION` を満たしているか 確認します。 diff --git a/checksums/v1.7.0.sha256 b/checksums/v1.7.0.sha256 new file mode 100644 index 0000000..dc2eaf4 --- /dev/null +++ b/checksums/v1.7.0.sha256 @@ -0,0 +1,5 @@ +c8cf8beab397aacb09a11d80bd32d81b12e43cd22bd0b7885effdbeb9c2ddbc7 gomc-rest.exe +94080d929c15dc5d4b6af3bd02448bf08f535d6a55b224c8bc4793696cf1da33 gomc-rest-linux-amd64 +6614ec9a9dc3a8c9ecfa01b7ce56ce1d2f89a2f0e06711eac51001cbc0fe70c4 gomc-rest-linux-arm64 +55e7aa929149d2ad81c37b0eb08d087821dee77faa4ecbc5e8bb6a97ff44a7c3 gomc-rest-darwin-amd64 +a4059a9303a06bda79e08ebc34224514a6899dd58a1a099605ed66d7a0597181 gomc-rest-darwin-arm64 From 0ee1c1ba94d4aa128dad73fed8e5153234bbd8c8 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 10 Sep 2026 13:44:05 +0000 Subject: [PATCH 2/2] Move gomc-rest-client pin to 1.x 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 Claude-Session: https://claude.ai/code/session_01SQbVkPEprK2ebcjck5ouUy --- README.md | 6 +++--- README_JP.md | 7 ++++--- pyproject.toml | 9 +++++---- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2372c61..685ad9b 100644 --- a/README.md +++ b/README.md @@ -110,9 +110,9 @@ boundary is the trust boundary here. This package bundles a pinned `gomc-rest` binary (currently **v1.7.0**, set in `GOMC_REST_VERSION`) that must satisfy `gomc-rest-client`'s `MINIMUM_SUPPORTED_GOMC_REST_VERSION`; `launch()` verifies this on startup. The -`gomc-rest-client` dependency is capped (`>=0.10.0,<0.11`) so a future client -that raises its minimum server version can't be installed without also bumping -the bundled binary. +`gomc-rest-client` dependency is capped (`>=1.0,<2`) so a breaking client +release can't be pulled in silently. If a 1.x client ever requires a newer +server than the bundled one, `launch()` fails at startup with a clear error. ## Development diff --git a/README_JP.md b/README_JP.md index 3f1072c..4bfa337 100644 --- a/README_JP.md +++ b/README_JP.md @@ -121,9 +121,10 @@ finally: `gomc-rest-client` の `MINIMUM_SUPPORTED_GOMC_REST_VERSION` を満たしているか 確認します。 -`gomc-rest-client` の依存バージョンも `>=0.10.0,<0.11` に制限しています。 -これにより、より新しいサーバーを必要とするクライアントが意図せず -インストールされることを防ぎます。 +`gomc-rest-client` の依存バージョンは `>=1.0,<2` に制限しています +(破壊的変更はメジャーバージョンで入るため)。仮に 1.x のクライアントが +同梱サーバーより新しいバージョンを要求するようになった場合は、 +`launch()` が起動時に明確なエラーで停止します。 ## 開発者向け diff --git a/pyproject.toml b/pyproject.toml index 973e179..f9a5bda 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,10 +17,11 @@ keywords = ["mitsubishi", "plc", "mc-protocol", "slmp", "gomc-rest"] # HTTP layer is delegated to gomc-rest-client (pattern A). We only add the # bundled-binary + subprocess lifecycle on top. dependencies = [ - # Cap the client to a range known to accept the bundled server version - # (GOMC_REST_VERSION). A future client that raises its minimum server - # version must not be pulled in without bumping the bundled binary too. - "gomc-rest-client>=0.10.0,<0.11", + # Cap at the next major: the client follows semver from 1.0, so breaking + # API changes land in 2.x. If a 1.x release raises its minimum server + # version above the bundled one, launch() still fails loudly at startup + # via is_supported_version(), which is the backstop for that case. + "gomc-rest-client>=1.0,<2", ] [project.urls]