v0.4.2
What's Changed
- Upgrade gh-aw extension to latest pre-release by @lpcox in #9009
- docs: add MCP_GATEWAY_FORCE_PUBLIC_REPOS and GITHUB_REPOSITORY to ENVIRONMENT_VARIABLES.md by @lpcox with @Copilot in #9013
- refactor: remove dead code and reduce indirection per semantic clustering analysis by @lpcox with @Copilot in #9014
- fix(smoke): use copilot-requests permission instead of COPILOT_GITHUB_TOKEN secret by @lpcox in #9029
- Upgrade gh-aw extension to latest pre-release and recompile workflows by @lpcox in #9049
- refactor(proxy): return remaining header from rateLimitSignal to eliminate duplicate read by @lpcox with @Copilot in #9053
- refactor(logger): eliminate duplicate file-init code in ServerFileLogger by @lpcox with @Copilot in #9054
- rust-guard: downscope pub→pub(crate) for labels/helpers internals; add deploy key test by @lpcox with @Copilot in #9051
- Review go module github.com/itchyny/gojq by @lpcox with @Copilot in #9052
- [Repo Assist] perf(middleware): bypass gojq interpreter for schema inference by @github-actions[bot] in #9071
- [test-improver] Improve tests for githubhttp: 92% to 100% coverage by @github-actions[bot] in #9088
- [test] Add tests for config.expandMapInPlace by @github-actions[bot] in #9084
- [log] Add debug logging to server/middleware_auth.go by @github-actions[bot] in #9087
- [Repo Assist] refactor: simplify TruncateSecret and extract HTTP client clone helper by @github-actions[bot] in #9115
- [test] Add tests for server.HandleHealth and server.HandleReflect by @github-actions[bot] in #9120
- Docs: reconcile README gateway config matrix and env var discoverability by @lpcox with @Copilot in #9133
- Deduplicate logger init/factory wiring across internal/logger with shared generic helpers by @lpcox with @Copilot in #9131
- Refactor HTTP client transport cloning in MCP transport builders by @lpcox with @Copilot in #9132
- [test-improver] Improve tests for launcher.GetOrLaunchForSession by @github-actions[bot] in #9152
- [log] Add debug logger to mcp/connection_logging.go by @github-actions[bot] in #9150
- docs: reconcile 6 documentation discrepancies with implementation by @lpcox with @Copilot in #9169
- refactor: move FormatSessionIDForLog to session.go, rename TruncateSecret→RedactSecret by @lpcox with @Copilot in #9170
- [Repo Assist] perf(proxy): pre-compile GraphQL rewrite regexps at package init by @github-actions[bot] in #9189
- fix: align debug logger variable names with logXxx convention by @lpcox with @Copilot in #9198
- [test] Add tests for server.rate_limit, server.middleware_auth, and server.response_writer by @github-actions[bot] in #9200
- refactor: semantic function clustering — TLS relocation, util consolidation, and documentation by @lpcox with @Copilot in #9205
- [test-improver] Improve tests for config package by @github-actions[bot] in #9210
- rust-guard: collapse duplicate issue-write match arms and add credential keyword test by @lpcox with @Copilot in #9247
- test: replace assert.Equal(len()) with assert.Len and assert.True(errors.As) with assert.ErrorAs by @lpcox with @Copilot in #9248
- Collapse duplicate positive-timeout validation wrappers by @lpcox with @Copilot in #9249
- Add a repository-wide audit for logger namespace conventions by @lpcox with @Copilot in #9250
- Consolidate proxy rejection handling in
handler.gofor consistent logging/tracing/error responses by @lpcox with @Copilot in #9251 - guard: add Codespaces lifecycle write coverage (create/edit/delete) by @lpcox with @Copilot in #9252
- refactor: address semantic function clustering outliers — doc comments, rename, dead code removal by @lpcox with @Copilot in #9278
- [test] Add tests for logger.writeJSONToFile and initAndSetGlobalNoFileLogger by @github-actions[bot] in #9276
- [Repo Assist] perf(proxy): dispatch MatchRoute via segment bucket map by @github-actions[bot] in #9321
- Cover missing GitHub CLI-only write operations in the GitHub guard by @lpcox with @Copilot in #9324
- Narrow Rust guard lock helper visibility and cover lock/unlock label inheritance by @lpcox with @Copilot in #9329
- Align gojq test execution with production context handling by @lpcox with @Copilot in #9328
- Refactor duplicate auth/HMAC wrapper helpers in internal/server by @lpcox with @Copilot in #9327
- Deduplicate positive-integer validation rules by @lpcox with @Copilot in #9326
- [test-improver] Improve tests for logger global helpers by @github-actions[bot] in #9287
- Reconcile README gateway config and tracing docs with implemented behavior by @lpcox with @Copilot in #9323
- [test] Add tests for mcp.NewHTTPConnection with OIDC provider by @github-actions[bot] in #9341
- [log] Add debug logging to TLS helper functions in proxy/tls.go by @github-actions[bot] in #9285
- Refactor internal/logger lifecycle scaffolding by @lpcox with @Copilot in #9325
- [log] Add debug logging to vcsTimeFromBuildInfo by @github-actions[bot] in #9361
- [Repo Assist] fix: handle bare-string labels from MCP tool path in rust guard by @github-actions[bot] in #9389
- [test-improver] Improve tests for server/difc_log by @github-actions[bot] in #9362
- refactor: consolidate TLS helpers — move LoadGatewayTLS from server into httputil by @lpcox with @Copilot in #9404
- gate
has_promotion_labelandhas_demotion_labelwith#[cfg(test)]by @lpcox with @Copilot in #9402 - fix(config): address jsonschema/v6 Go Fan review — Draft hint, errors.New, UnmarshalJSON precision by @lpcox with @Copilot in #9403
- [log] Add debug logging to shell completion command dispatch by @github-actions[bot] in #9419
- [test-improver] Improve tests for mcptest/gateway_integration by @github-actions[bot] in #9420
- Refactor internal file boundaries for util formatting, WASM execution, and DIFC labels by @lpcox with @Copilot in #9437
- [Repo Assist] fix(rust-guard): set baseline_scope=GITHUB for search_users + add label tests by @github-actions[bot] in #9457
- Upgrade gh-aw extension to latest pre-release and recompile workflows by @lpcox in #9458
- Replace remaining plain-string
fmt.Errorfcalls witherrors.Newby @lpcox with @Copilot in #9439 - Add missing DIFC labels for synthetic GitHub CLI guard writes by @lpcox with @Copilot in #9438
- rust-guard: add create_agent_task test + use Cow::Owned in project arms by @lpcox with @Copilot in #9472
- fix(cmd): extend detectGuardWasm to check MCP_GATEWAY_WASM_GUARDS_DIR; add MarkFlagsMutuallyExclusive caveat comment by @lpcox with @Copilot in #9473
- [test] Add tests for proxy.writeDIFCForbidden and proxy.isMetadataPassthroughPath by @github-actions[bot] in #9486
- [log] Add debug logging to proxy/router.go dispatch initialization and route matching by @github-actions[bot] in #9490
- Upgrade gh-aw extension to v0.82.12 pre-release and recompile workflows by @lpcox in #9513
- [Repo Assist] perf(logger): eliminate double sanitize pass per RPC hop by @github-actions[bot] in #9521
- [test-improver] Improve tests for WriteSinkGuard (auditURLsInBody) by @github-actions[bot] in #9491
- refactor(rust-guard): eliminate duplicated author_association lookup and raw field-name literals in backend.rs by @lpcox with @Copilot in #9535
- refactor(cmd): deduplicate --guards-mode flag registration, validation, and completion by @lpcox with @Copilot in #9538
- refactor(cmd): extract WASM compilation cache lifecycle into shared helper by @lpcox with @Copilot in #9539
- Richer jsonschema validation error messages with concrete field data and full kind coverage by @lpcox with @Copilot in #9536
- refactor: unify WASM guard discovery into guard.FindGuardFile by @lpcox with @Copilot in #9537
- [test] Add tests for server.executeBackendRequest and executeBackendToolCall by @github-actions[bot] in #9543
- [test-improver] Improve tests for overrideToPublicScope and detectGuardWasm by @github-actions[bot] in #9547
- [log] Add debug logging to testutil/mcptest/driver.go by @github-actions[bot] in #9546
- Refactor server guard/tool registration by extracting cohesive helper clusters by @lpcox with @Copilot in #9558
- Stabilize
executeBackendRequesttests by using SDK-supported MCP methods by @lpcox with @Copilot in #9567 - Docs: reconcile config docs for
sequential_launch(TOML) anddomain(gateway table) by @lpcox with @Copilot in #9557 - [log] Add debug logging to tool_registry_helpers.go by @github-actions[bot] in #9605
- [test-improver] Improve tests for tracing.InitProvider by @github-actions[bot] in #9606
- [Repo Assist] perf(util): eliminate []rune allocation in TruncateRunes by @github-actions[bot] in #9595
- [test] Add tests for config.guard_policy_validation by @github-actions[bot] in #9603
- refactor: eliminate thin wrappers, rename shadowing functions in cmd/guard/config by @lpcox with @Copilot in #9621
- feat(logger): add ForFile() auto-namespace helper, migrate 68 files by @lpcox with @Copilot in #9622
- [test] Add tests for server.isRateLimitToolResult and server.extractRateLimitErrorText by @github-actions[bot] in #9643
Full Changelog: v0.4.1...v0.4.2