Skip to content

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 21 Feb 19:12
· 2189 commits to main since this release
963147e

🌟 Release Highlights

This release focuses on compliance enforcement, reliability improvements, and MCP spec v1.8.0 alignment β€” tightening configuration validation, improving observability through integrated SDK logging, and eliminating numerous duplicate code patterns across the codebase.

⚠️ Breaking Changes

The following configuration validation changes may require updates to existing configs:

  • Docker required for TOML stdio servers (#1029): TOML-configured stdio servers must now use command = "docker". Direct command execution without containerization is rejected at startup. See the Configuration Reference for the container field syntax.
  • Explicit mount mode required (#1231): Volume mount entries in server configs must now include an explicit mode field ("ro" or "rw"). Mounts without a declared mode are rejected.
  • mounts field rejected for HTTP servers (#1122): HTTP-type server configurations that include a mounts field now fail validation with a clear error message.

✨ What's New

  • MCP Spec v1.8.0 compliance (#1065): MCP Gateway now targets spec version 1.8.0, keeping pace with the evolving Model Context Protocol standard.
  • Integrated MCP SDK logging (#1067): The project's debug logger is now wired into ClientOptions and ServerOptions for the MCP SDK, giving full visibility into SDK-level activity via the DEBUG=* flag.
  • Timeout enforcement for jq middleware (#961): The gojq processing middleware now enforces execution timeouts, preventing runaway jq expressions from stalling request pipelines.
  • Centralized payload preview size (#1066): The PayloadPreviewSize constant is now configurable from a single location, making it easier to tune large-payload handling behavior.
  • Nightly workflow auto-upgrader (#986): A new nightly workflow automatically upgrades agentic workflow tooling to the latest gh-aw releases, keeping CI tooling current without manual intervention.

πŸ› Bug Fixes & Improvements

  • SSE JSON-RPC parsing on HTTP error paths (#1085): Fixed a parsing failure where error responses from HTTP backends weren't correctly decoded when using SSE transport.
  • Tool logging format (#1243): Updated tool invocation log format for improved readability in operational logs.
  • Consolidated variable expansion logic (#1014): Duplicate \$\{VAR_NAME} expansion implementations have been unified, ensuring consistent behavior across TOML and JSON config paths.

πŸ“š Documentation

  • Fixed payloadSizeThreshold configuration docs to accurately reflect all three configuration methods: --payload-size-threshold flag, MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD env var, and payload_size_threshold in [gateway] TOML section (#1233).
  • Fixed 5 documentation discrepancies surfaced by the nightly docs reconciliation workflow (#1123).
  • Documented session persistence implementation for stdio backends (#1042).
  • Documented BurntSushi/toml v1.6.0 usage and TOML 1.1 implementation (#982).

🐳 Docker Image

The Docker image for this release is available at:

docker pull ghcr.io/github/gh-aw-mcpg:v0.1.5
# or
docker pull ghcr.io/github/gh-aw-mcpg:latest

Supported platforms: linux/amd64, linux/arm64


For complete details, see the full release notes.

Generated by Release


What's Changed

  • [log] Add debug logging to main.go by @github-actions[bot] in #914
  • [test] Add comprehensive tests for launcher.LogHelpers by @github-actions[bot] in #918
  • [WIP] Fix incorrect payload size threshold documentation by @claude in #936
  • Debug test-coverage-improver workflow failure (run 21994653857) by @claude in #935
  • Add Python language server to Serena MCP container by @claude in #920
  • Refactor HTTP request initialization to eliminate duplicate code pattern by @claude in #937
  • Refactor: Extract marshalToResponse helper to eliminate duplicate JSON marshal pattern by @claude in #938
  • [test-improver] Improve tests for sys package by @github-actions[bot] in #950
  • [log] Add debug logging to config validation rules by @github-actions[bot] in #958
  • Add timeout enforcement and comprehensive tests for gojq middleware by @claude in #961
  • fix: correct log helper test expectations by @lpcox in #979
  • Addressing PR comments by @claude in #977
  • Refactor: Extract duplicate MCP session validation into requireSession() helper by @claude in #978
  • Configure CI to trigger smoke-copilot, large-payload-tester, and language-support-tester workflows by @claude in #980
  • Refactor: Extract parameter marshaling helper and fix silent error ignoring by @claude in #981
  • Document BurntSushi/toml v1.6.0 usage and TOML 1.1 implementation by @claude in #982
  • Add nightly workflow to upgrade workflows to latest gh-aw releases by @Copilot in #986
  • Fix release workflow trigger: use workflow_dispatch instead of tag push by @claude in #993
  • Fix test-coverage-improver workflow sparse checkout by @Copilot in #1013
  • Consolidate duplicate variable expansion logic by @Copilot in #1014
  • Upgrade go-sdk to v1.3.0 and adopt ClientOptions pattern by @Copilot in #1018
  • Install Go 1.25.0 before language support testing by @Copilot in #1026
  • Eliminate duplicate code patterns in JSON-RPC parsing and config initialization by @Copilot in #1022
  • Enforce Docker containerization requirement for TOML stdio servers by @Copilot in #1029
  • Add sandbox configuration to enable Docker for language support testing by @Copilot in #1036
  • Document existing session persistence implementation for stdio backends by @Copilot in #1042
  • [test] Add comprehensive tests for parseJSONRPCResponseWithSSE by @github-actions[bot] in #1047
  • Pre-pull Serena MCP container to prevent initialization timeouts by @claude in #1049
  • [test] Add tests for config.convertStdinServerConfig by @github-actions[bot] in #1062
  • Update MCPGatewaySpecVersion to 1.8.0 by @Copilot in #1065
  • Centralize jq payload preview size configuration by @Copilot in #1066
  • Integrate project logger with MCP SDK ClientOptions and ServerOptions by @Copilot in #1067
  • Refactor: Code organization improvements from semantic clustering analysis by @Copilot in #1068
  • Upgrade agentic workflows to v0.46.1 by @Copilot in #1079
  • Fix SSE JSON-RPC parsing for HTTP error paths by @lpcox in #1085
  • Use locally built MCP gateway in smoke-copilot workflow and trigger on Go PRs by @Copilot in #1080
  • Add MCP Gateway build steps to language-support-tester workflow by @Copilot in #1089
  • Fix workflow failures: use registry image name for local container builds by @Copilot in #1097
  • Reject mounts field for HTTP servers (T-CFG-019) by @Copilot in #1122
  • docs: fix 5 discrepancies from nightly documentation reconciliation by @Copilot in #1123
  • Eliminate three duplicate code patterns in logger and config packages by @Copilot in #1120
  • Use ghcr.io/github/gh-aw-mcpg:latest across all agentic workflows by @Copilot in #1132
  • [test] Add tests for difc.Capabilities by @github-actions[bot] in #1135
  • [test-improver] Improve tests for config/rules package by @github-actions[bot] in #1136
  • Fix smoke-copilot workflow container tag mismatch by @claude in #1144
  • [log] Add debug logging to difc/capabilities.go by @github-actions[bot] in #1168
  • [test] Add tests for difc.resource types by @github-actions[bot] in #1169
  • [test-improver] Improve tests for cmd flags and mcp schema packages by @github-actions[bot] in #1170
  • Fix documentation discrepancies in CONTRIBUTING.md and README.md by @claude in #1175
  • Upgrade workflows to gh-aw v0.47.1 by @claude in #1174
  • Addressing PR comments by @claude in #1176
  • Addressing PR comments by @claude in #1173
  • Eliminate duplicate code in server HTTP endpoint registration by @claude in #1186
  • Fix Serena MCP test tool discovery in smoke test workflow by @claude in #1195
  • Refactor: Move logger helpers and flag completions to correct files by @claude in #1196
  • Fix Serena MCP tools configuration in smoke-copilot workflow by @claude in #1200
  • fix(compliance): require explicit mount mode in volume mount validation by @Copilot in #1231
  • refactor: consolidate environment variable reading using envutil helpers by @claude in #1237
  • docs: fix payloadSizeThreshold config options and DOCKER_API_VERSION description by @claude in #1233
  • Increase timeout for Nightly Workflow Upgrader (15β†’25 min) by @Copilot in #1232
  • [test-improver] Improve tests for sanitize package by @github-actions[bot] in #1230
  • [test] Add tests for server.WithSDKLogging by @github-actions[bot] in #1229
  • [log] Add debug logger to config feature registration framework by @github-actions[bot] in #1228
  • Remove unused fields from handlerCapture test struct by @Copilot in #1242
  • Fix language-support-tester: use serena- prefixed tool names in agent prompt by @Copilot in #1241
  • Remove unused fields from handlerCapture test struct by @Copilot in #1244
  • Copilot/update tool logging format by @lpcox in #1243

Full Changelog: v0.1.4...v0.1.5