machin v0.133.0 is out. The headline change is small in diff size but fixes a real gap: select now works on the windows target, and the concurrency test suite actually runs in CI on Windows instead of being quietly skipped.
What changed
Two user-visible changes shipped in this release:
-
selectworks on the windows target. Previouslyselectwas not supported when building for Windows. That meant a core concurrency primitive was effectively off-limits for anyone targeting that platform, and any code relying on it would fail to build or behave incorrectly there. With v0.133.0,selectis available on the windows target like it is elsewhere. -
CI now runs the concurrency suite on Windows. Closing #517 and #619, the concurrency tests are no longer excluded from the Windows CI leg. This is the natural complement to the first change: now that
selectworks there, the existing concurrency tests can actually execute and guard against regressions on that target.
The diff itself is deliberately small: 4 files changed, +37/-3, touching CHANGELOG.md, README.md, SPEC.md, and guide.go. No new dependencies, no API surface added beyond making select available where it already existed on other targets.
Why this matters
A language or runtime that supports a concurrency primitive on some targets but not others creates a subtle trap: code that works fine on the developer's machine can fail on a different target, and if CI doesn't run the relevant tests on that target, the failure only surfaces downstream. This release closes both halves of that trap for select on Windows — the primitive is implemented, and the tests that exercise it (and the broader concurrency model) now run on every CI leg where the target is built.
If you've been avoiding select in machin because you needed Windows support, that constraint is gone as of v0.133.0.
Code example
A minimal select over two channels, now valid on the windows target:
select {
case v := <-ch1:
handle(v)
case v := <-ch2:
handle(v)
}
Nothing new about the syntax — the change is that this now compiles and runs correctly when the target is Windows, and the concurrency tests that cover patterns like this execute in CI on that target.
Release commit: 510ff9f8608c952984f0144a8ebd75cdf99bc40e
Full changelog and source: https://github.com/javimosch/machin
Top comments (0)