Skip to content

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 16:27
· 64 commits to master since this release
1ad264d

Changes in this Release

  • release: v0.9.0 (#362) (1ad264d)
  • test(mcp-skill): pin declared-field alias-bomb retype vector for RawFrontmatter (#361) (3cf043b)
  • ci: bump actions/labeler from 6 to 7 (#356) (aa4dfc4)
  • ci: bump dorny/paths-filter from 3 to 4 (#357) (b6b5bf9)
  • fix(cli,core): redact secret URLs from rmcp log lines and error reports (#360) (2d4eff5)
  • ci: bump actions/setup-node from 6 to 7 (#354) (a54e291)
  • test: pin RawFrontmatter alias-bomb short-circuit, generalize untrusted-echo guard (#358) (7c4d506)
  • ci: bump lewagon/wait-on-check-action from 1.8.1 to 1.9.0 (#355) (fbd0846)
  • fix(core,cli): close secret-redaction gaps in Transport Debug and server output (#352) (6fdc4da)
  • docs(specs): evaluate serde-saphyr as serde_norway replacement (#349) (a34cbe9)
  • refactor(files,skill)!: close FilesResourceKind and ParsedToolFile server_id gaps (#348) (8055523)
  • fix(cli): redact secrets in introspect --verbose transport log (#347) (af6bc33)
  • refactor(core)!: replace catch-all primitives with closed types (#344) (909beb6)
  • security(deny): close unsound-advisory gap for transitive unsafe deps (#338) (7155c1a)
  • Rename skill's ServerIdError and close stdio test coverage gaps (#340) (b96bcce)
  • refactor(codegen): dedupe per-tool schema parsing, fix reserved-word case sensitivity, justify clippy allows (#337) (de8f16c)
  • refactor(cli,files)!: type-safety cluster for export panics, output validation, and server status (#335) (599d893)
  • refactor(cli)!: represent transport selection as a closed ServerSource enum (#334) (9d8593e)
  • ci: restore fail-fast gating on downstream jobs (#333) (075c238)
  • refactor(introspector): dedupe discover_via_stdio/discover_via_http connect pipeline (#331) (aa0ee31)
  • refactor(core)!: enforce type-level invariants for ServerId, ToolName, ServerConfig (#328) (5115f42)
  • fix(cli): escape untrusted error text and fix server info/validate on invalid entries (#326) (3e29360)
  • refactor(codegen)!: eliminate domain-impossible states in ToolContext/BridgeContext (#327) (6cde116)
  • ci: skip full check suite for docs-only changes (#325) (cce02a7)
  • fix(cli): sanitize server id derivation in generate to prevent path traversal (#324) (7f06d37)
  • docs: add reverse-engineered specification package for existing system (#321) (fd1aed5)
  • fix(codegen,server): tool-name collision and categorization desync bugs (#322) (bb9147f)
  • fix(codegen): cap recursion depth in schema-to-TypeScript conversion (#319) (110a2a3)
  • fix(core,skill,server): delimit untrusted MCP tool metadata before embedding (#310) (8cdcd77)
  • fix(cli): escape server-supplied name in generate's Text/Pretty output (#309) (92f3091)
  • fix(skill): propagate canonicalize I/O errors instead of masking as not-found (#306) (8e9a1a5)
  • fix(cli): report transport-appropriate server status and validate messages (#301) (8e579ff)
  • fix(server): dedupe blank-line log-suppression and length checks (#297) (88a5857)
  • refactor(cli)!: bundle resolve_server_config's positional args into RawServerArgs (#296) (028d9b3)
  • fix(introspector): stop warn!-logging blank lines in bounded decoder (#282) (8ba825a)
  • refactor(codegen,cli): dedupe generation pipeline and MAX_SERVER_ID_LENGTH (#283) (8ddaa9a)
  • server: fix request-stall bug; cli: drop dead pub helpers (#281) (b698f9d)
  • cli: redact Debug URL fields and downgrade dead-public config helpers (#274) (5fbafb0)
  • fix(files)!: make export paths atomic and drop dead FilesError predicates (#270) (4a3163f)
  • docs(codegen): document tsconfig.json leaf-configuration behavior (#277) (087c1f5)
  • fix(introspector): bound stdio discovery read path against unbounded memory growth (#272) (25cb40a)
  • docs(core): document that Serialize bypasses ServerConfig's Debug redaction (#271) (bc17416)
  • fix(codegen): attribute per-tool generation errors and stop mangling non-ASCII identifiers (#269) (8ea3c62)
  • fix: harden runtime bridge content/structuredContent handling (#267) (273d874)
  • docs(workspace): backfill missing rustdoc examples and allow-attribute justifications (#268) (3efa1f1)
  • refactor(cli,server): extract pipeline-stage helpers from long command handlers (#265) (535ed21)
  • fix(introspector): populate output_schema from rmcp instead of hardcoded None (#264) (a7e5f36)
  • fix(codegen): resolve runtime import specifiers and guard empty bridge content (#260) (8880c6b)
  • fix(codegen): widen generated Result type and ship a working tsconfig.json (#253) (30a5ce8)
  • fix: bound resource-exhaustion vectors across the introspect-store-codegen pipeline (#259) (6a7aacb)
  • refactor(introspector,server,codegen): replace positional tuples with named structs and add tracing spans (#252) (badd0b2)
  • fix(cli): type --format as OutputFormat and redact secrets in Cli/Commands Debug (#250) (8ac015d)
  • fix(core): match Windows separator/case variants in sanitize_path_for_error (#249) (e89cd18)
  • fix(core,cli): redact command/args/url/cwd and RawMcpServerEntry in Debug output (#248) (250c3e0)
  • refactor(core)!: remove dead ServerConfigBuilder::try_build() alias and unused Error variants (#244) (96b0951)
  • fix(server): confine list_generated_servers base_dir and pin introspect_server's stdio-only transport (#243) (1ef58ae)
  • fix(codegen): demultiplex JSON-RPC responses by request id in runtime bridge (#242) (9875c0b)
  • fix(cli,core): redact secret-shaped values in McpTransport/TransportArgs Debug and command validation errors (#238) (9fe5c14)
  • cli: dedupe mcp-cli module tree and remove unused dependencies (#237) (cf563e6)
  • fix(server,skill)!: confine generated-output write paths to the caller's server directory (#235) (0991fd1)
  • fix(server): bound concurrent in-flight stdio requests (#234) (c87ef39)
  • fix(core,codegen,introspector,server)!: enforce ServerConfig validation at construction and harden runtime bridge (#233) (69ce7a8)
  • fix(skill): parse SKILL.md frontmatter with a real YAML parser (#231) (e27f492)
  • fix(core): stop echoing secret-shaped header names/values and redact ServerConfig Debug output (#230) (ecd1bc6)
  • fix(server): bound stdio JSON-RPC request line size before deserialization (#224) (8ddf847)
  • fix(codegen,core): stop escaping JSDoc output and re-validate mcp.json in the runtime bridge (#220) (a5ce837)
  • fix(server,skill): confine save_skill output_path to the skills base directory (#218) (371b4eb)
  • fix(cli): stop leaking secrets and route CLI errors to semantic exit codes (#214) (bf63c97)
  • fix(server): bound categorized_tools size and observe cancellation (#219) (cdf7285)
  • fix(cli)!: support http/sse mcp.json entries in --from-config (#212) (28bcf0a)
  • fix(introspector,core,cli): implement working http/sse transport for introspection (#200) (f59ea65)
  • fix(codegen): emit tsc-clean generated tool wrappers (#181) (560aa89)
  • chore(deps): bump the minor-and-patch group with 10 updates (#175) (7c1f965)
  • chore(deps): bump the minor-and-patch group with 2 updates (#174) (dfbc4ae)

What's Changed

  • chore(deps): bump the minor-and-patch group with 2 updates by @dependabot[bot] in #174
  • chore(deps): bump the minor-and-patch group with 10 updates by @dependabot[bot] in #175
  • fix(codegen): emit tsc-clean generated tool wrappers by @bug-ops in #181
  • fix(introspector,core,cli): implement working http/sse transport for introspection by @bug-ops in #200
  • cli: support http/sse mcp.json entries in --from-config by @bug-ops in #212
  • fix(server): bound categorized_tools size and observe request cancellation by @bug-ops in #219
  • fix(cli): stop leaking secrets and route CLI errors to semantic exit codes by @bug-ops in #214
  • fix(server,skill): confine save_skill output_path to the skills base directory by @bug-ops in #218
  • fix(codegen,core): stop escaping JSDoc output and re-validate mcp.json in the runtime bridge by @bug-ops in #220
  • fix(server): bound stdio JSON-RPC request line size before deserialization by @bug-ops in #224
  • fix(core): redact secret-shaped header names/values and ServerConfig Debug output by @bug-ops in #230
  • fix(skill): parse SKILL.md frontmatter with a real YAML parser by @bug-ops in #231
  • fix!: enforce ServerConfig validation at construction, harden runtime bridge by @bug-ops in #233
  • fix(server): bound concurrent in-flight stdio requests by @bug-ops in #234
  • fix(server,skill)!: confine generated-output write paths to the caller's server directory by @bug-ops in #235
  • cli: dedupe mcp-cli module tree and remove unused dependencies by @bug-ops in #237
  • fix(cli,core): redact secret-shaped values in McpTransport/TransportArgs Debug and command validation errors by @bug-ops in #238
  • fix(codegen): demultiplex JSON-RPC responses by request id in runtime bridge by @bug-ops in #242
  • fix(server): confine list_generated_servers base_dir and pin introspect_server's stdio-only transport by @bug-ops in #243
  • core: remove dead ServerConfigBuilder::try_build() alias and unused Error variants by @bug-ops in #244
  • cli,core: redact command/args/url/cwd and RawMcpServerEntry in Debug output by @bug-ops in #248
  • fix(core): match Windows separator/case variants in sanitize_path_for_error by @bug-ops in #249
  • cli: type --format as OutputFormat and redact secrets in Cli/Commands Debug by @bug-ops in #250
  • refactor(introspector,server,codegen): named discovery structs and tracing spans by @bug-ops in #252
  • fix: bound resource-exhaustion vectors across the introspect-store-codegen pipeline by @bug-ops in #259
  • fix(codegen): widen generated Result type and ship a working tsconfig.json by @bug-ops in #253
  • fix(codegen): resolve runtime import specifiers and guard empty bridge content by @bug-ops in #260
  • fix(introspector): populate output_schema from rmcp instead of hardcoded None by @bug-ops in #264
  • refactor(cli,server): extract pipeline-stage helpers, add npm-install hint by @bug-ops in #265
  • docs(workspace): backfill missing rustdoc examples and allow-attribute justifications by @bug-ops in #268
  • fix: harden runtime bridge content/structuredContent handling by @bug-ops in #267
  • fix(codegen): attribute per-tool generation errors and stop mangling non-ASCII identifiers by @bug-ops in #269
  • docs(core): document that Serialize bypasses ServerConfig's Debug redaction by @bug-ops in #271
  • fix(introspector): bound stdio discovery read path against unbounded memory growth by @bug-ops in #272
  • docs(codegen): document tsconfig.json leaf-configuration behavior by @bug-ops in #277
  • fix(files): make export paths atomic and drop dead FilesError predicates by @bug-ops in #270
  • cli: redact Debug URL fields and downgrade dead-public config helpers by @bug-ops in #274
  • server: fix request-stall bug; cli: drop dead pub helpers by @bug-ops in #281
  • refactor(codegen,cli): dedupe generation pipeline and MAX_SERVER_ID_LENGTH by @bug-ops in #283
  • fix(introspector): stop warn!-logging blank lines in bounded decoder by @bug-ops in #282
  • cli: bundle resolve_server_config's positional args into RawServerArgs by @bug-ops in #296
  • fix(server): dedupe blank-line log-suppression and length checks by @bug-ops in #297
  • cli: report transport-appropriate server status and validate messages by @bug-ops in #301
  • fix(skill): propagate canonicalize I/O errors instead of masking as not-found by @bug-ops in #306
  • cli: escape server-supplied name in generate's Text/Pretty output by @bug-ops in #309
  • fix(core,skill,server): delimit untrusted MCP tool metadata before embedding by @bug-ops in #310
  • fix(codegen): cap recursion depth in schema-to-TypeScript conversion by @bug-ops in #319
  • fix(codegen,server): tool-name collision and categorization desync bugs by @bug-ops in #322
  • docs: reverse-engineered specification package by @bug-ops in #321
  • fix(cli): sanitize server id derivation in generate to prevent path traversal by @bug-ops in #324
  • ci: skip full check suite for docs-only changes by @bug-ops in #325
  • refactor(codegen): eliminate domain-impossible states in ToolContext/BridgeContext by @bug-ops in #327
  • fix(cli): escape untrusted error text and fix server info/validate on invalid entries by @bug-ops in #326
  • refactor(core)!: enforce type-level invariants for ServerId, ToolName, ServerConfig by @bug-ops in #328
  • refactor(introspector): dedupe discover_via_stdio/discover_via_http connect pipeline by @bug-ops in #331
  • ci: restore fail-fast gating on downstream jobs by @bug-ops in #333
  • refactor(cli): represent transport selection as a closed ServerSource enum by @bug-ops in #334
  • refactor(cli,files)!: type-safety cluster for export panics, output validation, and server status by @bug-ops in #335
  • refactor(codegen): dedupe schema parsing, fix reserved-word case sensitivity, justify clippy allows by @bug-ops in #337
  • Rename skill's ServerIdError and close stdio test coverage gaps by @bug-ops in #340
  • security(deny): close unsound-advisory gap for transitive unsafe deps by @bug-ops in #338
  • refactor(core)!: replace catch-all primitives with closed types by @bug-ops in #344
  • fix(cli): redact secrets in introspect --verbose transport log by @bug-ops in #347
  • refactor(files,skill)!: close FilesResourceKind and ParsedToolFile server_id gaps by @bug-ops in #348
  • docs(specs): evaluate serde-saphyr as serde_norway replacement by @bug-ops in #349
  • fix(core,cli): close secret-redaction gaps in Transport Debug and server output by @bug-ops in #352
  • ci: bump lewagon/wait-on-check-action from 1.8.1 to 1.9.0 by @dependabot[bot] in #355
  • test: pin RawFrontmatter alias-bomb short-circuit, generalize untrusted-echo guard by @bug-ops in #358
  • ci: bump actions/setup-node from 6 to 7 by @dependabot[bot] in #354
  • fix(cli,core): redact secret URLs from rmcp log lines and error reports by @bug-ops in #360
  • ci: bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in #357
  • ci: bump actions/labeler from 6 to 7 by @dependabot[bot] in #356
  • test(mcp-skill): pin declared-field alias-bomb retype vector by @bug-ops in #361
  • release: v0.9.0 by @bug-ops in #362

Full Changelog: v0.8.0...v0.9.0