Changelog — neuralgentics broker-go¶
All notable changes to the packages/broker-go Go module are documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[0.1.0] - 2026-07-21¶
First standalone release. Extracted from the neuralgentics monorepo (packages/broker-go) with full git history preserved. Includes the T-117.5 data-race fix on ServerEntry pipes in Broker.Call.
go install github.com/Veedubin/neuralgentics-broker/cmd/broker@v0.1.0
Added¶
- Standalone README + LICENSE (T-131).
packages/broker-go/README.mdnow positions the broker as a standalone installable product, mirroring the structure of theneuralgentics-webREADME. Documents thego install github.com/Veedubin/neuralgentics-broker/cmd/broker@latestone-liner, YAML config, CLI flags, audit (JSONL + Postgres schema), egress-gateway transport swap, SIGHUP hot-reload, and Go-module library import.packages/broker-go/LICENSEcarries the MIT license (matchingneuralgentics-gateway), so the module is self-contained for publication as its own repo. Newreadme_test.goguards the README's existence, install command, egress-gateway mention, and audit section so future edits don't silently drop them.
Changed¶
- Module path rename (T-130). The Go module path changed from the bare local path
neuralgentics-brokerto the fully-qualified public pathgithub.com/Veedubin/neuralgentics-broker. This unblocksgo install github.com/Veedubin/neuralgentics-broker/cmd/broker@latestfrom any machine and is a prerequisite for publishing the broker to its own repository (T-119). Every Go import ofneuralgentics-broker/src/neuralgentics/broker/...across the repo (includingpackages/backend-go/) was updated to the new path. Thereplacedirective inpackages/backend-go/go.modnow points atgithub.com/Veedubin/neuralgentics-broker v0.0.0 => ../broker-go. The MCPclientInfo.namedisplay strings inproxy/http_client.goandproxy/proxy.goare unchanged — those are protocol-visible names, not import paths.
Added¶
packages/broker-go/Makefilewithinstall,build,vet,test,test-short, andtidytargets.make installrunsgo install ./cmd/broker.packages/broker-go/cmd/broker/install.sh— convenience script that runsgo install ./cmd/brokerand prints the resulting$GOPATH/bin/brokerpath.TestImportPathConsistency— walks every.gofile underpackages/and fails if any still references the pre-T-130 bare module pathneuralgentics-broker/src/...(excluding the newgithub.com/Veedubin/-prefixed path).TestMain_Help— builds thebrokerbinary into a temp dir and runsbroker --help, asserting sane output. Proves thego install ./cmd/brokerpath produces a working binary.
[0.13.0] — 2026-07-19¶
Added¶
- Egress gateway transport swap (T-BR-001). The broker's
HTTPClientnow routes outbound HTTP through an egress gateway when theEGRESS_GATEWAY_URLenvironment variable is set to a non-empty URL (e.g.EGRESS_GATEWAY_URL=http://localhost:9090). This lets the newneuralgentics-gateway(T-100) audit / filter MCP calls made by hosted HTTP/SSE MCP servers without changes to the broker itself. proxyTransport(gatewayURL string) http.RoundTripperhelper inpackages/broker-go/src/neuralgentics/broker/proxy/http_client.go. Returnshttp.DefaultTransportwhengatewayURLis empty (preserving pre-v0.13.0 behavior) and a proxy-aware*http.Transportotherwise. An invalidgatewayURLfalls back to the default transport so a misconfiguration never hard-breaks broker calls.broker.Versionconstant (packages/broker-go/src/neuralgentics/broker/version.go) set to"0.13.0".- Bumped the MCP
clientInfo.versionadvertised by the HTTP client from0.5.0to0.13.0.
Tests¶
TestProxyTransportUnset,TestProxyTransportSet— unit tests for the transport helper (unset/set/invalid env var paths).TestEgressGatewayE2E— integration test that spins up anhttptestgateway server + real MCP server, setsEGRESS_GATEWAY_URL, makes aCallthrough the broker, and verifies the gateway's audit log captured the proxied request and the session ID propagated back.- Pre-existing
HTTPClienttests gainedt.Setenv("EGRESS_GATEWAY_URL", "")so they remain isolated from any ambient env var set by CI.
Backward Compatibility¶
- When
EGRESS_GATEWAY_URLis unset (the default), the broker's HTTPClient behaves identically to v0.12.x: direct HTTP viahttp.DefaultTransport. No code path, no transport, no observable behavior changes.