v1.7.0 — new protocol plugins
Highlights
Four new protocol plugins
Kuestenlogik.Bowire.Protocol.Nats— pub/sub + req/reply (Phase 1) + JetStream + Services API (Phase 2). Sits on the official NATS.Net 2.x client.Kuestenlogik.Bowire.Protocol.JsonRpc— JSON-RPC 2.0 over HTTP and WebSocket.Kuestenlogik.Bowire.Protocol.Pulsar— Apache Pulsar producer / consumer / reader.Kuestenlogik.Bowire.Protocol.Soap— WSDL discovery + envelope construction.
gRPC: Connect Phase 2
Server-streaming over application/connect+proto is in. Connect-Web clients now talk to a Connect-mode Bowire workbench for streaming methods, not just unary.
Mock-as-stand-in
Recordings now carry the source schema verbatim. bowire mock --recording <file> re-emits /openapi.json (REST) and /asyncapi.yaml (messaging) so peer Bowires pointed at the mock discover the full original contract, not just the replayed slice. bowire export ... --recording <file> annotates each operation with x-bowire-coverage: { recorded, stepCount } so consumers see the replay gap explicitly.
bowire export CLI
New openapi / asyncapi subcommands that materialise the discovered contract as a YAML / JSON file on disk — useful for diff-against-prod and contract-test pipelines, especially for messaging protocols where hosts don't render an /asyncapi.yaml themselves.
AsyncAPI
AsyncApiDocumentBuilder emits AsyncAPI 3.0 from any discovery result. NatsBindingResolver dispatches bindings.nats operations to the NATS wire plugin.
Tool I/O refactor (Phases 1-3 complete)
Every CLI command path now flows through the BowireCliIo type instead of direct Console.Out writes. Output is structured, testable, and pipe-friendly — bowire scan --json | jq works the way you'd expect on every subcommand.
Bootcamp launched on bowire.io
The Bowire Bootcamp — six units plus a capstone — is wired into bowire.io. Two parallel setup tracks (CLI / Embedded), then shared lessons on recording / mocking / MCP / plugin authoring / CI. The capstone weaves the lot into a single end-to-end Harbor-Tour scenario.
Maintenance
What's Changed
- chore(deps): Bump the xunit group with 1 update by @dependabot[bot] in #20
- chore(deps): Bump the maplibre group with 2 updates by @dependabot[bot] in #21
- chore(deps): Bump NATS.Net from 2.8.0 to 2.8.1 by @dependabot[bot] in #24
- chore(deps): Bump Microsoft.Identity.Web from 3.13.1 to 4.10.0 by @dependabot[bot] in #23
- chore(deps): Bump DotPulsar from 3.5.0 to 5.3.1 by @dependabot[bot] in #22
Full Changelog: v1.6.1...v1.7.0