Skip to content

v1.3.107

Choose a tag to compare

@topcheer topcheer released this 03 Jul 16:44
· 4113 commits to main since this release

v1.3.107

Fixes

Data races in IM and swarm test suites (race detector clean)

Fixed three data races detected by -race flag in the IM and swarm packages. These were test-only races (callback variables accessed without synchronization between goroutines) but could cause flaky CI under -race and indicated real concurrency hazards.

IM daemon bridge test (interactive_test.go): restartCalled bool written from async restart goroutine, read from test goroutine. Fixed with atomic.Bool.

IM daemon bridge test (daemon_bridge_test.go): Same restarted bool pattern in TestHandleSlashCommand_RestartWithHook. Fixed with atomic.Bool.

IM emitter test (emitter_test.go): namedCaptureSink.eventsList slice written from fanOutSend goroutine via Send(), read from test goroutine via events()/reset(). Fixed with sync.Mutex.

Swarm manager test (manager_test.go): resultEvent struct written from SetOnUpdate callback (swarm goroutine), read from test goroutine. Fixed with sync.Mutex.

Swarm idle runner test (idle_runner_test.go): events slice written from onEvent callback (teammate loop goroutine), read from test goroutine. Fixed with sync.Mutex.

MCP transport file (untracked from previous cycle)

internal/mcp/transport.go was created in a previous proxy-support cycle but never committed. It provides newMCPHTTPClient() with proxy support, transport-level timeouts, and insecure TLS — now properly tracked.

Previous releases in this cycle

  • v1.3.106 — HTTP proxy support for all providers and MCP; debug ring buffer 500→2000