v0.15.5
Tests (no behavior change)
- Wire-shape pins for high-risk call sites —
internal/client/wire_shape_test.gonow asserts the exact JSON params we send tovm.delete,vm.stop(force + graceful), andpool.dataset.deleteviaassert.JSONEq. Adds or drops a key and the test fails. This is the direct guard against a futureforce_after_timeout-style regression — the v0.15.1 bug would have been caught atgo testtime because the strict shape assertion rejects any extra key. - Known-methods allowlist —
internal/client/method_allowlist_test.gomaintains a committed list of every TrueNAS JSON-RPC method the provider calls and cross-references it against the source at test time. Fails when a call site uses a method not on the list (new integration point, or a typo likevm.deletee) AND when an entry on the list is no longer referenced anywhere in non-test code (dead allowlist entries can mask typos during review). Resolves method-name constants (methodVMQuery = "vm.query"), direct literals, and theMethod: "X"pattern used for non-JSON-RPC calls likefilesystem.put.
Full Changelog: v0.15.4...v0.15.5